You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/10/16 16:28:08 UTC

(grails-core) branch 10.0.x updated (51b663f547 -> 27c3848d60)

This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a change to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git


    from 51b663f547 Merge branch '9.0.x' into 9.1.x
     add 50d97beae4 Write grails.converters.JSON through Spring Boot's JsonMapper
     add 95066b7b83 Write JSONWriter through Jackson; remove the unused JSON writers, marshallers and parser
     add fc2cb3a76c Merge 9.0.x into the JSON mapper branch
     add 9b0c6c1304 Get the JsonMapper's serialization context through its public API
     add 850fc4d3cd Document that a Jackson module serializer renders the values it writes
     add 0d9626e80c Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 208977c9c4 Render the values a Jackson module serializer writes with the converter
     add a2dc99db23 Render domain classes with a Jackson serializer
     add fea8b9b294 Pin the syntax and number types JSON.parse accepts
     add 64e1733f58 Keep the JSON value marshallers, PrettyPrintJSONWriter and JSONParser, deprecated
     add 2493e1e9d4 Render JSON as Grails 8 did with grails.converters.json.legacy
     add 6f42133f0b Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add ebf560153b Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 1b3a980f0d Keep grails.converters.json.legacy undeprecated, and make the domain Jackson module opt-in
     add e41e7e431d Render domain classes, map keys and toString(false) as Grails 8 did with grails.converters.json.legacy
     add 512e8d9fb7 Write exotic Numbers as text, keep compact JSON compact, and render enums with a @JsonValue by name
     add f520e7dcbf Write domain classes on the JsonMapper with their type id, unwrapped, and with the mapper's names
     add 18156ce6d0 Render a Path as the JsonMapper does
     add 1b644c8973 Document the legacy and domain module defaults, and test the gaps the review found
     add 26f1dda9ff Render Numbers with a module serializer, enum constants with a body and Iterable values as the mapper does
     add 4a20e8dff3 Offer cycle references to the rendering, fail on unwrapped type ids, and name references as instances
     add 5536958955 Document enum constants with a body, JsonNode, EXISTING_PROPERTY type ids and legacy with the domain module
     add 102dbe2bf2 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 0935518b09 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 8acfac0aa9 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 27a86d86b8 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 6e9b680773 Render JSON as Grails 8 did by default in Grails 9, with the JsonMapper as an opt-in
     add a41284e2d7 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add f2ac68cb2b Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 7852b429ef Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 1d77b314cd Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 8ce0e146ac Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 2ec20172f5 Warn while the JSON legacy setting is unset, and describe the default in the guides
     add 37750d854f feat: enable Groovy invokedynamic by default on Grails 9
     add 131cc80e38 fix: stop injecting unversioned groovy-callsite on indy=false CI
     add 2cbd65150c fix: make security taglib and session lookup indy-safe
     add 782b00ffe5 test: avoid Groovy with() String.contains under invokedynamic
     add 0017bc62f4 test: stop using with(pageSource) contains under Groovy 6 indy
     add ccce1baf53 test: call rolesTab methods without Groovy with() under indy
     add 80b9c1d489 Merge branch '9.0.x' into feat/indy-default-groovy6
     add 42a30d7ce6 Merge branch '8.0.x' into 8.1.x
     add 92e2c82f5c Merge branch '8.1.x' into 9.0.x
     add 477ef24571 Merge branch '9.0.x' into feat/indy-default-groovy6
     add 919a12c2b8 build: default CompilePlugin indy on for Grails 9
     add c43f28478f Merge branch '9.0.x' into feat/indy-default-groovy6
     add d71024dd8b Leave indy at the Groovy compiler's default unless the application sets it
     add 03883d8f60 Merge branch '9.0.x' into feat/indy-default-groovy6
     add 6e4f085d85 Restore the with() blocks in the security functional specs
     add e609d83c3a Fail the build when an application that builds a native image turns indy off
     add 7d85b3fc33 Check each compile task's own indy option in a native image build
     add 6838d1e117 Restore the session lookup and taglib filter chain
     add 17d694d3af Ship groovy-callsite only when an application opts out of invokedynamic
     add 80a04e555c Tell agents to drop indy settings by default and offer classic call sites
     add 46284360f4 Give the classic lane groovy-callsite everywhere, and tests that load testcontainers-spock
     add cae2aa3e36 Keep the classic lane's groovy-callsite out of the Gradle-side builds only
     add 38fd73b5de Make the applications the Forge specs generate declare groovy-callsite in the classic lane
     add 144c1161b9 Preserve Forge init-script paths when launching generated builds
     add ebf174eb20 Merge pull request #16165 from apache/feat/indy-default-groovy6
     add 4e69821b89 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
     add 1d3bf77306 Check that rendering a lazy association leaves its proxy uninitialized
     add d0ecc35001 Merge pull request #16414 from codeconsole/feat/converters-json-on-jackson-9.0.x
     add d3a41b38ec test: cover the default native id generator on every database RLikeHibernate7Spec covers
     add ce72ecc848 fix: create the sequences of the default native id generator on sequence-based databases
     add e43c8d2635 test: expect the generated sequence default for a native id on PostgreSQL
     add 95228615d6 Update Bootstrap Icons to 1.13.2
     add 60f75ee890 Merge pull request #16650 from codeconsole/deps/bootstrap-icons-1.13.2
     add 5af9ef654f Merge 8.0.x into fix/hibernate7-native-id-generator-sequences-8.0.x
     add 8400b27b03 docs(upgrade): document the per-table sequences of the default id mapping on Hibernate 7
     add 122c3daa7c Merge pull request #16582 from apache/fix/hibernate7-native-id-generator-sequences-8.0.x
     add 411501ddb7 Add unit tests for Grails CLI command helpers.
     add 1da0239a00 Address review feedback on the CLI command helper specs
     add 98091dc870 Merge pull request #16643 from apache/test/shell-cli-coverage-7.0.x
     add 5daa297b9e Add unit tests for Gradle model IO helpers.
     add 186b59c45d Tighten the Gradle model IO helper specs
     add caa0815630 Merge pull request #16642 from apache/test/gradle-model-io-7.0.x
     add 23d3d4be7a Add unit tests for AntPathMatcher and ByteArrayResource.
     add 3c2fced307 Tighten the AntPathMatcher and ByteArrayResource specs
     add 1eda77cac5 Merge pull request #16639 from apache/test/bootstrap-antpath-7.0.x
     add 45828c7c7f Add unit tests for Grails layout capture and response buffering.
     add 9f8c9b899c Tighten the grails-layout capture and buffering specs
     add b5fe338956 Merge pull request #16640 from apache/test/gsp-layout-coverage-7.0.x
     add b8752338ef Add unit tests for web request helpers and XML writers.
     add d992cfeed4 Tighten the web util and XML writer specs
     add 9833d23d8b Merge pull request #16637 from apache/test/web-util-coverage-7.0.x
     add e155137772 Add unit tests for the Grails JSON writers.
     add 60b6b39d45 Stop the JSON writer specs pinning two misreports
     add 1886349ed1 Merge pull request #16636 from apache/test/json-writers-7.0.x
     add 584d7329a5 Add unit tests for Atom and HAL XML renderers.
     add 49090ba585 Tighten the Atom and HAL XML renderer specs
     add 9e0e8b4069 Merge pull request #16641 from apache/test/rest-renderers-7.0.x
     add 0c78d805f5 Add unit tests for composite config and small core utilities.
     add 452d42d942 Tighten the core config and utility specs
     add 8d707a2ff2 Merge pull request #16638 from apache/test/core-config-coverage-7.0.x
     add b28f38e827 Merge branch '7.0.x' into 7.1.x
     add fe958347a7 Merge branch '7.1.x' into 7.2.x
     add 849bc57401 Merge branch '7.2.x' into 8.0.x
     add 28c013a1bb Adapt the merged layout and template specs to the 8.0.x behaviour
     add 4005921043 Merge branch '8.0.x' into 8.1.x
     add 85cf13505a Merge branch '8.1.x' into 9.0.x
     add b85f02d4c3 Adapt the merged JSON writer specs to the Jackson-backed writer
     add 38bfb26742 Merge branch '9.0.x' into 9.1.x
     new 27c3848d60 Merge branch '9.1.x' into 10.0.x

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .agents/skills/gradle-developer/SKILL.md           |   8 +
 AGENTS.md                                          |   1 +
 .../apache/grails/buildsrc/CompilePlugin.groovy    |  56 +-
 .../grails/buildsrc/CompilePluginSpec.groovy       |  58 ++
 dependencies.gradle                                |   2 +-
 gradle/grails-extension-gradle-config.gradle       |   4 +-
 .../grails/io/support/AntPathMatcherSpec.groovy    | 320 +++++++++
 .../grails/io/support/ByteArrayResourceSpec.groovy |  97 +++
 grails-common/build.gradle                         |   4 -
 grails-converters/build.gradle                     |   3 +-
 .../src/main/groovy/grails/converters/JSON.java    |  75 ++-
 .../converters/ConvertersGrailsPlugin.groovy       |  20 +
 .../ConvertersConfigurationHolder.java             |  44 ++
 .../ConvertersConfigurationInitializer.java        | 161 ++++-
 .../jackson/DomainClassJacksonModule.java          | 119 ++++
 .../converters/jackson/DomainClassRendering.java   | 256 ++++++++
 .../converters/jackson/DomainClassSerializer.java  | 481 ++++++++++++++
 .../marshaller/json/ByteArrayMarshaller.java       |   4 +
 .../marshaller/json/CalendarMarshaller.java        |   4 +
 .../converters/marshaller/json/DateMarshaller.java |   4 +
 .../marshaller/json/DomainClassMarshaller.java     | 104 ++-
 .../marshaller/json/InstantMarshaller.java         |   4 +
 .../marshaller/json/JsonMapperValueMarshaller.java |  88 +++
 .../marshaller/json/LocalDateMarshaller.java       |   4 +
 .../marshaller/json/LocalDateTimeMarshaller.java   |   4 +
 .../converters/marshaller/json/MapMarshaller.java  |   3 +-
 .../marshaller/json/OffsetDateTimeMarshaller.java  |   4 +
 ...rrayMarshaller.java => OptionalMarshaller.java} |  15 +-
 ...nstantMarshaller.java => RecordMarshaller.java} |  30 +-
 .../marshaller/json/SimpleEnumMarshaller.java      |  17 +-
 .../marshaller/json/ToStringBeanMarshaller.java    |   4 +
 .../marshaller/json/ZonedDateTimeMarshaller.java   |   4 +
 .../converters/ConvertersGrailsPluginSpec.groovy   | 104 +++
 .../ConvertersConfigurationInitializerSpec.groovy  |  77 +++
 .../jackson/DomainClassJacksonModuleSpec.groovy    | 524 +++++++++++++++
 .../converters/json/JsonMapperRenderingSpec.groovy | 719 +++++++++++++++++++++
 .../web/converters/json/JsonParsingSpec.groovy     |  99 +++
 .../json/legacy/Grails8DomainRendering.groovy      | 213 ++++++
 .../json/legacy/Grails8JsonRenderingSpec.groovy    | 397 ++++++++++++
 .../additional-spring-configuration-metadata.json  |  12 +
 .../beans/util/LazyMetaPropertyMapSpec.groovy      | 138 ++++
 .../groovy/grails/util/GrailsClassUtilsSpec.groovy | 192 ++++++
 .../org/grails/config/CompositeConfigSpec.groovy   | 200 ++++++
 .../org/grails/config/PrefixedConfigSpec.groovy    | 141 ++++
 .../org/grails/core/util/StopWatchSpec.groovy      | 150 +++++
 grails-data-hibernate7/core/build.gradle           |   2 +
 .../generator/GrailsNativeGenerator.java           |  64 +-
 .../generator/GrailsSequenceGeneratorEnum.groovy   |   4 +-
 .../tests/NativeIdGeneratorHibernate7Spec.groovy   | 135 ++++
 .../domainbinding/GrailsNativeGeneratorSpec.groovy | 137 ++--
 .../GrailsSequenceGeneratorEnumSpec.groovy         |   8 +-
 .../dbmigration-core/build.gradle                  |   2 +
 grails-data-hibernate7/dbmigration/build.gradle    |   2 +
 .../GormIdentifierSnapshot16497Spec.groovy         |   6 +-
 grails-data-mongodb/core/build.gradle              |   2 +
 .../Jsr310ConvertersConfiguration.groovy           |   6 +-
 .../en/guide/REST/renderers/defaultRenderers.adoc  | 108 +++-
 .../src/en/guide/deployment/deploymentAot.adoc     |   6 +
 grails-doc/src/en/guide/introduction/whatsNew.adoc |  28 +
 .../src/en/guide/upgrading/upgrading80x.adoc       |  43 +-
 .../src/en/guide/upgrading/upgrading90x.adoc       | 259 ++++++++
 .../gradle/classic-framework.init.gradle           |  30 +-
 grails-forge/gradle/test-config.gradle             |  10 +
 grails-forge/grails-forge-cli/build.gradle         |   4 -
 .../groovy/org/grails/forge/cli/CommandSpec.groovy |  16 +-
 .../org/grails/forge/cli/GeneratedBuildSpec.groovy |  32 +-
 .../forge/cli/command/CreateAppCommandSpec.groovy  |  21 +
 .../org/grails/forge/cli/GeneratedBuild.groovy     |  48 ++
 .../org/grails/forge/utils/CommandSpec.groovy      |   7 +-
 .../grails/io/support/ClassPathResourceSpec.groovy | 141 ++++
 .../io/support/FileSystemResourceSpec.groovy       | 137 ++++
 .../io/support/GrailsResourceUtilsSpec.groovy      | 264 ++++++++
 .../grails/io/support/MainClassFinderSpec.groovy   | 171 ++++-
 .../org/grails/io/support/UrlResourceSpec.groovy   | 136 ++++
 .../gradle/plugin/core/GrailsExtension.groovy      |  12 +-
 .../gradle/plugin/core/GrailsGradlePlugin.groovy   |  61 +-
 .../gradle/plugin/core/GrailsExtensionSpec.groovy  |  23 +
 .../gradle/plugin/core/GrailsIndySpec.groovy       |  75 +++
 .../core/GrailsNativeImageDefaultsSpec.groovy      |  53 +-
 .../test-projects/indy-settings/build.gradle       |  40 ++
 .../gradle.properties                              |   0
 .../grails-app/conf/application.yml                |   0
 .../test-projects/indy-settings/settings.gradle    |   1 +
 .../src/main/groovy/demo/Dynamic.groovy            |   5 +
 .../test-projects/native-defaults-off/build.gradle |   7 +-
 .../test-projects/native-defaults-on/build.gradle  |  47 +-
 .../src/main/groovy/demo/Dynamic.groovy            |   5 +
 .../web/layout/GSPGrailsLayoutPageSpec.groovy      | 155 +++++
 .../web/layout/GrailsHTMLPageParserSpec.groovy     |  81 +++
 .../web/layout/GrailsLayoutTagLibSpec.groovy       | 112 ++++
 .../layout/GrailsPageResponseWrapperSpec.groovy    | 223 +++++++
 .../layout/GrailsViewBufferingResponseSpec.groovy  | 165 +++++
 .../grails/web/layout/LayoutDecoratorSpec.groovy   | 125 ++++
 .../web/layout/RenderGrailsLayoutTagLibSpec.groovy | 102 +++
 .../web/rest/render/atom/AtomRendererSpec.groovy   | 261 ++++++++
 .../web/rest/render/hal/HalXmlRendererSpec.groovy  | 290 +++++++++
 grails-shell-cli/build.gradle                      |   2 +
 .../grails/cli/command/CommandExceptionSpec.groovy |  73 +++
 .../grails/cli/command/CommandRunnerSpec.groovy    | 269 ++++++++
 .../org/grails/cli/command/HelpExampleSpec.groovy  |  31 +-
 .../cli/command/OptionParsingCommandSpec.groovy    |  84 +++
 .../io/FileSystemInteractionImplSpec.groovy        | 129 ++++
 .../templates/TemplateRendererImplSpec.groovy      | 153 +++++
 .../developer/skills/grails-developer/SKILL.md     |  30 +
 .../hibernate5/grails-hibernate/build.gradle       |   1 +
 .../grails-app/conf/application.yml                |  11 +-
 .../functional/tests/ShipmentController.groovy}    |  20 +-
 .../domain/functional/tests/Carrier.groovy}        |  18 +-
 .../domain/functional/tests/Shipment.groovy}       |  19 +-
 .../tests/JsonMapperConverterSpec.groovy           |  86 +++
 .../spring-security/ui/common/build.gradle         |   2 +
 .../binding/DateTimeRoundTripBindingSpec.groovy    |  10 +-
 .../web/converters/JSONConverterTests.groovy       |   9 +-
 .../org/grails/web/json/JSONWriterSpec.groovy      |  62 --
 grails-web-common/build.gradle                     |   1 +
 .../org/grails/web/json/GrailsPrettyPrinter.java   | 116 ++++
 .../org/grails/web/json/HtmlSafeJsonWriter.java    | 102 +++
 .../groovy/org/grails/web/json/JSONWriter.java     | 364 ++++++++---
 .../org/grails/web/json/JsonMapperSupport.java     | 244 +++++++
 .../org/grails/web/json/JsonMapperValue.java       |  86 +++
 .../org/grails/web/json/NestedValueSerializer.java | 215 ++++++
 .../web/json/PathCapturingJSONWriterWrapper.java   |  96 ++-
 .../org/grails/web/json/PrettyPrintJSONWriter.java | 138 +---
 .../org/grails/web/json/parser/JSONParser.java     |   7 +
 .../grails/web/json/HtmlSafeJsonWriterSpec.groovy  |  50 ++
 .../org/grails/web/json/JSONArrayApiSpec.groovy    | 322 +++++++++
 .../org/grails/web/json/JSONObjectApiSpec.groovy   | 345 ++++++++++
 .../org/grails/web/json/JSONTokenerApiSpec.groovy  | 235 +++++++
 .../org/grails/web/json/JSONWriterApiSpec.groovy   | 136 ++++
 .../org/grails/web/json/JSONWriterSpec.groovy      | 332 ++++++++++
 .../PathCapturingJSONWriterWrapperApiSpec.groovy   | 158 +++++
 .../web/json/PrettyPrintJSONWriterApiSpec.groovy   |  77 +++
 .../BoundedCharsAsEncodedBytesCounterSpec.groovy   | 167 +++++
 .../web/util/IncludeResponseWrapperSpec.groovy     | 181 ++++++
 .../org/grails/web/util/IncludedContentSpec.groovy |  88 +++
 .../groovy/org/grails/web/util/WebUtilsSpec.groovy | 269 +++++++-
 .../web/xml/PrettyPrintXMLStreamWriterSpec.groovy  | 112 ++++
 .../web/xml/StreamingMarkupWriterSpec.groovy       |  76 +++
 138 files changed, 12903 insertions(+), 663 deletions(-)
 create mode 100644 grails-bootstrap/src/test/groovy/org/grails/io/support/AntPathMatcherSpec.groovy
 create mode 100644 grails-bootstrap/src/test/groovy/org/grails/io/support/ByteArrayResourceSpec.groovy
 create mode 100644 grails-converters/src/main/groovy/org/grails/web/converters/jackson/DomainClassJacksonModule.java
 create mode 100644 grails-converters/src/main/groovy/org/grails/web/converters/jackson/DomainClassRendering.java
 create mode 100644 grails-converters/src/main/groovy/org/grails/web/converters/jackson/DomainClassSerializer.java
 create mode 100644 grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/JsonMapperValueMarshaller.java
 copy grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{ByteArrayMarshaller.java => OptionalMarshaller.java} (73%)
 copy grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{InstantMarshaller.java => RecordMarshaller.java} (50%)
 create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/configuration/ConvertersConfigurationInitializerSpec.groovy
 create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/jackson/DomainClassJacksonModuleSpec.groovy
 create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/json/JsonMapperRenderingSpec.groovy
 create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/json/JsonParsingSpec.groovy
 create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/json/legacy/Grails8DomainRendering.groovy
 create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/json/legacy/Grails8JsonRenderingSpec.groovy
 create mode 100644 grails-core/src/test/groovy/grails/beans/util/LazyMetaPropertyMapSpec.groovy
 create mode 100644 grails-core/src/test/groovy/grails/util/GrailsClassUtilsSpec.groovy
 create mode 100644 grails-core/src/test/groovy/org/grails/config/CompositeConfigSpec.groovy
 create mode 100644 grails-core/src/test/groovy/org/grails/config/PrefixedConfigSpec.groovy
 create mode 100644 grails-core/src/test/groovy/org/grails/core/util/StopWatchSpec.groovy
 create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/NativeIdGeneratorHibernate7Spec.groovy
 copy grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/ByteArrayMarshaller.java => grails-forge/gradle/classic-framework.init.gradle (50%)
 copy grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/ByteArrayMarshaller.java => grails-forge/grails-forge-cli/src/test/groovy/org/grails/forge/cli/GeneratedBuildSpec.groovy (51%)
 create mode 100644 grails-forge/grails-forge-cli/src/testFixtures/groovy/org/grails/forge/cli/GeneratedBuild.groovy
 create mode 100644 grails-gradle/model/src/test/groovy/org/grails/io/support/ClassPathResourceSpec.groovy
 create mode 100644 grails-gradle/model/src/test/groovy/org/grails/io/support/FileSystemResourceSpec.groovy
 create mode 100644 grails-gradle/model/src/test/groovy/org/grails/io/support/GrailsResourceUtilsSpec.groovy
 create mode 100644 grails-gradle/model/src/test/groovy/org/grails/io/support/UrlResourceSpec.groovy
 create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/GrailsIndySpec.groovy
 create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/indy-settings/build.gradle
 copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => indy-settings}/gradle.properties (100%)
 copy grails-gradle/plugins/src/test/resources/test-projects/{boot-run-pid-web => indy-settings}/grails-app/conf/application.yml (100%)
 create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/indy-settings/settings.gradle
 create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/indy-settings/src/main/groovy/demo/Dynamic.groovy
 create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-defaults-on/src/main/groovy/demo/Dynamic.groovy
 create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GSPGrailsLayoutPageSpec.groovy
 create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GrailsHTMLPageParserSpec.groovy
 create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GrailsLayoutTagLibSpec.groovy
 create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GrailsPageResponseWrapperSpec.groovy
 create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GrailsViewBufferingResponseSpec.groovy
 create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/LayoutDecoratorSpec.groovy
 create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/RenderGrailsLayoutTagLibSpec.groovy
 create mode 100644 grails-rest-transforms/src/test/groovy/org/grails/plugins/web/rest/render/atom/AtomRendererSpec.groovy
 create mode 100644 grails-rest-transforms/src/test/groovy/org/grails/plugins/web/rest/render/hal/HalXmlRendererSpec.groovy
 create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/command/CommandExceptionSpec.groovy
 create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/command/CommandRunnerSpec.groovy
 copy grails-test-examples/spring-security/ui/common/build.gradle => grails-shell-cli/src/test/groovy/org/grails/cli/command/HelpExampleSpec.groovy (59%)
 create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/command/OptionParsingCommandSpec.groovy
 create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/io/FileSystemInteractionImplSpec.groovy
 create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/templates/TemplateRendererImplSpec.groovy
 copy grails-test-examples/{spring-security/ui/common/build.gradle => hibernate5/grails-hibernate/grails-app/controllers/functional/tests/ShipmentController.groovy} (59%)
 copy grails-test-examples/{spring-security/ui/common/build.gradle => hibernate5/grails-hibernate/grails-app/domain/functional/tests/Carrier.groovy} (58%)
 copy grails-test-examples/{spring-security/ui/common/build.gradle => hibernate5/grails-hibernate/grails-app/domain/functional/tests/Shipment.groovy} (58%)
 create mode 100644 grails-test-examples/hibernate5/grails-hibernate/src/integration-test/groovy/functional/tests/JsonMapperConverterSpec.groovy
 delete mode 100644 grails-test-suite-web/src/test/groovy/org/grails/web/json/JSONWriterSpec.groovy
 create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/GrailsPrettyPrinter.java
 create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/HtmlSafeJsonWriter.java
 create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/JsonMapperSupport.java
 create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/JsonMapperValue.java
 create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/NestedValueSerializer.java
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/HtmlSafeJsonWriterSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONArrayApiSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONObjectApiSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONTokenerApiSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONWriterApiSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONWriterSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/PathCapturingJSONWriterWrapperApiSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/PrettyPrintJSONWriterApiSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/util/BoundedCharsAsEncodedBytesCounterSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/util/IncludeResponseWrapperSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/util/IncludedContentSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/xml/PrettyPrintXMLStreamWriterSpec.groovy
 create mode 100644 grails-web-common/src/test/groovy/org/grails/web/xml/StreamingMarkupWriterSpec.groovy


