circe-derivation icon indicating copy to clipboard operation
circe-derivation copied to clipboard

Would it be possible to publish this library for circe 0.14?

Open ScalaWilliam opened this issue 3 years ago • 25 comments

I see the latest build is already on 0.14 however the badge shows the latest released is for 0.13.

cc @travisbrown

Many thanks!

ScalaWilliam avatar Sep 01 '21 12:09 ScalaWilliam

@ScalaWilliam This library depends only on circe-core, which is backwards-binary-compatible in 0.14 with 0.13, so you can use the 0.13 circe-derivation releases safely with 0.14. I can publish an 0.14 release for convenience, but might not get around to it today.

travisbrown avatar Sep 01 '21 12:09 travisbrown

Thanks for clarifying @travisbrown ! Yes that would be great - but noted, I will use the version that is published.

ScalaWilliam avatar Sep 01 '21 12:09 ScalaWilliam

@travisbrown .. This breaks sbt-assembly though.

Is this project abandoned or just wondering why it's not published in sync with other circe projects ?

nadenf avatar Nov 02 '21 19:11 nadenf

@travisbrown .. This breaks sbt-assembly though.

Is this project abandoned or just wondering why it's not published in sync with other circe projects ?

breaks how? perhaps transitive dependency?

ScalaWilliam avatar Nov 02 '21 19:11 ScalaWilliam

@ScalaWilliam .. Ignore me. I forgot that you can just exclude specific transitive dependencies.

Point still stands why this can't be in sync with the others.

nadenf avatar Nov 02 '21 19:11 nadenf

Since circe 0.14.3 I'm seeing version conflict errors between circe 0.13.0 (pulled in by this library) and 0.14.x from the rest of the ecosystem. I'm not sure what it is about that latest patch update in particular that's caused the errors to start appearing*, but I wonder if you'd reconsider publishing this library for 0.14.x?

[Update]: I've been pointed at this PR, so it sounds like this is already in-flight. Thank you!

* Perhaps the scala-native support that appeared in 0.14.3 is relevant?

adamnfish avatar Sep 29 '22 10:09 adamnfish

Perhaps the scala-native support that appeared in 0.14.3 is relevant?

It's not :) it was the change to the sbt-typelevel plugin for publishing, that started including the versioning scheme (early-semver).

armanbilge avatar Sep 29 '22 14:09 armanbilge

Is there any way I can help with this?

nafg avatar Nov 01 '22 02:11 nafg

Can we provide an example/document how you would override these eviction errors?

matthughes avatar Nov 18 '22 16:11 matthughes

Something like this I reckon:

libraryDependencySchemes ++= Seq(
  "io.circe" %% "circe-core" % VersionScheme.Always
)

armanbilge avatar Nov 18 '22 16:11 armanbilge

You can write this in your build.sbt. Of course, this will prevent real warnings from showing up so use with caution!

ThisBuild / libraryDependencySchemes += "io.circe" %% "circe-core" % VersionScheme.Always

adamnfish avatar Nov 18 '22 16:11 adamnfish

@armanbilge do you know what's preventing publishing it? Who has the ability, and is there anything that needs to be done first?

nafg avatar Nov 20 '22 00:11 nafg

+1 on releasing a new version with 0.14. Would love to help contribute if there are any blockers to this.

nickyrayray avatar Jan 01 '23 22:01 nickyrayray

Same issue since circe-core 0.14, makes it extremely painful to use libraries that themselves depend on circe-derivation, since every project using them needs to include the version scheme exclusion.

neko-kai avatar Feb 05 '23 16:02 neko-kai

@nickyrayray Sorry we're catching up on all of these projects one by one, right now we need to get https://github.com/circe/circe-derivation/pull/423 finished up which will make releases easy.

zmccoy avatar Feb 06 '23 21:02 zmccoy

@zmccoy what's the status of #423? Can I help somehow?

nafg avatar Feb 07 '23 00:02 nafg

@nafg I gave a ping to the author on there, but if someone wants to pick it up if they're gone and finish it that would be great. @zarthross and I can get that merged then and we'll be able to cut some new releases.

zmccoy avatar Feb 07 '23 15:02 zmccoy

@zmccoy I could but I have no idea what needs to be done

nafg avatar Feb 08 '23 20:02 nafg

@armanbilge @zmccoy So I tried the exclusion suggested above and it works my JVM project but doesn't for the JS project:

[error] 	* io.circe:circe-core_sjs1_2.13:0.14.5 (early-semver) is selected over {0.13.0, 0.14.3}
[error] 	    +- io.circe:circe-parser_sjs1_2.13:0.14.5             (depends on 0.14.5)
[error] 	    +- io.circe:circe-generic_sjs1_2.13:0.14.5            (depends on 0.14.5)
[error] 	    +- io.circe:circe-scalajs_sjs1_2.13:0.14.5            (depends on 0.14.5)
[error] 	    +- org.tpolecat:natchez-log_sjs1_2.13:0.3.0           (depends on 0.14.3)
[error] 	    +- io.circe:circe-derivation_sjs1_2.13:0.13.0-M5      (depends on 0.13.0)
[error]
[error]
[error] this can be overridden using libraryDependencySchemes or evictionErrorLevel
[error] Total time: 0 s, completed Mar 10, 2023, 11:57:31 AM
sbt:palermo-root> show commonJS/libraryDependencySchemes
[info] * io.circe:circe-core:always

Is this an SBT bug perhaps?

matthughes avatar Mar 10 '23 16:03 matthughes

Maybe https://github.com/sbt/sbt/issues/7140?

matthughes avatar Mar 10 '23 17:03 matthughes

Try something like this:

libraryDependencySchemes += "io.circe" %% "circe-core_sjs1" % VersionScheme.Always

armanbilge avatar Mar 10 '23 17:03 armanbilge

That works. This should be reported as SBT bug right?

matthughes avatar Mar 10 '23 17:03 matthughes

This should be reported as SBT bug right?

SBT does not have first-class support for other non-JVM platforms, which leads to a lot of bugs like this. Unfortunately the prevailing opinion seems to be that the JS/Native user-bases are not big enough to warrant more substantial changes.

Thus, I would strongly encourage you to comment on the following discussions, in addition to the issue you linked, to demonstrate that there is a real need for first-class cross-platform support.

  • https://github.com/sbt/sbt/discussions/6736
  • https://github.com/sbt/sbt/issues/7057

armanbilge avatar Mar 10 '23 17:03 armanbilge

Hello. @travisbrown could you bump the library? Have been pass two years, so there are enough pain for all users.

f4x15 avatar Apr 26 '23 14:04 f4x15