Skip to content

Releases: typelevel/cats-effect

v2.0.0-M5

01 Aug 18:33
15f98b6
Compare
Choose a tag to compare
v2.0.0-M5 Pre-release
Pre-release

Milestone v2.0.0-M5 release.

This release is compatible with v2.0.0-M4`. Core binary compatiblity with 1.x, except Scala 2.11 and static forwarders for Java interop. See #566, #584 for a deeper discussion.

Changes

Features:

  • #566: Restore binary compatibility in core on Scala >= 2.12, except for static forwarder.
  • #568: Make default scheduler remove cancelled tasks
  • #574: Add Resource.liftK
  • #591: Add Async.fromFuture

Chores:

  • #564: Use λ syntax from kind-projector
  • #571: Update sbt-coursier to 1.0.3
  • #572: Update sbt-scoverage to 1.6.0
  • #573: Update sbt-sonatype to 2.5
  • #581: Update sbt-scalajs-crossproject to 0.6.1
  • #575: Update sbt-tpolecat to 0.1.7
  • #590: Update sbt-microsites to 0.9.2 (builds on #589)
  • #584: Update sbt-mima-plugin to 0.5.0

Documentation:

  • #567: Align scaladoc with examples from the official docs for IO.shift
  • #578: Get rid of N.B. in documentation
  • #586: Fix typo in bracketCase doc

Special Thanks

This release was made possible by:

Thanks to all those involved!

v1.4.0

13 Sep 18:27
v1.4.0
c30d75b
Compare
Choose a tag to compare

This release is binary compatible with the 1.x series. It exclusively contains backports from master.

Changes

Enhancements:

  • #568 (backport): Make default scheduler remove cancelled tasks.
  • #554 (backport): Add Invariant instance for Ref
  • #556 (backport): Add Blocker. ContextShift#evalOn omitted for binary compatibility.
  • #498 (backport): Add parTraverseN and parSequenceN. Syntax omitted for binary compatibility.
  • #560 (backport): Renamed Blocker#evalOn(Blocker) to blockOn and changed Blocker to a value class
  • #574 (backport): Add Resource.liftK
  • #591 (backport): Add Async.fromFuture

Documentation

  • #567 (backport): Align scaladoc with examples from the official docs for IO.shift
  • #568 (backport): Fix typo in bracketCase doc

Special Thanks

This release was made possible by:

Thanks to all those involved!

v2.0.0-M4

12 Jun 16:56
v2.0.0-M4
7052e10
Compare
Choose a tag to compare
v2.0.0-M4 Pre-release
Pre-release

Milestone v2.0.0-M4 release.

This release breaks binary compatibility with v2.0.0-M3 and the 1.x series due to #546. It is source compatible except where IO.fromFuture is called without a ContextShift[IO] in scope.

Changes

Breaking:

  • #546: Enforce shifting within IO.fromFuture, which now requires an implicit ContextShift[IO]

Features:

  • #553: Shift on errors in IO.fromFuture
  • #547: Replace global with a fixed thread pool as the default IOApp Timer and ContextShift (JVM only)
  • #554: Add Invariant instance for Ref
  • #556, #560 : Added Blocker, a new type for blocking execution contexts
  • #498: Add parTraverseN and parSequenceN

Chores:

  • #561: use advertised syntax from the docs for FunctionK
  • #562: Scala 2.13.0 support, with related dependencies

Documentation:

  • #551: Copy editing of docs
  • #557: Fix typo in basics.md
  • #558: Remove logical/native threads distinction from Concurrency Basics doc

Special Thanks

This release was made possible by:

Thanks to all those involved!

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!