-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump to jawn-parser 0.11.0 #85
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is safe to upgrade from bincompat point of view, but I'd wait to discuss this with @dwijnand.
As a heads up, I am pretty sure there is a binary incompatibility between jawn-parser 0.10.4 and 0.11.0. |
As long as the incompatibility does not leak out to sjson-new API (or sbt), I think our policy is to allow/consider bump up of dependencies. |
Here's the list of binary incompatibilities from 0.10.4 to 0.11.0:
Maybe my brain is still slow from the jet lag, or maybe I'm overly paranoid, but I can't with confidence say that sbt won't break with this upgrade. |
Here's some evidence of how things break with jawn's 0.10 to 0.11 upgrade: scala/community-build#623 (comment). |
I understand that Jawn API might have changed, but still that's completely abstracted from the point of view sjson-new users right? |
It's a variant of https://twitter.com/dwijnand/status/880449986936418305
|
I think lm would break if it started using a new version of sjson-new that had upgraded to jawn 0.11. Which means any user of lm that also uses jawn would also break if it started using a new version of lm. So I think it would be safest to just leave the ecosystem of sbt 1 on jawn 0.10. |
Well it means when we bump up sjson-new directly or transitively, we need to update the internal "FixedParser," which I don't think is a big deal since it's internal. The degree of "safeness" on bumping up transitive library (Jawn or otherwise) is somewhat subjective, but we can try to guess the intersection of lm user (sbt 1 plugins basically) and Jawn users. I am guessing it's near-zero, but like I said I admit we are in uncertain water :) |
I think the json4s situation is precedent what happens to sbt plugins that rely on transitive json dependencies, and those dependencies changing binary api. Thus why json4s-ast, aka scala-json, was created. It might be early days enough that this will hit no-one or only a number of enthusiastic upgraders - so we should do it. On the other hand it would be good if this upgrade had some actual advantages. Does anyone know what jawn 0.11 brings? Looks like there are no release notes and I can't gauge any top hitters from the change log typelevel/jawn@v0.10.4...v0.11.0. |
Following up on this. I am not really sure but the one of the big change seems like the support for CharSequences and some perf improvements. |
Bumped to Jawn 1.0.0 in #113 |
Patch is my original work, and I license the work to the sjon-new project under the project’s open source license.
typelevel/jawn@v0.10.4...v0.11.0