Releases: zio/interop-cats
v13.0.0.2
This release contains support for interoperation between ZIO 1 and Cats Effect 3.
This release improves support for Scala 3 by releasing with a recent version of izumi-reflect and zio 1.0.18.
What's Changed
Full Changelog: v13.0.0.1...v13.0.0.2
v12.0.0.0
This release contains support for interoperation between ZIO 1 and Cats Effect 2 using the new versioning scheme.
This release improves support for Scala 3 by releasing with a recent version of izumi-reflect and zio 1.0.18.
What's Changed
- ZIO1 CE2: Update zio to 1.0.18 by @neko-kai in #653
- Fix tailRecM being not stack safe by @kjh618 in #460
- Move ZIO Test Interop Cats To Separate Module (Cats Effect 2) by @adamgfraser in #415
- Include Chunk Instances In Default Scope On Cats Effect 2 Branch by @adamgfraser in #368
Full Changelog: v2.5.1.0...v12.0.0.0
v23.0.0.2
What's Changed
- Generate Trace Lazily by @adamgfraser in #645
- Enable Docs For ZIO 2.x Interop Cats 3.x Branch by @khajavi in #647
- Fix Project Name by @khajavi in #648
- Use Hash Version For Docs Package by @khajavi in #650
- Upgrade ZIO Version by @adamgfraser in #646
Full Changelog: v23.0.0.1...v23.0.0.2
v23.0.0.1
What's Changed
- Scala and Cats updates by @jwojnowski in #641
- Update sbt-bloop to 1.5.6 by @scala-steward in #632
- Update fs2-core to 3.4.0 by @scala-steward in #630
- Update sbt to 1.5.8 by @scala-steward in #578
- Update sbt-scalafmt to 2.5.0 by @scala-steward in #624
- Update sbt to 1.8.2 by @scala-steward in #642
- Update sbt-scoverage to 2.0.6 by @scala-steward in #622
- Update Dependencies by @adamgfraser in #643
New Contributors
- @jwojnowski made their first contribution in #641
Full Changelog: v23.0.0.0...v23.0.0.1
23.0.0.0
This release contains support for interoperation between ZIO 2 and Cats Effect 3 using the new versioning scheme.
13.0.0.1
22.0.0.0
13.0.0.0
This is a first release of a new 13.*
series of interop-cats for ZIO 1.0 & Cats Effect 3. It contains breaking changes with respect to the previous 3.2.9.1
release for ZIO1/CE3 pair.
New versioning scheme
After the release of ZIO 2.0 the previous versioning scheme that mirrored the CE version became insufficient to accomodate the four concurrent ZIO+CE pairs that interop-cats is now released for. We adopt a new versioning scheme <epoch>.<major>.<minor>.<patch>
, where 'epoch' is a ZIO+CE pair, with 12
=ZIO1/CE2, 13
=ZIO1/CE3, 22
=ZIO2/CE2, 23
=ZIO2/CE3.
Breaking Changes
-
GenTemporal[IO[E, _], E]
andGenConcurrent[IO[E, _], E]
instances for the generic, non-Throwable, error typeE
have been removed from the default implicit scope ofzio.interop.catz
(#543)- Instead, instances for
GenTemporal[IO[E, _], Cause[E]]
andGenConcurrent[IO[E, _], Cause[E]]
are now available by importingzio.interop.catz.generic._
:object generic { implicit final def concurrentInstanceCause[R, E]: GenConcurrent[ZIO[R, E, _], Cause[E]] = ... implicit final def temporalInstanceCause[R, E]: GenTemporal[ZIO[R, E, _], Cause[E]] = .. }
- These instances differ from default instances in
zio.interop.catz
object – they can catch allCause
errors - defects, internal interruptions, etc. not just errors produced byZIO.fail
.
- Instead, instances for
-
When using
bracketCase
,guaranteeCase
orcats.effect.Fiber#join
, now all ZIO error states, except for external interruption by another fiber, are translated toOutcome.Errored
. Before a failure produced byZIO.die
would be translated toOutcome.Succeeded
, and an internal interruption produced byZIO.interrupt
would be translated toOutcome.Canceled
. Both of these translations could undermine resource safety when a finalizer relies on Outcome.Succeded to judge whether resource cleanup is necessary. Now both of these states translate toOutcome.Errored
(#543)
Compatibility Improvements
MonadCancel#canceled
method is now implemented lawfully (#544 #503)Async#async
method now respects the returned finalizer (#542 #541 #509)- Disrepancies and law failures have been fixed in implementations of multiple methods (#549 #544 #543)
Other
- Known disrepancies still remain in interactions between
Fiber#join
and untyped ZIO errors (ZIO.die & ZIO.interrupt) (https://github.com/zio/interop-cats/pull/549/files#diff-0484e29adfb5bc11e3ba0d83952ea935b4726e54bfa878536f1393f9e50fe026R41)
Full Changelog: v3.2.9.1...v13.0.0.0
3.3.0
This release contains support for ZIO 2.0.0.