|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## [v0.9.0](https://github.com/delta-io/delta-kernel-rs/tree/v0.9.0/) (2025-04-08) |
| 4 | + |
| 5 | +[Full Changelog](https://github.com/delta-io/delta-kernel-rs/compare/v0.8.0...v0.9.0) |
| 6 | + |
| 7 | +### 🏗️ Breaking changes |
| 8 | +1. Change `MetadataValue::Number(i32)` to `MetadataValue::Number(i64)` ([#733]) |
| 9 | +2. Get prefix from offset path: `DefaultEngine::new` no longer requires a `table_root` parameter |
| 10 | + and `list_from` consistently returns keys greater than the offset ([#699]) |
| 11 | +3. Make `snapshot.schema()` return a `SchemaRef` ([#751]) |
| 12 | +4. Make `visit_expression_internal` private, and `unwrap_kernel_expression` pub(crate) ([#767]) |
| 13 | +5. Make actions types `pub(crate)` instead of `pub` ([#405]) |
| 14 | +6. New `null_row` ExpressionHandler API ([#662]) |
| 15 | +7. Rename enums `ReaderFeatures` -> `ReaderFeature` and `WriterFeatures` -> `WriterFeature` ([#802]) |
| 16 | +8. Remove `get_` prefix from engine getters ([#804]) |
| 17 | +9. Rename `FileSystemClient` to `StorageHandler` ([#805]) |
| 18 | +10. Adopt types for table features (New `ReadFeature::Unknown(String)` and |
| 19 | + (`WriterFeature::Unknown(String)`) ([#684]) |
| 20 | +11. Renamed `ScanData` to `ScanMetadata` ([#817]) |
| 21 | + - rename `ScanData` to `ScanMetadata` |
| 22 | + - rename `Scan::scan_data()` to `Scan::scan_metadata()` |
| 23 | + - (ffi) rename `free_kernel_scan_data()` to `free_scan_metadata_iter()` |
| 24 | + - (ffi) rename `kernel_scan_data_next()` to `scan_metadata_next()` |
| 25 | + - (ffi) rename `visit_scan_data()` to `visit_scan_metadata()` |
| 26 | + - (ffi) rename `kernel_scan_data_init()` to `scan_metadata_iter_init()` |
| 27 | + - (ffi) rename `KernelScanDataIterator` to `ScanMetadataIterator` |
| 28 | + - (ffi) rename `SharedScanDataIterator` to `SharedScanMetadataIterator` |
| 29 | +12. `ScanMetadata` is now a struct (instead of tuple) with new `FiltereEngineData` type ([#768]) |
| 30 | + |
| 31 | +### 🚀 Features / new APIs |
| 32 | + |
| 33 | +1. (`v2Checkpoint`) Extract & insert sidecar batches in `replay`'s action iterator ([#679]) |
| 34 | +2. Support the `v2Checkpoint` reader/writer feature ([#685]) |
| 35 | +3. Add check for whether `appendOnly` table feature is supported or enabled ([#664]) |
| 36 | +4. Add basic partition pruning support ([#713]) |
| 37 | +5. Add `DeletionVectors` to supported writer features ([#735]) |
| 38 | +6. Add writer version 2/invariant table feature support ([#734]) |
| 39 | +7. Improved pre-signed URL checks ([#760]) |
| 40 | +8. Add `CheckpointMetadata` action ([#781]) |
| 41 | +9. Add classic and uuid parquet checkpoint path generation ([#782]) |
| 42 | +10. New `Snapshot::try_new_from()` API ([#549]) |
| 43 | + |
| 44 | +### 🐛 Bug Fixes |
| 45 | + |
| 46 | +1. Return `Error::unsupported` instead of panic in `Scalar::to_array(MapType)` ([#757]) |
| 47 | +2. Remove 'default-members' in workspace, default to all crates ([#752]) |
| 48 | +3. Update compilation error and clippy lints for rustc 1.86 ([#800]) |
| 49 | + |
| 50 | +### 🚜 Refactor |
| 51 | + |
| 52 | +1. Split up `arrow_expression` module ([#750]) |
| 53 | +2. Flatten deeply nested match statement ([#756]) |
| 54 | +3. Simplify predicate evaluation by supporting inversion ([#761]) |
| 55 | +4. Rename `LogSegment::replay` to `LogSegment::read_actions` ([#766]) |
| 56 | +5. Extract deduplication logic from `AddRemoveDedupVisitor` into embeddable `FileActionsDeduplicator` ([#769]) |
| 57 | +6. Move testing helper function to `test_utils` mod ([#794]) |
| 58 | +7. Rename `_last_checkpoint` from `CheckpointMetadata` to `LastCheckpointHint` ([#789]) |
| 59 | +8. Use ExpressionTransform instead of adhoc expression traversals ([#803]) |
| 60 | +9. Extract log replay processing structure into `LogReplayProcessor` trait ([#774]) |
| 61 | + |
| 62 | +### 🧪 Testing |
| 63 | + |
| 64 | +1. Add V2 checkpoint read support integration tests ([#690]) |
| 65 | + |
| 66 | +### ⚙️ Chores/CI |
| 67 | + |
| 68 | +1. Use maintained action to setup rust toolchain ([#585]) |
| 69 | + |
| 70 | +### Other |
| 71 | + |
| 72 | +1. Update HDFS dependencies ([#689]) |
| 73 | +2. Add .cargo/config.toml with native instruction codegen ([#772]) |
| 74 | + |
| 75 | + |
| 76 | +[#679]: https://github.com/delta-io/delta-kernel-rs/pull/679 |
| 77 | +[#685]: https://github.com/delta-io/delta-kernel-rs/pull/685 |
| 78 | +[#689]: https://github.com/delta-io/delta-kernel-rs/pull/689 |
| 79 | +[#664]: https://github.com/delta-io/delta-kernel-rs/pull/664 |
| 80 | +[#690]: https://github.com/delta-io/delta-kernel-rs/pull/690 |
| 81 | +[#713]: https://github.com/delta-io/delta-kernel-rs/pull/713 |
| 82 | +[#735]: https://github.com/delta-io/delta-kernel-rs/pull/735 |
| 83 | +[#734]: https://github.com/delta-io/delta-kernel-rs/pull/734 |
| 84 | +[#733]: https://github.com/delta-io/delta-kernel-rs/pull/733 |
| 85 | +[#585]: https://github.com/delta-io/delta-kernel-rs/pull/585 |
| 86 | +[#750]: https://github.com/delta-io/delta-kernel-rs/pull/750 |
| 87 | +[#756]: https://github.com/delta-io/delta-kernel-rs/pull/756 |
| 88 | +[#757]: https://github.com/delta-io/delta-kernel-rs/pull/757 |
| 89 | +[#699]: https://github.com/delta-io/delta-kernel-rs/pull/699 |
| 90 | +[#752]: https://github.com/delta-io/delta-kernel-rs/pull/752 |
| 91 | +[#751]: https://github.com/delta-io/delta-kernel-rs/pull/751 |
| 92 | +[#761]: https://github.com/delta-io/delta-kernel-rs/pull/761 |
| 93 | +[#760]: https://github.com/delta-io/delta-kernel-rs/pull/760 |
| 94 | +[#766]: https://github.com/delta-io/delta-kernel-rs/pull/766 |
| 95 | +[#767]: https://github.com/delta-io/delta-kernel-rs/pull/767 |
| 96 | +[#405]: https://github.com/delta-io/delta-kernel-rs/pull/405 |
| 97 | +[#772]: https://github.com/delta-io/delta-kernel-rs/pull/772 |
| 98 | +[#662]: https://github.com/delta-io/delta-kernel-rs/pull/662 |
| 99 | +[#769]: https://github.com/delta-io/delta-kernel-rs/pull/769 |
| 100 | +[#794]: https://github.com/delta-io/delta-kernel-rs/pull/794 |
| 101 | +[#781]: https://github.com/delta-io/delta-kernel-rs/pull/781 |
| 102 | +[#789]: https://github.com/delta-io/delta-kernel-rs/pull/789 |
| 103 | +[#800]: https://github.com/delta-io/delta-kernel-rs/pull/800 |
| 104 | +[#802]: https://github.com/delta-io/delta-kernel-rs/pull/802 |
| 105 | +[#803]: https://github.com/delta-io/delta-kernel-rs/pull/803 |
| 106 | +[#774]: https://github.com/delta-io/delta-kernel-rs/pull/774 |
| 107 | +[#804]: https://github.com/delta-io/delta-kernel-rs/pull/804 |
| 108 | +[#782]: https://github.com/delta-io/delta-kernel-rs/pull/782 |
| 109 | +[#805]: https://github.com/delta-io/delta-kernel-rs/pull/805 |
| 110 | +[#549]: https://github.com/delta-io/delta-kernel-rs/pull/549 |
| 111 | +[#684]: https://github.com/delta-io/delta-kernel-rs/pull/684 |
| 112 | +[#817]: https://github.com/delta-io/delta-kernel-rs/pull/817 |
| 113 | +[#768]: https://github.com/delta-io/delta-kernel-rs/pull/768 |
| 114 | + |
| 115 | + |
3 | 116 | ## [v0.8.0](https://github.com/delta-io/delta-kernel-rs/tree/v0.8.0/) (2025-03-04) |
4 | 117 |
|
5 | 118 | [Full Changelog](https://github.com/delta-io/delta-kernel-rs/compare/v0.7.0...v0.8.0) |
|
0 commit comments