v0.2.0
This commit is contained in:
1 parent
fc81ecafd6
commit
dc57aa7089
89 files changed
+5290
-1551
No files matched your search
+29
-16
@@ -1,20 +1,33 @@
|
||||
RustBox 0.1.2 - release validation
|
||||
RustBox 0.2.0 - final source validation
|
||||
|
||||
Completed in this environment:
|
||||
- release metadata: Cargo.toml and the RustBox package entry in Cargo.lock = 0.1.2
|
||||
- TOML parse: Cargo.toml, config.example.toml, config.dev.toml and packaging/rustbox.toml
|
||||
- shell syntax: dev.sh and scripts/*.sh pass bash -n
|
||||
- query catalog parity: SQLite/MySQL/PostgreSQL expose the same 27 modules / 197 public SQL constants, including 153 Q_* executable query constants
|
||||
- logical schema parity: MySQL and PostgreSQL define the same 28 account/global tables
|
||||
- static SQL dialect scan: no PostgreSQL-only constructs found in the MySQL catalog/baseline and no MySQL-only constructs found in the PostgreSQL catalog/baseline
|
||||
- MySQL index audit: 49 indexes/constraints checked; no unprefixed TEXT/BLOB key remains and the largest utf8mb4 key estimate is 2568 bytes (<3072); pgp_keys.email is VARCHAR(320)
|
||||
- MySQL upsert audit: no REPLACE INTO remains in the MySQL catalog; folder/message refresh uses non-destructive ON DUPLICATE KEY UPDATE
|
||||
- SQLite baseline execution: schema executes successfully under Python sqlite3 with foreign keys enabled
|
||||
- cluster storage review: SQL mailbox cache is shared; draft attachments are filesystem-backed; built-in Tantivy and OpenPGP are disabled by cluster-mode validation
|
||||
- no application tests were added for the 0.1.2 audit
|
||||
- offline release validator: scripts/validate-release-static.py (139/139 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
|
||||
- no Cargo.lock, *.orig, *.rej, temporary FIX/APPLY scripts, or patch leftovers are shipped
|
||||
- regression source checks cover every Clippy failure reported during the 0.2.0 release attempt
|
||||
|
||||
Not executable in this environment:
|
||||
- cargo fmt/test/clippy/build: Rust/Cargo toolchain is not installed
|
||||
- live MySQL/PostgreSQL execution: database servers/clients are not installed
|
||||
0.2.0 fixes included:
|
||||
- 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
|
||||
|
||||
Before publishing a production binary, run scripts/build-release.sh on a Rust 1.88+ build host and perform a live schema/query smoke test against the exact MySQL/PostgreSQL versions used in production.
|
||||
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
|
||||
- live PostgreSQL/MySQL/S3/NFS/OpenSearch integration tests
|
||||
|
||||
The final release gate on a Rust host is:
|
||||
bash scripts/build-release.sh
|
||||
|
||||
This file intentionally does not claim blocked runtime/integration checks as passed.
|
||||
Reference in new issue
Block a user