Skip to content

Releases: typelevel/cats-effect

v2.0.0-M3

02 Jun 18:23
v2.0.0-M3
Compare
Choose a tag to compare
v2.0.0-M3 Pre-release
Pre-release

Milestone 2.0.0-M3 release.

This release has no changes from 2.0.0-M2, aside from the dependency updates necessary to cross-build for Scala 2.13.0-RC3. Special thanks to @xuwei-k!

v2.0.0-M2

26 May 04:44
v2.0.0-M2
cbd7a26
Compare
Choose a tag to compare
v2.0.0-M2 Pre-release
Pre-release

Milestone v2.0.0-M2 release.

This release is source compatible with the 1.x series, except cats-effect-laws.

Changes

Features:

  • #541: Support Scala 2.13.0-RC2, drop 2.13.0-RC1
  • #519: onCancel + continual

Chores:

  • #524: Update Discipline version
  • #527: Update scalatest to 3.1.0-SNAPSHOT
  • #538: Update sbt to 1.2.8
  • #540: Use sbt-tpolecat, fix ensuing warnings

Tests:

  • #542: Increased all the sleeps in Timer tests by an order of magnitude

Documentation changes:

  • #525: Code of Conduct link tweaks
  • #531: Fix broken sentence in SyncIO doc
  • #536: Fix typo in mvar doc
  • #534: Update Resource docs after the change from #496

Special Thanks

This release was made possible by:

Thanks to all those involved!

v1.3.1

26 May 04:45
v1.3.1
Compare
Choose a tag to compare

General 1.3.1 release.

This release is binary compatible with the 1.x series.

Changes

Fixes:

  • #543: Backport Scala.js IOApp signal handler fix from #540
  • #533: Fix IORunLoop#step bug (backported from master)
  • #537: Concurrent.memoize is well behaved under cancellation (backported from master)

Documentation changes:

  • #522: Fix version references on the README

Special Thanks

This release was made possible by:

Thanks to all those involved!

v2.0.0-M1

01 May 21:37
v2.0.0-M1
Compare
Choose a tag to compare
v2.0.0-M1 Pre-release
Pre-release

Milestone v2.0.0-M1 release.

This release is binary compatible with the 1.x series, except cats-effect-laws.

Changes

Features:

  • #508: Scala-2.13.0-RC1 support with cats-2.0.0-M1 and scalacheck-1.14

Fixes:

  • #513: Remove unused Eq[IO[Either[F[A], A]]] from EffectTests

Chores:

  • #514: Remove unused ec in tests

Documentation changes:

  • #520: Add Cats STM to list of related projects
  • #522: Fix version references on the README

Special Thanks

This release was made possible by:

Thanks to all those involved!

v1.3.0

01 May 20:12
v1.3.0
Compare
Choose a tag to compare

General 1.3.0 release.

This release is binary compatible with the 1.x series.

Changes

Features:

  • #482: Suspend vars in SyncLaws
  • #494: Add IO.fromTry
  • #491: Add LiftIO instance for Resource
  • #492: Add LiftIO.liftK, Effect.toIOK
  • #490: Add Resource.evalTap
  • #472: Make IO.Par's applicative commutative
  • #511: Add Resource.fromDestroyable

Fixes:

  • #496: Make Resource.liftF interruptible
  • #499: Fix infinitely waiting cancellation of a bracket which failed to acquire

Chores:

  • #484: Update cats-core, cats-laws to 1.6.0
  • #501: Update sbt-travisci to 1.2.0
  • #505: Update sbt-scalajs, scalajs-compiler to 0.6.27
  • #495: Update sbt-header to 5.2.0
  • #471: Fix shell test to makeMicrosite
  • #510: Update sbt-jmh to 0.3.6
  • #518: Switch to xenial and openjdk8

Documentation changes:

  • #478: Fix typo in Resource scaladoc
  • #506: Remove redundant brace
  • #504: Fix fib in cats-effect/datatypes documentation
  • #497: Remove unnecessary Parallel instance in semaphore docs
  • #489: Use ContextShift.apply in the tutorial
  • #516: Clear up Resource docs

