Releases: typelevel/fs2
v3.9.0
This is the ninth minor release in the 3.x series (and the nine thousand two hundred and ninety first release as measured by unique commits). This release features improvements to the Chunk
class (including the addition of the new, generic Chunk.from
method to create chunks from collections and subsequent deprecation of various concrete constructors like seq
and vector
). The StreamDecoder
type also has some important bug fixes.
Improvements
- Chunk improvements by @BalmungSan in #3274
- Optimize
fs2.text.{char2string,string2char}
by @armanbilge in #3278 - Fix rechunkRandomly with large ending chunk by @domaspoliakas in #3277
- Handle
AggregateError
s on Node.js by @armanbilge in #3269 - Fix various issues with PCAP decoding by @mpilquist in #3283
- Chunk - Optimise Flatten implementation. by @diesalbla in #3190
Documentation & Build
- fix comment about followLinks by @nikiforo in #3273
- Fix compile, run I/O tests on macOS via Cirrus CI by @armanbilge in #3286
- Fix compilation error due to bad merge and change in Chunk constructors by @mpilquist in #3288
- Fix deprecations and tweak Cirrus CI by @armanbilge in #3289
Updates
- Update scalafmt-core to 3.7.12 by @typelevel-steward in #3270
- Update cats-core, cats-laws to 2.10.0 by @typelevel-steward in #3275
- Update epollcat to 0.1.6 by @typelevel-steward in #3284
- Update scalafmt-core to 3.7.13 by @typelevel-steward in #3285
- Update sbt to 1.9.4 by @typelevel-steward in #3282
- Update sbt-typelevel, sbt-typelevel-site to 0.5.0 by @typelevel-steward in #3281
- Update to sbt-typelevel 0.5.0 by @armanbilge in #3272
- flake.lock: Update by @typelevel-steward in #3268
- flake.lock: Update by @typelevel-steward in #3287
Full Changelog: v3.8.0...v3.9.0
v3.8.0
Improvements
- Optimize the Java
Flow
interop by @BalmungSan in #3130 - Cross-compile
interop.flow
by @BalmungSan in #3160 - Add String to Char and Char to String conversion by @susuro in #3218
- Refactor merge implementation by @zainab-ali in #3242
- Stream - Refactor Parjoins by @diesalbla in #3248
- Stream - BroadcastThrough - refactor code by @diesalbla in #3254
- Add variant of
Stream.fromQueueUnterminated
for Monad. by @kamilkloch in #3264 - Add
Stream.filterNot
by @kiendang in #3265
Bugfixes
- Fixing interruption behaviour by @Angel-O in #3183
- Suppress errors in socket read/write canceler by @armanbilge in #3238
- Fix
TLSSocket
addresses on JS by @armanbilge in #3256 - Fix TLS session access on JS by @armanbilge in #3257
Documentation
- Add fs2-aes to the ecosystem. by @jwojnowski in #3222
- Update Jack Henry by @ChristopherDavenport in #3239
- Fix skunk doc link in cover page by @ShapelessCat in #3241
Updates
- Update sbt-typelevel, sbt-typelevel-site to 0.4.21 by @typelevel-steward in #3221
- Update testng-7-5 to 3.2.16.0 by @typelevel-steward in #3223
- flake.lock: Update by @typelevel-steward in #3214
- Update nscplugin, sbt-scala-native, ... to 0.4.14 by @typelevel-steward in #3233
- Update scalafmt-core to 3.7.4 by @typelevel-steward in #3226
- Update sbt-jmh to 0.4.5 by @typelevel-steward in #3230
- Update jnr-unixsocket to 0.38.20 by @typelevel-steward in #3235
- Update sbt to 1.9.0 by @typelevel-steward in #3228
- Update scala3-library, ... to 3.3.0 by @typelevel-steward in #3227
- Update epollcat to 0.1.5 by @typelevel-steward in #3234
- Update scala-library to 2.13.11 by @typelevel-steward in #3237
- Update scala-library to 2.12.18 by @typelevel-steward in #3236
- Update scalafmt-core to 3.7.8 by @typelevel-steward in #3255
- Update cats-effect, cats-effect-laws, ... to 3.5.1 by @typelevel-steward in #3244
- Update sbt to 1.9.2 by @typelevel-steward in #3253
- Update sbt-scalajs, scalajs-compiler, ... to 1.13.2 by @typelevel-steward in #3243
- Update sbt-scala-native-crossproject to 1.3.2 by @typelevel-steward in #3252
- Update jimfs to 1.3.0 by @typelevel-steward in #3250
- Update scalafmt-core to 3.7.10 by @typelevel-steward in #3259
- Update sbt-typelevel, sbt-typelevel-site to 0.4.22 by @typelevel-steward in #3232
- flake.lock: Update by @typelevel-steward in #3225
- Update sbt to 1.9.3 by @typelevel-steward in #3262
- Update scalafmt-core to 3.7.11 by @typelevel-steward in #3263
New Contributors
- @jwojnowski made their first contribution in #3222
- @ShapelessCat made their first contribution in #3241
- @kiendang made their first contribution in #3265
Full Changelog: v3.7.0...v3.7.1
v3.7.0
⚠️ Important note
- This release updates cats-effect to 3.5.0, which includes an important change to the behavior of the
Async#async
andIO.async
methods. Please check the cats-effect release notes for v3.5.0 for more details, in case the behavior change impacts your codebase.
New Features
- Added writeUtf8 and writeUtf8Lines by @TonioGela in #3167
- Introduce
Process
API by @armanbilge in #3149 - Implicit instances for
IO
only by @armanbilge in #3179 - Offer implicits for any
LiftIO
by @armanbilge in #3192
Improvements
- Tweak
Scope#close
for a bit better performance by @danicheg in #3137 - Microptimize
Signal#getAndDiscreteUpdates
by @armanbilge in #3144 - Optimize
Chunk#to{Byte,Char}Buffer
, add note about mutability by @armanbilge in #3147 - Fix
async_
usages for new uncancelable semantic by @armanbilge in #3063 - Refactor JVM unixsockets by @armanbilge in #3165
- Stream - reimplement without Pull.loop by @diesalbla in #3154
- Relax status check for google TLS tests by @armanbilge in #3177
- Chunk - Add optimised traverse_ for StackSafeMonad. by @diesalbla in #3191
- Slower sleep+timeout for
timed
doctest by @armanbilge in #3188 - Stream - microptimise EvalTap by @diesalbla in #3196
- Specialize
Chunk#toArraySlice
by @armanbilge in #3198 - Replace recursive
Pull
withforeach
inwriteWritable
by @armanbilge in #3208
Bugfixes
- Fix interleaveOrdered effectful cases [Fixes #3156] by @ivan-klass in #3161
- Fix NPE for socket writes on Node.js 19 by @armanbilge in #3178
- More
null
checks in JS streams by @armanbilge in #3184 - fixing assertion in parEval test by @Angel-O in #3185
- Fix unintended unchunking by adding override map by @yyy1000 in #3189
- Fix
Signal#ap
bug ingetAndDiscreteUpdates
by @armanbilge in #3206
Build / Site / Docs
- Tweak some scaladocs by @danicheg in #3139
- Don't test TLSv1, v1.1 on Node.js, fix JVM TLS error test by @armanbilge in #3145
- Added Lepus to ecosystem by @hnaderi in #3163
- Add macOS to CI matrix by @armanbilge in #3180
- Increase timeouts by @armanbilge in #3181
- Use Discord typelevel channel instead of gitter in Guide page by @lenguyenthanh in #3209
- comment typo fix by @nikita12100 in #3216
Updates
- Update epollcat to 0.1.4 by @typelevel-steward in #3146
- Update scalafmt-core to 3.7.2 by @typelevel-steward in #3150
- Update scodec-bits to 1.1.37 by @typelevel-steward in #3152
- Update sbt-scala-native-config-brew-github-actions to 0.1.3 by @typelevel-steward in #3158
- Update to ip4s 3.3.0 by @mpilquist in #3172
- Update CONTRIBUTING.md for Native build by @mpilquist in #3176
- Update sbt-scalajs, scalajs-compiler, ... to 1.13.1 by @typelevel-steward in #3203
- Update sbt-scala-native-crossproject to 1.3.1 by @typelevel-steward in #3211
- flake.lock: Update by @typelevel-steward in #3204
- Update sbt-typelevel, sbt-typelevel-site to 0.4.20 by @typelevel-steward in #3213
- Update cats-effect, cats-effect-laws, ... to 3.5.0 by @typelevel-steward in #3219
- Update sbt to 1.8.3 by @typelevel-steward in #3220
New Contributors
- @hnaderi made their first contribution in #3163
- @TonioGela made their first contribution in #3167
- @Angel-O made their first contribution in #3185
- @yyy1000 made their first contribution in #3189
- @lenguyenthanh made their first contribution in #3209
- @nikita12100 made their first contribution in #3216
Full Changelog: v3.6.1...v3.7.0
v3.7.0-RC5
Improvements
- Stream - microptimise EvalTap by @diesalbla in #3196
- Fix unintended unchunking by adding override map by @yyy1000 in #3189
- Specialize
Chunk#toArraySlice
by @armanbilge in #3198 - Replace recursive
Pull
withforeach
inwriteWritable
by @armanbilge in #3208
Build / Site / Docs
- Use Discord typelevel channel instead of gitter in Guide page by @lenguyenthanh in #3209
- comment typo fix by @nikita12100 in #3216
Updates
- Update sbt-scala-native-crossproject to 1.3.0 by @typelevel-steward in #3201
- flake.lock: Update by @typelevel-steward in #3193
- Update sbt-scalajs, scalajs-compiler, ... to 1.13.1 by @typelevel-steward in #3203
- Update sbt-typelevel, sbt-typelevel-site to 0.4.20 by @typelevel-steward in #3213
- Update cats-effect, cats-effect-laws, ... to 3.5.0-RC5 by @typelevel-steward in #3217
- Update sbt-scala-native-crossproject to 1.3.1 by @typelevel-steward in #3211
- Update cats-effect, cats-effect-laws, ... to 3.5.0-RC4 by @typelevel-steward in #3212
- flake.lock: Update by @typelevel-steward in #3204
New Contributors
- @yyy1000 made their first contribution in #3189
- @lenguyenthanh made their first contribution in #3209
- @nikita12100 made their first contribution in #3216
Full Changelog: v3.7.0-RC4...v3.7.0-RC5
v3.7.0-RC4
What's Changed
- Offer implicits for any
LiftIO
by @armanbilge in #3192 - Chunk - Add optimised traverse_ for StackSafeMonad. by @diesalbla in #3191
- Slower sleep+timeout for
timed
doctest by @armanbilge in #3188
Full Changelog: v3.7.0-RC3...v3.7.0-RC4
v3.7.0-RC3
New Features
- Introduce
Process
API by @armanbilge in #3149 - Added writeUtf8 and writeUtf8Lines by @TonioGela in #3167
- Implicit instances for
IO
only by @armanbilge in #3179
Bugfixes
- Fix interleaveOrdered effectful cases [Fixes #3156] by @ivan-klass in #3161
- Fix NPE for socket writes on Node.js 19 by @armanbilge in #3178
Build / Docs / Refactoring
- Added Lepus to ecosystem by @hnaderi in #3163
- Refactor JVM unixsockets by @armanbilge in #3165
- Stream - reimplement without Pull.loop by @diesalbla in #3154
- Relax status check for google TLS tests by @armanbilge in #3177
- Update CONTRIBUTING.md for Native build by @mpilquist in #3176
- Add macOS to CI matrix by @armanbilge in #3180
- Increase timeouts by @armanbilge in #3181
- More
null
checks in JS streams by @armanbilge in #3184 - fixing assertion in parEval test by @Angel-O in #3185
Updates
- Update scodec-bits to 1.1.37 by @typelevel-steward in #3152
- flake.lock: Update by @typelevel-steward in #3155
- Update sbt-typelevel, sbt-typelevel-site to 0.4.19 by @typelevel-steward in #3159
- Update sbt-scala-native-config-brew-github-actions to 0.1.3 by @typelevel-steward in #3158
- flake.lock: Update by @typelevel-steward in #3164
- flake.lock: Update by @typelevel-steward in #3168
- Update to ip4s 3.3.0 by @mpilquist in #3172
New Contributors
- @hnaderi made their first contribution in #3163
- @TonioGela made their first contribution in #3167
- @Angel-O made their first contribution in #3185
Full Changelog: v3.7.0-RC2...v3.7.0-RC3
v3.7.0-RC2
This is the second release candidate of FS2 v3.7.0. It is built against Cats Effect v3.5.0-RC3.
Full Changelog: v3.7.0-RC1...v3.7.0-RC2
v3.7.0-RC1
This is the first release candidate of FS2 v3.7.0. It is built against Cats Effect v3.5.0-RC2 and includes the related changes and fixes from #3142.
Full Changelog: v3.6.1...v3.7.0-RC1
v3.6.1
3.6.0
Improvements
- Add .interleaveOrdered to combine sorted streams (i.e. "merge-sort") by @ivan-klass in #3110
- Add limit combinator to Stream by @sgjbryan in #3113
- Add
Signal#changes
by @armanbilge in #3126 - Add interop with Java Flow types by @BalmungSan in #3102
- Add
Signal#getAndDiscreteUpdates
by @armanbilge in #3125
Bugfixes
- Correctly handle TLS empty writes in
S2nConnection
by @armanbilge in #3115 - Mask
getBasicFileAttributes
errors inFiles[F].walk
by @fthomas in #3120 - Fix
hold1
by @armanbilge in #3112 - Use
UndefOr
for Node.js fileFlag
s not supported on windows by @armanbilge in #3127
Build
- Mark flaky tests by @mpilquist in #3132
Updates
- Update scalafmt-core to 3.7.1 by @typelevel-steward in #3114
- Update nscplugin, sbt-scala-native, ... to 0.4.10 by @typelevel-steward in #3116
- Update sbt-mdoc to 2.3.7 by @typelevel-steward in #3117
- Update cats-effect, cats-effect-laws, ... to 3.4.6 by @typelevel-steward in #3122
- Update sbt-jmh to 0.4.4 by @typelevel-steward in #3121
- Update scala3-library, ... to 3.2.2 by @typelevel-steward in #3119
- Update sbt-scalajs, scalajs-compiler, ... to 1.13.0 by @typelevel-steward in #3129
- Update scodec-bits to 1.1.35 by @typelevel-steward in #3128
- Update to scodec-core 2.2.1 by @mpilquist in #3131
New Contributors
- @ivan-klass made their first contribution in #3110
- @sgjbryan made their first contribution in #3113
Full Changelog: v3.5.0...v3.6.0