Skip to content

yara-orm 1.14.2

Choose a tag to compare

@vsdudakov vsdudakov released this 07 Jul 11:07
· 20 commits to main since this release

Patch release: prefetch/dialect correctness fixes and hot-path optimizations.

Fixed

  • Prefetch correctness — custom Prefetch filters/ordering honoured for M2M; LIMIT/OFFSET/slice on a custom M2M Prefetch applies per owner; reverse-M2M managers read the cache under related_name (no more N+1).
  • Dialect / backend — PostgreSQL-only nested block comments (new nests_block_comments flag); MySQL/MariaDB escape backslashes in string literals; MSSQL percent-decodes URL credentials and honours ?encrypt=strict; SQLite rolls back on COMMIT failure; PostgreSQL clamps max_size to >= 1.
  • Query / field — relation fields named like lookup operators (slot__date) traverse correctly; FloatField coerces numeric strings; non-finite floats in JSON params preserved as text across both binders.
  • Migrations / models — primary-key change diffing renders ADD/DROP PRIMARY KEY per dialect; bulk_create(update_fields=..., on_conflict=[]) falls back to the pk target; compiled insert plan snapshotted before awaiting (concurrent cross-dialect save safety).

Changed

  • Hot-path optimizations — per-dialect compiled statement plan cache (O(1) restore); scalar-field compile path skips the relation probe; custom-M2M prefetch drops a redundant generator.
  • SQLite benchmarks use sync_fast_path — fastest on every SQLite op except the sub-millisecond group_by; SQLite/MariaDB tables and charts refreshed.

Full changelog: https://github.com/vsdudakov/yara-orm/blob/main/CHANGELOG.md