0.9 Release
Dependencies & Platform
- Update Java source/target to 17 for samples
- Update j2cl.platform.version to 20260527-1
- Update GWT to 2.13.0
- Remove unused top-level junit dependency
New Features
- Schema-first code generation — generate Jakarta JSON Binding marshallers from JSON Schema / YAML definitions (jsonschema-jsonb-generator module)
- @JsonbCreator — support for constructor and static factory-based deserialization
- @JSONMappers — annotation for generating marshallers for external types (type-level and package-level)
- @JsonbNillable — support at TYPE, FIELD, and PACKAGE levels for controlling null serialization
Bug Fixes
- Fix JsonSerializer subtype wrapper to use named variant in SerializerJsonbTypeSerializerWrapper
- Fix JsonbSubtypeSerializer — write @ type discriminator inline instead of mutating serializer properties; throw IllegalArgumentException instead of Error
- Fix ContextedJsonGenerator.writeStartArray() incorrectly calling writeStartObject()
- Fix String[] serializer registry to use StringArrayJsonSerializer instead of PrimitiveShortArrayJsonSerializer
- Add null checks in all primitive/string array deserializers
- Add null guard in ArrayJsonSerializer.serialize()
- Implement writeNull()/addNull() in GwtArrayJsonGenerator
- Fix JsonArrayImpl.set()/add() to handle JsonObjectImpl correctly
- Fix JsonObjectImpl.getInt()/getBoolean() to handle missing properties
- Fix JsonObjectImpl.asJsonObject() to return this
- Close JsonParser in AbstractObjectMapper.fromJSON()
- Replace unreachable null returns with proper exceptions in annotation processor
- Use LinkedHashSet for deterministic bean processing order
- Fix duplicate class collection and duplicate property handling in SchemaCollector
- Add null-safety checks in NamingUtils