Skip to content

feat: expose exact V2 versions in bindings - #8585

Draft
Xuanwo wants to merge 1 commit into
xuanwo/mixed-file-versions-5-compactionfrom
xuanwo/mixed-file-versions-6-bindings-docs
Draft

feat: expose exact V2 versions in bindings#8585
Xuanwo wants to merge 1 commit into
xuanwo/mixed-file-versions-5-compactionfrom
xuanwo/mixed-file-versions-6-bindings-docs

Conversation

@Xuanwo

@Xuanwo Xuanwo commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • expose the same data_storage_version selector for Python and Java update, merge-insert, and compaction
  • preserve compaction targets across Python pickle and Java serialization and JNI round trips
  • document fallback semantics, compatibility states, error categories, and the rollout gate
  • add binding-level exact-version and distributed compaction coverage

Stack

  1. feat: add mixed data file version capability #8580 - capability and transaction plumbing
  2. feat: validate mixed V2 data file versions #8581 - storage validation and exact read dispatch
  3. feat: support per-operation V2 write targets #8582 - per-operation write targets
  4. feat: propagate exact V2 versions across dataset operations #8583 - dataset operation propagation
  5. feat: target exact V2 versions in compaction #8584 - compaction targets and binary copy policy
  6. feat: expose exact V2 versions in bindings #8585 - bindings, documentation, and rollout contract

Testing

  • Python exact-version update, merge-insert, and distributed compaction tests
  • uv run make lint
  • Java UpdateTest, MergeInsertTest, and CompactionTest
  • Java JNI Rust tests
  • cargo fmt --all -- --check
  • cargo check --workspace --tests --benches
  • cargo clippy --all --tests --benches -- -D warnings

@github-actions

Copy link
Copy Markdown
Contributor

Important

This PR touches the Lance format specification.

Substantive changes to the format specification — the .proto definitions
and the spec docs under docs/src/format/ — require a PMC vote before merge.
Minor edits such as typo fixes, wording, or formatting are excluded; use your
judgment.

If this is a meaningful format change:

  • Start a vote following the Lance community voting process.
    Format specification modifications need 3 binding +1 votes (excluding the
    proposer), held on GitHub Discussions, with a minimum voting period of 1 week.
  • Once the vote passes, link the completed vote in this PR. It should not be
    merged until the vote is linked.

@Xuanwo
Xuanwo force-pushed the xuanwo/mixed-file-versions-6-bindings-docs branch from 223b8fd to dad03c1 Compare August 18, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-format On-disk format: protos and format spec docs A-java Java bindings + JNI A-python Python bindings enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant