Releases: chmp/serde_arrow
v0.7.1
- 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
-
Breaking change: add new
Item
event emitted before list items, tuple items, or map entries -
Add support for
arrow=38
andarrow=39
with thearrow-38
andarrow-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
andserialize_to_arrays
. At the moment the following features are not supported by the bytecode serializer:- nested options (
Option<Option<T>>
) - creating
float16
arrays
- nested options (
Thanks
The following people contributed to this release:
Release 0.6.1
- Add support for
arrow=37
with thearrow-37
feature
Release 0.6.0
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
v0.6.0-rc.4 Release 0.6.0-rc.4
v0.6.0-rc.3
Update Cargo.toml
Release v0.6.0-rc.2
Release 0.6.0-rc.2
v0.6.0-rc.1
- Performance improvements
- Support for dictionary encoded strings
0.6.0-rc.0
- 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