Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 113 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,118 @@
# Changelog

## [v0.9.0](https://github.com/delta-io/delta-kernel-rs/tree/v0.9.0/) (2025-04-08)

[Full Changelog](https://github.com/delta-io/delta-kernel-rs/compare/v0.8.0...v0.9.0)

### 🏗️ Breaking changes
1. Change `MetadataValue::Number(i32)` to `MetadataValue::Number(i64)` ([#733])
2. Get prefix from offset path: `DefaultEngine::new` no longer requires a `table_root` parameter
and `list_from` consistently returns keys greater than the offset ([#699])
3. Make `snapshot.schema()` return a `SchemaRef` ([#751])
4. Make `visit_expression_internal` private, and `unwrap_kernel_expression` pub(crate) ([#767])
5. Make actions types `pub(crate)` instead of `pub` ([#405])
6. New `null_row` ExpressionHandler API ([#662])
7. Rename enums `ReaderFeatures` -> `ReaderFeature` and `WriterFeatures` -> `WriterFeature` ([#802])
8. Remove `get_` prefix from engine getters ([#804])
9. Rename `FileSystemClient` to `StorageHandler` ([#805])
10. Adopt types for table features (New `ReadFeature::Unknown(String)` and
(`WriterFeature::Unknown(String)`) ([#684])
11. Renamed `ScanData` to `ScanMetadata` ([#817])
- rename `ScanData` to `ScanMetadata`
- rename `Scan::scan_data()` to `Scan::scan_metadata()`
- (ffi) rename `free_kernel_scan_data()` to `free_scan_metadata_iter()`
- (ffi) rename `kernel_scan_data_next()` to `scan_metadata_next()`
- (ffi) rename `visit_scan_data()` to `visit_scan_metadata()`
- (ffi) rename `kernel_scan_data_init()` to `scan_metadata_iter_init()`
- (ffi) rename `KernelScanDataIterator` to `ScanMetadataIterator`
- (ffi) rename `SharedScanDataIterator` to `SharedScanMetadataIterator`
12. `ScanMetadata` is now a struct (instead of tuple) with new `FiltereEngineData` type ([#768])

### 🚀 Features / new APIs

1. (`v2Checkpoint`) Extract & insert sidecar batches in `replay`'s action iterator ([#679])
2. Support the `v2Checkpoint` reader/writer feature ([#685])
3. Add check for whether `appendOnly` table feature is supported or enabled ([#664])
4. Add basic partition pruning support ([#713])
5. Add `DeletionVectors` to supported writer features ([#735])
6. Add writer version 2/invariant table feature support ([#734])
7. Improved pre-signed URL checks ([#760])
8. Add `CheckpointMetadata` action ([#781])
9. Add classic and uuid parquet checkpoint path generation ([#782])
10. New `Snapshot::try_new_from()` API ([#549])

### 🐛 Bug Fixes

1. Return `Error::unsupported` instead of panic in `Scalar::to_array(MapType)` ([#757])
2. Remove 'default-members' in workspace, default to all crates ([#752])
3. Update compilation error and clippy lints for rustc 1.86 ([#800])

### 🚜 Refactor

1. Split up `arrow_expression` module ([#750])
2. Flatten deeply nested match statement ([#756])
3. Simplify predicate evaluation by supporting inversion ([#761])
4. Rename `LogSegment::replay` to `LogSegment::read_actions` ([#766])
5. Extract deduplication logic from `AddRemoveDedupVisitor` into embeddable `FileActionsDeduplicator` ([#769])
6. Move testing helper function to `test_utils` mod ([#794])
7. Rename `_last_checkpoint` from `CheckpointMetadata` to `LastCheckpointHint` ([#789])
8. Use ExpressionTransform instead of adhoc expression traversals ([#803])
9. Extract log replay processing structure into `LogReplayProcessor` trait ([#774])

### 🧪 Testing

1. Add V2 checkpoint read support integration tests ([#690])

### ⚙️ Chores/CI

1. Use maintained action to setup rust toolchain ([#585])

### Other

1. Update HDFS dependencies ([#689])
2. Add .cargo/config.toml with native instruction codegen ([#772])


[#679]: https://github.com/delta-io/delta-kernel-rs/pull/679
[#685]: https://github.com/delta-io/delta-kernel-rs/pull/685
[#689]: https://github.com/delta-io/delta-kernel-rs/pull/689
[#664]: https://github.com/delta-io/delta-kernel-rs/pull/664
[#690]: https://github.com/delta-io/delta-kernel-rs/pull/690
[#713]: https://github.com/delta-io/delta-kernel-rs/pull/713
[#735]: https://github.com/delta-io/delta-kernel-rs/pull/735
[#734]: https://github.com/delta-io/delta-kernel-rs/pull/734
[#733]: https://github.com/delta-io/delta-kernel-rs/pull/733
[#585]: https://github.com/delta-io/delta-kernel-rs/pull/585
[#750]: https://github.com/delta-io/delta-kernel-rs/pull/750
[#756]: https://github.com/delta-io/delta-kernel-rs/pull/756
[#757]: https://github.com/delta-io/delta-kernel-rs/pull/757
[#699]: https://github.com/delta-io/delta-kernel-rs/pull/699
[#752]: https://github.com/delta-io/delta-kernel-rs/pull/752
[#751]: https://github.com/delta-io/delta-kernel-rs/pull/751
[#761]: https://github.com/delta-io/delta-kernel-rs/pull/761
[#760]: https://github.com/delta-io/delta-kernel-rs/pull/760
[#766]: https://github.com/delta-io/delta-kernel-rs/pull/766
[#767]: https://github.com/delta-io/delta-kernel-rs/pull/767
[#405]: https://github.com/delta-io/delta-kernel-rs/pull/405
[#772]: https://github.com/delta-io/delta-kernel-rs/pull/772
[#662]: https://github.com/delta-io/delta-kernel-rs/pull/662
[#769]: https://github.com/delta-io/delta-kernel-rs/pull/769
[#794]: https://github.com/delta-io/delta-kernel-rs/pull/794
[#781]: https://github.com/delta-io/delta-kernel-rs/pull/781
[#789]: https://github.com/delta-io/delta-kernel-rs/pull/789
[#800]: https://github.com/delta-io/delta-kernel-rs/pull/800
[#802]: https://github.com/delta-io/delta-kernel-rs/pull/802
[#803]: https://github.com/delta-io/delta-kernel-rs/pull/803
[#774]: https://github.com/delta-io/delta-kernel-rs/pull/774
[#804]: https://github.com/delta-io/delta-kernel-rs/pull/804
[#782]: https://github.com/delta-io/delta-kernel-rs/pull/782
[#805]: https://github.com/delta-io/delta-kernel-rs/pull/805
[#549]: https://github.com/delta-io/delta-kernel-rs/pull/549
[#684]: https://github.com/delta-io/delta-kernel-rs/pull/684
[#817]: https://github.com/delta-io/delta-kernel-rs/pull/817
[#768]: https://github.com/delta-io/delta-kernel-rs/pull/768


## [v0.8.0](https://github.com/delta-io/delta-kernel-rs/tree/v0.8.0/) (2025-03-04)

[Full Changelog](https://github.com/delta-io/delta-kernel-rs/compare/v0.7.0...v0.8.0)
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ license = "Apache-2.0"
repository = "https://github.com/delta-io/delta-kernel-rs"
readme = "README.md"
rust-version = "1.81"
version = "0.8.0"
version = "0.9.0"

[workspace.dependencies]
object_store = { version = ">=0.11, <0.12" }
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ consumer's own `Engine` trait, the kernel has a feature flag to enable a default
```toml
# fewer dependencies, requires consumer to implement Engine trait.
# allows consumers to implement their own in-memory format
delta_kernel = "0.8.0"
delta_kernel = "0.9.0"

# or turn on the default engine, based on arrow
delta_kernel = { version = "0.8.0", features = ["default-engine"] }
delta_kernel = { version = "0.9.0", features = ["default-engine"] }
```

### Feature flags
Expand Down Expand Up @@ -173,4 +173,4 @@ Some design principles which should be considered:
[cargo-llvm-cov]: https://github.com/taiki-e/cargo-llvm-cov
[FFI]: ffi/
[Arrow]: https://arrow.apache.org/rust/arrow/index.html
[Tokio]: https://tokio.rs/
[Tokio]: https://tokio.rs/
2 changes: 1 addition & 1 deletion ffi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ url = "2"
delta_kernel = { path = "../kernel", default-features = false, features = [
"developer-visibility",
] }
delta_kernel_ffi_macros = { path = "../ffi-proc-macros", version = "0.8.0" }
delta_kernel_ffi_macros = { path = "../ffi-proc-macros", version = "0.9.0" }

[build-dependencies]
cbindgen = "0.28"
Expand Down
2 changes: 1 addition & 1 deletion kernel/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ uuid = { version = "1.10.0", features = ["v4", "fast-rng"] }
z85 = "3.0.5"

# bring in our derive macros
delta_kernel_derive = { path = "../derive-macros", version = "0.8.0" }
delta_kernel_derive = { path = "../derive-macros", version = "0.9.0" }

# used for developer-visibility
visibility = "0.1.1"
Expand Down
Loading