Release 1.0.0
This release is the final release for fs2-data 1.0.0 which brings tese 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 they are availabe 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 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. - Adds the line number in case of CSV error. This can be handy to debug where problems occurred in the data source file.
- Switches from contextual to literally for JSON selector interpolator.
The release is cross-published for Scala 2.12, 2.13, and 3, for both JVM and Scala.js.
All feedback to the new version is very welcome, either via GitHub issue or Gitter.
For a complete list of issues and PRs, see the milestone
This release was brought to you by the following contributors:
$ git shortlog -sn --no-merges v0.10.0..v1.0.0
41 Yannick Heiber
31 Scala Steward
29 Lucas Satabin