-
Notifications
You must be signed in to change notification settings - Fork 3
JSTEP
Tatu Saloranta edited this page Oct 12, 2021
·
78 revisions
With Jackson 3, we want to start experimenting with something like "Jackson Big Ideas", maybe similar to Kafka KIPs. Not unlike IETF RFCs, but bit smaller documents.
Name tentatively chosen is "JSTEP" (Jackson STrategic Enhancement Proposal").
- Replace checked
JsonProcessingExceptionwith uncheckedJacksonException: JSTEP-4
- Major version upgrade details: JSTEP-1
- Jackson 3 default setting, behavior changes: JSTEP-2
-
JsonNodeimprovements for Jackson 3: JSTEP-3 - Unify Date/Time handling, formats, defaults across JDK Classic, Joda and Java 8 date/time: JSTEP-5
- Jackson 3 Big Renaming of Core Entities: JSTEP-6
- More modular on/off "Feature"s beyond existing mapper/ser/deser, token-factory/parser/generator
- Note that JSTEP-3 above contains one for
JsonNodeconfiguration - Date/Time settings?
- Introspection settings? (getting close to maximum
intexpressedMapperFeatures) - First other one: contain
Enum-specific definitions? (toString()vsname()vsindex()
- Note that JSTEP-3 above contains one for
- Add some kind of processing limits for accepted input (max depth of nesting, number of keys per Object), to protected against DoS attacks. Similar to (for example), Woodstox' limits.
- Main issue for streaming: jackson-core#637
- Related issue(s) for databind: jackson-databind#2816
Initially proposed, but discarded:
- Add proper Tree Model for
jackson-dataformat-xml(instead, minor improvements to existingJsonNode, like auto-conversion ofObjectNodetoArrayNode- Made obsolete (or at least less necessary) by 2.12 work to support implicit coercion of sequences into
ArrayNode(dataformat-xml#403)
- Made obsolete (or at least less necessary) by 2.12 work to support implicit coercion of sequences into
Although any improvement idea can become a JSTEP, one good source is Major Design Issues, which lists areas where current design limits implementation improvements.
More generic of Jackson 3 changes are improvement ideas are listed on Jackson3 Changes page; this is an older page also including some of changes already made.