4.12.0 — 2026-06-20¶
← 4.12.1 | 4.11.1 → | ↑ 4.x series
Added¶
Adapters - MinIO¶
- Object Existence Check - Added
object_existstoMinioPortandMinioAdapterfor lightweight presence checks without downloading object content.- Returns
Truewhen the object key exists andFalsewhen it does not. - Cached for five minutes via
@ttl_cache_decoratorto reduce repeated HEAD requests.
- Returns
- Batch Object Deletion - Added
remove_objectsfor deleting multiple object keys in a single S3DeleteObjectscall.- Clears object-related caches after a successful batch delete.
- Object Tag Operations - Added tag management methods for per-object metadata used with lifecycle-based expiration.
set_object_tagsreplaces all tags on an existing object.get_object_tagsreturns the current tag mapping (empty dict when none are set).remove_object_tagsclears all tags from an object.
- Upload-Time Tags - Extended
put_objectandput_object_streamwith an optionaltags: dict[str, str] | Noneparameter so tags can be applied at upload time. - Bucket Lifecycle / TTL - Added lifecycle configuration methods for automatic object expiration.
set_bucket_lifecycleaccepts S3-format lifecycle rule dicts (MinioLifecycleRuleType).get_bucket_lifecyclereturns configured rules or an empty list when none are set.delete_bucket_lifecycleremoves all lifecycle rules from a bucket.
- Object Versioning - Added bucket versioning and version-level delete support.
set_bucket_versioningenables or suspends versioning on a bucket.get_bucket_versioningreturnsEnabled,Suspended, or an empty string when never configured.list_object_versionslists version entries and delete markers with normalized metadata (MinioObjectVersionType).remove_object_versionpermanently deletes a specific version byversion_id.
Changed¶
Adapters - StarRocks¶
- Type Ignore Cleanup - Removed redundant
# type: ignore[invalid-assignment]comments from StarRocks SQLAlchemy compiler patches, keeping only thety: ignoredirectives.
Documentation - MinIO¶
- Tutorial Expansion - Extended
docs/tutorials/adapters/minio.mdwith examples for object existence checks, batch deletion, object tags, and versioning workflows. - API Reference Clarification - Updated the MinIO adapter API reference to state that the concrete adapter wraps boto3 for S3-compatible storage.
Tests¶
Tests - MinIO Adapter¶
- Tag Scenarios - Added BDD coverage for upload-time tags, setting tags on existing objects, and removing all tags.
- Lifecycle Scenarios - Added scenarios for setting, verifying, and deleting bucket lifecycle rules.
- Existence and Batch Delete - Added scenarios for
object_existsbefore and after deletion, and forremove_objectsbatch cleanup. - Versioning Scenarios - Added end-to-end coverage for enabling versioning, uploading multiple versions, listing versions, and permanently deleting the oldest version.
Dependencies¶
- Core dependencies - Updated base package pins in
pyproject.toml.pydantic-settings:>=2.14.1→>=2.14.2
- Optional extras - Updated optional adapter dependency pins.
dependency-injection:dependency-injector>=4.49.0→>=4.49.1minio:boto3>=1.43.32→>=1.43.34parsian-ipg/parsian-ipg-async:zeep>=4.3.2→>=4.3.3
- Dev group - Updated development tooling pins.
boto3-stubs:>=1.43.32→>=1.43.34ruff:>=0.15.17→>=0.15.18ty:>=0.0.50→>=0.0.51
- Docs group - Updated documentation tooling pins.
mkdocstrings-python:>=2.0.4→>=2.0.5
- Lockfile - Regenerated
uv.lockto align with the updatedpyproject.tomlconstraints.