Co-authored-by: Cursor <[email protected]>
16 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.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