Ok some updates.

On Tue, Aug 4, 2020 at 9:18 PM Tatu Saloranta <t...@fasterxml.com> wrote:
>
> Since I am going for a brief vacation, I thought I might send a quick
> update on my plan for getting Jackson 2.12 ready for release.
> My todo wiki page:
>
> https://github.com/FasterXML/jackson-future-ideas/wiki/Jackson-Work-in-Progress
>
> should be quite up-to-date and show specific things I plan to tackle.
>
> The goal for 2.12 minor version was to combine the shorter development
> cycle of 2.11 (about 6 months) with more ambitious features of 2.10
> (took 2 years), specifically targeting "most wanted" features.
> No changes are planned for JDK baseline or dependencies.
>
> The Big features I think should be included in 2.12 include:
>
> 1. Ability to configure datatype coercions (implicit conversions in
> case where JSON type does not have obvious natural mapping)
> (https://github.com/FasterXML/jackson-databind/issues/2113)
> 2. Much improved XML module (duplicate-preserving `JsonNode`, mixed
> content, fix most existing bugs) (multiple issues)
> 3. `@JsonIncludeProperties`!
> (https://github.com/FasterXML/jackson-databind/issues/1296)
> 4. Improved 1-argument Creator detection
> (https://github.com/FasterXML/jackson-databind/issues/1498)
> 5. Java 14 Record support
>
> Of these, first three are complete: "CoercionConfig" and much improved
> `jackson-dataformat-xml` were rather large undertakings (and former
> requires more work to support by datatype modules); fortunately
> Baptiste send an impressive PR to implement `@JsonIncludeProperties`.
>
> This leaves last two items: for #5 there is a PR and I just need time
> to think through smaller details, but the basic idea is sound.
> And then I have to focus on getting #4 done: after
> `@JsonIncludeProperties` it is probably the oldest "most wanted" issue
> around, and while the "big introspection rewrite" is still planned for
> Jackson 3.0, this should help with one specific edge case.

At this point #5 -- Java 14 Record support is complete and assumed working.

I am now working on #4, adding interface/API, having implemented parts
of the feature.
Hoping to complete by the end of this week, which would allow RC by
end of September.

This leads to one practical question: naming of the first (and
possibly only) Release Candidate.
2.11.0.rc1 went smoothly and was useful in finding a couple of
defects, which was an encouraging result
compared to earlier RCs where there was less feedback.

But it uncovered one problem: while use of "rc" over "pr" was a good
change (former is handled by systems that
are aware of qualifiers; latter not), there seems to be a fundamental
problem with separator for last part, so that:

1. "2.11.0.rc1" is NOT recognized as special non-production by some
systems (esp. ones relying on strict SemVeer)
   -- most importantly, Tidelift (libraries.io) considers this a
"real" release, which is unfortunate
2. "2.11.0-rc1" WOULD BE recognized by Tidelift et al but apparently
DOES NOT work as version for OSGi

It is possible there could be some magic to let "2.12.0-rc1" be used
as Maven version but translate it into "2.12.0.rc1"
for OSGi Manifest: if anyone has ideas of how to make Maven build do
that I am all ears.

But assuming that there is a choice to be made here where something
has to give, I am leaning towards sacrificing
OSGi compatibility of Release Candidates (real published versions
still working, of course), Tidelift
being a backer of Jackson project (and my having to do more metadata
maintenance work if qualifier isn't recognized).

So: my current plan is to change versioning to use

   2.12.0-rc1

as the Release Candidate version for Maven release.

I am open to suggestions here and thought I'll share the current situation

-+ Tatu +-

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jackson-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jackson-dev/CAL4a10gSy6XQWYG%3Dv3%3D_Erc2kAsL2WjkvMfrc65GXmWPjFZ9Kg%40mail.gmail.com.

Reply via email to