1 parent
95c0587c1e
commit
5b22add1f3
21 files changed
+293
-89
No files matched your search
+28
-3
@@ -1,4 +1,4 @@
|
||||
RustBox 0.2.1 release manifest
|
||||
RustBox 0.2.2 release manifest
|
||||
|
||||
Architecture:
|
||||
- database_backend = sqlite | mysql | pgsql selects authoritative SQL only
|
||||
@@ -27,19 +27,44 @@ Database/schema:
|
||||
- runtime migration V047 adds attachment checksum metadata and search_outbox
|
||||
- next migration number: V048
|
||||
|
||||
PostgreSQL message mutation fix (0.2.2):
|
||||
- header_sync_generation UPSERT qualifies the current tenant user_meta.value on the UPDATE RHS
|
||||
- this prevents PostgreSQL from treating `value` as ambiguous during ON CONFLICT DO UPDATE
|
||||
- SQLite/MySQL equivalents were reviewed and require no matching SQL change
|
||||
- no schema migration is required
|
||||
|
||||
PostgreSQL startup compile fix (0.2.2):
|
||||
- multi-statement global schema DDL uses `sqlx::Executor::execute()` on the transaction connection
|
||||
- avoids SQLx raw_sql mutable-connection lifetime inference failures (`Executor is not general enough`)
|
||||
- retains the startup transaction and `SET LOCAL client_min_messages TO WARNING`
|
||||
- no schema migration is required
|
||||
|
||||
Database/session startup (0.2.2):
|
||||
- db::pool::configure() is the single owner of global schema initialization
|
||||
- database-backed session persistence does not execute schema.sql a second time
|
||||
- the fix applies uniformly to SQLite, MySQL and PostgreSQL
|
||||
- PostgreSQL expected IF NOT EXISTS notices are suppressed only inside the startup DDL transaction
|
||||
- no SQL migration is required; runtime schema remains V047
|
||||
|
||||
SQLite test isolation (0.2.2):
|
||||
- test builds initialize each requested SQLite database but do not publish a TempDir-backed path into the process-wide database OnceLock
|
||||
- account/database tests therefore remain isolated when Rust runs them in parallel
|
||||
- a regression test covers deleting the first TempDir before opening a second test database
|
||||
|
||||
Docker examples:
|
||||
- docker/compose-single-sqlite.yml
|
||||
- docker/compose-postgres-s3-opensearch.yml (PostgreSQL + SILO/S3 + OpenSearch)
|
||||
- docker/compose-mysql-nfs-opensearch.yml (MySQL + real NFS volume + OpenSearch)
|
||||
|
||||
Operations/docs:
|
||||
- README.md documents 0.2.1 storage/search configuration
|
||||
- README.md documents 0.2.2 storage/search configuration
|
||||
- docker/README.md documents Compose variants
|
||||
- docs/STORAGE_SEARCH_OPERATIONS.md documents failure modes, shared-storage requirements and migration behavior
|
||||
- TODO.md leaves live SILO/MinIO/AWS/Ceph and real multi-node acceptance validation explicitly pending
|
||||
|
||||
Build/release metadata:
|
||||
- Cargo.toml version = 0.2.1
|
||||
- `scripts/package-release.sh` runs the full Rust release gate before creating ZIP/SHA256 artifacts
|
||||
- Cargo.toml version = 0.2.2
|
||||
- rust-toolchain.toml pins Rust 1.88.0
|
||||
- Cargo.lock is intentionally not shipped because this environment could not regenerate it after dependency changes
|
||||
- CI and scripts/build-release.sh generate Cargo.lock, then run locked tests/Clippy/release build
|
||||
Reference in new issue
Block a user