This is an automated email from the ASF dual-hosted git repository.
matrei pushed a change to branch fix/issue-16133
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from 47cb138493 test: more default nullable test coverage
add daaa4048b0 Support escaping a GSP expression with a backslash
add 4431eced56 Merge pull request #16144 from
codeconsole/feature/gsp-escaped-dollar-8.0.x
add 641b7d24f2 Bump testlens-app/setup-testlens from 1.9.2 to 1.9.3
add eae66f7903 Merge pull request #16137 from
apache/dependabot/github_actions/testlens-app/setup-testlens-1.9.3
add 3570c760ed Bump softprops/action-gh-release from 3.0.0 to 3.0.2
add a83f87480e Merge pull request #16138 from
apache/dependabot/github_actions/softprops/action-gh-release-3.0.2
add 2c8b338f1c Document Grails 7 plugin compatibility on Grails 8
add 9ef02258c9 Address plugin compatibility review feedback
add 1628a9c31f Merge pull request #16141 from
jamesfredley/docs/grails-7-plugin-compatibility
add e2926e0316 Harden bindData against mass assignment
add 6c85e2be2b Make mass-assignment deny-by-default opt-in for 8.0
add c63d39a8c5 Merge remote-tracking branch 'origin/8.0.x' into
fix/binddata-mass-assignment
add 6ea7998aa1 Resolve inherited bindData allowlist for proxy subclasses
add a000d32858 Make data binding deny-by-default to prevent mass assignment
add 56a9b27e90 Bind typed arrays through the allowlist and resolve domain
elements
add 8e042314f3 Merge origin/8.0.x into fix/binddata-mass-assignment
add 419695afb7 Restore permissive binding default and honor bindable false
in all modes
add f1bdc751b3 test: add bindable constraints for model properties in
HalJsonRenderer and JsonRenderer specs
add 4c9062e77b Resolve legacyBindableDefault from the raw configuration
value
add 08bf7818e2 Drop the bindable constraints added to the renderer spec
models
add d5335f4a9e Merge branch '8.0.x' into fix/binddata-mass-assignment
add cd4202bfa7 Merge branch '8.0.x' into fix/binddata-mass-assignment
add cdedbb2ff3 Merge branch '8.0.x' into fix/binddata-mass-assignment
add 73a0555772 Address jdaugherty review feedback for opt-in secure binding
add 23625ea24c Merge branch '8.0.x' into fix/binddata-mass-assignment
add 21e715ce3d Address data binding review feedback
add b89e6a02dd Merge branch '8.0.x' into fix/binddata-mass-assignment
add dad867634c Merge branch '8.0.x' into fix/binddata-mass-assignment
add 11ebb5a8cd Merge pull request #15947 from
apache/fix/binddata-mass-assignment
add e801ffb403 Add JMH performance regression reporting for pull requests
add ed2db8a1af Close JMH metadata stream and run comparison tests in CI
add e04c9022ba Replace Python JMH comparison tooling with Groovy
add e510a627a1 Merge branch '8.0.x' into perf/8.0.x-jmh-pr-benchmarks
add 202d206a6a Address JMH PR review feedback on workflow, guards, and
tooling
add b8d3233184 Isolate JMH report tests from benchmark fixtures
add 90eded54b2 Preserve JMH mode in benchmark reports
add 8624c28d99 Harden JMH benchmark comment updates
add 5429ab7669 Guard GSP parser benchmark fixtures
add 22c45df65a Align JMH workflow with pull request execution
add f579cf3135 Merge pull request #16071 from
apache/perf/8.0.x-jmh-pr-benchmarks
add 6309f18a1f Add opt-in nullMissing support to bindData for stale-data
clearing
add 018220fb3e Merge deny-by-default binding into nullMissing branch
add 73839891f2 Merge origin/8.0.x into fix/binddata-null-missing-stale-data
add 990a79d48f Merge fix/binddata-mass-assignment into
fix/binddata-null-missing-stale-data
add 62d4aadc22 Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add 59ec123ecd Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add 1f566947cc Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add cbfd385d3b Consolidate framework-managed data binding properties
add dc719ce099 Extract nullMissing property clearing
add 2b53efd370 Fix domain binding spec cleanup lifecycle
add 50714be10c Keep Grails-managed domain properties bindable when opted in
add 9cd1bde916 Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add 69ed46edca Merge binding security updates into nullMissing work
add bcb05afdee Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add 8cc9ceed92 Rename `nullMissing` to `clearMissing`
add c4e58c24ec docs: clarify behavior of clearMissing in
FrameworkPropertyNames
add 3352c00b7f test: improve clarity of test names for clearMissing
behavior
add e133a02446 docs: enhance bindData documentation with wildcard usage
and clearMissing behavior
add 0c876331b0 test: improve clarity of bindData test names and enhance
clearMissing behavior
add 13091653f5 feat: implement wildcard expansion for included properties
in clearMissing
add 4633c6777b docs: clarify behavior of clearMissing for Grails-managed
properties
add ecff934dbc chore: cleanup
`DefaultASTDatabindingHelperDomainClassSpecialPropertiesSpec`
add a6f4846fec Merge branch '8.0.x' into
fix/binddata-null-missing-stale-data
add b964e603d0 Merge pull request #15950 from
apache/fix/binddata-null-missing-stale-data
add e71d9fad23 Fix flaky RunningApplicationProcessSpec stop timeout
add 2d617df10c Fix the actual reaper-thread flake in
RunningApplicationProcessSpec
add 3811fcefc7 Poll ProcessHandle.isAlive(), not Process.isAlive(), in the
reaper-lag fix
add 5d9855e146 Merge pull request #16032 from
apache/fix/flaky-running-application-process-timeout
add 528a41b9ba Bump github/codeql-action init and analyze together to
v4.37.3
add f3413b4f6e Merge pull request #16050 from
apache/deps/codeql-action-4.37.3
add 54ea20836a fix(grails-data-hibernate7): make type: 'text' produce an
unbounded column (#16020)
add cbb9a0de0c Merge branch '8.0.x' into fix/issue-16133
add f8e4485cbe chore: add back import after bad merge
No new revisions were added by this update.
Summary of changes:
.github/workflows/benchmark.yml | 394 ++++++
.github/workflows/codeql.yml | 4 +-
.github/workflows/end-to-end.yml | 2 +-
.github/workflows/release.yml | 10 +-
gradle/rat-root-config.gradle | 3 +-
grails-benchmarks/README.adoc | 156 +++
grails-benchmarks/build.gradle | 289 ++++
.../databinding/SimpleDataBinderBenchmark.java | 175 +++
.../benchmarks/gsp/GroovyPageParserBenchmark.java | 97 ++
.../interceptors/UrlMappingMatcherBenchmark.java | 156 +++
.../grails/benchmarks/ruler/CpuRulerBenchmark.java | 58 +
.../benchmarks/ruler/MemoryRulerBenchmark.java | 63 +
.../urlmappings/UrlMappingsBenchmark.java | 110 ++
.../views/ViewTemplateRenderingBenchmark.java | 97 ++
.../interceptors/InterceptorFixture.groovy | 17 +-
.../urlmappings/UrlMappingsFixture.groovy | 41 +
.../benchmarks/views/ViewTemplateFixture.groovy | 52 +-
.../grails/benchmarks/report/Benchmark.groovy | 19 +-
.../benchmarks/report/BenchmarkComparator.groovy | 133 ++
.../grails/benchmarks/report/CommentPoster.groovy | 121 ++
.../grails/benchmarks/report/Comparison.groovy | 60 +
.../grails/benchmarks/report/JmhCompare.groovy | 113 ++
.../grails/benchmarks/report/JmhResults.groovy | 140 ++
.../grails/benchmarks/report/ReportRenderer.groovy | 173 +++
.../report/BenchmarkComparatorSpec.groovy | 69 +
.../report/GitHubCommentsHttpSpec.groovy | 119 ++
.../benchmarks/report/GoldenReportSpec.groovy | 75 +
.../grails/benchmarks/report/JmhCompareSpec.groovy | 123 ++
.../grails/benchmarks/report/PostFileSpec.groovy | 122 ++
.../resources/jmh-golden/broad-base.json | 1 +
.../resources/jmh-golden/broad-head.json | 1 +
.../resources/jmh-golden/edges-base.json | 1 +
.../resources/jmh-golden/edges-head.json | 1 +
.../resources/jmh-golden/expected-broad.md | 37 +
.../resources/jmh-golden/expected-edges.md | 35 +
.../resources/jmh-golden/expected-headonly.md | 20 +
.../resources/jmh-golden/expected-norulers.md | 24 +
.../resources/jmh-golden/expected-numbers.md | 32 +
.../resources/jmh-golden/expected-shards.md | 32 +
.../resources/jmh-golden/norulers-base.json | 1 +
.../resources/jmh-golden/norulers-head.json | 1 +
.../resources/jmh-golden/numbers-base.json | 1 +
.../resources/jmh-golden/numbers-head.json | 1 +
.../resources/jmh-golden/shards-base/shard-a.json | 1 +
.../resources/jmh-golden/shards-base/shard-b.json | 1 +
.../resources/jmh-golden/shards-head/shard-a.json | 1 +
.../resources/jmh-golden/shards-head/shard-b.json | 1 +
.../main/groovy/grails/artefact/Controller.groovy | 8 +-
.../compiler/web/ControllerActionTransformer.java | 102 +-
.../src/main/groovy/grails/config/Settings.groovy | 2 +
.../cfg/domainbinding/binder/ColumnBinder.java | 6 +-
.../domainbinding/binder/SimpleValueBinder.java | 5 +-
.../binder/StringColumnConstraintsBinder.java | 20 +-
...vy => GormTextTypeColumnIntegrationSpec.groovy} | 48 +-
.../hibernate/GormTextTypeColumnLengthSpec.groovy | 99 ++
.../cfg/domainbinding/ColumnBinderSpec.groovy | 34 +-
.../cfg/domainbinding/SimpleValueBinderSpec.groovy | 64 +
.../StringColumnConstraintsBinderSpec.groovy | 78 +-
.../grails/databinding/FrameworkPropertyNames.java | 55 +
.../grails/databinding/SimpleDataBinder.groovy | 52 +-
.../grails/databinding/SimpleDataBinderSpec.groovy | 36 +
.../META-INF/spring-configuration-metadata.json | 6 +
.../guide/theWebLayer/controllers/dataBinding.adoc | 4 +-
.../theWebLayer/gsp/GSPBasics/expressions.adoc | 12 +
grails-doc/src/en/guide/upgrading.adoc | 13 +
.../src/en/guide/upgrading/upgrading80x.adoc | 118 +-
grails-doc/src/en/ref/Constraints/bindable.adoc | 5 +-
grails-doc/src/en/ref/Controllers/bindData.adoc | 50 +-
grails-doc/src/en/ref/Database Mapping/type.adoc | 4 +-
grails-gsp/core/build.gradle | 1 +
.../org/grails/gsp/compiler/GroovyPageParser.java | 3 +
.../org/grails/gsp/compiler/GroovyPageScanner.java | 13 +-
.../gsp/GroovyPagesTemplateEngineTests.groovy | 58 +
.../org/grails/gsp/GspCompileStaticSpec.groovy | 9 +
.../groovy/org/grails/gsp/compiler/ScanTests.java | 33 +
.../gradle/RunningApplicationProcessSpec.groovy | 20 +-
.../web/databinding/GrailsWebDataBinderSpec.groovy | 294 +++-
...ngHelperDomainClassSpecialPropertiesSpec.groovy | 113 +-
.../web/commandobjects/CommandObjectsSpec.groovy | 29 +
.../grails/web/servlet/BindDataMethodTests.groovy | 1441 +++++++++++++++++++-
.../groovy/grails/web/databinding/BindAllowed.java | 12 +-
.../grails/web/databinding/DataBinder.groovy | 8 +-
.../grails/web/databinding/DataBindingUtils.java | 412 +++++-
.../web/databinding/GrailsWebDataBinder.groovy | 396 +++++-
.../web/databinding/MissingPropertyClearer.java | 823 +++++++++++
.../DataBindingEventMulticastListener.groovy | 4 +
.../databinding/DefaultASTDatabindingHelper.java | 107 +-
.../web/databinding/DenyByDefaultConfigSpec.groovy | 103 ++
settings.gradle | 1 +
89 files changed, 7638 insertions(+), 246 deletions(-)
create mode 100644 .github/workflows/benchmark.yml
create mode 100644 grails-benchmarks/README.adoc
create mode 100644 grails-benchmarks/build.gradle
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/databinding/SimpleDataBinderBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/gsp/GroovyPageParserBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/interceptors/UrlMappingMatcherBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/ruler/CpuRulerBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/ruler/MemoryRulerBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/urlmappings/UrlMappingsBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/views/ViewTemplateRenderingBenchmark.java
copy
grails-data-mongodb/core/src/test/groovy/grails/mongodb/cascade/Product.groovy
=>
grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/interceptors/InterceptorFixture.groovy
(77%)
create mode 100644
grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/urlmappings/UrlMappingsFixture.groovy
copy
grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/response/pagination/PagedResultListPaginationResponse.groovy
=>
grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/views/ViewTemplateFixture.groovy
(53%)
copy
grails-test-examples/undertow/grails-app/assets/stylesheets/application.css =>
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/Benchmark.groovy
(72%)
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/BenchmarkComparator.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/CommentPoster.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/Comparison.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/JmhCompare.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/JmhResults.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/ReportRenderer.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/BenchmarkComparatorSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/GitHubCommentsHttpSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/GoldenReportSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/JmhCompareSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/PostFileSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/broad-base.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/broad-head.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/edges-base.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/edges-head.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-broad.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-edges.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-headonly.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-norulers.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-numbers.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-shards.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/norulers-base.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/norulers-head.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/numbers-base.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/numbers-head.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/shards-base/shard-a.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/shards-base/shard-b.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/shards-head/shard-a.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/shards-head/shard-b.json
copy
grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/{GormNumericTypeColumnIntegrationSpec.groovy
=> GormTextTypeColumnIntegrationSpec.groovy} (64%)
create mode 100644
grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/GormTextTypeColumnLengthSpec.groovy
create mode 100644
grails-databinding-core/src/main/groovy/grails/databinding/FrameworkPropertyNames.java
copy grails-gsp/grails-taglib/src/main/groovy/grails/gsp/Tag.java =>
grails-web-databinding/src/main/groovy/grails/web/databinding/BindAllowed.java
(86%)
create mode 100644
grails-web-databinding/src/main/groovy/grails/web/databinding/MissingPropertyClearer.java
create mode 100644
grails-web-databinding/src/test/groovy/grails/web/databinding/DenyByDefaultConfigSpec.groovy