Skip to content

Releases: zio/interop-cats

v13.0.0.2

14 Mar 20:11
Compare
Choose a tag to compare

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

14 Mar 18:54
Compare
Choose a tag to compare

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

21 Feb 22:36
692e7bb
Compare
Choose a tag to compare

What's Changed

Full Changelog: v23.0.0.1...v23.0.0.2

v23.0.0.1

15 Jan 16:47
0a43ed4
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v23.0.0.0...v23.0.0.1

23.0.0.0

11 Dec 20:46
687b46a
Compare
Choose a tag to compare

This release contains support for interoperation between ZIO 2 and Cats Effect 3 using the new versioning scheme.

13.0.0.1

16 Aug 18:43
a9c25d1
Compare
Choose a tag to compare

This release contains support for interoperation between ZIO 1 and Cats Effect 3.

What's Changed

Full Changelog: v13.0.0.0...v13.0.0.1

22.0.0.0

16 Jul 02:51
0c5c920
Compare
Choose a tag to compare

This release contains support for interoperation between ZIO 2 and Cats Effect 2. Thanks to @vigoo for his work on this!

13.0.0.0

11 Jul 15:29
5f77316
Compare
Choose a tag to compare

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] and GenConcurrent[IO[E, _], E] instances for the generic, non-Throwable, error type E have been removed from the default implicit scope of zio.interop.catz (#543)

    • Instead, instances for GenTemporal[IO[E, _], Cause[E]] and GenConcurrent[IO[E, _], Cause[E]] are now available by importing zio.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 all Cause errors - defects, internal interruptions, etc. not just errors produced by ZIO.fail.
  • When using bracketCase, guaranteeCase or cats.effect.Fiber#join, now all ZIO error states, except for external interruption by another fiber, are translated to Outcome.Errored. Before a failure produced by ZIO.die would be translated to Outcome.Succeeded, and an internal interruption produced by ZIO.interrupt would be translated to Outcome.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 to Outcome.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

Full Changelog: v3.2.9.1...v13.0.0.0

3.3.0

24 Jun 22:12
78cc6de
Compare
Choose a tag to compare

This release contains support for ZIO 2.0.0.

2.5.1.1

03 Jun 23:52
22b2358
Compare
Choose a tag to compare

This release contains support for ZIO 2.0.0-RC6. Thanks to @quelgar for his work on this!