- Use try_sapling_note_decryption with IVKs to detect wallet-owned outputs
- Correctly identifies change sent to diversified addresses
- Prevents change outputs from appearing as external recipients in tx history
- Add shutdown_flag (AtomicBool) to LightClient for clean thread termination
- Mempool monitor threads check shutdown flag and exit gracefully
- Add pub fn shutdown() method to set the flag
- Atomic wallet save: write to .dat.tmp then rename, preventing corruption on crash
- Create .dat.bak backup before each save
- Auto-recovery on startup: if wallet file missing/corrupted, restore from .bak
- Fix FFI panics with catch_unwind and safe CString construction
- Handle poisoned mutex/RwLock after prior panics instead of crashing
- Fix empty block list panics in clear_blocks and invalidate_block
- Reuse Tokio runtime across block fetch batches to reduce overhead
- Add fetch_blocks_with_runtime for caller-managed runtime lifecycle
- Update branding, dependencies, and checkpoints for DragonX