-
Andrey Azeev authored
Breaking change: S3Client.upload_from_bytes / upload_from_file now raise on upload failure instead of returning {"action": "failed", ...}. Migration guide in README and CHANGELOG. - AioConfig.retries set to {max_attempts=1, mode=standard}; tenacity owns retries solely (no more 3x stacked attempts). - list_objects passes PageSize=min(max_keys, 1000) to the paginator — small max_keys no longer pulls a full 1000-object first page. - __aenter__ stores the aiobotocore client context manager and unwinds via the same CM in __aexit__ (removes latent fragility on close). - Renamed _generate_url_from_file_with_result → _attach_presigned_url (used by both upload methods); typed dict[str, Any]. - Trimmed dead commented-out control-character check in _validate_s3_key; tightened its docstring. - FileNamingStrategy docstring documents prefix="" → "file" fallback. Tooling and infra: - New CHANGELOG.md (Keep a Changelog, full history reconstructed back to 0.1.0). - New .gitlab-ci.yml: lint (black --check, mypy) + pytest with cobertura coverage report. - pyproject: [tool.mypy], [tool.black]; added types-aiofiles dev dep; bumped to 3.0.0. - .gitignore rewritten in structured sections; added .ruff_cache, .vscode, Thumbs.db, secret patterns (*.pem, *.key, id_rsa*, credentials*, *.kubeconfig), coverage.xml. Tests: 142 passing, 100% coverage. Updated upload-error tests for new raise-based contract; added PaginationConfig PageSize coverage; rewired async CM tests around the stored context manager.78eba17cAndrey Azeev authoredBreaking change: S3Client.upload_from_bytes / upload_from_file now raise on upload failure instead of returning {"action": "failed", ...}. Migration guide in README and CHANGELOG. - AioConfig.retries set to {max_attempts=1, mode=standard}; tenacity owns retries solely (no more 3x stacked attempts). - list_objects passes PageSize=min(max_keys, 1000) to the paginator — small max_keys no longer pulls a full 1000-object first page. - __aenter__ stores the aiobotocore client context manager and unwinds via the same CM in __aexit__ (removes latent fragility on close). - Renamed _generate_url_from_file_with_result → _attach_presigned_url (used by both upload methods); typed dict[str, Any]. - Trimmed dead commented-out control-character check in _validate_s3_key; tightened its docstring. - FileNamingStrategy docstring documents prefix="" → "file" fallback. Tooling and infra: - New CHANGELOG.md (Keep a Changelog, full history reconstructed back to 0.1.0). - New .gitlab-ci.yml: lint (black --check, mypy) + pytest with cobertura coverage report. - pyproject: [tool.mypy], [tool.black]; added types-aiofiles dev dep; bumped to 3.0.0. - .gitignore rewritten in structured sections; added .ruff_cache, .vscode, Thumbs.db, secret patterns (*.pem, *.key, id_rsa*, credentials*, *.kubeconfig), coverage.xml. Tests: 142 passing, 100% coverage. Updated upload-error tests for new raise-based contract; added PaginationConfig PageSize coverage; rewired async CM tests around the stored context manager.
To find the state of this project's repository at the time of any of these versions, check out the tags.
Loading