Skip to content

Releases: typelevel/fs2

v2.4.3

18 Aug 13:28
Compare
Choose a tag to compare

This is a maintenance release for the 2.4 series which addresses and is fully backwards compatible with previous releases.

This release is built for Scala 2.12, 2.13, 0.26.0-RC1 and Scala.js 1.1.1. Scala.js 0.6 support has been dropped now that it is EOL.

Notable changes:

  • Dotty support! (#1973 #1960 #1943)
  • Fixed a bug in TLSSocket#readN which could return more than requested number of bytes (#1989)
  • Added Pull.extendScopeTo to simplify common usage pattern with http4s (#1996)
  • Added withFilter to Stream to allow use in for-comprehensions (#1971)
  • Optimized Chunk#traverse (#1952 #1957)
  • Optimized UTF8 decoding (#1948)
  • Added Stream#evalMapFilter (#1933)
  • Added ArraySeq support (#1905 #1899)
  • Added cats.Defer instance for Stream (#1936)

There were a number of internal code improvements which pave the way for cats-effect 3 support. Additionally, the test suite was ported from ScalaTest to MUnit with its cats effect integration and scalacheck-effect integration.

Note: this version depends on cats 2.2.0-RC3.

For a full list of changes, see https://github.com/functional-streams-for-scala/fs2/milestone/28?closed=1.

git shortlog -sn --no-merges "v2.4.2".."v2.4.3"
    25  Scala Steward
    25  Michael Pilquist
    25  mpilquist
    11  P. Oscar Boykin
     8  Timothy McCarthy
     5  Jacob Wang
     5  Diego E. Alonso Blas
     5  Diego E. Alonso-Blas
     4  Dmitrii Bundin
     3  Vasil Vasilev
     3  oskin1
     2  Kamil Kloch
     1  Barry O'Neill
     1  shogan
     1  Christopher Davenport
     1  David Francoeur
     1  Jakub Kozłowski
     1  Marc
     1  Rob Norris
     1  Robert Marek
     1  Ross A. Baker
     1  arinal
     1  bedux
     1  d2a4u
     1  mhughe008

v2.4.2

12 Jun 12:58
Compare
Choose a tag to compare

This is a maintenance release for the 2.4 series which addresses some issues with TLS that were found when integrating fs2-io with skunk (#1896 #1897 #1898).

This release is built for Scala 2.12 and 2.13 and Scala.js 1.0.0 and 0.6.32.

v2.4.1

09 Jun 17:38
Compare
Choose a tag to compare

The 2.4.1 release is a rebuild of 2.4.0 with fixed Scala.js JARs. The 2.4.0 release were corrupted due to a build issue.

v2.4.0

08 Jun 19:54
Compare
Choose a tag to compare

This is the eighth release of the 2 series, featuring support for Cats 2 and Cats Effect 2.

This release is source and binary compatible with prior 2.x releases. Note there was a breaking source change in 2.2.0 & 2.2.1 -- the compile.to[X] method was removed in favor of compile.to(X).

This release is built for Scala 2.12 and 2.13 and Scala.js 1.0.0 and 0.6.32.

This release includes a couple fixes for memory leaks and hence, upgrading is highly encouraged.

Since 2.3.0, the following notable changes have occurred:

Features:

  • Added collectWhile to Stream (#1870)
  • Adjusted thread names of tcp.SocketGroup (#1862)
  • Added zipWithIndex to Chunk (#1859)
  • Added parZip to Stream (#1858)
  • Added chunkAll to Stream (#1855)
  • Added ability to construct a Stream from an F[_]: Foldable or an Iterable (#1830)
  • Improved compression.gunzip to output chunks eagerly (#1843)
  • Enhanced compression to allow configuration of deflate flush mode (#1842)

Bugs:

  • Fixed a memory leak in Stream.retry and in general, with pulls that do not consume all elements from the source (#1885)
  • Fixed a memory leak in SignallingRef (which impacts combinators like parJoin) (#1889)
  • Fixed a deadlock / stall in TLSEngine (#1877 #1873)
  • Fixed a bug in base64Decode where final non-padding byte could be lost (#1852 #1853)
  • Fixed a soundness bug that allowed a pure pull to be used on effectful streams (#1838 #1839)

For a full list of changes in 2.4.0, see: https://github.com/functional-streams-for-scala/fs2/pulls?q=is%3Apr+milestone%3A2.4.0+is%3Aclosed

git shortlog -sn --no-merges "v2.3.0".."v2.4.0"
    25  Michael Pilquist
    20  Scala Steward
    11  Fabio Labella
     8  Greg Atkinson
     4  Nick Hallstrom
     4  Damien O'Reilly
     2  Jakub Kozłowski
     2  Paulius Imbrasas
     1  Zelenya
     1  d.semenov
     1  geoffjohn11
     1  mhughe008
     1  Alex Zolotko
     1  sanjiv sahayam
     1  Arturas Slajus
     1  Frédéric Cabestre
     1  Gabriel Volpe
     1  Janek Bogucki
     1  Jon Alberdi
     1  Jostein Gogstad
     1  Zach McCoy

v2.3.0

20 Mar 15:41
Compare
Choose a tag to compare

This is the seventh release of the 2 series, featuring support for Cats 2 and Cats Effect 2.

This release is source and binary compatible with prior 2.x releases. Note there was a breaking source change in 2.2.0 & 2.2.1 -- the compile.to[X] method has been removed in favor of compile.to(X).

This release is built for Scala 2.12 and 2.13 and Scala.js 1.0.0 and 0.6.32. Scala 2.11 is no longer supported.

Since 2.2.2, the following notable changes have occurred:

Features:

  • Added evalMapChunk and evalTapChunk (#1793)
  • Added cats.Align instance for Stream (#1791)
  • fs2.compress was deprecated and replaced by fs2.compression (#1783)
  • Reactive Streams: Support for preemption-safe stream subscription (#1817)
  • Improved performance of Chunk.BufferChunk.iterator (#1785)
  • Add withTimeout combinator (#1777)

Bugs:

  • Prevent concurrent writes to fs2-io TCP socket from causing WritePendingException (#1781)

For a full list of changes in 2.3.0, see: https://github.com/functional-streams-for-scala/fs2/pulls?q=is%3Apr+milestone%3A2.3.0+is%3Aclosed

git shortlog -sn --no-merges "v2.2.2".."v2.3.0"
    21  Scala Steward
    18  Michael Pilquist
    15  mgibowski
     6  Ben Plommer
     4  Z1kkurat
     3  bobbyrauchenberg
     3  Daniel Spiewak
     3  Greg Atkinson
     2  Paulius Imbrasas
     2  Robert Glyde
     2  Domas Poliakas
     1  Ross A. Baker
     1  Luís Campos
     1  Jakub Kozłowski
     1  Uwe Sommerlatt

v2.2.2

30 Jan 01:13
Compare
Choose a tag to compare

This is the sixth release of the 2 series, featuring support for Cats 2 and Cats Effect 2.

This release is source and binary compatible with prior 2.x releases. Note there was a breaking source change in 2.2.0 & 2.2.1 -- the compile.to[X] method has been removed in favor of compile.to(X).

This release is built for Scala 2.12 and 2.13 and Scala.js 0.6.32. Scala 2.11 is no longer supported.

Since 2.2.1, the following notable changes have occurred:

Features:

  • Added support for getting & setting file permissions (#1751)
  • Made TLSParameters#toSSLParameters public (#1768)

Bugs:

  • Fixed .compile.to(Set) compilation issue on Scala 2.12 (#1769)
  • Support setting needClientAuth with TLSParameters (#1767)

For a full list of changes in 2.2.2, see: https://github.com/functional-streams-for-scala/fs2/pulls?q=is%3Apr+milestone%3A2.2.2+is%3Aclosed

git shortlog -sn --no-merges "v2.2.1".."v2.2.2"
    12  Jakub Kozłowski
     5  Michael Pilquist
     3  Ross A. Baker
     2  Robert Glyde
     2  Scala Steward
     1  Adam Rosien

v2.2.1

20 Jan 00:00
Compare
Choose a tag to compare

This is critical bug fix for the 2.2.0 release. It fixes two issues:

This release is binary compatible with all prior 2.x releases except for the 2.2.0 release, which should not be used.

v2.2.0

18 Jan 15:50
Compare
Choose a tag to compare

This is the fourth release of the 2 series, featuring support for Cats 2 and Cats Effect 2.

NOTE: This release has two significant bugs -- upgrade to 2.2.1 as soon as possible.

This release is binary compatible with all prior 2.x releases. There is one breaking source change -- the compile.to[X] method has been removed in favor of compile.to(X).

This release is built for Scala 2.12 and 2.13 and Scala.js 0.6.31. Scala 2.11 is no longer supported.

Since 2.1.0, the following notable changes have occurred:

Features:

  • Added support for TLS/DTLS to fs2.io (#1717)
  • Added debug and debugChunks (#1727)
  • Added groupAdjacentByLimit (#1744)
  • Added text.base64Encode and text.base64Decode (#1742)
  • Added Stream.resourceWeak (#1683)

Performance:

Bugs:

  • Fixed .compile.to(X) syntax issue with Scala 2.12 (#1725)
  • Preserved failures in parJoin (#1682)

For a full list of changes in 2.2.0, see: https://github.com/functional-streams-for-scala/fs2/pulls?q=is%3Apr+milestone%3A2.2.0+is%3Aclosed

git shortlog -sn --no-merges "v2.1.0".."v2.2.0"
    84  Michael Pilquist
    17  Scala Steward
    10  Diego E. Alonso-Blas
     9  Paulius Imbrasas
     3  Diego E. Alonso Blas
     3  Ingar Abrahamsen
     2  Gabriel Volpe
     1  Jakub Kozłowski
     1  Michael Smith
     1  Mihai Dincă
     1  Dmitry Polienko
     1  Zelenya
     1  Jose Labra
     1  mgibowski

v2.1.0

05 Nov 17:53
Compare
Choose a tag to compare

This is the third release of the 2 series, featuring support for Cats 2 and Cats Effect 2.

This release is source and binary compatible with 2.0.0 and 2.0.1 and is NOT binary compatible nor source compatible with the 1.0 series.

This release is built for Scala 2.11, 2.12, and 2.13.

Since 2.0.1, the following notable changes have occurred:

  • Added new to syntax for compiling to collections -- e.g. s.compile.to(Map), s.compile.to(ByteVector) (#1659)
  • Added unconsNonEmpty pull (#1527)
  • Changed handleErrorWith to guarantee resource finalization (#1662)
  • Added fs2.io.readOutputStream (#1648)
  • Added fs2.Hotswap to support use cases like file rotation (#1667)
  • Added fs2.io.file.writeRotate as well as fs2.io.file.{ReadCursor, WriteCursor} to improve working with files (#1667)

For a full list of changes in 2.1.0, see: https://github.com/functional-streams-for-scala/fs2/pulls?q=is%3Apr+milestone%3A2.1.0+is%3Aclosed

git shortlog -sn --no-merges "v2.0.1".."v2.1.0"
    21  Michael Pilquist
    18  Scala Steward
     9  Fabio Labella
     2  Luis Miguel Mejía Suárez
     2  Valy Dia
     2  Diego E. Alonso-Blas
     2  Paolo Anastagi
     1  augustjune
     1  Gavin Bisesi
     1  Paulius Imbrasas
     1  Regis leray
     1  Zelenya

v2.0.1

21 Sep 16:46
Compare
Choose a tag to compare

This is the second release of the 2.0 series, featuring support for Cats 2.0.0 and Cats Effect 2.0.0.

This release is source and binary compatible with 2.0.0 and is NOT binary compatible nor source compatible with the 1.0 series. This release contains a fix for a memory leak introduced in 2.0.0 when using recursive pulls. It's recommended that all 2.0.0 users upgrade immediately.

This release is built for Scala 2.11, 2.12, and 2.13.

Since 2.0.0, the following changes have occurred:

  • Fixed a memory leak in recursive pulls (#1630 #1625)
  • Added Stream#{evalFilter, evalFilterAsync} (#1619)
  • Reduced GC pressure / better memory usage (#1610)

For a full list of changes in 2.0.1, see: https://github.com/functional-streams-for-scala/fs2/pulls?q=is%3Apr+milestone%3A2.0.1+is%3Aclosed

git shortlog -sn --no-merges "v2.0.0".."v2.0.1"
    11  Jakub Kozłowski
     7  Michael Pilquist
     6  Scala Steward
     3  Diego E. Alonso-Blas
     1  Dan Billings
     1  Fabio Labella
     1  Haemin Yoo