Releases: typelevel/fs2
Releases · typelevel/fs2
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#changesby @armanbilge in #3126 - Add interop with Java Flow types by @BalmungSan in #3102
- Add
Signal#getAndDiscreteUpdatesby @armanbilge in #3125
Bugfixes
- Correctly handle TLS empty writes in
S2nConnectionby @armanbilge in #3115 - Mask
getBasicFileAttributeserrors inFiles[F].walkby @fthomas in #3120 - Fix
hold1by @armanbilge in #3112 - Use
UndefOrfor Node.js fileFlags 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
v3.5.0
Improvements
- Cross
hashfor JS and Native by @armanbilge in #3070 - Cross platform
CompressionSuitefor Native by @armanbilge in #3069 - Add
Files.createLinkfor hard links by @skennedy in #3066 - Simplify creating
Pathin customFileSystemby @matkob in #3073 - Return empty stream if topic is closed by @Jasper-M in #3085
- Add
s.compile.onlyOrErrorby @ybasket in #3088 - Run
fs2.io.stdinon dedicated single-threaded pool by @armanbilge in #3093 - Improve
StreamUnicastPublisherAPI by @BalmungSan in #3107
Bug Fixes
- Fix Node.js
readRangebug by @armanbilge in #3062 - Guarantee blinding on s2n shutdown error by @armanbilge in #3079
- Fix last-update tracking in
SignallingMapRefby @armanbilge in #3080
Documentation
- Docs/microsite: Added/cleaned imports in the Single Publisher / Mutiple Subscriber example by @codesurf42 in #3064
- remove outdated scaladoc comment by @Jasper-M in #3084
- Update doc for Stream exists method by @b-vennes in #3092
Build & Refactoring
- Add redirect for API docs by @armanbilge in #3078
- Fix native deps in build by @armanbilge in #3082
- Increase timeout for Native compression suite by @armanbilge in #3090
- rechunkRandomlyWithSeed - Microoptimise implementation. by @diesalbla in #3095
- Replace "ToPull" operations with "Pull.uncons" by @diesalbla in #3098
Updates
- Update nscplugin, sbt-scala-native, ... to 0.4.9 by @typelevel-steward in #3065
- Update cats-effect, cats-effect-laws, ... to 3.4.2 by @typelevel-steward in #3067
- Update epollcat to 0.1.3 by @typelevel-steward in #3074
- Update cats-effect, cats-effect-laws, ... to 3.4.3 by @typelevel-steward in #3089
- Update cats-effect, cats-effect-laws, ... to 3.4.4 by @typelevel-steward in #3094
- Update sbt to 1.8.1 by @typelevel-steward in #3097
- Update sbt to 1.8.2 by @typelevel-steward in #3099
- Update sbt-typelevel, sbt-typelevel-site to 0.4.18 by @typelevel-steward in #3101
- Update testng-7-5 to 3.2.15.0 by @typelevel-steward in #3100
- Update cats-effect, cats-effect-laws, ... to 3.4.5 by @typelevel-steward in #3108
New Contributors
- @codesurf42 made their first contribution in #3064
- @skennedy made their first contribution in #3066
- @matkob made their first contribution in #3073
- @Jasper-M made their first contribution in #3085
Full Changelog: v3.4.0...v3.5.0
v3.4.0
Security
- Use
default_tls13for system s2n cipher prefs by @armanbilge in #3003
Bug Fixes
- Fix StackOverflow bug 3011. by @diesalbla in #3012
Features
- Use CharsetEncoder for encoding texts by @ybasket in #3008
- adds Stream.resourceK and Stream.resourceWeakK methods by @jbwheatley in #2884
- Add 'Stream.ToPull.unconsMin', remove 'Stream.ToPull.unconsLimit' ass… by @seigert in #3021
- Add
Stream#{hold1,hold1Resource}by @armanbilge in #3039 - fs2-protocols - pcapng by @nikiforo in #2740
- Add unbounded versions of
Topic#subscribeby @armanbilge in #3023 - Add
SignallingRef.lensby @armanbilge in #3030 - Add
SignallingMapRefby @armanbilge in #3031
Performance
- Override and short-circuit Chunk.flatten by @CremboC in #2990
- Aggressively short-circuit
processByteOrderMarkto avoid unnecessaryutf8.decodebuffering by @armanbilge in #2994 - Chunk: short-cut flatMap and traverse_ for singletons by @diesalbla in #2991
- Chunk - Introduce a Constant Chunk subclass. by @diesalbla in #2995
- EvalMap - Quick Optimisation. by @diesalbla in #3015
- Optimise evalMapFilter by @diesalbla in #3017
- Optimize
unchunksby @armanbilge in #3018 - Copy socket reads into
Array-backed chunks by @armanbilge in #3044 - Specialize
parEvalMapUnboundedby @armanbilge in #3024 - Native "
Array-pointer" optimizations by @armanbilge in #3061
Refactorings
- Merge - Small touch: output is nothing by @diesalbla in #2984
- Extract Unit Chunks, Pull, Stream. by @diesalbla in #2909
- Make some unsealeds less private by @armanbilge in #3002
- Pull - UnconsFlatMap by @diesalbla in #3005
- Pull: turn flatMapOutput into an extension method. by @diesalbla in #3016
- Use
ByteVectorfor BOMs by @armanbilge in #3020 - Pull - turn "unconsFlatMap" into an extension method. by @diesalbla in #3019
- Minor refactor to
SignallingRef#discreteby @armanbilge in #3041 - Simplify
holdResourceby @armanbilge in #3038 - Cherry-picked additional tests from #2856 by @djspiewak in #3050
- Disable embedded resources on Native by @armanbilge in #3056
- Prefer
js.BigIntfs APIs on Node.js by @armanbilge in #3036
Docs
- Update TLS docs by @armanbilge in #2977
- Docs for utf8 decoding by @TimWSpence in #2979
Stream#unconsupdate Scala doc by @iRevive in #3026- Clarify
Signal#discretescaladoc by @armanbilge in #3042 - Fix typos in timeseries docs by @mpilquist in #3040
Build
- Use ubuntu-22.04 for ci by @armanbilge in #2992
- Invoke brew via full path by @armanbilge in #2996
- Adopt scala-native-config-brew by @armanbilge in #3001
- Bump base version to 3.4 by @armanbilge in #3043
- Add
.git-blame-ignore-revsby @armanbilge in #3029 voidErrorall the things by @armanbilge in #3037
Updates
- Update sbt-typelevel, sbt-typelevel-site to 0.4.14 by @typelevel-steward in #2978
- Update epollcat to 0.1.1 by @typelevel-steward in #2986
- Update scala-library to 2.12.17 by @typelevel-steward in #2980
- Update sbt-typelevel, sbt-typelevel-site to 0.4.15 by @typelevel-steward in #2987
- Update to Cats Effect 3.4.0-RC1 by @armanbilge in #3000
- Update scala3-library, ... to 3.2.0 by @typelevel-steward in #2997
- Update sbt-mdoc to 2.3.5 by @typelevel-steward in #2998
- Update testng-7-5 to 3.2.14.0 by @typelevel-steward in #2999
- Update sbt to 1.7.2 by @typelevel-steward in #3004
- Update sbt-mdoc to 2.3.6 by @typelevel-steward in #3007
- Update cats-effect, cats-effect-laws, ... to 3.4.0-RC2 by @typelevel-steward in #3010
- Update sbt-typelevel, sbt-typelevel-site to 0.4.16 by @typelevel-steward in #3013
- Update scala-library to 2.13.10 by @typelevel-steward in #3014
- Update scalafmt-core to 3.6.0 by @typelevel-steward in #3022
- Update sbt to 1.7.3 by @typelevel-steward in #3033
- Update scalafmt-core to 3.6.1 by @typelevel-steward in #3035
- Update sbt to 1.8.0 by @typelevel-steward in #3049
- Update scala3-library, ... to 3.2.1 by @typelevel-steward in #3046
- Update cats-core, cats-laws to 2.9.0 by @typelevel-steward in #3051
- Update jnr-unixsocket to 0.38.19 by @typelevel-steward in #3055
- Update sbt-typelevel, sbt-typelevel-site to 0.4.17 by @typelevel-steward in #3053
- Update sbt-scalajs, scalajs-compiler, ... to 1.11.0 by @typelevel-steward in #3059
- Update cats-effect, cats-effect-laws, ... to 3.4.1 by @typelevel-steward in #3058
- Update epollcat to 0.1.2 by @typelevel-steward in #3060
New Contributors
- @jbwheatley made their first contribution in #2884
- @seigert made their first contribution in #3021
- @iRevive made their first contribution in #3026
Full Changelog: v3.3.0...v3.4.0
v3.3.0
This is the first release that supports Scala Native, thanks to @armanbilge! See #2975 for full details & limitations.
An example project built with the new FS2 native support is available here: https://github.com/mpilquist/tcpdump4s
What's Changed
- Scala Native by @armanbilge in #2975
Full Changelog: v3.2.14...v3.3.0
v3.2.14
Bug Fixes
- Fix hanging in
writeWritableon unacked 'end' by @armanbilge in #2972
Full Changelog: v3.2.13...v3.2.14
v3.2.13
Improvements
- Weird interaction between cancelation and interruptWhen by @TimWSpence in #2962
- Short-circuit JS TLS handshake listener if an error event is emitted by @armanbilge in #2965
- Bracket finalizer should be uncancelable by @armanbilge in #2968
- Align the semantics of spawn with the ones of concurrently by @Baccata in #2967
- Prevent socket leaks due to post-open exceptions by @armanbilge in #2971
Upgrades
- Update scalafmt-core to 3.5.9 by @typelevel-steward in #2964
New Contributors
Full Changelog: v3.2.12...v3.2.13
v3.2.12
Fixes
- Node.js Gzip by @armanbilge in #2953
- Optimize
Chunk#toByteVectorwhen backed by aByteBufferby @armanbilge in #2941 - Fix
meteredStartImmediatelyfirst delay timing by @RafalSumislawski in #2946 - Return client
TLSSocketonly after handshake is complete on Node.js by @armanbilge in #2957 - Specialize every
Chunk-to-ByteVectorconversion by @armanbilge in #2956 - Unify ipv4 and ipv6 header parsing and provide shortcut for parsing udp datagrams from a pcap file by @mpilquist in #2954
- Implement insecure
TLSContextfor Node.js by @armanbilge in #2958 - Add ability to have a monotonic time series (fixes #2960) by @mpilquist in #2961
- Add readUtf8 convenience method by @keirlawson in #2955
Updates
- Update sbt-mdoc to 2.3.3 by @typelevel-steward in #2952
- Update testng-7-5 to 3.2.13.0 by @typelevel-steward in #2959
New Contributors
- @RafalSumislawski made their first contribution in #2946
Full Changelog: v3.2.11...v3.2.12
v3.2.11
This release includes a security patch for GHSA-2cpx-6pqp-wf35 in fs2-io.js. It patches a vulnerability where mTLS client verification is skipped in a Node.js TLS server.
Fixes
Documentation
- Update build-site.md guide by @b-vennes in #2945
- Add Hireproof to adopters by @taig in #2947
- Update adopters.md by @pchlupacek in #2951
Updates
- Update sbt-typelevel, sbt-typelevel-site to 0.4.13 by @typelevel-steward in #2948
- Update cats-effect, cats-effect-laws, ... to 3.3.14 by @typelevel-steward in #2944
- Update sbt to 1.7.1 by @typelevel-steward in #2943
New Contributors
Full Changelog: v3.2.10...v3.2.11
v3.2.10
Bug Fixes
- Hide chunk runtime platform traits by @armanbilge in #2938
- Fix bincompat of
PartiallyAppliedFromIteratoron Scala 2.12 by @armanbilge in #2940
Improvements
- Link to uberdoc in README by @armanbilge in #2937
Full Changelog: v3.2.9...v3.2.10