Skip to content

Releases: chmp/serde_arrow

0.14.0-rc.1

30 Nov 21:06
bf7262c

Choose a tag to compare

0.14.0-rc.1 Pre-release
Pre-release

This release refactors the implementation for serialization. All serializers now directly implement serde::Serializer instead of a custom trait. There are no breaking changes to the public interface, except for a polish of error messages.

  • Performance improvements:
    • Avoid unncessary allocations in serialization
    • Reserve elements up front
  • Improved error reporting in serialization:
    • The field and data type is now reported more consistently across builders
  • More consistent handling of the serde data model in serialization:
    • Tuple variants, tuple structs can be used where tuples could be used
    • Treat newtype variants as transparents wrappers
    • Struct variants can be used where structs could be used
    • Support tuples, tuple, structs, tuple variants, bytes for FixedSizeList
    • Allow to serialize sequences for structs, similar to tuples
  • Add options to consume the builder ArrayBuilder::into_arrow, ArrayBuilder::into_record_batch, ArrayBuilder::into_marrow that avoid additional allocations for metadata

0.13.7

08 Nov 17:26
d91e164

Choose a tag to compare

0.13.6

06 Sep 10:49

Choose a tag to compare

0.13.5

02 Aug 15:30
13d4766

Choose a tag to compare

  • Add arrow=56 support

0.13.4

09 Jun 09:02
0ebb933

Choose a tag to compare

  • Allow dictionaries with nullable values to be deserialized, if all values are valid

Thanks

The following people contributed to this release:

  • @ryzhyk improved the null checks in dictionary deserialization (#277)

0.13.3

13 Apr 13:41
f42d43c

Choose a tag to compare

  • Fix: Use the correct lower bound for marrow to enable arrow=55

0.13.2

13 Apr 07:58
39e1b4d

Choose a tag to compare

  • Add arrow=55 support
  • Allow primitive to string conversion (#272)
    • Adds the option allow_to_string to TracerOptions to allow numbers, booleans and chars to coerce to strings (false by default)
    • Allows for numbers, booleans and chars to be serialized to strings

Thanks

The following people contributed to this release:

0.13.1

22 Mar 12:13
c403f62

Choose a tag to compare

  • Allow to use enums / unions in nullable structs. The arrow format requires that each child field of a null struct value contains a dummy value. For union fields such dummy values were not supported before. With this release the following dummy values for unions are used:
    • For unions, the first variant is used as a dummy
    • For dictionary encoded strings, the first non-null value is used as a dummy value or an empty string if no values are encountered

Thanks

The following people contributed to this release:

  • @bartek358 discovered that unions in nullable structs are not supported and fixed the implementation in (#265)

0.13.0

02 Mar 16:23
759963b

Choose a tag to compare

  • Migrate internal array abstraction to marrow
    • Breaking change: Dictionary data types no longer support sorting
    • Breaking change: serde_arrow::Error no longer implements From<arrow::error::ArrowError>
    • Breaking change: serde_arrow::Error no longer implements From<arrow2::error::Error>
  • Add support for view types Utf8View, BytesView
  • Add APIs to interact with marorw arrays directly. Allows to use serde_arrow with different arrow versions at the same time.
  • Fix Date64 semantics: use Date64 exclusively for dates, and Timestamp for date times
    • Trace date time strings as Timestamp(Millisecond, tz) with tz either being None or Some("UTC")
    • Remove the UtcAsDate64Str and NaiveAsDate64Str strategies
  • Fix bug in deserialization of sub seconds for Time32 and Time64
  • Fix bug that prevented to deserialize String from Decimal arrays
  • Improve performance when deserializing from sliced arrays
  • Allow to treat deserializers as sequence of deserializers by iterating over them or accessing individual items

Thanks

The following people contributed to this release:

  • @ryzhyk discovered and fixed a bug introduced during refactoring (#261)

0.13.0-rc.2

21 Feb 19:25
91696ae

Choose a tag to compare

0.13.0-rc.2 Pre-release
Pre-release
  • Migrate internal array abstraction to marrow
    • Breaking change: Dictionary data types no longer support sorting
    • Breaking change: serde_arrow::Error no longer implements From<arrow::error::ArrowError>
    • Breaking change: serde_arrow::Error no longer implements From<arrow2::error::Error>
  • Add support for view types Utf8View, BytesView
  • Add APIs to interact with marorw arrays directly
  • Fix Date64 semantics: use Date64 exclusively for dates, and Timestamp for date times
    • Trace date time strings as Timestamp(Millisecond, tz) with tz either being None or Some("UTC")
    • Remove the UtcAsDate64Str and NaiveAsDate64Str strategies
  • Fix bug in deserialization of sub seconds for Time32 and Time64
  • Fix bug that prevented to deserialize String from Decimal arrays
  • Improve performance when deserializing from slide arrays
  • Allow to treat deserializers as sequence of deserializers by iterating over them or accessing individual items

Thanks

The following people contributed to this release:

  • @ryzhyk discovered and fixed a bug introduced during refactoring (#261)