17 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[2.3.0] - 2026-07-16
Summary
Add QueueRepositoryInterface with memory and file-backed adapters
Changed
ac82f71Merge pull request '[minor] Add QueueRepositoryInterface with memory and file-backed adapters' (#62) from cursor/queue-adapters into main24d5ea1Apply Prettier formatting to README and CHANGELOG.b8d8176Align changelog section headings with Prettier markdown spacing.a78320bMove queue helper functions to staticmethods on their adapters.1822d88Apply ruff formatting to queue adapter and tests.4f58c32Add QueueRepositoryInterface with memory and file-backed adapters.88ea7f0Merge pull request 'chore(deps): update dependencies' (#61) from renovate/auto-deps-update into main2b5718bchore(deps): update dependencies [automated]
[2.2.0] - 2026-07-12
Summary
Add Postgres table adapter with TableRepositoryInterface
Changed
b37b2e6Merge pull request '[minor] Add Postgres table adapter with TableRepositoryInterface' (#58) from cursor/postgres-table-adapter into main1babb52Apply ruff formatting to postgres adapter and tests.63ee17dApply prettier formatting to README and CHANGELOG.2e38bd2Fix ruff import ordering in postgres test files.dc6f8a3Add Postgres table adapter with TableRepositoryInterface.
[2.1.0] - 2026-07-11
Summary
Add runtime-checkable Protocol typing to public interfaces
Changed
1cbcc1cMerge pull request '[minor] Add runtime-checkable Protocol typing to public interfaces' (#57) from cursor/protocol-abc-interfaces into maina0e5c9dDocument test organization and add Cursor workflow rules.44b15cbMove structural typing tests into interface unit test files.f6ee9a3Add runtime-checkable Protocol typing to all public interfaces.0829354Merge pull request 'Add async future note and remove redundant pytest pythonpath' (#56) from cursor/readme-async-and-test-path-cleanup into maina0d509aFormat CHANGELOG.md with Prettier.9b7b15aDocument possible async support and drop redundant pytest pythonpath.
[2.0.5] - 2026-07-10
Summary
Allow empty payloads in Redis and MinIO adapters
Changed
6d02f32Merge pull request '[patch] Allow empty payloads in Redis and MinIO adapters' (#55) from cursor/allow-empty-payloads into main57b396bAllow empty payloads in Redis and MinIO adapters.093e538Merge pull request '[chore] Scope integration fixtures per backend subdirectory' (#54) from cursor/scoped-integration-fixtures into mainb28ac6eScope integration fixtures per backend subdirectory.6c66fe4Merge pull request 'Add consumer-facing CHANGELOG.md maintained by release CI' (#53) from cursor/consumer-changelog into main089a128Format CHANGELOG.md with Prettier0a5bd39Add consumer-facing CHANGELOG.md maintained by release CI.683ee33Merge pull request '[chore] add repository URL and Python 3.12 packaging metadata' (#52) from cursor/add-packaging-metadata into main9df5032Add repository URL and Python 3.12 packaging metadata.4f6f33fMerge pull request 'Drop types-redis in favor of redis inline types' (#51) from cursor/drop-types-redis into main10d43ceDrop types-redis in favor of redis inline types.
[2.0.4] - 2026-07-10
Summary
Include optional dependencies in security audit
Changed
4f7b672chore: release v2.0.4 [skip ci]a27e9e5Merge pull request '[fix] Include optional dependencies in security audit' (#50) from cursor/security-audit-all-extras into mainfd0045dInclude optional dependencies in security audit.515f4bbMerge pull request 'revert 707f11f578f007c7152582ea524b66dacea50111' (#49) from brian-patch-1 into mainef31fb4revert707f11f578707f11fchore: release v2.0.4 [skip ci]b1d34f8Merge pull request '[patch] Unify dev tooling via uv so pre-commit, CI, and the update bot stay aligned' (#48) from chore/align-dev-tooling-via-uv into main565879dUnify dev tooling via uv so pre-commit, CI, and the update bot stay aligned.0d0f430Merge pull request 'Fix automated package publishing in release workflow' (#47) from fix/release-workflow-publish into main5ac40b1Publish packages from the release workflow so automated releases reach the registry.
[2.0.3] - 2026-07-10
Summary
Use structured fields for adapter debug and info logs
Changed
fa4ff1fchore: release v2.0.3 [skip ci]0a39151Merge pull request '[patch] Use structured fields for adapter debug and info logs' (#46) from cursor/structured-adapter-logging into main82a702dFix mypy error in Minio adapter log assertion.b886a7cUse structured fields for adapter debug and info logs.4518a93Merge pull request 'Migrate Python workflows to python-repositories-ci runner' (#41) from cursor/migrate-python-repositories-ci into maina8b7b59Migrate Python workflows to python-repositories-ci runner label.0e6941dMerge pull request 'Use lowercase CI image registry owner for Docker compatibility' (#45) from cursor/fix-ci-registry-owner-lowercase into maina6428ccUse lowercase CI image registry owner for Docker compatibility.655fdc4Merge pull request 'Fix CI image registry owner to match Gitea org slug' (#44) from cursor/fix-ci-registry-owner-case into maine031c54Fix CI image registry owner to match Gitea org slug.49b6238Merge pull request 'Rename CI registry owner from brian to lille-vemmelund' (#43) from cursor/rename-ci-owner-to-lille-vemmelund into main0549358Keep python-utils package index under brian owner.33efbd1Update CI registry owner from brian to lille-vemmelund.24126e4Merge pull request 'Fix CI image build failures on runners with isolated DinD DNS' (#42) from fix/ci-image-build-dns into mainf3b6cdbFix CI image build failures on runners with isolated DinD DNS.fa2554eMerge pull request 'Add nightly CI base image and migrate workflows to python-repositories-ci' (#40) from cursor/ci-base-image into mainb21fd24Revert workflows to ubuntu-latest until CI image is seeded.441a212Add local CI image build script and document bootstrap flow.f2a8581Read Python version from .python-version in CI image build.3b05260Add nightly CI base image and migrate workflows to python-repositories-ci.
[2.0.2] - 2026-07-09
Summary
Use dict[str, Any] for JSON repository document types
Changed
369295bchore: release v2.0.2 [skip ci]95c7859Merge pull request '[patch] Use dict[str, Any] for JSON repository document types' (#38) from cursor/json-dict-str-any-typing into main42e885eUse dict[str, Any] for JSON repository document types.
[2.0.1] - 2026-07-09
Summary
Align Redis and MinIO connect() idempotency
Changed
bd4794dchore: release v2.0.1 [skip ci]3dc412cMerge pull request '[patch] Align Redis and MinIO connect() idempotency' (#37) from cursor/connect-idempotency-alignment into mainb8d88e6Cover injected-client connect when client was cleared by disconnect.67bb88fAlign Redis and MinIO connect() idempotency in ConnectionAwareAdapter.
[2.0.0] - 2026-07-09
Summary
Make MinIO bucket creation opt-in with production-safe defaults
Changed
c2e6a96chore: release v2.0.0 [skip ci]547a1b3Merge pull request '[breaking] Make MinIO bucket creation opt-in with production-safe defaults' (#36) from cursor/minio-bucket-creation-opt-in into main39baf9bFix examples integration test by provisioning MinIO bucket in fixture.4a5b3b6Make MinIO bucket creation opt-in with production-safe defaults.1431f45Merge pull request 'Move Redis test container helpers into integration conftest' (#35) from cursor/move-redis-container-to-conftest into maineafc717Move Redis test container helpers into integration conftest.
[1.1.0] - 2026-07-08
Summary
Add Redis scan_keys iterator API
Changed
9a9b7b2chore: release v1.1.0 [skip ci]5b9573dMerge pull request '[minor] Add Redis scan_keys iterator API' (#34) from cursor/redis-scan-keys into main50444afAdd Redis scan_keys iterator API.
[1.0.0] - 2026-07-08
Summary
Clarify MinIO get() error semantics to match Redis behavior
Changed
2f19fccchore: release v1.0.0 [skip ci]3bd6589Merge pull request '[breaking] Clarify MinIO get() error semantics to match Redis behavior' (#33) from cursor/minio-error-semantics into main5311d49Clarify MinIO get() error semantics to match Redis behavior.
[0.5.1] - 2026-07-07
Summary
Fix MinIO get_object response leak in MinioAdapter.get()
Changed
703bb95chore: release v0.5.1 [skip ci]8e47ebfMerge pull request '[patch] Fix MinIO get_object response leak in MinioAdapter.get()' (#32) from fix/minio-get-object-response-cleanup into main9a800bfFetch live PR title in pr-title-check CI workflow.8c34534Fix MinIO get_object response leak in MinioAdapter.get().b1210bdMerge pull request 'Reach 100% combined coverage with targeted unit tests' (#31) from cursor/balanced-100-coverage into main39b1043Fix mypy unreachable-code warning in minio reconnect test.beb2b51Reach 100% combined coverage with targeted unit tests.ce062beMerge pull request 'Enforce 90% combined coverage floor in CI' (#29) from cursor/enforce-coverage-floor into maina381d45Lower combined coverage floor from 95% to 90%.5c8cd84Document where combined coverage floor is enforced in CI.3463298Skip coverage floor check in partial CI test jobs.5393efcEnforce a 95% combined coverage floor in CI and local runs.e39fc96Merge pull request 'Split CI into parallel unit, integration, and coverage report jobs' (#28) from cursor/split-ci-test-jobs into mainc1f4826Use christopherhx v4 artifact actions for parallel coverage merge.0315a33Avoid cross-job artifacts; combine coverage with --cov-append.5d33ec6Use artifact action v3 for Gitea Actions compatibility.9538e4dSplit CI into parallel unit, integration, and coverage report jobs.14b8d27Merge pull request 'Replace hardcoded version examples in release docs' (#27) from cursor/fix-version-doc-drift into maind3cbb65Use version-agnostic examples in release docs.
[0.5.0] - 2026-07-06
Summary
Add config and client injection with test reorganization
Changed
7dbb1fcchore: release v0.5.0 [skip ci]918e5e6Merge pull request '[minor] Add config and client injection with test reorganization' (#25) from cursor/config-client-injection into main3aa9128Load MINIO_SECURE from env and replace adapter asserts with explicit errors.7991dabAdd config and client injection with test reorganization.366831aMerge pull request 'chore(deps): update dependencies' (#26) from renovate/auto-deps-update into maina98905dchore(deps): update dependencies [automated]7ed1b34Merge pull request 'Sync uv.lock on release to prevent CI failures' (#24) from cursor/sync-uv-lock-on-release into main3236f27manually updated package versionac487d9Sync uv.lock on release to keep CI clean.
[0.4.1] - 2026-07-05
Summary
Extract shared connection lifecycle into ConnectionAwareAdapter
Changed
a049ce3chore: release v0.4.1 [skip ci]7b4cf84Merge pull request '[patch] Extract shared connection lifecycle into ConnectionAwareAdapter' (#23) from cursor/extract-connection-aware-adapter into mainb5a92e6Sync uv.lock with pyproject.toml version 0.4.0.7b950e0Extract shared connection lifecycle into ConnectionAwareAdapter.
[0.4.0] - 2026-07-05
Summary
Strengthen is_connected with cached health probes
Changed
fe0c477chore: release v0.4.0 [skip ci]e7e0fc8Merge pull request '[minor] Strengthen is_connected with cached health probes' (#22) from cursor/strengthen-is-connected-health-checks into main34fc046Sync uv.lock with pyproject.toml version 0.3.2.5149299Strengthen is_connected with cached health probes.
[0.3.2] - 2026-06-30
Summary
Fix optional dependency handling for Redis and MinIO adapters
Changed
fef9552chore: release v0.3.2 [skip ci]e9b2189Merge pull request '[patch] Fix optional dependency handling for Redis and MinIO adapters' (#19) from cursor/fix-optional-dependencies into mainf595390Fix optional-deps import test for full-suite execution.1f02195Delegate top-level adapter imports to adapters package.f092ca2Fix trailing whitespace in LICENSE and .gitignore.c6eed43Fix optional dependency handling for Redis and MinIO adapters.9e4b1e2Merge pull request 'Avoid testcontainers Redis deprecation warning in integration tests.' (#18) from fix/redis-testcontainer-deprecation into main0096df7Avoid testcontainers Redis deprecation warning in integration tests.3073bfbMerge pull request 'Fix PR coverage comment posting in CI.' (#17) from fix/coverage-pr-comment into main30a1de3Fix PR coverage comment posting in CI.8465957Merge pull request '[patch] update dependencies' (#16) from renovate/auto-deps-update into main3ecb9c3chore: retrigger CI0f31170Fix mypy errors from minio 7.2.20 type stubs.e3cab5echore(deps): update dependencies [automated]f428a97Merge pull request 'Fix dependency bot PR creation for Gitea.' (#15) from cursor/fix-dependency-bot-gitea-pr into maina3b9912Fix dependency bot PR creation for Gitea.abaa078Merge pull request 'Fix dependency update bot to use uv lock --upgrade.' (#14) from cursor/fix-dependency-update-bot-uv-lock into main9864f0cFix dependency update bot to use uv lock --upgrade.e39b467Merge pull request 'Automate releases from PR titles and clean up CI workflows.' (#13) from cursor/pr-title-release-automation into main85c1a64Sync uv.lock with pyproject.toml version 0.3.1.a8491c0Automate releases from PR titles and clean up CI workflows.
[0.3.1] - 2026-06-28
Summary
Add public repository interfaces and subclassable adapter CRUD API.
Changed
2bb361eMerge pull request 'Add public repository interfaces and subclassable adapter CRUD API.' (#11) from cursor/public-repository-api into mainc5169dfUse pre-commit for Prettier in CI and document local hook setup.497533fFix mypy context manager typing for adapter subclasses.e98fd3bAdd public repository interfaces and subclassable adapter CRUD API.f4280f1Merge pull request 'Remove non-existent Mongo adapter from README.' (#10) from cleanup/remove-mongo-adapter-mentions into maind9b9fa4updated package settings9d25f7cupdated package settings1635815updated package settings933c4eeupdated package settings2b0d98fupdated package settings729fa48Remove non-existent Mongo adapter from README.
[0.2.3] - 2025-09-18
Summary
added support for content type when putting object in minio
Changed
fa011beMerge pull request 'added support for content type when putting object in minio' (#9) from add-support-for-content-type-in-minio into main2e93309ruff format fix3ab8da9added support for content type when putting object in minio
[0.2.2] - 2025-09-17
Summary
moved import of optional packages into classes
Changed
1dd604dMerge pull request 'moved import of optional packages into classes' (#6) from make-optional-parts-independent into maine5c4025added graceful handling of missing optional packages396cf83code quality fixes538b26bmypy fixedee6acc6moved import of optional packages into classes
[0.2.1] - 2025-09-15
Summary
exposed minio adapter
Changed
0ca07c0Merge pull request 'exposed minio adapter' (#5) from expose-minio-adapter into main7446e88added py.typed mypy config filed5f437fruff format fix7beca7cexposed minio adapter
[0.2.0] - 2025-09-15
Summary
add-minio-adapter
Changed
65d8051Merge pull request 'add-minio-adapter' (#4) from add-minio-adapter into mainf5af303auto install all extra packages3260a3fadded new optional package to cic7bced4ruff lint fixes800d702pyupgrade5a72507ruff formatc45ba3cmypy fixesa3b5443added minio adapter and testscc99fe5minor corrections93fffe1added optional group minio
[0.1.0] - 2025-09-14
Summary
Release v0.1.0
Changed
2eafd73Merge pull request 'added redis adapter' (#1) from collect-code-from-other-repos into main1cc047dremoved unused bound ports for testc7cc2a3added optional package redisb5d0297pyupgrade fixed imports2fa633aruff fixed formatting0e47db2fuxed mypy issues0948799added integration tests524bd0ffixed connection error handling969c2c8installed more pytest-cov7caee87added installing optional redis group918535eadded test coverage and upload step5d7afe7ruff format corrections59a943eadded redis types stub and fixed return type1abcae4added redis adapterc789e33initial commit56cad42Initial commit