Special Thanks

This release was made possible by:

Thanks to all those involved!

v1.2.0

22 Jan 11:02
v1.2.0
03e5f69
Compare
Choose a tag to compare

General 1.2.0 release.

This release is binary compatible with 1.1.0 and the 1.x series.

Changes

Features:

  • #395: Adds Deferred.tryGet, via a new TryableDeferred interface
  • #437: Adds a map method directly on Resource
  • #439: Adds an evalMap method to Resource
  • #464: Adds mapK onto Resource

Fixes:

  • #442: Fixes #441, the law bracketReleaseIsCalledOnCompletedError assumes generators never fail
  • #443: Uses parSequence rather than sequence in RefTests
  • #458: Avoids Throwable#addSuppressed & CompositeException
  • #462: Lazily create instance of TimeoutException in IO.timeout
  • #473: Adds "repeated asyncF evaluation not memoized" law

Chores:

  • #457: Ignores any MiMa problems from the internals package
  • #474: Updates copyright
  • #476: Updates Simulacrum to 0.15.0
  • Updates Scala to 2.12.8 link

Documentation changes:

  • #372: Adds one ContextShift example out of three provided options
  • #394: Adds documentation on throwing in release function (issue #357)
  • #434: Adds an awesome data types cheat sheet
  • #447: Removes misleading information about Context shift from IO parallel tutorial
  • #454: Fixes error in the Ref docs
  • #456: Updates the type class diagram
  • #463: Various spelling corrections
  • #470: Does some doc fixing
  • #477: Fixes doc, fusionMaxStackDepth system property referred to as env var

Getting Involved

You can always help with:-

  1. Feedback by joining us on Gitter
  2. Re-tweet the release announcement
  3. Give us a star on GitHub 🙂

Special Thanks

This release was made possible by: @alexandru, @andimiller, @Avasil, @ceedubs, @CucumisSativus, @dwijnand, @johnynek, @kubukoz, @ksonj, @ml10, @Odomontois, @prayagupd, @t3hnar, @Slakah, @SystemFw, @XoJIoD89, @Zelenya

Thanks to all those involved!

v1.1.0

03 Dec 08:59
v1.1.0
ce68980
Compare
Choose a tag to compare

General 1.1.0 release.

This follows the 1.1.0-M1 milestone.

Changes (since M1)

Added features:

  • #334: Add ContextShift#evalOnK
  • #365: Add IorT instances
  • #392: Introduce mapK operations to concurrent primitives
  • #393: Add dual effect concurrent data constructors
  • #419: Resource.allocated

Fixes:

  • #374, #427: Properly propogate Writer and State effects in bracketCase
  • #403: Fix resource leak in Semaphore#withPermit and acquireN
  • #421: Fix Resource attempt on suspend
  • #424, #402: Ensure that MVar.take, MVar.put, Semaphore.release and Deferred.complete do not block, also improving fairness for the Concurrent versions

Chores:

  • #362: Tutorial for Cats-Effect
  • #366: Add some test cases for LinkedMap
  • #397: Add missing test methods for Semaphore
  • #399: Fix sentence flow in IOApp docs
  • #406: Update reference to evalOn's fa parameter
  • #408: Update sbt-travisci to 1.1.3
  • #409: Update sbt-pgp to 1.1.2
  • #410: Update sbt-mima-plugin to 0.3.0
  • #411: Update sbt-git to 1.0.0
  • #414: Update sbt-jmh to 0.3.4
  • #417: Typeclasses cheat sheet
  • #426: Update kind-projector to 0.9.9
  • #428: Update sbt-scalajs, scalajs-compiler, scalajs-library... to 0.6.26
  • #429, #425: Upgrade to Scala 2.12.7 and 2.13.0-M5
  • #432: Add proper Scala.js source maps, pointing to GitHub repo
  • #433: Update SBT to 1.2.7
  • #435: Update Cats to version 1.5.0

Changes in M1

