Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update readme and docs for 3.3.0 #2591

Merged
merged 2 commits into from
Nov 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@

## Getting Started

- Wired: **3.2.9**
- Wired: **3.3.0**
- Tired: **2.5.4**

```scala
libraryDependencies += "org.typelevel" %% "cats-effect" % "3.2.9"
libraryDependencies += "org.typelevel" %% "cats-effect" % "3.3.0"
```

The above represents the core, stable dependency which brings in the entirety of Cats Effect. This is *most likely* what you want. All current Cats Effect releases are published for Scala 2.12, 2.13, 3.0.0-RC2 and RC3, and ScalaJS 1.5.x.
Expand All @@ -30,22 +30,22 @@ Depending on your use-case, you may want to consider one of the several other mo

```scala
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-effect-kernel" % "3.2.9",
"org.typelevel" %% "cats-effect-laws" % "3.2.9" % Test)
"org.typelevel" %% "cats-effect-kernel" % "3.3.0",
"org.typelevel" %% "cats-effect-laws" % "3.3.0" % Test)
```

If you're a middleware framework (like fs2), you probably want to depend on **std**, which gives you access to `Queue`, `Semaphore`, and much more without introducing a hard-dependency on `IO` outside of your tests:

```scala
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-effect-std" % "3.2.9",
"org.typelevel" %% "cats-effect" % "3.2.9" % Test)
"org.typelevel" %% "cats-effect-std" % "3.3.0",
"org.typelevel" %% "cats-effect" % "3.3.0" % Test)
```

You may also find some utility in the **testkit** and **kernel-testkit** projects, which contain `TestContext`, generators for `IO`, and a few other things:

```scala
libraryDependencies += "org.typelevel" %% "cats-effect-testkit" % "3.2.9" % Test
libraryDependencies += "org.typelevel" %% "cats-effect-testkit" % "3.3.0" % Test
```

Cats Effect provides backward binary compatibility within the 2.x and 3.x version lines, and both forward and backward compatibility within any major/minor line. This is analogous to the versioning scheme used by Cats itself, as well as other major projects such as ScalaJS. Thus, any project depending upon Cats Effect 2.2.1 can be used with libraries compiled against Cats Effect 2.0.0 or 2.2.3, but *not* with libraries compiled against 2.3.0 or higher.
Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: Getting Started
Add the following to your **build.sbt**:

```scala
libraryDependencies += "org.typelevel" %% "cats-effect" % "3.2.9"
libraryDependencies += "org.typelevel" %% "cats-effect" % "3.3.0"
```

Naturally, if you're using ScalaJS, you should replace the double `%%` with a triple `%%%`. If you're on Scala 2, it is *highly* recommended that you enable the [better-monadic-for](https://github.com/oleg-py/better-monadic-for) plugin, which fixes a number of surprising elements of the `for`-comprehension syntax in the Scala language:
Expand Down Expand Up @@ -62,7 +62,7 @@ We will learn more about constructs like `start` and `*>` in later pages, but fo
Of course, the easiest way to play with Cats Effect is to try it out in a Scala REPL. We recommend using [Ammonite](https://ammonite.io/#Ammonite-REPL) for this kind of thing. To get started, run the following lines (if not using Ammonite, skip the first line and make sure that Cats Effect and its dependencies are correctly configured on the classpath):

```scala
import $ivy.`org.typelevel::cats-effect:3.2.9`
import $ivy.`org.typelevel::cats-effect:3.3.0`

import cats.effect.unsafe.implicits._
import cats.effect.IO
Expand Down
6 changes: 3 additions & 3 deletions docs/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ running the code snippets in this tutorial, it is recommended to use the same
```scala
name := "cats-effect-tutorial"

version := "3.2.9"
version := "3.3.0"

scalaVersion := "2.13.6"

libraryDependencies += "org.typelevel" %% "cats-effect" % "3.2.9" withSources() withJavadoc()
libraryDependencies += "org.typelevel" %% "cats-effect" % "3.3.0" withSources() withJavadoc()

scalacOptions ++= Seq(
"-feature",
Expand Down Expand Up @@ -256,7 +256,7 @@ But, in a way, that's precisely what we do when we `flatMap` instances of
has its place, `Resource` is likely to be a better choice when dealing with
multiple resources at once.

### Copying data
### Copying data
Finally we have our streams ready to go! We have to focus now on coding
`transfer`. That function will have to define a loop that at each iteration
reads data from the input stream into a buffer, and then writes the buffer
Expand Down