All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.11.5 - 2024-12-02
- update Cargo.lock dependencies
- (deps) bump syn from 2.0.89 to 2.0.90 (#291)
0.11.4 - 2024-11-28
- (deps) bump bytes from 1.8.0 to 1.9.0 (#288)
- move more bounds to the associated type position (#289)
- fix some 1.83 clippy lints (#287)
- (deps) bump proc-macro2 from 1.0.91 to 1.0.92 (#283)
- (deps) bump syn from 2.0.87 to 2.0.89 (#284)
- (deps) bump MarcoIeni/release-plz-action from 0.5.84 to 0.5.85 (#285)
0.11.3 - 2024-11-21
- (deps) bump the arrow group with 5 updates (#281)
- (deps) bump proc-macro2 from 1.0.89 to 1.0.91 (#282)
- (deps) bump codecov/codecov-action from 4 to 5 (#280)
- (deps) bump MarcoIeni/release-plz-action from 0.5.83 to 0.5.84 (#279)
- (release) update release-plz config (#276)
0.11.2 - 2024-11-11
- (ci) use GitHub app token in release workflow (#275)
- use
release-plz
(#273) - (ci) merge some rust jobs (#272)
- Simplified type signatures related to
ArrayType::Array
- 1 commit contributed to the release.
- 22 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #269
- bump the arrow group with 5 updates
- 1 commit contributed to the release.
- 8 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #239
- add
data_type
method toarrow-rs
Array
extension trait
- project struct array fields in
arrow
conversion
- 2 commits contributed to the release.
- 10 days passed between releases.
- 2 commits were understood as conventional.
- 2 unique issues were worked on: #253, #254
view details
- support
arrow
conversion ofLogicalArray
toGenericListArray
- 1 commit contributed to the release.
- 8 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #251
- impl
LogicalArrayType
forVariableSizeBinary
to fixIntoIterator
when used inStructArray
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #248
view details
- add
IntoIterator
forVariableSizeBinaryArray
- 1 commit contributed to the release.
- 5 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #247
- Add function to
StructArray
that returns the Arrow schema
- 1 commit contributed to the release.
- 1 day passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #245
- impl
Clone
forNullable
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #243
- impl
Clone
for arrays - add
ArrayType
impl forBox<T>
- 2 commits contributed to the release.
- 1 day passed between releases.
- 2 commits were understood as conventional.
- 2 unique issues were worked on: #238, #242
- add
dyn arrow_array::Array
conversions for union arrays
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #232
- add
NaiveDate
andTimeDelta
fromchrono
- 1 commit contributed to the release.
- 17 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #230
- add
map
feature with logical array support forHashMap
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #223
- add
chrono
feature
- 1 commit contributed to the release.
- 9 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #167
- convert to nullable arrays from
arrow-rs
arrays without null buffers
- 1 commit contributed to the release.
- 41 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #218
- add more missing
ArrayType
implementations
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #193
- add
ArrayType
forVec<Option<T>>
and fixOption<Vec<Option<T>>>
impl
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #192
- Add support for variable size binary interop with arrow-rs
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #191
- return
Large
variants of datatypes inarrow::Array::as_field
- 1 commit contributed to the release.
- 11 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #190
- 1.79 warning
- 1 commit contributed to the release.
- 3 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #188
- Implement
IntoIterator
forVariableSizeListArray
- 1 commit contributed to the release.
- 2 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #186
- implement
IntoIterator
forUnionArray
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #184
- docs.rs defines
--cfg=docsrs
by default
- implement
IntoIterator
forFixedSizeListArray
- clean up
arrow-rs
interopFixedSizeBinaryArray
impls and tests
- fix
union
arrayarrow-rs
conversion
- 4 commits contributed to the release.
- 49 days passed between releases.
- 4 commits were understood as conventional.
- 4 unique issues were worked on: #166, #176, #178, #179
view details
- remove unused
IndexMut
trait
- add
FixedSizeBinaryArray
and use it forUuid
- 2 commits contributed to the release.
- 72 days passed between releases.
- 2 commits were understood as conventional.
- 2 unique issues were worked on: #155, #171
view details
- add parquet write support for
UnionArray
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #149
- add
arrow
NullArray
interop
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #147
- add
UnionArray
- 1 commit contributed to the release.
- 5 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #146
- update
UuidArray
's documentation
- 1 commit contributed to the release.
- 1 day passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #144
-
LogicalArray
to support logical types
- 1 commit contributed to the release.
- 7 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #124
- fix clippy 1.75.0 warnings Fixes new 1.75.0 clippy warnings.
- enable more lints
- convert
StructArray
fromarrow_array::StructArray
This enables roundtripping through a parquet file. - convert
StructArray
fromarrow_array::StructArray
- add
arrow-rs
interop support forFixedSizeListArray
Adds support for interop betweennarrow::array::FixedSizeListArray
andarrow_array::FixedSizeListArray
. - add
arrow-rs
interop support forFixedSizeListArray
- add
FixedSizeListArray
- add non-nullable to nullable conversion
- bound on
ArrayType
implementation for arrays TheFixedSize
bound was used when arrays were stored inFixedSizePrimitiveArray
. - clippy warning
- remove comment
- remove
FixedSize
impl for tuple - offset extend impl for nullable data For nullable data it should also flatten the option iterator.
- offset extend impl for nullable data
-
add
arrow-rs
features for buffer and array interop Adds interop witharrow-rs
. The addedparquet
example demonstrates what this enables. -
add
FixedSizeListArray
-
add
OffsetElement
andUnionType
to theArray
GAT ofArrayType
This adds generics for offset element type (i32
ori64
) and union layout (sparse or dense) to theArray
type constructor of theArrayType
trait.This is not ideal without default types for the generics in a generic associated type, but the alternatives are worse (making
ArrayType
generic over these types with defaults). -
add
OffsetElement
andUnionType
to theArray
GAT ofArrayType
-
add item associated type to
Unit
trait To support usingNullArray
for unit variants of enums inUnionArrays
, this adds anItem
associated type to theUnit
trait, which converts into the type implementingUnit
, allowing code generation of types for unit enum variants which implementUnit
and convert to instances of the variants of the original enum. -
add item associated type to
Unit
trait
- 52 commits contributed to the release.
- 173 days passed between releases.
- 20 commits were understood as conventional.
- 11 unique issues were worked on: #100, #102, #107, #108, #109, #110, #117, #118, #123, #136, #98
view details
- #100
- Add
arrow-rs
features for buffer and array interop (374aedf
)
- Add
- #102
- Add non-nullable to nullable conversion (
bfc1399
)
- Add non-nullable to nullable conversion (
- #107
- Add
Index
trait (fa91089
)
- Add
- #108
- Add item associated type to
Unit
trait (7db53c2
)
- Add item associated type to
- #109
- Add
OffsetElement
andUnionType
to theArray
GAT ofArrayType
(3b60bbe
)
- Add
- #110
- Add
FixedSizeListArray
(36b2343
)
- Add
- #117
- Add
arrow-rs
interop support forFixedSizeListArray
(b5210c7
)
- Add
- #118
- Convert
StructArray
fromarrow_array::StructArray
(fcb49b3
)
- Convert
- #123
- Bound on
ArrayType
implementation for arrays (fabc404
)
- Bound on
- #136
- Fix clippy 1.75.0 warnings (
117a4f3
)
- Fix clippy 1.75.0 warnings (
- #98
- Offset extend impl for nullable data (
10aacdf
)
- Offset extend impl for nullable data (
- Uncategorized
- Convert
StructArray
fromarrow_array::StructArray
(b4c49b0
) - Add missing tests (
6c703bd
) - Clippy warning (
54eda3c
) - Add
arrow-rs
interop support forFixedSizeListArray
(b4d4038
) - Add direct
RecordBatch
conversion forStructArray
(8f0c5b2
) - Remove a comment (
d9c076f
) - Add parquet example (
094f3a0
) - Generalize more string array methods (
bc0f459
) - Generalize stringarray extend impl (
66b4970
) - Split out implementations and add more tests (
ea99db7
) - Fix some clippy warnings (
25c7367
) - Change interaction with
ArrowNativeType
(6c43438
) - Merge branch 'main' into arrow-array (
8ee0a2c
) - Add nested test (
63c6e8d
) - Add
IntoIterator
implementation, changeArrayType
for[T: FixedSize; N]
(b631643
) - Add
FixedSizeListArray
(e84f00c
) - Add
OffsetElement
andUnionType
to theArray
GAT ofArrayType
(a3613c5
) - Add item associated type to
Unit
trait (3a7f327
) - Fix docs (
d440189
) - Use
ArrayBuffer<1>
forSingleBuffer
(34db73e
) - Add indexing to
Offset
(a84ee37
) - Add
Index
trait (97747b5
) - Remove comment (
59cdb4a
) - Enable more lints (
11c8970
) - Merge branch 'main' into arrow-array (
8ddf760
) - Add non-nullable to nullable conversion (
11f75e0
) - Add
BooleanArray
conversion (21547b1
) - Rename feature to
arrow-rs
(afbb962
) - Move
arrow-rs
interop toarrow
module (e39ad3b
) - Fix warning (
c5c09f0
) - Merge branch 'main' into arrow-array (
42ba214
) - Remove
FixedSize
impl for tuple (b6b922c
) - Implicit conversion to
ArrowBuffer
fromVecBuffer
is now supported (9494ce2
) - Merge branch 'main' into arrow-array (
bdb17bc
) - Add
BufferType
implementation forarrow_buffer::ScalarBuffer
(44e3567
) - Make conversion generic over buffer type (
e2b40f1
) - Add
arrow-array
feature for zero-copy array interop (26e746c
) - Use
BufferBuilder
abstraction (7b5dab9
) - Offset extend impl for nullable data (
60fb809
) - Some fixes and tests (
3cfe877
) - Setup
arrow-buffer
interop (4d0d333
)
- Convert
-
ArrayType
derive for named structs#[derive(ArrayType, Default)] struct Bar<T> { a: u32, b: Option<bool>, c: T, } let input = [ Some(Bar { a: 1, b: Some(false), c: None, }), None, Some(Bar { a: 2, b: None, c: Some(()), }), ]; let array = input.into_iter().collect::<StructArray<Bar<_>, true>>(); assert_eq!(array.len(), 3); assert_eq!(array.is_valid(0), Some(true)); assert_eq!(array.is_null(1), Some(true)); assert_eq!(array.is_valid(2), Some(true)); let int_array = &array.0.as_ref().a; assert_eq!(int_array.0.as_slice(), &[1, Default::default(), 2]); let bool_array = &array.0.as_ref().b; assert_eq!( bool_array.into_iter().collect::<Vec<_>>(), &[Some(false), None, None] ); let null_array = &array.0.as_ref().c; assert_eq!(null_array.is_null(0), Some(true)); assert_eq!(null_array.is_null(1), Some(true)); assert_eq!(null_array.is_valid(2), Some(true)); let input = [ Some(Bar { a: 1, b: None, c: false, }), None, ]; let array = input.into_iter().collect::<StructArray<Bar<_>, true>>(); assert_eq!(array.len(), 2);
- 3 commits contributed to the release.
- 4 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #82
view details
-
ArrayType
derive for tuple structs#[derive(ArrayType, Default)] struct Foo<'a>(u32, u16, &'a str); #[derive(ArrayType, Default)] struct Bar<'a>(Foo<'a>); #[derive(ArrayType, Default)] struct FooBar<'a, T>(Bar<'a>, T); let input = [ FooBar(Bar(Foo(1, 2, "n")), false), FooBar(Bar(Foo(1, 2, "arrow")), false), ]; let array = input.into_iter().collect::<StructArray<FooBar<_>>>(); assert_eq!(array.len(), 2); let input = vec![ Some(vec![Some(FooBar(Bar(Foo(42, 0, "!"), 1234))]), None, Some(vec![None]), Some(vec![None, None]), ]; let array = input .into_iter() .collect::<VariableSizeListArray<StructArray<FooBar<_>, true>, true>>(); assert_eq!(array.len(), 4);
-
ArrayType
derive for tuple structs
- 2 commits contributed to the release.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #80
view details
-
ArrayType
derive for unit structs Add support to deriveArrayType
for unit structs:#[derive(ArrayType, Copy, Clone, Default)] struct Foo; let array = [Foo; 5].into_iter().collect::<StructArray<Foo>>(); assert_eq!(array.len(), 5); let array = [Some(Foo); 5].into_iter().collect::<StructArray<Foo, true>>(); assert_eq!(array.len(), 5); assert!(array.all_valid());
-
ArrayType
derive for unit structs
- 3 commits contributed to the release.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #79
view details
- fix gh release
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Fix gh release (
17bf994
)
- Fix gh release (
- update
Validity
docs - update
Validity
docs
- add
BufferRef
andBufferRefMut
impls forBooleanArray
- 3 commits contributed to the release.
- 3 commits were understood as conventional.
- 1 unique issue was worked on: #77
view details
- rename buffer generic of
Nullable
to match other generic buffers - add missing
BitmapRef
,BitmapRefMut
andValidityBitmap
implementations When arrays are nullable they should provide access to the validity bitmap and the methods of theValidityBitmap
trait to get nullability information. - add missing
BitmapRef
,BitmapRefMut
andValidityBitmap
implementations
-
FromIterator
forVariableSizeListArray
with nullable child array -
FromIterator
for nested nullableVariableSizeListArray
- 5 commits contributed to the release.
- 5 commits were understood as conventional.
- 1 unique issue was worked on: #74
view details
- remove some comments
- specify derive crate version to fix publish
- 62 commits contributed to the release.
- 726 days passed between releases.
- 2 commits were understood as conventional.
- 2 unique issues were worked on: #69, #70
view details
- #69
- Remove some comments (
3cbea45
)
- Remove some comments (
- #70
- Specify derive crate version to fix publish (
f244d3a
)
- Specify derive crate version to fix publish (
- Uncategorized
- Specify derive crate version to fix publish (
e192fd5
) - Remove some comments (
048f330
) - Merge #62 (
5deccd3
) - Fix clippy warning (
9b7b2e6
) - Clean up (
b5a048f
) - Update arrays with different offset implementation. Data no longer gets default values for nulls. (
c646637
) - A different offset abstraction (
195c1e9
) - Add variable size list array (
299a9c3
) - Add more array types (
9d5a01f
) - Add
BooleanArray
(f121d15
) - Drop
FixedSize
impl for tuples with more than 1 field (1fdf1ab
) - Change
someall things (952ccf0
) - Merge #60 (
35b199c
) - Fix clippy warning (
d76f69d
) - Merge #54 (
65f518a
) - Add
ValidityBitmap::validity_bitmap_mut
and improve test (aea75f2
) - Add some flexibility to
Nullable
(4949c03
) - Merge #53 (
411b13d
) - Implement
ArrayType
forstr
(6824595
) - Merge #50 (
8edbfdc
) - Add RunEndEncoded array (
804f552
) - Merge #49 (
7ba4008
) - Address review comments (
f8d4f64
) - Cargo clippy (
fe182c7
) - Impl ValidityBitmap from StringArray (
19ae85c
) - Merge #47 (
f4e88e6
) - Fix formatting (
18cf56a
) - Fix more clippy warnings (
958d948
) - Fix clippy warnings (
0d5ebd4
) - Merge #44 (
747d40c
) - Add logo to rustdoc (
cc0735e
) - Merge #40 (
69d6758
) - Add bitmap buffer trait bound (
a2b1ac1
) - Compile using stable Rust (
74cdd1f
) - Merge #37 (
80ae645
) - The feature
generic_associated_types
has been stable since 1.66.0-nightly (65206cb
) - Merge #36 (
e43cb5b
) - Fix clippy warnings (
280e4b8
) - Merge #35 (
34c4399
) - Add Nullable and Validity (
9a29600
) - Merge #34 (
9582618
) - Add offset to Bitmap for zero-copy slicing on non-byte boundaries (
b663f01
) - Merge #28 (
51ac77b
) - Remove stuff from previous iteration (
2eab5f1
) - Remove Primitive impl for usize and isize (
17316be
) - Fix unresolved doc link to Offset (
4b81186
) - Starting afresh (
aa7f5c2
) - Merge #26 (
474f797
) - Fix ArrayType impl for Rust array types (
c170c3d
) - Merge #25 (
15a77e7
) - Remove bitvec dependency (
e97195f
) - Merge #24 (
6ae74be
) - Fix Bitmap storage to match Arrow specification (
543e8b2
) - Merge #21 (
56ba436
) - Fix unused_must_use warning (
08d2918
) - Drop Clone bound for IntoIterator impl for NullArray (
0b2fb93
) - Fix clippy::len-without-is-empty for NullArray (
7b84230
) - Modify NullArray to support Array derive for unit structs (
e69d915
) - Merge #20 (
1649196
) - Migrate to 2021 edition (
60d723d
)
- Specify derive crate version to fix publish (
- 16 commits contributed to the release.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Merge #11 (
4c4ead6
) - Merge #12 (
60fe6a9
) - Include dictionary module (
c87977d
) - Add DictionaryArray (
6824088
) - Add some comments (
eccdee3
) - Add NullArray and UnionArray (
ccd93d3
) - Fix Clippy warning (
6fa88e9
) - Add string array wrapper (
baecd70
) - Implement iterators for variable size array types (
4f6e177
) - Add more Array types (
02b9400
) - Vec makes no guarantees about its memory layout (
a95d324
) - Add VariableSizeBinaryArray (
916b520
) - Add FixedSizeArray and BooleanArray (
39e38f9
) - Add Offset (
b02eb45
) - Add Buffer, Bitmap, Nullable and Validity (
7d9df27
) - Setup packages (
355b72c
)
- Merge #11 (