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

This commit is contained in:
Mateusz Gruszczyński committed 2026-11-01 15:46:10 +01:00
1 parent 47c3cd7f65
commit cfc74d9db6
33 files changed
+850 -244

No files matched your search

+14 -15
View File
@@ -1,20 +1,19 @@
RustBox 0.2.5 - final source validation
RustBox 0.2.6 - final source validation
0.2.5 scope:
- reader advances to the next list message after Spam/Not spam/Archive/Move/Delete actions, with previous-message fallback for the last item
- S3-compatible plain-HTTP client-options fix for explicitly allowed internal endpoints
- regression coverage for an HTTP S3-compatible endpoint
- Rust 1.99.1 toolchain/MSRV
- Debian Trixie RustBox images and PostgreSQL 17 Trixie Compose variants
- feature gates for Sieve/diagnostics/About and UI policy exposure
- API fallback isolation: unknown/disabled `/api/*` routes return 404 and never fall through to the SPA UI
- reset-all-settings preserving account/mail data
- optional browser security headers
- Docker two-node application topology with Envoy/Valkey/OpenSearch/PostgreSQL/Garage
- version metadata updated to 0.2.5
0.2.6 scope:
- iOS-safe reader action popovers for Details and Move / copy, portaled outside the horizontally scrolling toolbar
- faster folder-counter refresh using a server-authoritative realtime unread counts and a longer folder-list cache TTL
- live refresh for the currently viewed folder via IMAP IDLE plus a 30-second fallback sync for other folders
- periodic sync stores newly arrived message headers before emitting realtime events, so new messages can appear in the list immediately
- in-app toast for new mail in any folder and per-message browser-notification deduplication
- animated indexing indicator beside Contacts while deep indexing is active
- deep indexing excludes Trash/Junk/Spam at query time so excluded folders cannot block the indexing queue
- manual refresh forces current-folder status refresh while folder-list/count refresh runs in parallel
- no database migration; V047 remains current and V048 remains next
- version metadata updated to 0.2.6
Completed in this environment:
- offline release validator: scripts/validate-release-static.py (211/211 checks passed)
- offline release validator: scripts/validate-release-static.py (212/212 checks passed)
- all maintained TOML examples parse successfully
- Docker Compose topology/config references are validated by the offline release validator
- JSON files parse successfully
@@ -24,7 +23,7 @@ Completed in this environment:
- 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
- Cargo.lock is retained for reproducible builds; no *.orig, *.rej, temporary FIX/APPLY scripts, or patch leftovers are shipped
- 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