(grails-core) 01/01: Merge branch '9.1.x' into 10.0.x

Posted by jd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 27c3848d606319ae04419b6af37926278f0ce2d7
Merge: 51b663f547 38bfb26742
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Fri Oct 16 12:11:25 2026 -0400

    Merge branch '9.1.x' into 10.0.x

 .agents/skills/gradle-developer/SKILL.md           |   8 +
 AGENTS.md                                          |   1 +
 .../apache/grails/buildsrc/CompilePlugin.groovy    |  56 +-
 .../grails/buildsrc/CompilePluginSpec.groovy       |  58 ++
 dependencies.gradle                                |   2 +-
 gradle/grails-extension-gradle-config.gradle       |   4 +-
 .../grails/io/support/AntPathMatcherSpec.groovy    | 320 +++++++++
 .../grails/io/support/ByteArrayResourceSpec.groovy |  97 +++
 grails-common/build.gradle                         |   4 -
 grails-converters/build.gradle                     |   3 +-
 .../src/main/groovy/grails/converters/JSON.java    |  75 ++-
 .../converters/ConvertersGrailsPlugin.groovy       |  20 +
 .../ConvertersConfigurationHolder.java             |  44 ++
 .../ConvertersConfigurationInitializer.java        | 161 ++++-
 .../jackson/DomainClassJacksonModule.java          | 119 ++++
 .../converters/jackson/DomainClassRendering.java   | 256 ++++++++
 .../converters/jackson/DomainClassSerializer.java  | 481 ++++++++++++++
 .../marshaller/json/ByteArrayMarshaller.java       |   4 +
 .../marshaller/json/CalendarMarshaller.java        |   4 +
 .../converters/marshaller/json/DateMarshaller.java |   4 +
 .../marshaller/json/DomainClassMarshaller.java     | 104 ++-
 .../marshaller/json/InstantMarshaller.java         |   4 +
 .../marshaller/json/JsonMapperValueMarshaller.java |  88 +++
 .../marshaller/json/LocalDateMarshaller.java       |   4 +
 .../marshaller/json/LocalDateTimeMarshaller.java   |   4 +
 .../converters/marshaller/json/MapMarshaller.java  |   3 +-
 .../marshaller/json/OffsetDateTimeMarshaller.java  |   4 +
 ...rrayMarshaller.java => OptionalMarshaller.java} |  15 +-
 ...nstantMarshaller.java => RecordMarshaller.java} |  30 +-
 .../marshaller/json/SimpleEnumMarshaller.java      |  17 +-
 .../marshaller/json/ToStringBeanMarshaller.java    |   4 +
 .../marshaller/json/ZonedDateTimeMarshaller.java   |   4 +
 .../converters/ConvertersGrailsPluginSpec.groovy   | 104 +++
 .../ConvertersConfigurationInitializerSpec.groovy  |  77 +++
 .../jackson/DomainClassJacksonModuleSpec.groovy    | 524 +++++++++++++++
 .../converters/json/JsonMapperRenderingSpec.groovy | 719 +++++++++++++++++++++
 .../web/converters/json/JsonParsingSpec.groovy     |  99 +++
 .../json/legacy/Grails8DomainRendering.groovy      | 213 ++++++
 .../json/legacy/Grails8JsonRenderingSpec.groovy    | 397 ++++++++++++
 .../additional-spring-configuration-metadata.json  |  12 +
 .../beans/util/LazyMetaPropertyMapSpec.groovy      | 138 ++++
 .../groovy/grails/util/GrailsClassUtilsSpec.groovy | 192 ++++++
 .../org/grails/config/CompositeConfigSpec.groovy   | 200 ++++++
 .../org/grails/config/PrefixedConfigSpec.groovy    | 141 ++++
 .../org/grails/core/util/StopWatchSpec.groovy      | 150 +++++
 grails-data-hibernate7/core/build.gradle           |   2 +
 .../generator/GrailsNativeGenerator.java           |  64 +-
 .../generator/GrailsSequenceGeneratorEnum.groovy   |   4 +-
 .../tests/NativeIdGeneratorHibernate7Spec.groovy   | 135 ++++
 .../domainbinding/GrailsNativeGeneratorSpec.groovy | 137 ++--
 .../GrailsSequenceGeneratorEnumSpec.groovy         |   8 +-
 .../dbmigration-core/build.gradle                  |   2 +
 grails-data-hibernate7/dbmigration/build.gradle    |   2 +
 .../GormIdentifierSnapshot16497Spec.groovy         |   6 +-
 grails-data-mongodb/core/build.gradle              |   2 +
 .../Jsr310ConvertersConfiguration.groovy           |   6 +-
 .../en/guide/REST/renderers/defaultRenderers.adoc  | 108 +++-
 .../src/en/guide/deployment/deploymentAot.adoc     |   6 +
 grails-doc/src/en/guide/introduction/whatsNew.adoc |  28 +
 .../src/en/guide/upgrading/upgrading80x.adoc       |  43 +-
 .../src/en/guide/upgrading/upgrading90x.adoc       | 259 ++++++++
 .../gradle/classic-framework.init.gradle           |  30 +-
 grails-forge/gradle/test-config.gradle             |  10 +
 grails-forge/grails-forge-cli/build.gradle         |   4 -
 .../groovy/org/grails/forge/cli/CommandSpec.groovy |  16 +-
 .../org/grails/forge/cli/GeneratedBuildSpec.groovy |  32 +-
 .../forge/cli/command/CreateAppCommandSpec.groovy  |  21 +
 .../org/grails/forge/cli/GeneratedBuild.groovy     |  48 ++
 .../org/grails/forge/utils/CommandSpec.groovy      |   7 +-
 .../grails/io/support/ClassPathResourceSpec.groovy | 141 ++++
 .../io/support/FileSystemResourceSpec.groovy       | 137 ++++
 .../io/support/GrailsResourceUtilsSpec.groovy      | 264 ++++++++
 .../grails/io/support/MainClassFinderSpec.groovy   | 171 ++++-
 .../org/grails/io/support/UrlResourceSpec.groovy   | 136 ++++
 .../gradle/plugin/core/GrailsExtension.groovy      |  12 +-
 .../gradle/plugin/core/GrailsGradlePlugin.groovy   |  61 +-
 .../gradle/plugin/core/GrailsExtensionSpec.groovy  |  23 +
 .../gradle/plugin/core/GrailsIndySpec.groovy       |  75 +++
 .../core/GrailsNativeImageDefaultsSpec.groovy      |  53 +-
 .../test-projects/indy-settings/build.gradle       |  40 ++
 .../test-projects/indy-settings/gradle.properties  |   1 +
 .../indy-settings/grails-app/conf/application.yml  |   0
 .../test-projects/indy-settings/settings.gradle    |   1 +
 .../src/main/groovy/demo/Dynamic.groovy            |   5 +
 .../test-projects/native-defaults-off/build.gradle |   7 +-
 .../test-projects/native-defaults-on/build.gradle  |  47 +-
 .../src/main/groovy/demo/Dynamic.groovy            |   5 +
 .../web/layout/GSPGrailsLayoutPageSpec.groovy      | 155 +++++
 .../web/layout/GrailsHTMLPageParserSpec.groovy     |  81 +++
 .../web/layout/GrailsLayoutTagLibSpec.groovy       | 112 ++++
 .../layout/GrailsPageResponseWrapperSpec.groovy    | 223 +++++++
 .../layout/GrailsViewBufferingResponseSpec.groovy  | 165 +++++
 .../grails/web/layout/LayoutDecoratorSpec.groovy   | 125 ++++
 .../web/layout/RenderGrailsLayoutTagLibSpec.groovy | 102 +++
 .../web/rest/render/atom/AtomRendererSpec.groovy   | 261 ++++++++
 .../web/rest/render/hal/HalXmlRendererSpec.groovy  | 290 +++++++++
 grails-shell-cli/build.gradle                      |   2 +
 .../grails/cli/command/CommandExceptionSpec.groovy |  73 +++
 .../grails/cli/command/CommandRunnerSpec.groovy    | 269 ++++++++
 .../org/grails/cli/command/HelpExampleSpec.groovy  |  31 +-
 .../cli/command/OptionParsingCommandSpec.groovy    |  84 +++
 .../io/FileSystemInteractionImplSpec.groovy        | 129 ++++
 .../templates/TemplateRendererImplSpec.groovy      | 153 +++++
 .../developer/skills/grails-developer/SKILL.md     |  30 +
 .../hibernate5/grails-hibernate/build.gradle       |   1 +
 .../grails-app/conf/application.yml                |  11 +-
 .../functional/tests/ShipmentController.groovy}    |  20 +-
 .../domain/functional/tests/Carrier.groovy}        |  18 +-
 .../domain/functional/tests/Shipment.groovy}       |  19 +-
 .../tests/JsonMapperConverterSpec.groovy           |  86 +++
 .../spring-security/ui/common/build.gradle         |   2 +
 .../binding/DateTimeRoundTripBindingSpec.groovy    |  10 +-
 .../web/converters/JSONConverterTests.groovy       |   9 +-
 .../org/grails/web/json/JSONWriterSpec.groovy      |  62 --
 grails-web-common/build.gradle                     |   1 +
 .../org/grails/web/json/GrailsPrettyPrinter.java   | 116 ++++
 .../org/grails/web/json/HtmlSafeJsonWriter.java    | 102 +++
 .../groovy/org/grails/web/json/JSONWriter.java     | 364 ++++++++---
 .../org/grails/web/json/JsonMapperSupport.java     | 244 +++++++
 .../org/grails/web/json/JsonMapperValue.java       |  86 +++
 .../org/grails/web/json/NestedValueSerializer.java | 215 ++++++
 .../web/json/PathCapturingJSONWriterWrapper.java   |  96 ++-
 .../org/grails/web/json/PrettyPrintJSONWriter.java | 138 +---
 .../org/grails/web/json/parser/JSONParser.java     |   7 +
 .../grails/web/json/HtmlSafeJsonWriterSpec.groovy  |  50 ++
 .../org/grails/web/json/JSONArrayApiSpec.groovy    | 322 +++++++++
 .../org/grails/web/json/JSONObjectApiSpec.groovy   | 345 ++++++++++
 .../org/grails/web/json/JSONTokenerApiSpec.groovy  | 235 +++++++
 .../org/grails/web/json/JSONWriterApiSpec.groovy   | 136 ++++
 .../org/grails/web/json/JSONWriterSpec.groovy      | 332 ++++++++++
 .../PathCapturingJSONWriterWrapperApiSpec.groovy   | 158 +++++
 .../web/json/PrettyPrintJSONWriterApiSpec.groovy   |  77 +++
 .../BoundedCharsAsEncodedBytesCounterSpec.groovy   | 167 +++++
 .../web/util/IncludeResponseWrapperSpec.groovy     | 181 ++++++
 .../org/grails/web/util/IncludedContentSpec.groovy |  88 +++
 .../groovy/org/grails/web/util/WebUtilsSpec.groovy | 269 +++++++-
 .../web/xml/PrettyPrintXMLStreamWriterSpec.groovy  | 112 ++++
 .../web/xml/StreamingMarkupWriterSpec.groovy       |  76 +++
 138 files changed, 12904 insertions(+), 663 deletions(-)