Skip to content

Releases: gazorby/strawchemy

v0.21.0

18 Dec 23:23

Choose a tag to compare

0.21.0 - 2025-12-18

🚀 Features

  • Support multiple columns unique constraints (#135) - (19d8bb6)

💼 Other

🚜 Refactor

⚙️ Miscellaneous Tasks

  • (cd) Use pat to commit changelog - (f137678)
  • (release) Bump to v0.21.0 - (e5819e4)

What's Changed

Full Changelog: v0.20.0...v0.21.0

v0.20.0

14 Dec 01:17

Choose a tag to compare

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

New Contributors ❤️

  • @Ckk3 made their first contribution in #98

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

  • @Ckk3 made their first contribution in #98

Full Changelog: v0.19.0...v0.20.0

v0.19.0

06 Sep 21:03

Choose a tag to compare

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

📚 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

07 Jun 20:10

Choose a tag to compare

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

  • (readme) Update database support - (7c55100)
  • (readme) Add section for upsert mutations - (99b7096)

🧪 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

  • feat(mutation): initial upsert support by @gazorby in #77

Full Changelog: v0.17.0...v0.18.0

v0.17.0

02 Jun 11:21

Choose a tag to compare

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

  • (sqlite) Minor fixes - (387356f)
  • (typing) Remove unused types - (cc39392)

📚 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

  • (release) Bump to v0.17.0 - (cda53ea)
  • Upgrade dependencies - (d8a9dd1)

What's Changed

Full Changelog: v0.16.0...v0.17.0

v0.16.0

27 May 22:59

Choose a tag to compare

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

29 Apr 23:47

Choose a tag to compare

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

  • fix(input): discard attributes set during model init when parsing update inputs by @gazorby in #60

Full Changelog: v0.15.5...v0.15.6

v0.15.5

29 Apr 18:06

Choose a tag to compare

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

v0.15.4

29 Apr 13:08

Choose a tag to compare

0.15.4 - 2025-04-29

🐛 Bug Fixes

  • (input) Dataclass models tracking not working - (14bfe33)

⚙️ Miscellaneous Tasks

  • (release) Bump to v0.15.4 - (9fc7cde)

What's Changed

  • fix(input): dataclass models tracking not working by @gazorby in #58

Full Changelog: v0.15.3...v0.15.4

v0.15.3

29 Apr 01:16

Choose a tag to compare

0.15.3 - 2025-04-29

⚙️ Miscellaneous Tasks

What's Changed

Full Changelog: v0.15.2...v0.15.3