Skip to content

Releases: asemio/SZXX

4.1.3

04 Jan 15:24
Compare
Choose a tag to compare

Fix handling of empty files; usually directories.

3.0.4

04 Jan 15:23
Compare
Choose a tag to compare

Improvement/bugfix backported to v3.x

Fix handling of empty files; usually directories.

4.1.2

02 Jan 15:04
Compare
Choose a tag to compare

Accept strange or unknown ZIP version numbers. This is unusual, but can happen in practice.

3.0.3

02 Jan 15:04
Compare
Choose a tag to compare

Improvement/bugfix backported to v3.x

Accept strange or unknown ZIP version numbers. This is unusual, but can happen in practice.

4.1.1

27 Dec 22:48
Compare
Choose a tag to compare

Accept worksheets with a capital S (SheetX.ml) in their path. This is unusual, but can happen in practice.

3.0.2

27 Dec 22:47
Compare
Choose a tag to compare

Bugfix backported to v3.x

Accept worksheets with a capital S (SheetX.ml) in their path. This is unusual, but can happen in practice.

4.1.0

25 Sep 13:36
Compare
Choose a tag to compare

This release replaces the dependency on Core with Base, greatly reducing the number of transitive dependencies. Base is small enough and only relies on ppx_sexp_conv, making SZXX acceptable to non-Core users.

Breaking changes:

  • Xlsx.parse_date now returns a Ptime.date instead of Core.Date.t
  • Xlsx.parse_datetime now returns a Ptime.t instead of Core.Time_float.t

No other visible changes. Performance is unchanged.

4.0.1

11 Sep 13:35
Compare
Choose a tag to compare

Adds support for Eio 0.12

4.0.0

30 Jul 19:29
Compare
Choose a tag to compare

Welcome to SZXX 4.0.0!

There are too many changes to list them individually. Here are the highlights:

  • v4 is more than 3x faster than v3
  • All 3 modules are now considerably easier to use and less error prone
  • v4 offers stronger memory usage guarantees and lets the user control any and all buffering, precisely

But the most important change is the switch from Lwt to Eio. As such, v3 will continue to receive bug fixes until the majority of the OCaml world has moved from Lwt/Async to Eio.

Every use case can be converted from v3 to v4.

Xlsx

All uses of stream_rows, stream_rows_buffer and stream_rows_unparsed can be expressed in terms of Xlsx.stream_rows_single_pass.
However, if your data is in the form of a file (as opposed to an HTTP stream for example), then the new Xlsx.stream_rows_double_pass is even easier.
Take a look at the README and the mli and you should be able to upgrade fairly painlessly!

Xml

The old low-level functions are still there, albeit moved into nested modules.
The new Xml.parse_document and Xml.stream_matching_elements should suffice for 99.5% of use cases and they are both infinitely friendlier interfaces.
Consider switching over to those two new functions, it will greatly simplify your code. Otherwise just find the new location of the functions you're currently using, by looking in the mli.

Zip

This module is the least changed of the 3. New Zip.Action choices are available, but Zip.stream_files remains essentially the same (except that it's much faster now!)
The new Zip.index_entries and Zip.extract_from_index are often easier, faster and less error prone, but come with the restriction that the Zip file must be a file stored on the disk (not an HTTP stream for example).

3.0.1

07 Jul 14:36
Compare
Choose a tag to compare

Adds support for Core v0.16.0