On Wed, Apr 22, 2020 at 5:35 AM Nakamura <[email protected]> wrote: > > Hey Tatu, > I hope things are going well! What's the plan re: 2.11.0? We're seeing some > drift in our repository, so I'd like to be able to move to 2.11.0 and stop > maintaining my branch =).
Hi there! I was actually hoping to make the release last weekend, but there is one on-going jackson-core feature I would like to merge first. So if all goes well, I could make 2.11.0 over coming weekend (in 3 days or so). So basically we should get the new minor version release quite soon. -+ Tatu +- > Best, > Moses > > On Mon, Mar 30, 2020 at 10:17 PM Tatu Saloranta <[email protected]> wrote: >> >> On Mon, Mar 30, 2020 at 7:02 PM Nakamura <[email protected]> wrote: >> > >> > I was able to try out the snapshot with jackson-module-scala, and the fix >> > seems to work! >> >> Excellent! Thank you very much for reporting this & following through. >> This is why I do pre-releases & how ideally process works. :) >> >> -+ Tatu +- >> >> > >> > On Mon, Mar 30, 2020 at 5:21 PM Nakamura <[email protected]> wrote: >> >> >> >> Thanks! I'll look into it >> >> >> >> On Mon, Mar 30, 2020, 4:12 PM Tatu Saloranta <[email protected]> wrote: >> >>> >> >>> On Mon, Mar 30, 2020 at 10:52 AM Nakamura <[email protected]> >> >>> wrote: >> >>>> >> >>>> Hi Tatu, >> >>>> PJ looked into it, and thinks he has managed to fix the NPE problem. >> >>>> When you get a chance, can you cut an rc2 so I can try it out? >> >>>> Thanks, >> >>>> Moses >> >>> >> >>> >> >>> Hi there! >> >>> >> >>> Unfortunately effort to release a full set is high enough (2-4 hours of >> >>> work) that I don't plan on necessary doing more release candidates. >> >>> >> >>> But what I will do is to ensure that `2.11.0-SNAPSHOT` from Sonatype OSS >> >>> repository has latest versions of `jackson-core`, `jackson-databind` >> >>> (head of `2.11` branch will produce `2.11.0-SNAPSHOT`) >> >>> This should be the case now (I did `mvn deploy` on all 3 projects >> >>> locally after syncing with 2.11). >> >>> >> >>> What is needed beyond this is similar for Scala module. Maybe PJ can >> >>> help with that (for me `sbt` just does not work, at least not for >> >>> publishing: I am also not sure if snapshot build works similar to Maven). >> >>> >> >>> You could also achieve this locally by doing `mvn install` on these >> >>> libraries (except for Scala which uses `sbt` for builds); that will >> >>> publish snapshot locally. >> >>> >> >>> -+ Tatu +- >> >>> >> >>>> >> >>>> >> >>>> On Fri, Mar 27, 2020 at 10:31 PM Tatu Saloranta <[email protected]> >> >>>> wrote: >> >>>>> >> >>>>> On Fri, Mar 27, 2020 at 2:28 PM Nakamura <[email protected]> >> >>>>> wrote: >> >>>>>> >> >>>>>> Thanks, I filed a ticket here, PJ is helping me out! One other thing >> >>>>>> I noticed was that a Map we had previously been deserializing as a >> >>>>>> null is now being deserialized as an empty Map when it's not >> >>>>>> specified in the JSON. Is that expected? I think it's a nicer >> >>>>>> behavior, so I'm on board, but I didn't see that in the release >> >>>>>> notes, so I wanted to make sure it wasn't a bug. >> >>>>> >> >>>>> >> >>>>> Hmmh. I wouldn't think this should have changed by default, but there >> >>>>> are new settings that allow specifying this behavior, see: >> >>>>> >> >>>>> https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff >> >>>>> >> >>>>> (under "Null replacement/error/skipping (on deserialization") >> >>>>> >> >>>>> so that incoming `null` can be replaced with "empty" value for type. >> >>>>> >> >>>>> I am guessing that maybe this feature is somehow enabled by Scala >> >>>>> module, possibly to achieve something else (avoid NPEs?) >> >>>>> >> >>>>> -+ Tatu +- >> >>>>> >> >>>>> >> >>>>> >> >>>>>> >> >>>>>> >> >>>>>> On Fri, Mar 27, 2020 at 11:30 AM Tatu Saloranta >> >>>>>> <[email protected]> wrote: >> >>>>>>> >> >>>>>>> On Thu, Mar 26, 2020 at 6:49 PM Nakamura <[email protected]> wrote: >> >>>>>>>> >> >>>>>>>> Hi Tatu, >> >>>>>>> >> >>>>>>> >> >>>>>>> Hello there! >> >>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> Long time listener, first time caller! My company is hoping to get >> >>>>>>>> a bit closer to the bleeding edge with jackson, so I figured I'd >> >>>>>>>> take a stab at helping you test it out. >> >>>>>>> >> >>>>>>> >> >>>>>>> Excellent, thank you for helping. >> >>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> Not sure where you want feedback, so I'm just going to reply for >> >>>>>>>> now. I'm currently on 2.9.10 and trying out 2.11.0.rc1, and so far >> >>>>>>>> I've run into a few issues. I'll keep poking to see if any of the >> >>>>>>>> others are worth surfacing, but so far we have a strange NPE: >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> java.lang.NullPointerException: null >> >>>>>>>> at >> >>>>>>>> scala.collection.mutable.ArrayOps$ofRef$.length$extension(ArrayOps.scala:204) >> >>>>>>>> at >> >>>>>>>> scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:204) >> >>>>>>>> at >> >>>>>>>> scala.collection.SeqLike.size(SeqLike.scala:108) >> >>>>>>>> at >> >>>>>>>> scala.collection.SeqLike.size$(SeqLike.scala:108) >> >>>>>>>> at >> >>>>>>>> scala.collection.mutable.ArrayOps$ofRef.size(ArrayOps.scala:198) >> >>>>>>>> at >> >>>>>>>> scala.collection.IndexedSeqLike.sizeHintIfCheap(IndexedSeqLike.scala:99) >> >>>>>>>> at >> >>>>>>>> scala.collection.IndexedSeqLike.sizeHintIfCheap$(IndexedSeqLike.scala:99) >> >>>>>>>> at >> >>>>>>>> scala.collection.mutable.ArrayOps$ofRef.sizeHintIfCheap(ArrayOps.scala:198) >> >>>>>>>> at >> >>>>>>>> scala.collection.mutable.Builder.sizeHint(Builder.scala:80) >> >>>>>>>> at >> >>>>>>>> scala.collection.mutable.Builder.sizeHint$(Builder.scala:79) >> >>>>>>>> at >> >>>>>>>> scala.collection.mutable.ArrayBuilder.sizeHint(ArrayBuilder.scala:25) >> >>>>>>>> at >> >>>>>>>> scala.collection.TraversableLike.builder$1(TraversableLike.scala:234) >> >>>>>>>> at >> >>>>>>>> scala.collection.TraversableLike.map(TraversableLike.scala:237) >> >>>>>>>> at >> >>>>>>>> scala.collection.TraversableLike.map$(TraversableLike.scala:231) >> >>>>>>>> at >> >>>>>>>> scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:198) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.module.scala.introspect.ScalaAnnotationIntrospector$ScalaValueInstantiator.<init>(ScalaAnnotationIntrospectorModule.scala:129) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.module.scala.introspect.ScalaAnnotationIntrospector$.findValueInstantiator(ScalaAnnotationIntrospectorModule.scala:159) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findValueInstantiator(BasicDeserializerFactory.java:231) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:220) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:143) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:414) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:349) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:446) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:183) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.module.scala.deser.GenericFactoryDeserializerResolver$Deserializer.createContextual(GenericFactoryDeserializerResolver.scala:71) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.module.scala.deser.GenericFactoryDeserializerResolver$Deserializer.createContextual(GenericFactoryDeserializerResolver.scala:62) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.DeserializationContext.handleSecondaryContextualization(DeserializationContext.java:684) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:484) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:4621) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4400) >> >>>>>>>> at >> >>>>>>>> com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2745) >> >>>>>>>> >> >>>>>>> >> >>>>>>> That does look strange. >> >>>>>>> >> >>>>>>>> >> >>>>>>>> It looks like it's because of this line: >> >>>>>>>> >> >>>>>>>> https://github.com/FasterXML/jackson-module-scala/blob/master/src/main/scala/com/fasterxml/jackson/module/scala/introspect/ScalaAnnotationIntrospectorModule.scala#L128 >> >>>>>>>> >> >>>>>>>> val args = delegate.getFromObjectArguments(None.orNull) >> >>>>>>>> >> >>>>>>>> None.orNull always returns null, so we can probably replace this >> >>>>>>>> with >> >>>>>>>> >> >>>>>>>> val args = delegate.getFromObjectArguments(null) >> >>>>>>>> >> >>>>>>>> for no change. I'm somewhat stumped what else might be going on >> >>>>>>>> here though–I don't think we ever make a custom ValueInstantiator >> >>>>>>>> in our codebase, so I don't know how getFromObjectArguments could >> >>>>>>>> end up returning null. Do you have any idea what might be going >> >>>>>>>> on? I'll try moving to 2.10.3 too and will see if this is still an >> >>>>>>>> issue. >> >>>>>>>> >> >>>>>>> >> >>>>>>> Could you please file an issue with same information for Scala >> >>>>>>> module: >> >>>>>>> >> >>>>>>> https://github.com/FasterXML/jackson-module-scala/issues >> >>>>>>> >> >>>>>>> since it seems like it is triggered within that module. I can then >> >>>>>>> work with Scala module owners (I do not work on that module myself) >> >>>>>>> to figure out where changes/workaround is needed. >> >>>>>>> >> >>>>>>> Thank you! >> >>>>>>> >> >>>>>>> -+ Tatu +- >> >>>>>>> >> >>>>>>> >> >>>>>>>> >> >>>>>>>> Best, >> >>>>>>>> Moses >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> On Wed, Mar 25, 2020 at 2:45 PM Tatu Saloranta <[email protected]> >> >>>>>>>> wrote: >> >>>>>>>>> >> >>>>>>>>> As some of you may have noticed, pre-release version 2.11.0.rc1 is >> >>>>>>>>> now out. >> >>>>>>>>> While it should be quite close to eventual 2.11.0, some things may >> >>>>>>>>> still change but my hope is that all compatibility-related changes >> >>>>>>>>> are >> >>>>>>>>> in. >> >>>>>>>>> >> >>>>>>>>> The main goal for doing pre-release version(s) is to have one last >> >>>>>>>>> chance to find issues related to backwards compatibility with >> >>>>>>>>> previous >> >>>>>>>>> minor versions. While we try to keep compatibility according to >> >>>>>>>>> Semantic Versioning guidelines, sometimes there are accidental >> >>>>>>>>> changes >> >>>>>>>>> that violate this. >> >>>>>>>>> So we would like to find such issues before 2.11.0 is released, >> >>>>>>>>> and >> >>>>>>>>> fix issues where possible; or mitigate if they can not be; or at >> >>>>>>>>> very >> >>>>>>>>> least document changes in behavior where change is actually >> >>>>>>>>> intentional. >> >>>>>>>>> >> >>>>>>>>> Changes included are detailed here: >> >>>>>>>>> >> >>>>>>>>> https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11 >> >>>>>>>>> >> >>>>>>>>> including section "Changes, Behavior", which included likeliest >> >>>>>>>>> changes that might affect your code. For this release there are so >> >>>>>>>>> far >> >>>>>>>>> 3 things: >> >>>>>>>>> >> >>>>>>>>> 1. Default serialization ordering now considers >> >>>>>>>>> @JsonProperty(index = ) >> >>>>>>>>> 2. Avro format backend will change schema type indicated for >> >>>>>>>>> `byte[]`, >> >>>>>>>>> `java.util.UUID` >> >>>>>>>>> 3. Timezone offset in default java.util.Date, java.util.Calendar >> >>>>>>>>> serialization will now include colon (like +00:00) by default (see >> >>>>>>>>> databind#2643 below) >> >>>>>>>>> >> >>>>>>>>> But there may well be other unintended changes. We would like to >> >>>>>>>>> hear >> >>>>>>>>> about unknown changes, as well as feedback on above-listed >> >>>>>>>>> intentional >> >>>>>>>>> changes >> >>>>>>>>> >> >>>>>>>>> At this point I hope to spend at least 2 weeks, but no more than 4 >> >>>>>>>>> weeks before releasing 2.11.0. >> >>>>>>>>> All feedback on this pre-release would be welcome: including "it >> >>>>>>>>> seems >> >>>>>>>>> to work fine, no problem when switching 2.10.3" as well as reports >> >>>>>>>>> about issues found. >> >>>>>>>>> >> >>>>>>>>> Happy hacking, >> >>>>>>>>> >> >>>>>>>>> -+ Tatu +- >> >>>>>>>>> >> >>>>>>>>> -- >> >>>>>>>>> You received this message because you are subscribed to the Google >> >>>>>>>>> Groups "jackson-user" group. >> >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >> >>>>>>>>> send an email to [email protected]. >> >>>>>>>>> To view this discussion on the web visit >> >>>>>>>>> https://groups.google.com/d/msgid/jackson-user/CAL4a10hJLpZ4QZe%2B8A0cF%2BdvcxAhtAYD-jxQy6YxLpTBGbH%2BoA%40mail.gmail.com. >> >>>>>>>> >> >>>>>>>> -- >> >>>>>>>> You received this message because you are subscribed to the Google >> >>>>>>>> Groups "jackson-user" group. >> >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >> >>>>>>>> send an email to [email protected]. >> >>>>>>>> To view this discussion on the web visit >> >>>>>>>> https://groups.google.com/d/msgid/jackson-user/CAEYWR9vNfYv8thSaE7K3omT0VsmDO-LanDz2craf_9hjnr6ngA%40mail.gmail.com. >> >>>>>>> >> >>>>>>> -- >> >>>>>>> You received this message because you are subscribed to the Google >> >>>>>>> Groups "jackson-user" group. >> >>>>>>> To unsubscribe from this group and stop receiving emails from it, >> >>>>>>> send an email to [email protected]. >> >>>>>>> To view this discussion on the web visit >> >>>>>>> https://groups.google.com/d/msgid/jackson-user/CAGrxA252M%3Dx_DLJ0X0VRY9KAURFEHKkZWj77e2iTMCP8DKh6Zg%40mail.gmail.com. >> >>>>>> >> >>>>>> -- >> >>>>>> You received this message because you are subscribed to the Google >> >>>>>> Groups "jackson-user" group. >> >>>>>> To unsubscribe from this group and stop receiving emails from it, >> >>>>>> send an email to [email protected]. >> >>>>>> To view this discussion on the web visit >> >>>>>> https://groups.google.com/d/msgid/jackson-user/CAEYWR9uEp%3Dcw3qszjU8_EQFbxPfaMdY4RxgQLDVmnn%3DG0PzFXQ%40mail.gmail.com. >> >>>>> >> >>>>> -- >> >>>>> You received this message because you are subscribed to the Google >> >>>>> Groups "jackson-user" group. >> >>>>> To unsubscribe from this group and stop receiving emails from it, send >> >>>>> an email to [email protected]. >> >>>>> To view this discussion on the web visit >> >>>>> https://groups.google.com/d/msgid/jackson-user/CAGrxA26r%3D6%2BwGA%3DmmyDjMZnonLbtAMUBWLiqsDD%2B%3DNAhMwyz9g%40mail.gmail.com. >> >>>> >> >>>> -- >> >>>> You received this message because you are subscribed to the Google >> >>>> Groups "jackson-user" group. >> >>>> To unsubscribe from this group and stop receiving emails from it, send >> >>>> an email to [email protected]. >> >>>> To view this discussion on the web visit >> >>>> https://groups.google.com/d/msgid/jackson-user/CAEYWR9tcA3WjCKsedd7%2B8Ww6b7CWh%2B2Bn10xBf3368-BhFt43A%40mail.gmail.com. >> >>> >> >>> -- >> >>> You received this message because you are subscribed to the Google >> >>> Groups "jackson-user" group. >> >>> To unsubscribe from this group and stop receiving emails from it, send >> >>> an email to [email protected]. >> >>> To view this discussion on the web visit >> >>> https://groups.google.com/d/msgid/jackson-user/CAGrxA25YoxNTVtKZ_92A6E_E2vRVh5ZErXTLm0C%3DqdEpjmwu5Q%40mail.gmail.com. >> > >> > -- >> > You received this message because you are subscribed to the Google Groups >> > "jackson-user" group. >> > To unsubscribe from this group and stop receiving emails from it, send an >> > email to [email protected]. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msgid/jackson-user/CAEYWR9u11BzSwNEta10E2kDyYRL48AThVh2z%3DRNbpR6kKazNaQ%40mail.gmail.com. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jackson-user" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jackson-user/CAL4a10gnmZWwbzEkAHa80q02xtwb_FTor5qKnSf5xkbO_yge3A%40mail.gmail.com. > > -- > You received this message because you are subscribed to the Google Groups > "jackson-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jackson-user/CAEYWR9uGsVwDk06kX63Kmei3ZSzbKgZZCBSVEi-XaKw%3DWzpSyA%40mail.gmail.com. -- You received this message because you are subscribed to the Google Groups "jackson-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jackson-user/CAL4a10iUzN0JbKyrdYhyiBQAOk9js%3DCmzQoNumjo0w50ev5VqQ%40mail.gmail.com.
