Skip to content

Latest commit

 

History

History
85 lines (64 loc) · 3.29 KB

File metadata and controls

85 lines (64 loc) · 3.29 KB

Changelog

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.0.7 - 2026-02-24

Fixed

  • Validate numeric metadata casts (footer_size, file_size_bytes) to prevent silent truncation
  • Error on missing delete files instead of silent data corruption
  • Harden path resolver against path traversal, null bytes, encoded slash bypass, and unicode edge cases
  • Validate decimal type string parsing and precision/scale bounds
  • Handle empty catalogs where data directory does not yet exist
  • Reject column_id values exceeding i32 range

0.0.6 - 2026-02-13

Added

  • S3/ObjectStore write support for DuckLake catalogs

Changed

  • Upgraded DataFusion 50→51, Arrow/Parquet 56→57

0.0.5 - 2026-02-04

Added

  • Write support with streaming API for DuckLake catalogs (write feature flag)
  • SQL write support with INSERT INTO statements (write feature flag)
  • Schema evolution support
  • TPC-H and TPC-DS benchmarks comparing DuckDB-DuckLake vs DataFusion-DuckLake
  • Benchmark test workflow for CI

Changed

  • Reuse DuckDB connection for metadata queries instead of creating new connection per call (performance improvement)

0.0.4 - 2026-01-14

Added

  • SQLite metadata provider (metadata-sqlite feature flag)
  • Delete file CDC support in ducklake_table_changes() function

0.0.3 - 2026-01-09

Added

  • PostgreSQL metadata provider (metadata-postgres feature flag)
  • MySQL metadata provider (metadata-mysql feature flag)
  • Parquet Modular Encryption (PME) support for reading encrypted files (encryption feature flag)
  • ducklake_table_changes() table function returning actual row data from Parquet files
  • Feature flags for metadata providers
  • SQLLogicTest runner for DuckDB test files

Fixed

  • Empty table queries now return empty results instead of errors
  • Snapshot filtering for complete row deletion scenarios
  • Column renaming via Parquet field_id → DuckLake column_id mapping
  • Pinned rustc version to 1.92.0 for build stability

0.0.2 - 2025-12-17

Added

  • DuckDB-style table functions for catalog introspection:
    • ducklake_snapshots(), ducklake_schemas(), ducklake_tables()
    • ducklake_columns(), ducklake_data_files(), ducklake_delete_files()
  • Snapshot-pinned catalog ensuring consistent reads across a query session

0.0.1 - 2025-10-25

Initial release.

Added

  • Read-only SQL queries against DuckLake catalogs via DataFusion
  • Support for local filesystem and S3/MinIO object stores
  • Row-level delete support (merge-on-read)
  • Filter pushdown to Parquet
  • Query-scoped snapshot isolation