Grumpyrest v0.7 Release Notes
Release Date: 2024-07-20 // almost 2 years ago-
- ⬇️ reduced minimum Java version from 20 to 17
- 0️⃣
NullableFieldandOptionalFieldnow have.orElse()and.orElseGet()methods to easily provide default values. - ➕ Add argument checks against null to many methods
- 👌 improve the checks against loss of precision or range when deserializing integral types
- ➕ add toString() support to
PathandPathSegment
Previous changes from v0.6
-
📜 The order in which the lists of manually added JSON converters, parameter parsers etc. are scanned is now REVERSED!
- converters/parsers added later now take precedence over ones added earlier. For a given type, of all converters
that could handle that type, the one added last will be selected. - this allows to provide standard converters in the framework and the application code can override them just by
➕ adding its own converters. - Previously, application code had to clear the registries, then re-add all standard converters it wanted to keep.
To override a single type (for example, change theLocalDateconverter to be more lenient and make leading
👯 zeroes optional), the list of all other standard converters would have to be cloned from the framework into
⚡️ application code and have to be updated every time the framework adds new standard converters.
- converters/parsers added later now take precedence over ones added earlier. For a given type, of all converters
➕ added LocalDate / LocalDateTime / LocalTime JSON converters and parsers
➕ added enum converters and parsers
➕ added option to record converter to ignore unknown properties