You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor database handling to use a shared internal DatabaseHandle in thread-local scope and resolve the active connection/backend directly from the current scope. Harden transaction semantics (consistent failure on leaked handles) and rename init helper usage in docs/examples (Database::init). Replace previous no-op serialization stubs for translations and file attachments with real implementations that operate on the model state and return explicit errors for unsupported operations (e.g. loading all translations into scalar fields). Update call sites (queries, fulltext, eager loading, nested upserts, generated macro code) to use the shared internal connection and conn.connection() where appropriate. Add tests for translation and file attachment round-trips and refresh docs/README and macros crate version to 0.8.4.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+22-1Lines changed: 22 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,26 @@ All notable changes to TideORM will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.8.4] - 2026-03-20
9
+
10
+
### Fixed
11
+
12
+
- Replaced silent translation and file-attachment serialization stubs so `Model::load_language_translations()`, `Model::get_files_attribute()`, and `Model::set_files_attribute()` now operate on the model state instead of succeeding without effect.
13
+
- Made `Model::load_all_translations()` fail loudly with a clear unsupported error instead of silently pretending to load all translations into scalar model fields.
14
+
- Hardened `Database::transaction()` so leaked transaction handles now fail consistently on both commit and rollback paths instead of silently relying on drop-based rollback in the error path.
15
+
- Ensured `NestedSaveBuilder::save()` persists related models with the parent foreign key instead of returning only FK-patched JSON payloads.
16
+
17
+
### Changed
18
+
19
+
- Reduced database-access overhead on model hot paths by resolving the current connection/backend directly from the active scope instead of repeatedly cloning the outer `Database` wrapper.
20
+
- Changed transaction-scoped thread-local overrides to store `DatabaseHandle` directly and updated `ConnectionRef::Database` to carry the shared internal connection handle instead of cloning `DatabaseConnection` per lookup.
21
+
- Refreshed public docs and examples to use the current global-database initialization API and the 0.8.4 crate version.
22
+
23
+
### Internal
24
+
25
+
- Kept the workspace warning-free after the connection-handle refactor by updating generated macro code, full-text execution paths, eager loading, nested bulk upserts, and query helpers to use shared internal connections correctly.
26
+
- Verified the release with `cargo test --lib` and `cargo clippy --workspace --all-targets -- -D warnings`.
27
+
8
28
## [0.8.1] - 2026-03-18
9
29
10
30
### Fixed
@@ -551,7 +571,8 @@ This is the first public release of TideORM, a developer-friendly ORM for Rust w
0 commit comments