Skip to content

Releases: gnieh/fs2-data

Release 1.0.0

27 Jun 11:56
v1.0.0
cd2d8da
Compare
Choose a tag to compare

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 to Char is now obsolete. Char, String and to some extent Byte 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, the CsvRow and Row are now not separate classes anymore, but type aliases on a more generic implementation called RowF. 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

v1.0.0-RC3

03 Jun 16:14
v1.0.0-RC3
7877f88
Compare
Choose a tag to compare
v1.0.0-RC3 Pre-release
Pre-release

This release is the third release candidate for fs2-data 1.0.0 which adds support for Scala 3.

In addition, some dependencies have been updated. More small changes are likely come before a final 1.0.0, especially around Scala 3 compatibility.

The release is cross-published for Scala 2.12.13, 2.13.5, and 3 for both JVM and Scala.js.

All feedback to the new version is very welcome, either via GitHub issue or Gitter.

v1.0.0-RC2

22 Apr 17:41
v1.0.0-RC2
f629533
Compare
Choose a tag to compare
v1.0.0-RC2 Pre-release
Pre-release

This release is the second release candidate for fs2-data 1.0.0 which brings two main changes:

  • 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.

In addition, some dependencies have been updated. More small changes are likely come before a final 1.0.0, especially around Scala 3 compatibility.

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.

v1.0.0-RC1

12 Apr 21:04
efb97ce
Compare
Choose a tag to compare
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 to Char is now obsolete. Char, String and to some extent Byte 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, the CsvRow and Row are now not separate classes anymore, but type aliases on a more generic implementation called RowF. 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.

Release 0.10.0

20 Mar 16:43
v0.10.0
b67ea37
Compare
Choose a tag to compare

This is the last feature release in the 0.x series. From now on, development will be focusing on release 1.0.0, with bug fixes only on this series.

This release contains following changes:

  • General
    • Move tests to GH actions
  • CSV
    • Add support for custom java.time formats (see #129)
  • CBOR
  • Add CBOR module (see #68)

In addition following dependency updates are included:

  • scala 2.13.5/2.12.13
  • sbt 1.4.9
  • scalatest 3.2.6
  • scala-java-time 2.2.0
  • fs2 2.5.3
  • scala-collection-compat 2.4.2
  • sbt-mdoc 2.2.18
  • sbt-scalajs 1.5.0
  • sbt-ci-release 1.5.5

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.9.0..v0.10.0 
    35  Scala Steward
    18  Lucas Satabin
     1  Brandon Brown

Release 0.9.0

09 Nov 18:16
v0.9.0
1642d03
Compare
Choose a tag to compare

This release contains following improvements:

  • General
    • Release from CI (the first CI release can be seen here)
  • CSV
    • Add non failing CSV decoding Pipe (see #72)

In addition following dependency updates are included:

  • sbt-ci-release 1.5.4
  • sbt-mdoc 2.2.11
  • sbt 1.4.2
  • sbt-site 1.4.1
  • scalafmt 2.7.5
  • sbt-scalajs 1.3.0

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 0.8.0..v0.9.0
     8  Scala Steward
     6  Lucas Satabin
     1  Gavin Bisesi

Release 0.8.0

14 Oct 15:05
0.8.0
Compare
Choose a tag to compare

This release contains following improvements:

  • General
    • Switch to sbt due to recurring problems with mill (see #59)
    • Add support for Scala.JS (except for JSON interpolators) (see #63)
    • Consistently emit currently accumulated tokens in case of error (see #38 and #41)
  • JSON
    • Add a DSL for JSON selectors (see #43)
    • Add mandatory field selector (see #37)
    • New transformation Pipes (see #49)
    • Add JSON stream wrappers (see #60)
    • Add selection context to errors (see #66)
  • CSV
    • Add customization for quote handling (see #50)
    • Add consistency check between row and header sizes (see #52)
    • Add specific exception when header size mismatches (see #54)
    • Add hints for missing CSV encoders and decoders implicits (see #36)

In addition following dependency updates are included:

  • scalafmt 2.7.4
  • sbt 1.4.0
  • diffson 4.0.3

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 0.7.0..0.8.0
    13  Lucas Satabin
     6  Daniel Robert
     4  Scala Steward
     3  Carlos Quiroz
     1  Gavin Bisesi
     1  Yannick Heiber

Release 0.7.0

12 Jun 17:00
0.7.0
Compare
Choose a tag to compare

This release brings various improvements to the library:

  • General
    • A website with full documentation and examples
    • use of RaiseThrowable instead of ApplicativeError in the pipe signatures (see #22)
  • CSV
    • CSV encoders to write back your transformed CSV to a file (see #29)
    • Better CSV decoder documentation and easier API to make it easier for newcomers to use them (see #26)
  • JSON
    • More JSON utilities, including pretty printers (see #27)

For a complete list of merged PR, see the milestone

This release was brought to you by these contributors:

$ git shortlog -sn --no-merges 0.6.1..0.7.0
    26  Lucas Satabin
     9  Yannick Heiber
     2  Andrew W
     1  Andrew Ward
     1  ybasket

Version 0.6.1

06 May 16:14
0.6.1
0fefd5d
Compare
Choose a tag to compare

Bugfix release, fixing a bug with @CsvName annotation on optional fields (#21)

Version 0.6.0

18 Apr 09:00
0.6.0
Compare
Choose a tag to compare

Main changes:

  • Improves a lot the generic derivation tools for CSV
    • Automatic derivation (#14)
    • CSV row name renaming (#13)
    • Improved handling of CSV headers (#16)
  • Adds support for stream application of JSON Merge Patches (#17)

Also includes some benchmarks.

Thanks @ybasket for these awesome contributions.