v0.2.2
RustBox CI / rustbox (push) Canceled after 0s

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-31 16:27:41 +01:00
1 parent 95c0587c1e
commit 5b22add1f3
21 files changed
+293 -89

No files matched your search

+17 -17
View File
@@ -1,30 +1,30 @@
RustBox 0.2.1 - final source validation
RustBox 0.2.2 - final source validation
Completed in this environment:
- offline release validator: scripts/validate-release-static.py (144/144 checks passed)
- offline release validator: scripts/validate-release-static.py (164/164 checks passed)
- all maintained TOML examples parse successfully
- Docker Compose topology/config references are validated by the offline release validator
- JSON files parse successfully
- browser JavaScript assembled in src/web/js/manifest.txt order passes node --check
- shell scripts pass bash -n
- Python helper scripts compile successfully
- Rust source delimiter sanity check passes after removing partial-patch leftovers
- git diff --check passes on the final source tree
- targeted source checks validate the PostgreSQL header-sync UPSERT and startup schema-initialization control flow
- the PostgreSQL startup DDL path now uses `Executor::execute()` instead of the lifetime-problematic `raw_sql(...).execute(&mut PgConnection)` path; compiler validation remains part of the Rust-host release gate
- whitespace/patch-artifact checks pass on the final source tree (this packaged worktree has no `.git` metadata)
- no Cargo.lock, *.orig, *.rej, temporary FIX/APPLY scripts, or patch leftovers are shipped
- regression source checks retain the 0.2.0 release gate and add 0.2.1 policy/backpressure checks
- regression source checks retain the PostgreSQL header-sync qualification audit and now reject the SQLx raw_sql mutable-connection lifetime regression in startup DDL
- SQLite unit-test configuration no longer leaks a temporary database path through the process-wide OnceLock; a dedicated regression test covers deleted TempDir reuse
- the static release contract now verifies that build-release.sh requires cargo test, Clippy with -D warnings, and a locked release build
- scripts/package-release.sh runs the full build gate before creating the source ZIP and SHA256, so packaging cannot succeed after a failed Rust test/Clippy/build gate
0.2.1 fixes included:
- OpenPGP policy visibility follows pgp_enabled and disabled OpenPGP is hidden from the UI
- OpenSearch 429/flood-stage failures trigger worker backoff instead of per-event warning storms
- Docker development defaults session cookies for direct HTTP and documents the production HTTPS requirement
- cluster_mode controls the implicit data_dir default; PostgreSQL/MySQL remain valid with local data_dir backends in single-node deployments
- storage/search configuration comes only from [storage] and [search]
- removed pre-0.2 top-level storage/search switches and the tantivy backend alias
- removed runtime legacy attachment read-through; attachment access uses logical BlobStorage keys
- fixed search_outbox tenant/import table parity
- fixed nested SQLite transactions in message move paths
- fixed the Clippy -D warnings failures reported for examples, config, storage, search, routes, realtime and formatting
- scripts/build-release.sh removes stale Cargo.lock, runs the static gate, generates a fresh lockfile for locked Cargo commands, and cleans it on exit
0.2.2 fixes included:
- PostgreSQL startup schema initialization no longer triggers SQLx `Executor is not general enough`; raw multi-statement DDL is executed directly through `Executor::execute()` inside the existing transaction
- PostgreSQL header-sync invalidation qualifies the existing tenant user_meta.value in ON CONFLICT DO UPDATE, eliminating the ambiguous-column 500 seen during message mutations such as marking spam
- tenant SQL rewriting has a regression test proving the qualified user_meta reference is rewritten to the tenant table
- SQLite and MySQL equivalents were reviewed and do not have the PostgreSQL ambiguity
- 0.2.2 single-schema-owner and PostgreSQL NOTICE-noise fixes remain in place
- no database migration is required; V047 remains current and V048 remains next
- 0.2.1 OpenPGP visibility, OpenSearch backpressure and HTTP/dev cookie fixes remain in place
Not executed in this packaging environment:
- cargo fmt/test/clippy/build with Rust 1.88, because Rust/Cargo is not installed here and outbound DNS is unavailable