Releases: typelevel/fs2
v3.2.0
FS2 3.2.0 supports Scala 2.12, 2.13, and 3.1 and Cats Effect 3.
This release features the incorporation of scodec-stream and codec-protocols in to fs2 proper.
- The fs2-core module has a new
fs2.Scantype for building compositional, pure, stateful transformations. - The fs2-core module also has a new
fs2.timeseriespackage for working with time stamped streams. - The new fs2-scodec module defines the
fs2.interop.scodecpackage, definingStreamDecoderandStreamEncoder - The new fs2-protocols module provides various examples of using these types.
Checkout the time series and scodec sections of the guide for more information.
What's Changed
- Update scala3-library, ... to 3.1.0 by @scala-steward in #2682
- Bump ip4s and deprecate
fs2.io.net.UnknownHostExceptionby @armanbilge in #2687 - Remove unused dependency to scalajs-dom by @armanbilge in #2681
- Import scodec-stream and scodec-protocols in to fs2 by @mpilquist in #2588
- Improve Node.js server shutdown and error handling by @armanbilge in #2554
Full Changelog: v3.1.6...v3.2.0
v3.1.6
What's Changed
- Make Pull#output and Pull#outputOption1 effect polymorphic by @TimWSpence in #2670
- Publisher.toStream can demand for more than one element by @yanns in #2666
- site/ecosystem.md add cabbit, fix links to edit the list by @nikiforo in #2675
- Fix #2679 - bug in Chunk.compactUntagged when used with empty or singleton chunks by @mpilquist in #2680
New Contributors
Full Changelog: v3.1.5...v3.1.6
v3.1.5
What's Changed
- Update sbt-scalajs, scalajs-compiler, ... to 1.7.1 by @scala-steward in #2669
- Update Scope docs by @TimWSpence in #2668
- Fix decodeCWithCharset with JDK8 by @rossabaker in #2671
Full Changelog: v3.1.4...v3.1.5
v3.1.4
Supports Cats Effect 3 and built for Scala 2.12, 2.13, and 3 final.
FS2 3.1.4 is a bug fix release focused on performance.
What's Changed
- Make indexed traversal of
Chunk.Queueamortized logarithmic time by @mpilquist in #2631 - parEvalMapUnordered performance by @nikiforo in #2626
- Pull - Remove nested matches. by @diesalbla in #2625
- Use AtomicReference instead of Ref by @notxcain in #2632
- Make Compiler.Target extend MonadCancelThrow by @bplommer in #2612
PipedStreamBuffercircular copying overflow fix by @vasilmkd in #2638- Update ip4s-core to 3.0.4 by @scala-steward in #2639
- Amended a couple of things on the site by @domaspoliakas in #2636
- Use JDK 17 in the CI by @vasilmkd in #2645
- fix socket leak for unresolvable domains by @stephennancekivell in #2644
- Improve Scope#interruptWhen error by @rossabaker in #2634
- Create
fs2.compression.checksumby @armanbilge in #2606 - Update scodec-bits to 1.1.29 by @scala-steward in #2648
- Fix simple warnings in the build and tests by @vasilmkd in #2649
- Fix
Stream#concurrentlyfor short-circuiting monad transformers by @vasilmkd in #2652 - Update munit-cats-effect-3 to 1.0.6 by @scala-steward in #2656
- Revert "Remove unnecessary delegate" for
fs2.io.compressionby @armanbilge in #2658 - Make interruptWhen a no-op with the Sync compiler by @rossabaker in #2657
- Improve IO exceptions on Node.js by @armanbilge in #2655
- Flush CharsetDecoder to produce final chunk by @rossabaker in #2667
- Fix socket close regression by @armanbilge in #2665
- Re-worked Node.js
readReadableAPI by @armanbilge in #2663 - Upgrade scalacheck-effect to 1.0.3 by @mpilquist in #2661
New Contributors
- @stephennancekivell made their first contribution in #2644
Full Changelog: v3.1.3...v3.1.4
v2.5.10
Supports Cats Effect 2 and built for Scala 2.12, 2.13, and 3 final.
What's Changed
- Update sbt-scalafmt to version 2.4.3 by @vasilmkd in #2474
- Update Scala to version 3.0.1 by @vasilmkd in #2475
- Update sbt to version 1.5.5 by @vasilmkd in #2486
- Update sbt-mdoc to 2.2.22 by @vasilmkd in #2499
- Update cats-effect to version 2.5.2 by @vasilmkd in #2516
- Upgrade Scala.js to version
1.7.0by @vasilmkd in #2560 - Scala, plugin and library updates by @vasilmkd in #2620
- Use AtomicReference instead of Ref by @notxcain in #2615
- Fix build warnings after upgrading Cats Effect by @vasilmkd in #2641
PipedStreamBuffercircular copying overflow fix backport by @vasilmkd in #2640- Use the latest build of JDK 11 by @vasilmkd in #2646
- Rework
parJointo work with transformers by @vasilmkd in #2552 - Fix
Stream#concurrentlyfor short-circuiting monad transformers -2.5.xby @vasilmkd in #2653
Full Changelog: v2.5.9...v2.5.10
v3.1.3
Supports Cats Effect 3 and built for Scala 2.12, 2.13, and 3 final.
FS2 3.1.3 is a bug fix release focused on performance.
Bugfixes:
Improvements:
- Remove unnecessary indexing in Chunk combinators (#2630)
- Make indexed traversal of
Chunk.Queueamortized logarithmic time (#2631) - Improve performance of
parEvalMapUnordered(#2626) - Implement
Files#realPath(#2622) - Simplify internals (#2625)
- Refactor implementation of
groupWithin(#2619) - Reworked
parJointo work with transformers (#2563)
Acknowledgments
➜ git shortlog -sn --no-merges "v3.1.2".."v3.1.3"
8 mpilquist
7 Michael Pilquist
6 Scala Steward
5 Vasil Vasilev
2 Arman Bilge
2 Diego E. Alonso Blas
1 Tim Spence
v3.1.2
Supports Cats Effect 3 and built for Scala 2.12, 2.13, and 3 final.
FS2 3.1.2 is a bug fix release which addresses a couple of memory leaks in certain types of streams.
Improvements:
- Fixed memory leak when
parJoinis used withmerge(#2602) - Add a convenient shorthand for predicating effects on a boolean signal (#2596)
- Make Compression[F] cross-platform and implement on Node.js (#2587)
- Introduce
fs2.io.ClosedChannelException(#2582) - Special case for
parEvalMapwith max concurrency of 1 (#2577)
Acknowledgments
➜ git shortlog -sn --no-merges "v3.1.1".."v3.1.2"
12 Scala Steward
11 Arman Bilge
3 Stephen Judkins
3 Diego E. Alonso Blas
2 slice
2 Michael Nikolich
1 Ben Stewart
1 mpilquist
1 Adam Rosien
v3.1.1
Supports Cats Effect 3 and built for Scala 2.12, 2.13, and 3 final.
FS2 3.1.1 is a bug fix release which addresses a memory leak in map on certain types of streams.
Improvements:
Acknowledgments
➜ git shortlog -sn --no-merges "v3.1.0".."v3.1.1"
6 Michael Pilquist
3 Arman Bilge
2 Diego E. Alonso Blas
2 Scala Steward
1 Ross A. Baker
1 Vasil Vasilev
1 Christopher Davenport
1 Philipp Hoffmann
1 Rehan Mahmood
v3.1.0
Supports Cats Effect 3 and built for Scala 2.12, 2.13, and 3 final.
FS2 3.1.0 features new support for Node.js in the fs2-io module, including cross platform APIs for TCP, UDP, TLS, and file management. The fs2.io.file package has been substantially revamped, removing all dependencies on Java APIs, providing a much nicer experience (though binary compatibility with 3.0.x is provided). The biggest change is the introduction of fs2.io.file.Path as an alternative for java.nio.file.Path -- the former has an idiomatic Scala API and works on both the JVM and Node.js. See the Files section of the microsite for some examples.
Features:
- Update
fs2.io.netto build for Node.js and JVM (#2453) - Update
fs2.io.filepackage to build for Node.js and JVM and remove dependencies on Java APIs (#2519) - Implement
unchunksas the inverse ofchunks(#2506)
Improvements:
- Improve performance from
Stream.fromQueueUnterminatedandStream.fromQueueNoneTerminatedby @jordiolivares (#2521) - Miscellaneous simplifications & optimizations to main stream interpreter (#2480 #2493 #2501 #2507 #2508 #2524)
- Add a
Monoid[Chunk]instance (#2470) - Add
text.hex.{encode, decode}(#2477)
Acknowledgments
Special thanks to @armanbilge who implemented all of the Node.js support in fs2-io as well as in a number of downstream libraries!
➜ git shortlog -sn --no-merges "v3.0.6".."v3.1.0"
121 Arman Bilge
89 Michael Pilquist
9 Scala Steward
6 Andrew Valencik
6 Diego E. Alonso Blas
3 Jordi Olivares Provencio
2 Stanislav Kovalenko
2 nikiforo
1 Jordi Olivares
1 Giovanni Ruggiero