Releases: gazorby/strawchemy
Releases · gazorby/strawchemy
v0.21.0
v0.20.0
0.20.0 - 2025-12-14
🚀 Features
🐛 Bug Fixes
- Add override=True to PostType, PostFilter, and PostOrderBy to prevent automatic generation (#98) - (36c75b8)
💼 Other
- (deps) Pin dependencies (#119) - (ae5bd8d)
- (deps) Update github artifact actions (#122) - (15edeaf)
- (deps) Update actions/checkout action to v6 (#121) - (2293922)
- (deps) Lock file maintenance (#120) - (32e63ce)
- (deps) Update softprops/action-gh-release digest to a06a81a (#131) - (c29a50f)
- (deps) Update github/codeql-action digest to 1b168cd (#130) - (5d0ebc8)
- (deps) Update astral-sh/setup-uv digest to 681c641 (#128) - (8110105)
- (deps) Update actions/checkout digest to 8e8c483 (#127) - (90c0960)
- (deps) Update codecov/codecov-action digest to 671740a (#129) - (943d84f)
- (deps) Update actions/cache action to v5 (#132) - (9a9339c)
- (deps) Update github artifact actions (#133) - (3005351)
- Improve session getter (#103) - (dae8768)
⚙️ Miscellaneous Tasks
- (pre-commit) Autoupdate (#102) - (26eb9df)
- (python) Add 3.14 to test matrix (#126) - (8d097e4)
- (release) Bump to v0.20.0 - (2113d64)
- Move coderabbit (#105) - (806d0c1)
- Untrack ruff from mise.toml (#113) - (9539972)
- Update renovate config (#115) - (98c9f40)
New Contributors ❤️
What's Changed
- Add override=True to documentation examples for related models by @Ckk3 in #98
- build(deps): remove nox from main dependencies by @gazorby in #99
- ref: improve session getter by @gazorby in #103
- build(pre-commit): autoupdate by @gazorby in #102
- ci: move coderabbit by @gazorby in #105
- build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #109
- build(deps): bump astral-sh/setup-uv from 6 to 7 by @dependabot[bot] in #110
- feat: add secondary table support by @gazorby in #106
- build: untrack ruff from mise.toml by @gazorby in #113
- build: update renovate config by @gazorby in #115
- Update renovate.json to include new dependency types by @gazorby in #117
- Update Renovate configuration for scheduling and maintenance by @gazorby in #118
- Update dependency types in renovate.json by @gazorby in #116
- chore(deps): pin dependencies by @renovate[bot] in #119
- chore(deps): update github artifact actions (major) by @renovate[bot] in #122
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #121
- chore(deps): lock file maintenance by @renovate[bot] in #120
- Drop python 3.9 by @gazorby in #125
- build(python): add 3.14 to test matrix by @gazorby in #126
- chore(deps): update softprops/action-gh-release digest to a06a81a by @renovate[bot] in #131
- chore(deps): update github/codeql-action digest to 1b168cd by @renovate[bot] in #130
- chore(deps): update astral-sh/setup-uv digest to 681c641 by @renovate[bot] in #128
- chore(deps): update actions/checkout digest to 8e8c483 by @renovate[bot] in #127
- chore(deps): update codecov/codecov-action digest to 671740a by @renovate[bot] in #129
- chore(deps): update actions/cache action to v5 - autoclosed by @renovate[bot] in #132
- chore(deps): update github artifact actions (major) by @renovate[bot] in #133
New Contributors
Full Changelog: v0.19.0...v0.20.0
v0.19.0
0.19.0 - 2025-09-06
🚀 Features
- (schema) Add type scope - (d2bf861)
🐛 Bug Fixes
- (input) Set null - (49679db)
- (scalars) Trick pyright when using NewType in scalars - (037bc41)
- (scalars) Cache new_type func - (2a09122)
- (scalars) Add missing calls to new_type() - (34bcfe2)
- (schema) Use UNSET rather than None as default on aggregation filters - (3c925e4)
- (schema) Fix excluding identifiers causing upsert types failing to be generated - (ca7cb9e)
- (schema) Fix recursive fields include/exclude logic when a relation is explicitly included - (bf7872e)
- Add missing files - (9871e80)
- Real support and test for python 3.9 - (997c2e0)
🚜 Refactor
- (pyright) Update - (ae35cfe)
- (schema) Focus on schema scope - (d9ebc79)
- Wip - (e9eb3bb)
- Update sentinel types - (36bf5ad)
- Update pyproject.toml - (77c1ce0)
- Fix rebase - (39139ff)
- Wip - (8698285)
📚 Documentation
- (readme) Document type scope feature - (49ad491)
- Add docstrings to improve code documentation - (2548771)
🧪 Testing
- (integration) Suppress warnings - (49ff50e)
- (integration) Remove any sqlite test db if existing - (0dbdc48)
- (integration) Pin python 3.12 to 3.12.11 patch - (ca586cb)
- (nox) Remove uv env vars in noxfile - (3a06de1)
- (nox) Update - (630115d)
- (nox) Update - (f61901b)
- (nox) Skip uv.lock check - (7789e94)
- (nox) Skip interpreter check - (3428af5)
- (nox) Disable reusing existing venvs - (101b4f3)
- Unpin 3.12 - (573af54)
⚙️ Miscellaneous Tasks
- (codeflash) Use uv to run codeflash - (89b17a9)
- (lint) Move to basedpyright - (d3abcf4)
- (mise) Allow passing python version to mise test targets - (d286e63)
- (mise) Update vulture task - (2d1daaf)
- (nox) Disable cache - (a8541b7)
- (nox) Simplify nox invocation - (d8838de)
- (nox) Update - (eae64cf)
- (nox) Bring back cache - (44084aa)
- (release) Bump to v0.19.0 - (2869de1)
- (test) Update .nox path for action caching - (680855e)
- (test) Use uvx to invoke nox - (a322b48)
- (test) Pin 3.12 again - (f661bed)
- (test) Try setting uv pref to only-managed - (478d6d7)
- (test) Update - (eb1aa5e)
- Update .editorconfig - (0ae1c7a)
- Add codeflash - (e8dfdfb)
- Update .gitignore - (09d69af)
- Update .gitignore - (96c5e12)
- Fix codeflash - (d791dfc)
What's Changed
- refactor(pyright): update by @gazorby in #79
- fix(schema): fix excluding identifiers causing upsert types failing to be generated by @gazorby in #80
- fix(schema): fix recursive fields include/exclude logic when a relation is explicitly included by @gazorby in #84
- test: fix python for python <= 3.10 by @gazorby in #86
- build(mise): allow passing python version to mise test targets by @gazorby in #87
- ci: add codeflash by @gazorby in #88
- feat(schema): type scoping by @gazorby in #89
- build(deps): bump jdx/mise-action from 2 to 3 by @dependabot[bot] in #92
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #91
- build(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #93
- build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #90
Full Changelog: v0.18.0...v0.19.0
v0.18.0
0.18.0 - 2025-06-07
🚀 Features
- (mutation) Initial upsert support - (b45272e)
🐛 Bug Fixes
- Do not rely on literal_column to reference computed column in some distinct on scenarios - (5ac834f)
🚜 Refactor
- (testapp) Disable enable_touch_updated_timestamp_listener as it mess up with integration tests - (1c4c2c4)
- (transpiler) Use literal_column less often and use a more reliable method when necessary - (e0f047f)
- (upsert) Restrict conflict constraints to pk, unique and exclude constraints - (338543b)
📚 Documentation
🧪 Testing
- (unit) Add test case for the example app - (feb598f)
- (upsert) Add test cases for root upsert mutations - (9ce29a0)
- (upsert) Update test documentation - (28f11a6)
- (upsert) Add pk conflict test case - (638f872)
⚙️ Miscellaneous Tasks
- (release) Bump to v0.18.0 - (56c2238)
- (testapp) Add pydantic - (48980a2)
- (uv) Include testapp in dev dependancies - (79567b6)
What's Changed
Full Changelog: v0.17.0...v0.18.0
v0.17.0
0.17.0 - 2025-06-02
🚀 Features
- (json) Extract path - (924d89a)
- (sqlite) Initial support - (e71bcda)
- (sqlite) Add JSON filtering - (4b510d8)
- (sqlite) Add interval filtering - (6b81592)
- (sqlite) Add json path extraction - (3593a07)
🐛 Bug Fixes
- (interval) Output serialization - (7e6e822)
- (update-by-id) Do not pass empty where filter to the resolver - (393970f)
🚜 Refactor
📚 Documentation
- Mention sqlite in the readme - (46acbec)
🧪 Testing
- (integration) Add missing fixtures - (a1a1e26)
- (interval) Fix mysql - (cc6de21)
- (json) Test output - (d80bfe7)
- (json) Add case for extracting inner json structure - (9da2df9)
⚙️ Miscellaneous Tasks
What's Changed
- fix(interval): output serialization by @gazorby in #71
- test(json): test output by @gazorby in #73
- build: upgrade dependencies by @gazorby in #74
- feat(json): extract path by @gazorby in #75
- feat(sqlite): initial support by @gazorby in #70
Full Changelog: v0.16.0...v0.17.0
v0.16.0
0.16.0 - 2025-05-27
🚀 Features
- (mysql) Initial support - (c721666)
- (mysql) Implement date/time comparisons - (d566470)
- (mysql) Implement interval comparisons - (eeb4439)
- (mysql) Implement JSON comparison - (0e3278d)
- (mysql) Implements geo comparisons - (e531ece)
- Implement deterministic ordering - (3c12a0c)
🐛 Bug Fixes
- (mysql) Do not generate the distinct column when no distinct args is passed - (8524902)
- (ordering) Join ordering not propagated into the root query - (16e4e30)
🚜 Refactor
- (config) Restrict aggregation filters to those supported by the database - (66872d9)
- (config) Require dialect when instantiating strawchemy instance - (f127fbf)
- (mysql) Add a distinct on implementation - (2d5f4b2)
- (repository) Allow accessing instances from repository result - (8a3b861)
- (schema) Generate all types with the strawberry dto backend - (a4f034b)
- (transpiler) Prefix literal names generated by strawchemy to minimize conflicts - (9137411)
- Wip - (5e957c0)
- Make pydantic an optional dependency - (82df05d)
- Simplify project structure - (bae73d9)
- Remove more dead batteries - (84ad8dd)
- Wip - (4132d1d)
📚 Documentation
🧪 Testing
- (integration) Less dependence on data_type models - (8402f1e)
- (integration) Move dialect specific data types into separate models - (3290c20)
- (integration) Fix snapshots - (fddb6b7)
- (integration) Fix snapshots - (b2c4a9e)
- (integration) Use a single, per database graphql schema - (d1c404f)
- (integration) Remove old types.py module - (b832cfe)
- (integration) Update postgres snapshots - (faa8420)
- (integration) Add mixed deterministic/user ordering case - (a0fc3d2)
- (mysql) Add a test case with both distinct on and order by arguments - (63086b5)
- (unit) Update snapshots - (c6a6a49)
- (unit) Update snapshots - (46447ce)
- Fixes - (05ca98d)
- Update noxfile.py - (5365d47)
⚙️ Miscellaneous Tasks
- (release) Bump to v0.16.0 - (58a3bda)
What's Changed
- refactor(repository): allow accessing instances from repository result by @gazorby in #61
- test(integration): less dependence on data_type models by @gazorby in #62
- refactor(config): restrict aggregation filters to those supported by database by @gazorby in #63
- feat: support mysql by @gazorby in #64
- refactor: simplify internals by @gazorby in #68
- feat: deterministic ordering by @gazorby in #69
Full Changelog: v0.15.6...v0.16.0
v0.15.6
0.15.6 - 2025-04-29
🐛 Bug Fixes
- (input) Discard attributes set during model init when parsing update inputs - (62f4327)
🧪 Testing
- (integration) Better sql snapshots for insert/update statements - (b849961)
- (integration) Fixup - (12fd07e)
- (pytest-plugin) Rework test cases - (71bad56)
⚙️ Miscellaneous Tasks
- (release) Bump to v0.15.6 - (bad48a6)
What's Changed
Full Changelog: v0.15.5...v0.15.6
v0.15.5
0.15.5 - 2025-04-29
🐛 Bug Fixes
- (input) Fields on update input were not partial - (3f94f2e)
🚜 Refactor
- (formatting) Apply ruff - (8d3375f)
🧪 Testing
- (integration) Test multiple query/mutations sequentially - (6f879ca)
⚙️ Miscellaneous Tasks
What's Changed
Full Changelog: v0.15.4...v0.15.5