Skip to content

Releases: chmp/serde_arrow

v0.7.1

29 May 10:44
3b0371a
Compare
Choose a tag to compare
  • Fix a bug for unions with unknown variants reported here. Now serde_arrow correctly handles unions during serialization, for which not all variants were encountered during tracing. Serializing unknown variants will result in an error. All variants that are seen during tracing are save to use.

v0.7.0

14 May 15:25
2b37ffb
Compare
Choose a tag to compare
  • Breaking change: add new Item event emitted before list items, tuple items, or map entries

  • Add support for arrow=38 and arrow=39 with the arrow-38 and arrow-39 features

  • Add support for an experimental bytecode serializer that shows speeds of up to 4x. Enable it with

    serde_arrow::experimental::configure(|config| {
        config.serialize_with_bytecode = true;
    });

    This setting is global and used for all calls to serialize_to_array and serialize_to_arrays. At the moment the following features are not supported by the bytecode serializer:

    • nested options (Option<Option<T>>)
    • creating float16 arrays

Thanks

The following people contributed to this release:

Release 0.6.1

11 Apr 19:29
186f50d
Compare
Choose a tag to compare
  • Add support for arrow=37 with the arrow-37 feature

Release 0.6.0

07 Apr 11:42
be0d596
Compare
Choose a tag to compare

Add support for arrow2

Now both arrow and arrow2 are supported. Use the features to select the
relevant version of either crate. E.g., to use serde_arrow with arrow=0.36:

serde_arrow = { version = "0.6", features = ["arrow-36"] }

Deserialization support (arrow2 only)

serde_arrow now supports to deserialize Rust objects from arrays. At the
moment this operation is only support for arrow2. Adding support arrow is
planned.

More flexible support for Rust / Arrow features

serde_arrow now supports many more Rust and Arrow features.

  • Rust: Struct, Lists, Maps, Enums, Tuples
  • Arrow: Struct, List, Maps, Unions, ...

Removal of custom schema APIs

serde_arrow no longer relies on its own schema object. Now all schema
information is retrieved from arrow fields with additional metadata.

More flexible APIs

In addition to the previous API that worked on a sequence of records,
serde_arrow now also supports to operate on a sequence of individual items
(serialize_into_array, deserialize_form_array) and to operate on single
items (ArraysBuilder).

Support for dictionary encoded strings (categories)

serde_arrow supports dictionary encoding for string arrays. This way string
arrays are encoded via a lookup table to avoid including repeated string values.

0.6.0-rc.4

06 Apr 15:10
d48989c
Compare
Choose a tag to compare
0.6.0-rc.4 Pre-release
Pre-release
v0.6.0-rc.4

Release 0.6.0-rc.4

v0.6.0-rc.3

02 Apr 13:33
d2aea2a
Compare
Choose a tag to compare
v0.6.0-rc.3 Pre-release
Pre-release
Update Cargo.toml

Release v0.6.0-rc.2

01 Apr 08:40
Compare
Choose a tag to compare
Release v0.6.0-rc.2 Pre-release
Pre-release
Release 0.6.0-rc.2

v0.6.0-rc.1

25 Mar 12:23
28f8279
Compare
Choose a tag to compare
v0.6.0-rc.1 Pre-release
Pre-release
  • Performance improvements
  • Support for dictionary encoded strings

0.6.0-rc.0

13 Feb 18:40
Compare
Choose a tag to compare
0.6.0-rc.0 Pre-release
Pre-release
  • Almost complete rewrite of serde_arrow using arrow2 as the underlying arrow implementation.
  • Support for the following Rust constructs: nested structs, lists, maps, enums, tuples
  • Support for the following arrow data types: null, bool, int8, int16, int32, int64, uint8, uint16, uint32, uint64, float16, float32, float64, struct, list, map, union, date64
  • Simplified API and removal of own Schema objects. The schema now relies on arrow fields with extra metadata.
  • NOTE: ths release also removes support for the arrow in favor of arrow2