Skip to content

release: 0.11.0 - #22

Merged
VladislavYar merged 1 commit into
devfrom
release-0.11.0
Oct 28, 2026
Merged

VladislavYar merged 1 commit into
devfrom
release-0.11.0

Conversation

@VladislavYar

Copy link
Copy Markdown
Contributor

hare-orm 0.11.0 - see the 0.11.0 section of CHANGELOG.md for the summary.

Breaking changes

  • bulk_create(ignore_conflicts=True) returns the objects it inserted, and only they are marked saved; objects whose keys the database generates need on_conflict=[...].
  • JSONField(field_type=...), YAML configuration files and Faker() need the pydantic, yaml and faker extras.
  • A transaction of postgresql+asyncpg refuses a statement from another event loop, and an in-memory SQLite database refuses another event loop - both with ConfigurationError.

Added

  • Outbox: ChangeCapture(extend_many=...) and ChangeCapture.replace(), OutboxEvent.enqueue_many(), topic patterns and exclude_topics of OutboxRelay, WebhookDelivery of subscribers (target, allows_url, result_field, signature_header).
  • A Q as a value in annotate(), alias(), values(), values_list() and update() (ConditionValue).
  • The pytest plugin's hare_app_db and hare_app_transactional_db for the application under test.
  • VersionedModel.get_last_visible_version_or_exception(), Uuid7, ClickhouseRequestQuery, Field.get_json_value(), prefetch_related(None).
  • Test environments (tests/matrix): each test runs in the environment installing exactly the extras it requires (core without any, pure without the Rust extension).
  • Contract matrices (tests/contracts): field x place of its value, write path x observer, extra x entry point, contrib model x migrations, integration x test fixture, documentation x code, Meta option x inheritance, exception x integration answer.

Changed

  • The ids of VersionedModel and OutboxEvent are version 7 UUIDs; ListenNotifyWakeup sends one NOTIFY per topic and transaction; a PostgreSQL test database is dropped with its sessions.

Fixed

  • Migrations of outbox models, of a parameterized field_type and of an expression index over a foreign key; makemigrations without asyncpg; the change events of every field type; the pure wheel; the validators of a UUIDField given text; the JSON of a pydantic schema with NaN or infinity; the count, exists() and offset page of a request query that prefetches, Exists() of a queryset that prefetches.

Checked locally

  • Full suites on SQLite, PostgreSQL (rust_pg, asyncpg), ClickHouse (clickhouse-connect, clickhouse-driver); the differential fuzzers; make _check.

@VladislavYar
VladislavYar force-pushed the release-0.11.0 branch 10 times, most recently from 3544bf1 to 6681561 Compare October 28, 2026 08:31
Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
@VladislavYar
VladislavYar merged commit 6785bf6 into dev Oct 28, 2026
63 checks passed
@VladislavYar
VladislavYar deleted the release-0.11.0 branch October 28, 2026 10:08
@VladislavYar VladislavYar mentioned this pull request Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant