Skip to content

Commit 31f7429

Browse files
authored
chore(release): bump to v1.9.2 (#703)
1 parent b433058 commit 31f7429

3 files changed

Lines changed: 24 additions & 58 deletions

File tree

docs/changelog.rst

Lines changed: 19 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,25 @@
33
1.x Changelog
44
=============
55

6+
.. changelog:: 1.9.2
7+
:date: 2026-04-03
8+
9+
.. change:: InvalidRequestError when calling create_session_maker
10+
:type: bugfix
11+
:pr: 701
12+
13+
Fixes `sqlalchemy.exc.InvalidRequestError: No such event 'before_flush' for target 'async_sessionmaker(...)'` raised when calling `SQLAlchemyAsyncConfig.create_session_maker()`
14+
15+
616
.. changelog:: 1.9.1
717
:date: 2026-03-26
818

919
.. change:: add missing Any import to alembic migration templates
1020
:type: bugfix
1121
:pr: 697
1222

13-
## Description
1423
The try/except ImportError fallback for optional password hashers (Argon2Hasher, PasslibHasher, PwdlibHasher) used `Any` as a type placeholder, but `Any` was never imported. This caused a NameError when running migrations without optional dependencies installed.
1524

16-
## Closes
17-
#691
18-
1925

2026
.. changelog:: 1.9.0
2127
:date: 2026-03-24
@@ -47,8 +53,6 @@
4753
Tuple and mapping primary-key inputs are now supported for lookup and delete
4854
operations, including MSSQL-compatible filtering for bulk operations.
4955

50-
Closes #189
51-
5256
.. change:: refactor serializers & code cleanup
5357
:type: feature
5458
:pr: 661
@@ -68,8 +72,6 @@
6872
``open_fixture_async()``, expanding fixture loading beyond JSON to include
6973
comma-separated value files.
7074

71-
Closes #536
72-
7375
.. change:: initial support for dogpile caching
7476
:type: feature
7577
:pr: 636
@@ -97,9 +99,6 @@
9799
in the repository and service layers with ``with_for_update`` support
98100
for API parity with ``get()``.
99101

100-
Closes #488
101-
Closes #623
102-
103102
.. change:: add `was_attribute_set()` guard to relationship loop in `update()`
104103
:type: bugfix
105104
:pr: 685
@@ -110,9 +109,6 @@
110109
same ``was_attribute_set()`` guard as the column loop so only
111110
explicitly assigned relationship values are copied during ``update()``.
112111

113-
Closes #684
114-
115-
116112
.. change:: nullable relationship detection and FileObject nested metadata
117113
:type: bugfix
118114
:pr: 679
@@ -123,9 +119,6 @@
123119
serializing non-string obstore metadata values before they are passed to
124120
``put()``.
125121

126-
Closes #227
127-
Closes #676
128-
129122
.. change:: make `model_from_dict` model parameter positional-only
130123
:type: bugfix
131124
:pr: 673
@@ -136,8 +129,6 @@
136129
function signature. Service-layer call sites now use the positional
137130
form.
138131

139-
Closes #668
140-
141132
.. change:: use typing.List to avoid list() method shadowing on Python 3.14
142133
:type: bugfix
143134
:pr: 674
@@ -148,8 +139,6 @@
148139
lazy annotation evaluation resolving ``list`` to the method instead of
149140
the builtin type.
150141

151-
Closes #659
152-
153142
.. change:: isolate in-filter query params for multi-field depende…
154143
:type: bugfix
155144
:pr: 667
@@ -183,8 +172,6 @@
183172
dictionaries or lists of dictionaries into the appropriate related model
184173
instances while preserving existing non-nested behavior.
185174

186-
Closes #556
187-
188175
.. change:: add click compatibility layer for CLI alias support
189176
:type: bugfix
190177
:pr: 645
@@ -208,8 +195,6 @@
208195
middleware records response status but skips cleanup, allowing the
209196
generator to handle commit, rollback, and close at the correct time.
210197

211-
Closes #647
212-
213198
.. change:: complete SQLAlchemy inheritance pattern support (STI, JTI, CTI)
214199
:type: bugfix
215200
:pr: 611
@@ -238,7 +223,6 @@
238223
Update the codebase to align with the latest changes in Starlette, ensuring compatibility and addressing type checking issues.
239224

240225

241-
242226
.. changelog:: 1.8.2
243227
:date: 2025-12-12
244228

@@ -263,6 +247,7 @@
263247

264248
Discovered a runtime issue with an inconsistent type declaration when upgrading a litestar project to use version 1.8.0 introduced
265249

250+
266251
.. changelog:: 1.8.1
267252
:date: 2025-12-06
268253

@@ -297,6 +282,7 @@
297282
- Before the change, passing `with_for_update` to service.update() or repository.update() only affected the post-flush session.refresh() call. The row that gets copied and mutated was always retrieved with a plain SELECT, so two concurrent writers could both read the same version
298283
- Now the `with_for_update` flag is honored when the row is first fetched (both in the service’s item_id branch and inside SQLAlchemyAsyncRepository.get()). When you call service.update(..., with_for_update=True) (or pass the richer dict form/ForUpdateArg), the initial SELECT ... FOR UPDATE runs, so the session holds the expected lock before any field copying or merges occur.
299284

285+
300286
.. changelog:: 1.8.0
301287
:date: 2025-10-28
302288

@@ -356,6 +342,7 @@
356342

357343
Note: Different databases use different function names (PostgreSQL: `func.random()`, MySQL: `func.rand()`, SQL Server: `func.newid()`)
358344

345+
359346
.. changelog:: 1.7.0
360347
:date: 2025-10-13
361348

@@ -385,7 +372,7 @@
385372
:pr: 553
386373
:issue: 552
387374

388-
This fixes #552 by moving the guard condition up.
375+
This fixes `Still errors in SQLAlchemyRepository update method with lazy` by moving the guard condition up.
389376

390377
.. change:: prevent update() from overwriting unset fields with None (#560)
391378
:type: bugfix
@@ -466,6 +453,7 @@
466453

467454
Enhance thread management in `sync_tools` to improve performance and reliability.
468455

456+
469457
.. changelog:: 1.6.2
470458
:date: 2025-08-29
471459

@@ -511,6 +499,7 @@
511499
- Include any custom metadata from `FileObject.metadata`
512500
- Added proper typing for the attributes dictionary
513501

502+
514503
.. changelog:: 1.6.1
515504
:date: 2025-08-26
516505

@@ -638,9 +627,6 @@
638627

639628
`wrap_exceptions` is now correctly passed into the exception handler context manager.
640629

641-
Fixes #472
642-
643-
644630

645631
.. changelog:: 1.4.2
646632
:date: 2025-05-04
@@ -658,8 +644,6 @@
658644

659645
BigIntPrimaryKey will now respect schema names.
660646

661-
Fixes #466
662-
663647

664648
.. changelog:: 1.4.1
665649
:date: 2025-04-28
@@ -671,8 +655,6 @@
671655

672656
Raise exception if filter operator does not exist in operators_map
673657

674-
Fixes #453
675-
676658
.. change:: `uniquify` respects init method override
677659
:type: bugfix
678660
:pr: 462
@@ -724,8 +706,6 @@
724706
Updates the ``litestar_service.py`` example models to correctly handle
725707
relationship updates for ``AuthorModel`` and ``BookModel``.
726708

727-
Fixes #449
728-
729709
.. change:: `create_service_provider` supports any configuration now
730710
:type: bugfix
731711
:pr: 451
@@ -744,6 +724,7 @@
744724

745725
This change allows for arguments to also be matched when generating a service provider closure.
746726

727+
747728
.. changelog:: 1.3.0
748729
:date: 2025-04-18
749730

@@ -770,8 +751,6 @@
770751

771752
Removes column re-ordering component was incorrectly causing incorrect constraints to be genreated.
772753

773-
Fixes #427
774-
775754
.. change:: make `SentinelMixin` compatible with `MappedAsDataclass`
776755
:type: bugfix
777756
:pr: 442
@@ -823,8 +802,6 @@
823802

824803
Implements new `Exists` and `NotExists` filters to more easily apply this type of logic to queries.
825804

826-
Closes #331
827-
828805
.. change:: fully migrate to `pytest-databases`
829806
:type: feature
830807
:pr: 430
@@ -868,8 +845,6 @@
868845

869846
Improves coverage for async and sync function handling, context managers, and value management.
870847

871-
872-
873848
.. change:: remove accidental litestar import
874849
:type: bugfix
875850
:pr: 426
@@ -933,7 +908,6 @@
933908
- Removed deprecated methods and simplified the extension interface
934909

935910

936-
937911
.. changelog:: 0.33.2
938912
:date: 2025-03-09
939913

@@ -1017,7 +991,6 @@
1017991
Extends the default `msgspec` type decoders to handle Enum types by converting them to their underlying value during serialization
1018992

1019993

1020-
1021994
.. changelog:: 0.31.0
1022995
:date: 2025-02-18
1023996

@@ -1070,8 +1043,7 @@
10701043
:issue: 356
10711044

10721045
When `wrap_exceptions` is `False`, the original SQLAlchemy error message will be raised instead of the wrapped Repository error
1073-
1074-
Fixes #356 (Bug: `wrap_sqlalchemy_exception` masks db errors)
1046+
(Bug: `wrap_sqlalchemy_exception` masks db errors)
10751047

10761048
.. change:: simplify configuration hash
10771049
:type: feature
@@ -1200,7 +1172,6 @@
12001172
Last, but not least, there's an experimental async portal that integrates a long running asyncio loop for running async operations in Flask. Using `foo = portal.call(<async function>)` you can get the result of an asynchronous function from a sync context.
12011173

12021174

1203-
12041175
.. changelog:: 0.28.0
12051176
:date: 2025-01-13
12061177

@@ -1226,7 +1197,6 @@
12261197
.. changelog:: 0.27.0
12271198
:date: 2025-01-11
12281199

1229-
12301200
.. change:: add `error_messages` as class level configuration
12311201
:type: feature
12321202
:pr: 315
@@ -1246,7 +1216,6 @@
12461216
Addition typing utilities to help with type checking and validation.
12471217

12481218

1249-
12501219
.. changelog:: 0.26.0
12511220
:date: 2025-01-11
12521221

@@ -1267,7 +1236,6 @@
12671236
- The SQLAlchemyDTOConfig's `exclude`, `include`, and `rename_fields` fields will now accept string or `InstrumentedAttributes`
12681237
- DTO supports `WriteOnlyMapped` and `DynamicMapped`
12691238

1270-
12711239
.. change:: add default exception handler for `litestar` integration
12721240
:type: feature
12731241
:pr: 308
@@ -1307,6 +1275,7 @@
13071275

13081276
Removes the use of lambda statements in the repository and service classes. This has no change on the end user API, however, it should remove strange queries errors seen.
13091277

1278+
13101279
.. changelog:: 0.23.0
13111280
:date: 2025-01-11
13121281

@@ -1362,7 +1331,6 @@
13621331

13631332
instead, this looks at the sessionmaker `class_` property for adding the sanic dependency
13641333

1365-
13661334
.. change:: correct regex mappings for duplicate and foreign key errors
13671335
:type: bugfix
13681336
:pr: 266
@@ -1386,8 +1354,6 @@
13861354
:pr: 52
13871355
:issue: 51
13881356

1389-
Fixes #51
1390-
13911357
Bug: CollectionFilter returns all entries if values is empty
13921358

13931359
a simple `1=-1` is appended into the `where` clause when an empty list is passed into the `in` statement.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ maintainers = [
4646
name = "advanced_alchemy"
4747
readme = "docs/PYPI_README.md"
4848
requires-python = ">=3.9"
49-
version = "1.9.1"
49+
version = "1.9.2"
5050

5151
[project.urls]
5252
Changelog = "https://advanced-alchemy.litestar.dev/latest/changelog"
@@ -178,7 +178,7 @@ test = [
178178
allow_dirty = true
179179
commit = false
180180
commit_args = "--no-verify"
181-
current_version = "1.9.1"
181+
current_version = "1.9.2"
182182
ignore_missing_files = false
183183
ignore_missing_version = false
184184
message = "chore(release): bump to v{new_version}"

uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)