Skip to content

release 0.14.0 #1138

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 1, 2025
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
87 changes: 87 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,92 @@
# Changelog

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

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

### 🏗️ Breaking changes
1. Removed Table APIs: instead use `Snapshot` and `Transaction` directly. ([#976])
2. Add support for Variant type and the variantType table feature (new `DataType::Variant` enum
variant and new `variantType-preview` and `variantShredding` Reader/Writer features) ([#1015])
3. Expose post commit stats. Now, in `Transaction::commit` the `Committed` variant of the enum
includes a `post_commit_stats` field with info about the commits since checkpoint and log
compaction. ([#1079])
4. Replace `Transaction::with_commit_info()` API with `with_engine_info()` API ([#997])
5. Removed `DataType::decimal_unchecked` API ([#1087])
6. `make_physical` takes column mapping and sets parquet field ids. breaking: (1)
`StructField::make_physical` is now an internal_api instead of a public function. Its signature
has also changed. And (2) If `ColumnMappingMode` is `None`, then the physical schema's name is
the logical name. Previously, kernel would unconditionally use the column mapping physical name,
even if column mapping mode is none. ([#1082])

### 🚀 Features / new APIs

1. *(ffi)* Added default-engine-rustls feature and extern "C" for .h file ([#1023])
2. Add log segment constructor for timestamp to version conversion ([#895])
3. Expose unshredded variant type as `DataType::unshredded_variant()` ([#1086])
4. New ffi API for `get_domain_metadata()` ([#1041])
5. Add append functions to ffi ([#962])
6. Add try_new and `IntoEngineData` for Metadata action ([#1122])

### 🐛 Bug Fixes

1. Rename object_store PutMultipartOpts ([#1071], [#1090])
2. Use object_store >= 0.12.3 for arrow 55 feature ([#1117])
3. VARIANT follow-ups for SchemaTransform etc ([#1106])

### 🚜 Refactor

1. Downgrade stale `_last_checkpoint` log from `warn!` to `info!` ([#777])
2. Exclude `tests/data` from release ([#1092])
3. Deny panics in prod code ([#1113])

### 🧪 Testing

1. Add derive macro tests ([#514])
2. Add unshredded variant read test ([#1088])
3. *(ffi)* `AllocateErrorFn` should be able to allocate a nullptr ([#1105])
4. Assert tests on error message instead of `is_err()` ([#1110])

### ⚙️ Chores/CI

1. Expose Snapshot and ListedLogFiles constructors behind internal api flag ([#1076])
2. Only semver check released crates ([#1101])

### Other

1. Fix typos in README ([#1093])
2. Fix typos in docstrings ([#1118])


[#1023]: https://github.com/delta-io/delta-kernel-rs/pull/1023
[#976]: https://github.com/delta-io/delta-kernel-rs/pull/976
[#1071]: https://github.com/delta-io/delta-kernel-rs/pull/1071
[#1076]: https://github.com/delta-io/delta-kernel-rs/pull/1076
[#1015]: https://github.com/delta-io/delta-kernel-rs/pull/1015
[#1079]: https://github.com/delta-io/delta-kernel-rs/pull/1079
[#514]: https://github.com/delta-io/delta-kernel-rs/pull/514
[#777]: https://github.com/delta-io/delta-kernel-rs/pull/777
[#895]: https://github.com/delta-io/delta-kernel-rs/pull/895
[#997]: https://github.com/delta-io/delta-kernel-rs/pull/997
[#1086]: https://github.com/delta-io/delta-kernel-rs/pull/1086
[#1090]: https://github.com/delta-io/delta-kernel-rs/pull/1090
[#1088]: https://github.com/delta-io/delta-kernel-rs/pull/1088
[#1093]: https://github.com/delta-io/delta-kernel-rs/pull/1093
[#1092]: https://github.com/delta-io/delta-kernel-rs/pull/1092
[#1087]: https://github.com/delta-io/delta-kernel-rs/pull/1087
[#1041]: https://github.com/delta-io/delta-kernel-rs/pull/1041
[#1101]: https://github.com/delta-io/delta-kernel-rs/pull/1101
[#1113]: https://github.com/delta-io/delta-kernel-rs/pull/1113
[#1105]: https://github.com/delta-io/delta-kernel-rs/pull/1105
[#1117]: https://github.com/delta-io/delta-kernel-rs/pull/1117
[#1118]: https://github.com/delta-io/delta-kernel-rs/pull/1118
[#1106]: https://github.com/delta-io/delta-kernel-rs/pull/1106
[#962]: https://github.com/delta-io/delta-kernel-rs/pull/962
[#1122]: https://github.com/delta-io/delta-kernel-rs/pull/1122
[#1110]: https://github.com/delta-io/delta-kernel-rs/pull/1110
[#1082]: https://github.com/delta-io/delta-kernel-rs/pull/1082


## [v0.13.0](https://github.com/delta-io/delta-kernel-rs/tree/v0.13.0/) (2025-07-11)

[Full Changelog](https://github.com/delta-io/delta-kernel-rs/compare/v0.12.1...v0.13.0)
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ license = "Apache-2.0"
repository = "https://github.com/delta-io/delta-kernel-rs"
readme = "README.md"
rust-version = "1.82"
version = "0.13.0"
version = "0.14.0"
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,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.13.0"
delta_kernel = "0.14.0"

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

### Feature flags
Expand Down
2 changes: 1 addition & 1 deletion ffi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ url = "2"
delta_kernel = { path = "../kernel", default-features = false, features = [
"internal-api",
] }
delta_kernel_ffi_macros = { path = "../ffi-proc-macros", version = "0.13.0" }
delta_kernel_ffi_macros = { path = "../ffi-proc-macros", version = "0.14.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 @@ -39,7 +39,7 @@ pre-release-hook = [
]

[dependencies]
delta_kernel_derive = { path = "../derive-macros", version = "0.13.0" }
delta_kernel_derive = { path = "../derive-macros", version = "0.14.0" }
bytes = "1.10"
chrono = "0.4.40"
indexmap = "2.9.0"
Expand Down
Loading