Repository navigation
refactor!: remove the deprecated refresh() - #137
Merged
Merged
Conversation
checkout_latest() replaced refresh() two releases ago, and refresh() has warned with DeprecationWarning since. Remove it from the Rust engine, the Python bindings, the type stub and the Python CypherEngine, along with its deprecation test and docs note, and have the wheel check call checkout_latest().
Drop the remaining refresh wording now that refresh() is gone: the
internals pages and their nav entry ("Indexes and updates"), Rust doc
comments, test names and the micro-benchmarks, whose output keys become
checkout_ms, checkout_unchanged_ms and checkout_after_append_ms. Most of
the docs change was written after #110 merged and never reached main.
prrao87
marked this pull request as ready for review
November 7, 2026 02:50
prrao87
added a commit
that referenced
this pull request
Nov 7, 2026
A minor bump: #137 removed the deprecated refresh() from the Python and Rust APIs, a breaking change (checkout_latest() replaces it).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
CypherEngine.refresh()was renamed tocheckout_latest(), after Lance'scheckout_latest(), in v0.6.0 (#110, which landed through #109). Since thenrefresh()has been a deprecated alias that warns withDeprecationWarningin Python and is#[deprecated]in Rust, across six releases (v0.6.0 to v0.8.1). This ends the deprecation:refresh()is removed, and the code and docs no longer describe the operation as a refresh.This is a breaking change for anyone still calling
refresh(), in Python or in Rust: callcheckout_latest(), which behaves identically.What changed
refresh()is gone from the RustCypherEngine, the Python bindings, their type stub and the PythonCypherEngine, with the test that checked its warning. The Lance guide's "Formerlyrefresh()" note is removed, and the wheel check callscheckout_latest().checkout_latest(): the internals pages (the "Indexes and refresh" page becomes "Indexes and updates", in the navigation too), Rust doc comments, and test names. Most of this docs change was written for refactor(engine): rename refresh() to checkout_latest() to match lance #110 but pushed after it merged, so it never reachedmain; it is applied here on top of the current pages.checkout_ms,checkout_unchanged_msandcheckout_after_append_msinstead ofrefresh_*keys.engine_cache.pyno longer falls back torefresh()for engines withoutcheckout_latest(): those are now timed by building a new engine, as upstreamlance_graphalready is.Nothing in the repository mentions "refresh" any more, apart from lock files.
Validation
cargo test --workspace,cargo clippy --workspace --all-targets -- -D warningsandcargo fmt --all --checkpass.make test(1709 passed, one fewer thanmainfor the removed deprecation test) andmake lintpass.hasattr(CypherEngine, "refresh")is false for both the Python class and the compiled binding.ci/check_wheel.pypasses against a freshly built wheel in an isolated environment without Cargo onPATH, as in CI.docs/check_snippets.py,zensical build --strictandtypospass. CI is pending.🤖 Generated with Claude Code