Added features:

  • #387: Add ContextShift.apply to summon implicit ContextShift
  • #389: Add Timer.apply to summon implicit Timer
  • #400: Add Clock.apply to summon implicit Clock

Docs:

  • #356: Change to Scala's Code of Conduct
  • #358: Concurrency basics pictures
  • #385: Update readme to reference partial unification
  • #381: Add concurrency basics to menu
  • #396: Add Finch as adopter

Bug fixes and chores:

  • #361: Add more semaphore tests
  • #353: Reset MiMa baseline
  • #377: Remove unused IOConnection in IOBracket release frames
  • #379 : Upgrade to cats-1.4.0 (supersedes #352)
  • #376: Force fiber#cancel to await completion of bracket, fix idempotence of release
  • #355: Increase test coverage of Ref
  • #398: Update oraclejdk10 to openjdk11 in test matrix

Getting Involved

You can always help with:-

  1. Feedback by joining us on Gitter
  2. Re-tweet the release announcement
  3. Give us a star on GitHub 🙂

Special Thanks

This release was made possible by: @alexandru, @ahjohannessen, @Avasil, @catostrophe, @charles-rumley, @ChristopherDavenport, @CucumisSativus, @djneades, @fthomas, @ghisvail, @joan38, @kubukoz, @lrodero, @LukaJCB, @mpilquist, @mszczygiel, @Odomontois, @RaasAhsan, @rossabaker, @scala-steward, @SystemFw, @vkostyukov, @Zelenya and several other reviewers and commenters.

Thanks to all those involved!

v1.1.0-M1

29 Oct 13:46
v1.1.0-M1
84696fb
Compare
Choose a tag to compare

This is a milestone release to test new bugfixes and features. It is fully binary compatible with 1.0.0.

List of Changes

Added features:

  • #387: Add ContextShift.apply to summon implicit ContextShift
  • #389: Add Timer.apply to summon implicit Timer
  • #400: Add Clock.apply to summon implicit Clock

Docs:

  • #356: Change to Scala's Code of Conduct
  • #358: Concurrency basics pictures
  • #385: Update readme to reference partial unification
  • #381: Add concurrency basics to menu
  • #396: Add Finch as adopter

Bug fixes and chores:

  • #361: Add more semaphore tests
  • #353: Reset MiMa baseline
  • #377: Remove unused IOConnection in IOBracket release frames
  • #379 : Upgrade to cats-1.4.0 (supersedes #352)
  • #376: Force fiber#cancel to await completion of bracket, fix idempotence of release
  • #355: Increase test coverage of Ref
  • #398: Update oraclejdk10 to openjdk11 in test matrix

Getting Involved

You can always help with:-

  1. Feedback by joining us on Gitter
  2. Re-tweet the [release announcement]
  3. Give us a star on GitHub 🙂

Special Thanks

This release was made possible by: @alexandru, @ahjohannessen, @Avasil, @charles-rumley, @ChristopherDavenport, @CucumisSativus, @joan38, @kubukoz, @LukaJCB, @mszczygiel, @RaasAhsan, @rossabaker, @SystemFw, @vkostyukov, @Zelenya and several other reviewers and commenters.

Thanks to all those involved!

v1.0.0

06 Sep 04:58
v1.0.0
Compare
Choose a tag to compare

This is the eagerly anticipated 1.0.0 release of Cats-Effect!

Binary compatibility will be maintained through the 1.x series, with new features introduced in minor releases. This release is not binary or source compatible with the previous 0.10 release.

List of Changes

Major behavioral / breaking changes:

  • #317: New Sync laws related to stack safety of bracket
  • #323: Remove Ref#lazySet and Ref#compareAndSet

Added features:

  • #333: Add IO.delay
  • #328: Add Async.memoize and Concurrent.memoize
  • #343: Try to set process.exitCode in IOApp under Scala.js
  • #344: Add IOApp.WithContext to JVM to configure the thread pools
  • #346: Create unique thread names for the global scheduler

Docs:

  • #318: Typo fixes
  • #322: Instructions on building the microsite
  • #329: Fix raceWith references in Concurrent doc
  • #325: Fix ExecutionContexts example in Concurrency Basics doc
  • #338: Update concurrency and cancellation documentation
  • #340: Note that MVar#take empties the variable
  • #342: Add pictures for the concurrency primitives
  • #350: Fix Fiber#cancel scaladoc

Bug fixes and chores:

  • #331: Execute a handful of tests that previously weren't
  • #335: Ensure that canceling join does not cancel the Fiber
  • #349: Fix spurious test failure in ConcurrentLaws
  • #352: Upgrade to cats-1.3.1

Previous Release Candidates

For 1.0.0 we went through multiple release candidates, so for a full list of changes since 0.10, see these release notes:

Getting Involved

You can always help with:

  1. Feedback by joining us on Gitter
  2. Re-tweet the [release announcement]
  3. Give us a star on GitHub 🙂

Special Thanks

This release was made possible by: @alexandru, @Avasil, @d1skort, @erlangxk, @kubukoz, @mpilquist, @RaasAhsan, @rossabaker, @Stefanqn, @SystemFw, @Zelenya, and several other reviewers and commenters.

Thanks to all those involved!

v1.0.0-RC3

20 Aug 18:29
v1.0.0-RC3
Compare
Choose a tag to compare

This is the third release candidate before 1.0. The only planned changes before the final release are documentation and an upgrade to cats-1.3.0 when it is released.

List of Changes

New data types:

Major behavioral / breaking changes:

  • #278: New encoding of Resource
  • #282: Change laws for Bracket and Concurrent to support auto-cancelable and streaming types
  • #290: Changes to concurrency and cancellation:
    • Concurrent#cancelable is no longer a primitive.
    • Replace IO[Unit] with F[Unit] as the cancellation token, aliased to CancelToken[F]
    • IO#unsafeRunCancelable now returns a CancelToken[IO] to support backpressure
  • #298: Introduce SyncIO, which becomes return type in Effect#runAsync and ConcurrentEffect#runCancelable
  • #296: Sync extends cats.Defer
  • #289, #307: Separation of concerns in Timer:
    • Timer#shift moved to new ContextShift
    • Timer#clockMonotonic and Timer#clockRealtime moved onto Timer#clock
    • Timer.deriveIO is removed.
    • Added derived Timer instances for various monad transformers over F[_].
  • #309: Remove Effect#runSyncStep
  • #311: Make IO auto-cancelable after async boundaries and remove IO#onCancelRaiseError

Added features:

  • #266: Update implicitNotFound error message in Timer
  • #269: Add Resource.fromAutoCloseable
  • #249: Add Applicative[Fiber[F, ?]] instance given Concurrent[F]
  • #305: Backpressure on IO cancellation tokens to support sequenced finalizers
  • #289: Improved support for blocking APIs with ContextShift#evalOn

Docs:

  • #263: Replace Task's mentions with IO from MVar docs
  • #264, #283: Cleanup to documentation for Ref
  • #292, #300: Typo fixes
  • #300: Document stack safety as another use case for IO.shift
  • #303: Remove redundant Parallel[IO, IO] instance from Deferred docs
  • #302: Document SyncIO
  • #304: List related projects
  • #287: New guide to concurrency basics

Bug fixes and chores:

  • #274: Test against Oracle JDK 10
  • #273: Build with sbt-1.1.6
  • #275: Build with scala-2.12.6, scalatest-3.0.5
  • #293: Remove deprecated procedure syntax
  • #294: Build for scala-2.13.0-M4 and with cats-1.2.0

Getting Involved

You can always help with:

  1. Feedback by joining us on Gitter
  2. Re-tweet the [release announcement]
  3. Give us a star on GitHub 🙂

Special Thanks

This release was made possible by: @Avasil, @bthuillier, @adamw, @sullis, @aoiroaoino, @alexandru, @kubokoz, @vaslabs, @LukaJCB, @xuwei-k, @mpilquist, @dscleaver, @ericlurla, @gvolpe, @pchlupacek, @rossabaker, @ChristopherDavenport and several other reviewers and commenters.

Thanks to all those involved!