Releases: aai-institute/lakefs-spec
v0.11.2
🌟 Highlights
- Improved support for relative ref expressions (e.g.,
main@
,main~1
), see #314
What's Changed
- Change poetry mentions to uv by @nicholasjng in #307
- Use PEP735 dependency groups instead of extras by @nicholasjng in #308
- Tweak dependency addition guide with
uv add
, dependency groups by @nicholasjng in #309 - Update
setup-uv
action to v5, tweak install and setup by @nicholasjng in #310 - Add squash-merging flag to transactions by @nicholasjng in #313
- chore: Remove bandit pre-commit hook, add "S" ruff linter code for ba… by @nicholasjng in #312
- ci: Add zizmor pre-commit hook by @nicholasjng in #311
- chore: Use uv v0.5.20 with dynamic versioning fixes by @nicholasjng in #315
- Make lakeFS URI validation more lenient by @AdrianoKF in #316
Full Changelog: v0.11.1...v0.11.2
v0.11.1
🌟 Highlights
- Python 3.13 support
- Fixed an error when listing files with partial path prefix matches (#297)
- Don't reject valid lakeFS tag names (#299)
- Improved error messages when parsing invalid lakeFS URIs
What's Changed
- CI: Run tests against oldest and latest supported versions of lakefs and fsspec by @AdrianoKF in #293
- Tests: Speed up
test_rm_with_1k_objects_or_more
by @AdrianoKF in #294 - Add Python 3.13 to test matrix by @nicholasjng in #295
- Improve error message in
util.parse()
by incrementally using regexes by @nicholasjng in #301 - Handle partial name matches in
ls
method by @AdrianoKF in #298 - Support a wider range of ref expressions by @nicholasjng in #300
- Run
uv sync --frozen
to not update the lock file in CI by @nicholasjng in #302 - Remove TestPyPI upload due to attestation failure by @nicholasjng in #303
Full Changelog: v0.11.0...v0.11.1
v0.11.0
🚨 Breaking Changes
This release marks the end of support for Python 3.9 (and earlier), which has reached end-of-life status with the release of Python 3.13.
What's Changed
- Update project lockfiles and pre-commit setup by @nicholasjng in #287
- Bump oldest supported Python to 3.10 by @nicholasjng in #288
- [ci] Update CI workflow to be based on uv toolchain by @nicholasjng in #289
- Run pre-commit autoupdate again by @nicholasjng in #290
- Support
fs.exists()
on repo root by @AdrianoKF in #292
Full Changelog: v0.10.0...v0.11.0
v0.10.0
This release fixes a case in which users attempting to bulk-delete more than 1000 objects would get errors from the lakeFS server. From now on, object deletes are carried out in batches of 1000, which is the maximum that the server handles.
What's Changed
- Update lockfiles for CI and dev setups by @nicholasjng in #281
- Batch objects in
Branch.delete_objects
calls by @nicholasjng in #285 - Add rm test on more than 1000 files by @nicholasjng in #286
Full Changelog: v0.9.0...v0.10.0
v0.9.0
This release increases the minimum required fsspec version to fsspec>=2023.12.0
(December 2023). It does not contain changes in functionality.
What's Changed
- Bump minimum fsspec version to 2023.12.0 by @nicholasjng in #280
- Update pre-commit hooks, change lockfile to use uv pip compile by @nicholasjng in #278
Full Changelog: v0.8.0.post0...v0.9.0
v0.8.0.post0 - Documentation updates
This release adds example code showing how to access lakeFS repositories from the Hugging Face 🤗 Datasets library to the documentation.
What's Changed
- Docs: Demonstrate integration of Hugging Face Datasets by @AdrianoKF in #275
- Bump linter dependencies by @AdrianoKF in #276
Full Changelog: v0.8.0...v0.8.0.post0
v0.8.0
This release changes the behavior of LakeFSFileSystem.exists()
when encountering a CommonPrefix
, which is lakeFS' directory abstraction. Afterwards, the file system can detect existing directories/common prefixes on a branch, returning True
for any existing directories.
What's Changed
- Update outdated CI actions by @AdrianoKF in #269
- Update pre-commit hooks by @AdrianoKF in #270
- Fixed broken URL in README.md by @leonpawelzik in #271
- Docs: Link to root-level modules in API docs by @AdrianoKF in #273
- fs.exists() should return True for common prefixes by @ozkatz in #274
New Contributors
- @leonpawelzik made their first contribution in #271
- @ozkatz made their first contribution in #274
Full Changelog: v0.7.1...v0.8.0
v0.7.1
What's Changed
- Update Python dependencies, change ruff options by @nicholasjng in #262
- Fix ls by @renesat in #260
- Log a warning for uncommitted changes on transaction exit by @maxmynter in #266
- Always show the project name in the header by @janwillemkl in #263
- Docs: Fix code highlighting in third-party libraries integration guide by @AdrianoKF in #268
New Contributors
Full Changelog: v0.7.0...v0.7.1
v0.7.0
⭐ Highlights
Changes the lakeFS-spec transaction to operate on short-lived ephemeral branches (#258).
Transaction versioning operations are implicitly scoped to the given repository and transaction branch, so you do not need to manually specify these arguments anymore:
# will automatically merge into `main` upon successful completion of `tx`.
with fs.transaction("my-repo", "main") as tx:
fs.put("my-file.txt", f"my-repo/{tx.branch.id}/my-file.txt")
tx.commit(message="Add my file")
🚨 Breaking changes
The usage of LakeFSFileSystem.transaction
was changed. It is now necessary to call it with a repository name to properly initialize the transaction.
What's Changed
- Bump lakeFS service container version to v1.7.0 by @nicholasjng in #249
- Replace
fs._open()
with properfs.open()
implementation by @nicholasjng in #250 - Add integration tests for third-party data science libraries by @nicholasjng in #251
- (docs): Add lakeFS-spec and lakeFS-SDK transaction differences by @maxmynter in #252
- Update project metadata by @AdrianoKF in #256
- Split lakefs-spec test job into multiple jobs by @nicholasjng in #261
- Introduce new transaction model based on ephemeral branches by @nicholasjng in #258
Full Changelog: v0.6.1...v0.7.0
v0.6.1
⭐ Highlights
This release marks the completion of the lakeFS SDK wrapper migration. All available functionality is now expressed in terms of abstractions from the new lakefs
Python package.
As a particular consequence, the LakeFSFile
was removed in favor of lakeFS' own file-like object APIs. For simple file interactions through the file system only (including transactions), this will not result in breaking changes.
What's Changed
- Slim down the bug report and feature request templates by @janwillemkl in #235
- Update dev requirements, fix lakefs v0.2.0 regression by @nicholasjng in #239
- Implement more APIs in terms of
lakefs
abstractions by @nicholasjng in #240 - Fix
fs.rm()
for the recursive case by @nicholasjng in #243 - Add test coverage for commits to repo information tests by @nicholasjng in #244
- Remove Placeholder from interface typing, use new ReferenceType hint by @nicholasjng in #245
- Add lakeFS package versions to pytest header by @nicholasjng in #246
- Update bug-report.yaml by @Maciej818 in #247
- Simplify revision parsing in the tutorial notebook by @nicholasjng in #248
Full Changelog: v0.6.0...v0.6.1