Releases: typelevel/fs2
v3.4.0
Security
- Use
default_tls13
for 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#subscribe
by @armanbilge in #3023 - Add
SignallingRef.lens
by @armanbilge in #3030 - Add
SignallingMapRef
by @armanbilge in #3031
Performance
- Override and short-circuit Chunk.flatten by @CremboC in #2990
- Aggressively short-circuit
processByteOrderMark
to avoid unnecessaryutf8.decode
buffering 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
unchunks
by @armanbilge in #3018 - Copy socket reads into
Array
-backed chunks by @armanbilge in #3044 - Specialize
parEvalMapUnbounded
by @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
ByteVector
for BOMs by @armanbilge in #3020 - Pull - turn "unconsFlatMap" into an extension method. by @diesalbla in #3019
- Minor refactor to
SignallingRef#discrete
by @armanbilge in #3041 - Simplify
holdResource
by @armanbilge in #3038 - Cherry-picked additional tests from #2856 by @djspiewak in #3050
- Disable embedded resources on Native by @armanbilge in #3056
- Prefer
js.BigInt
fs 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#uncons
update Scala doc by @iRevive in #3026- Clarify
Signal#discrete
scaladoc 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-revs
by @armanbilge in #3029 voidError
all 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
writeWritable
on 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#toByteVector
when backed by aByteBuffer
by @armanbilge in #2941 - Fix
meteredStartImmediately
first delay timing by @RafalSumislawski in #2946 - Return client
TLSSocket
only after handshake is complete on Node.js by @armanbilge in #2957 - Specialize every
Chunk
-to-ByteVector
conversion 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
TLSContext
for 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
PartiallyAppliedFromIterator
on 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
v3.2.9
Bug Fixes
- Don't propagate errors into Node.js by @armanbilge in #2926
- Use
interruptible
inwriteOutputStream
by @armanbilge in #2932 - Make
Stream.fromIterator
sync type configurable by @armanbilge in #2933
Build
- Link to javadoc.io unidocs in site by @armanbilge in #2923
Updates
- Update scala-library to 2.12.16 by @typelevel-steward in #2924
- Update sbt-typelevel, sbt-typelevel-site to 0.4.12 by @typelevel-steward in #2925
- Update sbt-scalajs, scalajs-compiler, ... to 1.10.1 by @typelevel-steward in #2934
- Update cats-core, cats-laws to 2.8.0 by @typelevel-steward in #2928
- Update scala3-library, ... to 3.1.3 by @typelevel-steward in #2930
- Update cats-effect, cats-effect-laws, ... to 3.3.13 by @typelevel-steward in #2935
Full Changelog: v3.2.8...v3.2.9
v3.2.8
Features
- Add unidocs artifact by @armanbilge in #2877
- Upgrade sync compiler when runtime constraint is
Async
by @armanbilge in #2898 - Add override for size in
Chunk
instance by @janstenpickle in #2902 - Optimize
Chunk#toByteVector
,Chunk#toBitVector
by @armanbilge in #2907
Bug Fixes
- Fix JS
Path#names
bug by @armanbilge in #2865 - Fix templating of
implicitNotFound
for Compiler by @bplommer in #2871 - Fix unnecessary array copy in Chunk by @RyanPatch646 in #2892
- Fix
Stream#parJoin
for short-circuiting monad transformers by @yakivy in #2895 - Respect FIFO for bounded Channel by @armanbilge in #2922
Refactoring & Tech Debt
- Remove duplicated compilation logic from ops implementations by @bplommer in #2874
- Remove unneeded
>: Pure[x]
bounds in Pull by @bplommer in #2872 - Remove unneeded
F[x] >: Pure[x]
bounds in Stream by @bplommer in #2873 - Deprecate INothing by @mpilquist in #2870
- Change
Pure
toNothing
in Pull by @bplommer in #2876 - Small simplifications to use of types in Pull by @bplommer in #2887
- Switch to a hand-maintained Node.js facade by @armanbilge in #2918
Upgrades
- Update cats-effect, cats-effect-laws, ... to 3.3.10 by @scala-steward in #2869
- Update scalafmt-core to 3.5.0 by @scala-steward in #2867
- Update sbt-scalajs, scalajs-compiler, ... to 1.10.0 by @scala-steward in #2875
- Update cats-effect, cats-effect-laws, ... to 3.3.11 by @scala-steward in #2879
- Update scalafmt-core to 3.5.2 by @scala-steward in #2891
- Update sbt-typelevel, sbt-typelevel-site to 0.4.9 by @scala-steward in #2885
- Update scodec-bits to 1.1.31 by @scala-steward in #2893
- Update scalacheck-effect-munit to 1.0.4 by @scala-steward in #2894
- Update sbt-doctest to 0.10.0 by @scala-steward in #2857
- Update ip4s-core to 3.1.3 by @scala-steward in #2901
- Update cats-effect, cats-effect-laws, ... to 3.3.12 by @scala-steward in #2905
- Update scodec-bits to 1.1.34 by @typelevel-steward in #2920
- Update sbt-typelevel, sbt-typelevel-site to 0.4.11 by @typelevel-steward in #2919
- Update scalafmt-core to 3.5.8 by @typelevel-steward in #2915
- Upgrade scalafmt to 3.5.7 by @mpilquist in #2910
- Update reactive-streams, ... to 1.0.4 by @typelevel-steward in #2913
Doc Updates
- Fix small typo in documentation by @froth in #2881
- Tiny docs correction in guide.md by @davesmith00000 in #2889
- Add On Air Entertainment to adopters by @OnAirEntertainment-Scala in #2897
- Add Permutive to adopters list by @TimWSpence in #2900
- Show
scalaJSLinkerConfig
setting in fs2-io.js docs by @armanbilge in #2906
New Contributors
- @froth made their first contribution in #2881
- @davesmith00000 made their first contribution in #2889
- @RyanPatch646 made their first contribution in #2892
- @yakivy made their first contribution in #2895
- @OnAirEntertainment-Scala made their first contribution in #2897
- @janstenpickle made their first contribution in #2902
- @typelevel-steward made their first contribution in #2920
Full Changelog: v3.2.7...v3.2.8
v2.5.11
Supports Cats Effect 2 and built for Scala 2.12, 2.13, and 3 final.
What's Changed
- Backport #2696 opt-in FHCRC by @armanbilge in #2701
- Setup publishing at s01 for 2.x by @armanbilge in #2878
Full Changelog: v2.5.10...v2.5.11