v1.0.0-RC1
Pre-release
Pre-release
This release is the first release candidate for fs2-data 1.0.0 which brings three main changes:
- Cats Effect 3.0 and fs2 3.0: These libraries are the foundation fs2-data builds on. As some fundamentals have changed significantly, fs2-data had to adjust as well and can now profit from the cleaner type class hierarchy and the performance improvements coming with these major updates. The current 0.10.x will be the last version line that builds against CE 2.x and fs2 2.x.
- More input flexibility: All text-based parsers now build on top of the
CharLikeChunks
, so the boilerplaty conversion of input streams toChar
is now obsolete.Char
,String
and to some extentByte
streams are now supported directly. To cover this change, there's a scalafix migration you can use from this repo directly or wait until the final 1.0.0 that is supposed to have this migration via Scala Steward. - New CSV data types & pipes: The CSV pipes known from the 0.x version of fs2-data work nicely, but for most use cases, several of them had to be combined, leading to more boilerplate than what should be necessary to solve the most common problems the library is used for. So 1.0.0-RC1 introduces a new high-level API on top of the existing (which is moved to
fs2.data.csv.lowlevel
) to provide more concise and easy-to-understand solutions to these. Also, theCsvRow
andRow
are now not separate classes anymore, but type aliases on a more generic implementation calledRowF
. Source compatibility should be given for (almost) all use cases, a scalafix making some pattern more idiomatic on the new API is planned additionally.
In addition, some dependencies have been updated. More small changes are likely come before a final 1.0.0, especially around Scala 3 compatibility and error handling in CSV decoding.
The release is cross-published for Scala 2.12.13 and 2.13.5, for both JVM and Scala.js.
All feedback to the new version is very welcome, either via GitHub issue or Gitter.