You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by sc...@apache.org on 2026/10/16 15:40:53 UTC
(grails-core) branch 9.0.x updated (ebf174eb20 -> d0ecc35001)
This is an automated email from the ASF dual-hosted git repository.
codeconsole pushed a change to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from ebf174eb20 Merge pull request #16165 from apache/feat/indy-default-groovy6
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 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
new d0ecc35001 Merge pull request #16414 from codeconsole/feat/converters-json-on-jackson-9.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:
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 +
...DateMarshaller.java => OptionalMarshaller.java} | 19 +-
...dBasedMarshaller.java => RecordMarshaller.java} | 42 +-
.../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 +
.../Jsr310ConvertersConfiguration.groovy | 6 +-
.../en/guide/REST/renderers/defaultRenderers.adoc | 108 +++-
.../src/en/guide/upgrading/upgrading90x.adoc | 238 +++++++
.../hibernate5/grails-hibernate/build.gradle | 1 +
.../grails-app/conf/application.yml | 11 +-
.../functional/tests/ShipmentController.groovy} | 8 +-
.../domain/functional/tests/Carrier.groovy} | 3 +-
.../tests/{Organization.groovy => Shipment.groovy} | 6 +-
.../tests/JsonMapperConverterSpec.groovy | 86 +++
.../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/JSONWriterSpec.groovy | 332 ++++++++++
55 files changed, 5487 insertions(+), 425 deletions(-)
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/{JavascriptDateMarshaller.java => OptionalMarshaller.java} (73%)
copy grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{InstanceMethodBasedMarshaller.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
copy grails-test-examples/hibernate5/grails-hibernate/grails-app/{domain/functional/tests/Book.groovy => controllers/functional/tests/ShipmentController.groovy} (87%)
copy grails-test-examples/{views-functional-tests/grails-app/domain/functional/tests/Publisher.groovy => hibernate5/grails-hibernate/grails-app/domain/functional/tests/Carrier.groovy} (97%)
copy grails-test-examples/hibernate5/grails-hibernate/grails-app/domain/functional/tests/{Organization.groovy => Shipment.groovy} (93%)
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/JSONWriterSpec.groovy
(grails-core) 01/01: Merge pull request #16414 from codeconsole/feat/converters-json-on-jackson-9.0.x
Posted by sc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
codeconsole pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit d0ecc3500171b4d7cf8ab47f1c378a8a8a65e27c
Merge: ebf174eb20 1d3bf77306
Author: Scott Murphy <sc...@alwaysvip.com>
AuthorDate: Fri Oct 16 11:40:47 2026 -0400
Merge pull request #16414 from codeconsole/feat/converters-json-on-jackson-9.0.x
Write grails.converters.JSON through Spring Boot's JsonMapper
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 +-
.../{DateMarshaller.java => RecordMarshaller.java} | 54 +-
.../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 +
.../Jsr310ConvertersConfiguration.groovy | 6 +-
.../en/guide/REST/renderers/defaultRenderers.adoc | 108 +++-
.../src/en/guide/upgrading/upgrading90x.adoc | 238 +++++++
.../hibernate5/grails-hibernate/build.gradle | 1 +
.../grails-app/conf/application.yml | 11 +-
.../functional/tests/ShipmentController.groovy | 20 +-
.../domain/functional/tests/Carrier.groovy | 20 +-
.../domain/functional/tests/Shipment.groovy | 21 +-
.../tests/JsonMapperConverterSpec.groovy | 86 +++
.../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/JSONWriterSpec.groovy | 332 ++++++++++
55 files changed, 5491 insertions(+), 473 deletions(-)