codeconsole commented on PR #2949:
URL: https://github.com/apache/groovy/pull/2949#issuecomment-6374567300

   Thanks for checking it so thoroughly. Four new commits:
   
   1. **Databind annotations** (3ed9138): the YAML, TOML and CSV guides now 
have a note beside typed parsing. The `com.fasterxml.jackson.annotation` ones 
work unchanged; `@JsonSerialize`, `@JsonDeserialize`, `@JsonNaming`, 
`@JsonPOJOBuilder` and the rest must come from 
`tools.jackson.databind.annotation`, because the Jackson 2 versions are 
silently ignored. I checked it with `@JsonNaming`: the Jackson 2 one is ignored 
on both read and write.
   2. **XML precedence** (93ed3dc): the XML guide now says Jackson 3 wins 
whenever it's on the classpath, gives Spring Boot 4 as the transitive example, 
and notes that each version ignores the other's databind annotations, so the 
same type can bind differently after the switch.
   3. **Transitive dependencies**: listed under breaking changes in the PR 
description.
   4. **YAML scalar resolution** (e4cb388):
      - The note now says "JSON schema" and that it's stricter than the YAML 
1.2 core schema, naming `True`, `Null`, `~` and `0x1F` as values the core 
schema would still type.
      - A new "YAML 1.1 typing with SnakeYAML directly" section follows the 
alias recipe, and the scalar note links to it. Its spec test loads `off`, 
`yes`, `0x1F` and `~` as `false`, `true`, `31` and `null`.
      - Agreed it shouldn't land quietly. I'll start a thread on dev@, and it's 
the first entry under breaking changes in the PR description.
   
   **Jackson 3.2**: 3.1.6 was picked to match Spring Boot 4.2, but Boot has 
since moved to 3.1.7. 3.2 is also the sibling of the Jackson 2.22 that master 
already uses, so 873001b moves to 3.2.4. Scalar resolution is the same apart 
from `.inf`, `-.inf` and `.nan`, which Jackson 2 and 3.1 rejected as malformed 
numbers. They now parse: as `Double` through the typed API, and as the strings 
`'Infinity'`, `'-Infinity'` and `'NaN'` through the untyped one, which converts 
through JSON. The guide notes this and `YamlScalarResolutionTest` pins it. 3.2 
also applies `maxStringLength` to YAML input, which 3.1 didn't, and fixes 
several TOML parser bugs. The yaml, toml, csv, xml and json tests all pass on 
it, including `jackson2Test`.
   
   **Release notes**: the PR description's breaking changes are now four 
entries (YAML scalars, databind annotations, XML precedence, transitive 
dependencies), written so they can be lifted as they are. Happy to open a 
groovy-website PR as well if that's easier.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to