v3.0.0
Breaking: upload_from_bytes / upload_from_file now raise on failure
instead of returning {"action": "failed", ...}.
Highlights:
- Single retry layer (tenacity); aiobotocore retries disabled.
- list_objects PaginationConfig now passes PageSize=min(max_keys, 1000).
- __aenter__/__aexit__ store and unwind the aiobotocore CM correctly.
- Internal helper renamed: _generate_url_from_file_with_result →
_attach_presigned_url.
Infra:
- CHANGELOG.md (Keep a Changelog) reconstructed back to 0.1.0.
- .gitlab-ci.yml: black --check, mypy, pytest --cov.
- types-aiofiles dev dep, [tool.mypy], [tool.black] in pyproject.
- .gitignore rewritten and tightened (secrets, caches, IDE artifacts).
Tests: 142 passing, 100% line coverage.
Migration guide: README "Migrating from 2.x to 3.0" and CHANGELOG.