From ae841ea6ff6144b398c0cb7ae3990b8697dab0b4 Mon Sep 17 00:00:00 2001 From: Zach Schuermann Date: Fri, 13 Dec 2024 17:34:42 -0800 Subject: [PATCH] release 0.6.0 (#599) shipping CDF and a number of other improvements! --- CHANGELOG.md | 52 +++++++++++++++++++++++++++++++++++++++++++++-- Cargo.toml | 2 +- README.md | 4 ++-- ffi/Cargo.toml | 2 +- kernel/Cargo.toml | 2 +- 5 files changed, 55 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e5cfbc9b..eb3a3a2b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,66 @@ # Changelog -## unreleased +## [v0.6.0](https://github.com/delta-io/delta-kernel-rs/tree/v0.6.0/) (2024-12-13) -[Full Changelog](https://github.com/delta-io/delta-kernel-rs/compare/v0.5.0...HEAD) +[Full Changelog](https://github.com/delta-io/delta-kernel-rs/compare/v0.5.0...v0.6.0) **API Changes** *Breaking* +1. `Scan::execute` takes an `Arc` now ([#553]) +2. `StructField::physical_name` no longer takes a `ColumnMapping` argument ([#543]) +3. removed `ColumnMappingMode` `Default` implementation ([#562]) +4. Remove lifetime requirement on `Scan::execute` ([#588]) +5. `scan::Scan::predicate` renamed as `physical_predicate` to eliminate ambiguity ([#512]) +6. `scan::log_replay::scan_action_iter` now takes fewer (and different) params. ([#512]) +7. `Expression::Unary`, `Expression::Binary`, and `Expression::Variadic` now wrap a struct of the + same name containing their fields ([#530]) +8. New `Error` variant `Error::ChangeDataFeedIncompatibleSchema` *Additions* +1. Ability to read a table's change data feed with new TableChanges API! See new `table_changes` + module as well as the 'read-table-changes' example ([#597]). Changes include: + - Implement Log Replay for Change Data Feed ([#540]) + - `ScanFile` expression and visitor for CDF ([#546]) + - Resolve deletion vectors to find inserted and removed rows for CDF ([#568]) + - Helper methods for CDF Physical to Logical Transformation ([#579]) + - `TableChangesScan::execute` and end to end testing for CDF ([#580]) + - `TableChangesScan::schema` method to get logical schema ([#589]) +2. Enable relaying log events via FFI ([#542]) **Implemented enhancements:** +- Define an ExpressionTransform trait ([#530]) +- [chore] appease clippy in rustc 1.83 ([#557]) +- Simplify column mapping mode handling ([#543]) +- Adding some more miri tests ([#503]) +- Data skipping correctly handles nested columns and column mapping ([#512]) +- Engines now return FileMeta with correct millisecond timestamps ([#565]) **Fixed bugs:** +- don't use std abs_diff, put it in test_utils instead, run tests with msrv in action ([#596]) +- (CDF) Add fix for sv extension ([#591]) +- minimal CI fixes in arrow integration test and semver check ([#548]) + +[#503]: https://github.com/delta-io/delta-kernel-rs/pull/503 +[#512]: https://github.com/delta-io/delta-kernel-rs/pull/512 +[#530]: https://github.com/delta-io/delta-kernel-rs/pull/530 +[#540]: https://github.com/delta-io/delta-kernel-rs/pull/540 +[#542]: https://github.com/delta-io/delta-kernel-rs/pull/542 +[#543]: https://github.com/delta-io/delta-kernel-rs/pull/543 +[#546]: https://github.com/delta-io/delta-kernel-rs/pull/546 +[#548]: https://github.com/delta-io/delta-kernel-rs/pull/548 +[#553]: https://github.com/delta-io/delta-kernel-rs/pull/553 +[#557]: https://github.com/delta-io/delta-kernel-rs/pull/557 +[#562]: https://github.com/delta-io/delta-kernel-rs/pull/562 +[#565]: https://github.com/delta-io/delta-kernel-rs/pull/565 +[#568]: https://github.com/delta-io/delta-kernel-rs/pull/568 +[#579]: https://github.com/delta-io/delta-kernel-rs/pull/579 +[#580]: https://github.com/delta-io/delta-kernel-rs/pull/580 +[#588]: https://github.com/delta-io/delta-kernel-rs/pull/588 +[#589]: https://github.com/delta-io/delta-kernel-rs/pull/589 +[#591]: https://github.com/delta-io/delta-kernel-rs/pull/591 +[#596]: https://github.com/delta-io/delta-kernel-rs/pull/596 +[#597]: https://github.com/delta-io/delta-kernel-rs/pull/597 ## [v0.5.0](https://github.com/delta-io/delta-kernel-rs/tree/v0.5.0/) (2024-11-26) diff --git a/Cargo.toml b/Cargo.toml index 9118ca7e7..ead0064ca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ license = "Apache-2.0" repository = "https://github.com/delta-io/delta-kernel-rs" readme = "README.md" rust-version = "1.80" -version = "0.5.0" +version = "0.6.0" [workspace.dependencies] arrow = { version = ">=53, <54" } diff --git a/README.md b/README.md index ab7871ef7..2f5565d8f 100644 --- a/README.md +++ b/README.md @@ -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.5" +delta_kernel = "0.6" # or turn on the default engine, based on arrow -delta_kernel = { version = "0.5", features = ["default-engine"] } +delta_kernel = { version = "0.6", features = ["default-engine"] } ``` ### Feature flags diff --git a/ffi/Cargo.toml b/ffi/Cargo.toml index 18e1e535c..08162a505 100644 --- a/ffi/Cargo.toml +++ b/ffi/Cargo.toml @@ -21,7 +21,7 @@ url = "2" delta_kernel = { path = "../kernel", default-features = false, features = [ "developer-visibility", ] } -delta_kernel_ffi_macros = { path = "../ffi-proc-macros", version = "0.5.0" } +delta_kernel_ffi_macros = { path = "../ffi-proc-macros", version = "0.6.0" } # used if we use the default engine to be able to move arrow data into the c-ffi format arrow-schema = { version = "53.0", default-features = false, features = [ diff --git a/kernel/Cargo.toml b/kernel/Cargo.toml index 41e0b7260..a010e0ed7 100644 --- a/kernel/Cargo.toml +++ b/kernel/Cargo.toml @@ -32,7 +32,7 @@ uuid = "1.10.0" z85 = "3.0.5" # bring in our derive macros -delta_kernel_derive = { path = "../derive-macros", version = "0.5.0" } +delta_kernel_derive = { path = "../derive-macros", version = "0.6.0" } # used for developer-visibility visibility = "0.1.1"