Skip to content

release: 0.10.0 - #20

Merged
VladislavYar merged 9 commits into
mainfrom
dev
Oct 26, 2026
Merged

VladislavYar merged 9 commits into
mainfrom
dev

Conversation

@VladislavYar

Copy link
Copy Markdown
Contributor

Release 0.10.0 into main - see the [0.10.0] section of CHANGELOG.md (#14, and #13 synced through #19).

Merge it with Create a merge commit, then tag v0.10.0 on main.

The whole code base, documentation and test suite of hare-orm as of its earlier private
development, prepared for the first public release, 0.9.0 - see CHANGELOG.md.

Benchmark results for 0.9.0 are included. benchmarks/bench.py writes every text about the
benchmark from its results and its own settings - the docs benchmark pages, the Benchmarks section
of both READMEs and the scenario and method lists of benchmarks/README - so a run updates all of
them. Each chart has its own background, and the docs pages use the GitHub light/dark image
fragments, which Material also understands.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
…t in make check (#3)

The strict documentation build refused eight lines of the 0.9.0 docs - a hyphen written for a dash
and lines past 110 characters - and only the deploy on a push to dev built the docs, so neither a
pull request nor make check caught it. make _check (and so the check job of every CI run) now
builds the documentation in strict mode too.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
…onger committed (#4)

deploy-docs published on a push to dev, which the github-pages environment doesn't deploy from - main
is the default branch and holds the released code. commit-native-binary committed the nine compiled
rust.native files back to dev and main: the branches are protected now, so the push is refused, and
the Rust build isn't byte-reproducible, so every push would commit them again (some 60 MB a time).
The test jobs and the release wheels build rust.native from the commit themselves; a checkout builds
it with make build_native. The files are untracked and ignored.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
)

check_wheel.py read the client of its model through MetaInfo.db, an attribute hare doesn't have - it
is MetaInfo.connection - so every wheel check of the release failed after installing the wheel, and
nothing could be published.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
…x's bundled libraries (#11)

The Windows build sets PYO3_USE_RAW_DYLIB=0, as make build_native_windows does: raw-dylib linking
does not resolve _PyDict_NewPresized. build_wheel.py takes hare_native.libs/ (libgcc_s on musllinux)
from maturin's wheel along with the extension, which loads it from ../hare_native.libs.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
DecimalField refused on SQLite; statistics keep the database's own number types; settings written
in code no longer checked; model labels accepted wherever a model is; api_getter in request_query;
linear rollback of migrations; dialect-specific SQL moved into the dialect packages; bug fixes.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
…#17)

* Import the hare-orm code base for the 0.9.0 release (#2)

* Import the hare-orm code base for the 0.9.0 release (#1)

The whole code base, documentation and test suite of hare-orm as of its earlier private
development, prepared for the first public release, 0.9.0 - see CHANGELOG.md.

Benchmark results for 0.9.0 are included. benchmarks/bench.py writes every text about the
benchmark from its results and its own settings - the docs benchmark pages, the Benchmarks section
of both READMEs and the scenario and method lists of benchmarks/README - so a run updates all of
them. Each chart has its own background, and the docs pages use the GitHub light/dark image
fragments, which Material also understands.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>

* docs: dashes and line lengths the strict build refuses; the docs built in make check (#3)

The strict documentation build refused eight lines of the 0.9.0 docs - a hyphen written for a dash
and lines past 110 characters - and only the deploy on a push to dev built the docs, so neither a
pull request nor make check caught it. make _check (and so the check job of every CI run) now
builds the documentation in strict mode too.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>

* ci: the docs published from main; the compiled rust.native files no longer committed (#4)

deploy-docs published on a push to dev, which the github-pages environment doesn't deploy from - main
is the default branch and holds the released code. commit-native-binary committed the nine compiled
rust.native files back to dev and main: the branches are protected now, so the push is refused, and
the Rust build isn't byte-reproducible, so every push would commit them again (some 60 MB a time).
The test jobs and the release wheels build rust.native from the commit themselves; a checkout builds
it with make build_native. The files are untracked and ignored.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>

---------

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>

* ci: the wheel check reads the model's connection by its current name (#10)

check_wheel.py read the client of its model through MetaInfo.db, an attribute hare doesn't have - it
is MetaInfo.connection - so every wheel check of the release failed after installing the wheel, and
nothing could be published.


(cherry picked from commit 6064ea3)

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>

* ci: the release wheels link rust.native on Windows and carry musllinux's bundled libraries (#12)

The Windows build sets PYO3_USE_RAW_DYLIB=0, as make build_native_windows does: raw-dylib linking
does not resolve _PyDict_NewPresized. build_wheel.py takes hare_native.libs/ (libgcc_s on musllinux)
from maturin's wheel along with the extension, which loads it from ../hare_native.libs.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>

* build: mimalloc takes the local-dynamic TLS model on musl (#13)

musl refuses to dlopen() a shared library with initial-exec TLS, which libmimalloc-sys compiles with
on Unix by default: rust.native of the musllinux wheels didn't import.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>

---------

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
main's own commits become ancestors of dev, so dev merges into main without conflicts; dev already holds all
of main's changes (#10, #12 and #13), and its tree stays as it is.

Signed-off-by: Vladislav Yaremenko <vlad.yaremenko.98@yandex.ru>
@VladislavYar
VladislavYar merged commit 8bbc765 into main Oct 26, 2026
15 of 16 checks passed
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