// CHANGELOG

Changelog

The story behind every release, fully public.

v1.1.0 — Password-Change Auto Migration / Camera Stability / Decryption Fixes / AI Web Search

Current version · second release under the name CosmosBox

This release fixes issues that directly affect daily use: encrypted data disappearing after a password change, janky photo↔video switching, and AI chat with no internet capability.

🔑 Automatic migration of encrypted data on password change (core fix)

  • Changing your password no longer loses data: when you change or reset your master password, all local encrypted data (photos, videos, thumbnails, notes, contacts, character cards, password manager) is automatically decrypted with the old key and re-encrypted with the new one — entirely on-device
  • Per-file fault tolerance: a single failed file is counted and skipped, never halting the migration; files the old key can’t open are skipped untouched, and results are reported honestly
  • Atomic replacement: temp-file + rename writes — an interruption never leaves a half-corrupted file
  • Self-healing within the session: any file missed by the migration is automatically retried and repaired with the old key when its decryption later fails — no user action needed

🐛 Photo / video decryption fixes (root cause)

  • A nonce read-position bug made every encrypted photo with a magic header fail decryption by design — read position unified, both historical layouts supported
  • A v3 chunked-video block-size field read/write mismatch made new-format videos always report “invalid block size” — fixed, old files auto-compatible

📷 Camera mode switching stability

  • Initialization is now serialized and queued (last-wins) — old requests can no longer swallow new ones and desync UI from the camera session
  • Session release 5s timeout + in-progress initialization dropped when backgrounded — a hanging device can’t block later ones

🌐 AI chat web search (BYOK)

  • In-chat “web” toggle: auto retrieval → context injection → the model answers from real data, with a source list at the end
  • Works without a key by default: uses cn.bing.com search, usable in China; switchable to Tavily / Bocha / DuckDuckGo / Brave / self-hosted SearXNG
  • Page content extraction: not just titles and summaries — the top 5 pages’ actual body text (temperature, rain, wind) is injected into the context
  • Smart query rewriting: the LLM rewrites your question into precise search terms using conversation context; follow-ups merge automatically; chit-chat, creative work and code never trigger a search
  • Direct URL visits: “go check xxx.com” skips search and fetches that site’s body directly

💻 AI coding agent (full projects generated in the sandbox)

  • One sentence generates four project types — frontend / scripts / config / plugins — landing automatically in the sandbox; reuses BYOK; code plaintext stays only on your device
  • Iterative edits (AI reads the existing file tree), file-tree management, version snapshot rollback (up to 10), WebView local preview, zip export
  • Generation experience continuously improved: max_tokens 32000 anti-truncation, thinking mode off for speed, 250ms render throttling without stutter, four thinking tiers decoupled from models, base library injected locally saving 30% output, skeleton-first with per-file ✅, truncation rescue, triple-guaranteed entry file

🧰 AI chat message actions

  • Action bar under replies: 🔄 regenerate / 📋 copy / 🔊 read aloud (reuses voice settings) / 🔗 share
  • Long-press a message for a menu: copy / select text / read aloud / delete / save to encrypted notes / share; sources shown as separate citation cards
  • New web_search tool (native tool call, zero extra overhead normally) — weather / news questions are no longer answered with “I don’t know”; on by default, can be disabled
  • After retrieval, a second pass synthesizes a spoken answer that is read aloud instead of reciting raw links

🧠 Memory upgrade (inspired by Tencent Hy-Memory layering)

  • Identity-profile layer + conversation-summary layer, all stored locally in Hive, never sent to third parties
  • Changing preferences keeps history (“I don’t like blue anymore” still remembers the old preference); on-demand injection of top-20 profile + latest 5 summaries
  • Natural-language memory deletion; old-format data migrates seamlessly

✅ Tests

  • All 74 unit tests pass: 13 new vault_migration tests, 27 web_search tests, 5 voice_search tests, etc.

v1.0.0 — First Release

A fresh start under the name CosmosBox
  • Shutter sound + three-state flash; photo / video dual modes with streaming encrypted storage (AES-256-GCM chunks)
  • Gallery multi-select import, video rotation fixes, cover thumbnails, 300px grid thumbnail memory optimization, honest import result reporting
  • FLAG_SECURE anti-screenshot with reference counting — multiple sensitive pages never interfere

💾 Streaming backups (bounded memory)

  • Backup v5 chunked encryption + ZIP streaming + WebDAV streaming upload — large backups never load into memory whole

🔑 Password recovery (optional, not forced)

  • Recovery-code primary path + Shamir friend-share fallback (3/5 or 2/3), pure Dart, zero new dependencies
  • What’s split is the recovery key, not the password — changing your password never requires re-issuing shares; the recovery code shows once, RK never touches disk

🗂 Tiered security-center settings

  • Basic protection → advanced protection → maximum protection → data, presented progressively — new users are never bothered by default

CosmosBox-era Archive

Version history before the rename (v1.7.0 and earlier), archived and no longer maintained.

v1.7.0 — Large-Scale Fixes + Hardening

7 fix batches · 30+ tools covered · 4 new plugins
  • 🔑 Password manager fully rewritten: the original “encryption” was fake — a Caesar shift + base64 that any password could unlock — now real AES-256-GCM + PBKDF2 100k iterations + encrypted persistence, clipboard auto-clears after 30s
  • 🔑 2FA codes persisted: they used to vanish on every restart; now encrypted in Hive
  • 🌐 SSL certificate verification fixed: the network toolbox no longer trusts every certificate (a silent MITM success bug)
  • 🔑 AI API keys bucketed per vendor: switching service presets no longer overwrites keys; encrypted per-bucket storage
  • 📋 Clipboard history revived: fixed a “fake feature” that had never been read
  • 30+ tool crash and logic fixes: scientific calculator / calendar out-of-bounds / level / magnifier / random picker; pomodoro wall-clock anti-drift
  • New plugins: digital wooden fish v2.0, ID lookup v2.0, relative-relationship calculator, entertainment trio

v1.6.x — Major Voice Assistant Update

June 2026
  • Volcano Engine streaming TTS (multiple model voices) + streaming ASR; long-press record · release to send
  • v1.6.1: fixed streaming playback stopping mid-sentence (buffer dropped when synthesis outpaced playback); selectable TTS mode (streaming / full synthesis); new adorable Sichuan-accent voice

v1.5.0 — RSA Asymmetric Encryption

2026-06-03
  • New RSA tools: public-key encryption / private-key decryption, digital signing and verification, secure key distribution (anti-MITM)

v1.4.9 — Security Hardening + 8 New Tools

2026-05-24
  • Privacy passwords hashed with SHA-256, plugin requests rate-limited to 60/min, error logs sanitized, 3 memory leaks fixed, 67 English translations completed
  • New: Hanzi-to-Pinyin / Morse code / image EXIF / SQL formatter / HTTP request tester / UA parser / HIIT timer / decibel tester

v1.4.3 — Password Manager Plugin + Market Optimization

2026-05-08
  • New password manager plugin (AES-256 encrypted storage); fixed install dialogs, fullscreen adaptation, manifest.json configuration

v1.4.1 — Encrypted Plugin Optimization + Packager Enhancements

2026-05-03
  • Opening an encrypted plugin externally prompts for the password directly; .encplugin / .cbplugin formats distinguished; packager double-confirms passwords; Android file-association config
📥
Download any version from thedownloads page (includes full version list).
MATRIX MODE: ON — enter again or press ESC to exit