Note: as of 0.10, release notes are available on each release in GitHub - https://github.com/functional-streams-for-scala/fs2/releases
- Empty deflated streams are now handled properly #865
concurrent.join
now fails when outer stream terminated #869
- Fixed memory leak in
concurrent.join
where up tomaxOpen
streams that had finished executing were kept in memory until the end of the outer stream was reached. #834 - Fixed a bug in
fs2.io.JavaInputOutputStream
, ensuring bytes are converted to 0-255 before being returned. - Added
pipe2.pause
andStream#pause
combinators -- similar tointerrupt
but allows the stream to be resumed. - Added
Stream#evalScan
- a variant ofscan
where the supplied function returns an effectful value. - Added
pipe.unNone
andStream#unNone
, which converts aStream[F, Option[A]]
to aStream[F, A]
, ignoring anyNone
values.
- Fixed memory leak in
Stream#runFoldScope
introduced by #808. - Added OSGi metadata to the core and io JARs.
- Fixed memory leak in
Signal#discrete
. #799 - Significant performance improvements, especially in
map
-heavy streams. #776 #784 - Fixed bug in
runFold
which resulted in finalizers being skipped if stream useduncons
at root without a scope. #808. - Improved TCP socket buffer management - read buffer is shared now instead of being allocated on each socket read. #809
- Added
>>
toStream
. - Added
head
toStream
andpipe
. - Added
unfoldChunk
andunfoldChunkEval
toStream
. - Added
fromAttempt
toTask
.
- Fixed a bug where traversing a list or vector evaluated effects in reverse order. #746
- Fixed
to
andtov
so that the output of the sink is not drained. #754 - Fixed a bug in
Task.Ref
where aset
after anaccess
set
did not result in no-op. #749 - Added
groupBy
toStream
andPipe
.
- Fixed bug where a stream with a
map
orflatMap
after anonError
would result in the error handler not getting run. #735
- First release of new design.