All notable changes to Tonnet Browser are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.4.0 - 2026-07-11
- Canonical runtime-validated IPC contracts with typed preload and handler boundaries.
- Shared supervision for proxy, bridge, storage and Cocoon native processes.
- Versioned repositories and compatibility fixtures for persisted browser data.
- Automated architecture, bundle-budget, native-binary and release-metadata gates.
- Structured, bounded diagnostics with a temporary verbose mode and copyable reports.
- Reconstructed internal ownership boundaries across wallet, TON bridge, payments, TonConnect, tabs, Messenger, Cocoon and the renderer.
- Split renderer code into feature-owned routes, clients, stores and components.
- Pinned bundled native helpers to immutable upstream commits and added build provenance, SBOM and artifact verification.
- Reduced main and preload bundle sizes while keeping the initial renderer bundle within its regression budget.
- Short, redacted application logs with isolated native-process output and bounded rotation.
- Settings category IPC responses now preserve the requested category instead of being coerced to another settings shape.
- Tabs, views, sessions, listeners and timers are disposed by their owning lifecycle.
- Native helper restarts use bounded backoff and settle concurrent start attempts consistently.
- Bridge and chat requests now fail cleanly instead of remaining pending during reconnects.
- Centralized redaction of secrets, authorization values, binary payloads and sensitive IPC failures.
- Runtime validation now rejects malformed IPC inputs, outputs and unsupported persisted schema versions.
2.2.0 - 2026-06-25
- TON Connect support for tonsites.
- In-app file browser for storage bags with a bag sidebar.
- Table viewer for CSV and JSONL files in storage bags.
- DNS page resolves full records with an open-site shortcut.
- Tab title and favicon for internal pages.
- Redesigned settings, wallet, storage, cocoon, bookmarks, history and DNS pages.
- Redesigned the TON Connect approval popup.
- Cocoon chat renders markdown; setup wizard redesigned with a reset option.
- Coin amounts shown as GRAM.
- More reliable wallet transaction history.
- Orphaned native daemons no longer block startup.
- Single-instance lock prevents a second launch from deadlocking on daemon ports.
- Native daemons are terminated with their child tree on Windows.
- Wallet key storage writes are atomic and durable.
- File browser escapes bag file names and adds a nonce CSP; update check drops the identifying User-Agent; sign-data prompt shows payload details.
2.1.0 - 2026-06-20
- Storage page: peers column with per-row hover actions.
- Bundled proxy updated to v1.10.0: ENSIP-7 contenthash resolution for
.eth(ADNL multicodec0xb69910) with legacyadnltext-record fallback; tonutils-go v1.17.2 (fixes 32-bit Android build). - Bundled bridge updated to v0.3.0: tonutils-go v1.17.2 (fixes 32-bit Android build).
- Bundled storage updated to v1.5.1: faster downloads and speed calc, parallel filesystem reads, and optimized DHT bag-overlay store/refresh; tonutils-go v1.17.1.
- Bundled cocoon runtime (gocoon/cocoon-runner) updated to v0.2.1: transport keepalive ping, OpenAI tools translation; tonutils-go v1.17.2 (fixes 32-bit Android build).
- BookmarksBar context menu and Wallet strings fully localized across all 10 locales.
- Storage page: completed bag status uses primary color.
- Dependencies bumped: Electron 41.3.0, Tailwind 4.2.4, i18next 26.0.8, react-i18next 17.0.4, @ton/ton 16.3.0, happy-dom 20.9.0, globals 17.5.0.
- CI runs on
devbranch pushes and PRs; Dependabot capped at 5 npm PRs.
- Resolved all high/moderate
npm auditadvisories: axios 1.15.0 → 1.18.0 (via @ton/ton 16.3.0), plus ws 8.21.0, tmp 0.2.7, form-data 4.0.6, vite 7.3.5 and other transitive build-tooling bumps.
2.0.0 - 2026-04-25
.ethand.solresolver toggles with optional custom RPC URLs.
- History writes use atomic secure-fs helpers.
- CI workflow actions pinned to commit SHAs.
- Clear browsing data covers all isolated domain sessions.
- Settings reset reapplies runtime state for every service.
- Address bar focus outline covers the full bubble.
- Uniform background on storage-bag loading page.
- Tabs defer view attach until first paint to show loading on Linux.
shell.openExternalallowlisted togithub.comandresistance.dog.- Encrypted wallet key file written with
0o600. app-settings.jsonwritten with0o600to protect user-supplied RPC URLs.- 402 payment retry aborts on cross-origin redirect.
- 402 requests with
maxTimeoutSecondsbelow 5 seconds rejected.
1.6.2 - 2026-04-21
- HTTP 402 payments on
fetchandXHRrequests. - Payment approval popup and address bar pill notification styles.
- Bundled proxy updated to v1.9.5 (multi-chain resolver).
- Zustand store selectors refactored, dead IPC channels and build scripts removed.
- x402 payments on fresh (undeployed) W5 wallets.
- Wallet seqno synchronizes to on-chain value after a failed broadcast.
- Address bar menu strings localized across all 8 locales.
- Hardened 402 flow: XHR request deduplication, token reference counting, request body cloning, popup rate limiting.
1.6.1 - 2026-04-15
- Bundled proxy updated to v1.9.4 with multi-chain resolver support.
1.6.0 - 2026-04-13
- Embedded wallet: auto-lock with configurable timeout, import, delete, and mnemonic backup.
- Bridge permission system for
tonsite://dApps, with per-domain and per-scope decisions. - Native ADNL tunnel for multi-hop anonymous routing.
- DHT discovery of tunnel relay nodes at startup.
- Local WebSocket bridge replacing centralized TON APIs.
- File browser for TON Storage bags.
- Overlay system (glass blur
WebContentsViewpool) for menus, permissions, and forms. - Manual update checker (
node:httpsfetch oftonnet.resistance.dog/updates.json, opens the download page viashell.openExternal). - Configurable tunnel mode for anonymous routing.
- Seeding toggle and bandwidth limits for TON Storage.
- Redesigned error page with Lottie animation.
- Winget manifest and auto-publish workflow.
- Wallet resolves
.tondomains and subdomains for transfers.
- Dependency injection architecture via
ServiceRegistry. - Bundled proxy v1.9.3, bridge v0.2.0, storage v1.4.1, compiled from source in CI.
userDatapath migrated to a canonical directory.electron-updaterreplaced by the manualnode:httpschecker.- Overlay assets packaged in the ASAR archive and loaded via the
app://custom protocol. - Atomic file writes for settings and sensitive data via
writeJsonAtomichelpers. - Electron-log output redirected to the canonical
userDatapath. - Legacy network settings fields migrated to
tunnelMode. - Upstream Go binaries pinned to tested versions.
- React upgraded to 19.2.5,
lucide-reactupgraded to 1.7.0.
- Payment flow TOCTOU via reserve/confirm/rollback pattern.
- Startup sequence, bridge deferred start, parallel storage init, process cleanup.
- Screen dimensions letterboxed dynamically to prevent fingerprinting drift.
- Raw seed file backed up before encrypted migration.
- Wallet send validates recipient address and checks balance.
- Storage download path clickable (#48).
- Invalid
BridgeTransaction.nowfallback removed.
- Hardened anti-fingerprinting, WebSocket blocking, bridge isolation.
- SSRF bypass closed, storage authentication enforced, CSP scoped to web responses, session cleanup.
- Config file permissions tightened, payment flush on exit.
happy-dombumped to fix CVE-2026-33943.viteandyamlbumped to resolve audit vulnerabilities.- Symlink resolution before
bagfile://path validation.
1.5.3 - 2026-03-25
- NSIS
.exe_renaming on Windows installer.
1.5.2 - 2026-03-25
- Proxy startup parsing updated for v0.6.0 output format.
1.5.1 - 2026-03-25
- Updater double-registration on macOS.
- Binary download failure on Windows.
1.5.0 - 2026-03-24
- Embedded TON wallet.
- DNS resolution for
.tondomains. - UI improvements across browser chrome.
- Release artifact filenames stabilized (version-less) for predictable download URLs.
flattedbumped to resolve a prototype pollution vulnerability.
1.4.2 - 2026-03-16
- CI pipeline hardened with coverage thresholds and dependency review.
- React Compiler enabled, dynamic Lottie imports, prefetch of lazy pages on proxy connect.
- Renderer test suite.
- Upgraded to Electron 41, Node 22, ESLint 9, Tailwind 4.
BrowserViewmigrated toWebContentsView.- Anti-fingerprinting script extracted, IPC handlers split.
- User-Agent aligned with Chrome/146.
- Static imports restored for
StartPageandLandingPageto eliminateton://startdelay and black screen on first load. history-resetbug.- Hardcoded UI strings translated across 6 components.
- Native
confirm()replaced inHistoryPage,ErrorBoundarylocalized. BookmarksBarmodal localized.
- WebRTC STUN IP leak closed.
- DNS leak, device permissions,
navigator.connectionexposure hardened. - 8 findings from deep security scan resolved.
flattedandtarhigh-severity vulnerabilities patched.
1.4.1 - 2026-03-01
- Custom
app://protocol replacesfile://in packaged builds.
1.4.0 - 2026-03-01
- Manual update checker.
- CI pipeline for push/PR validation and cross-platform builds.
- Audit findings applied: DRY, type safety, renderer performance.
- Download links redirected to
tonnet.resistance.dog/download.
- Auto-connect loading animation and proxy status restored.
1.3.0 - 2026-02-09
- Vertical tab mode with resizable sidebar and configurable orientation.
- Adaptive sidebar tabs with optimized resize handling.
- Type safety strengthened across the preload boundary.
- Context menu, content filter, IPC channels, and bookmarks deduplicated.
- React re-renders, window bounds debouncing,
TabBaroptimized.
HistoryPageandStoragePagelocalized,StatusBarlocale restored, modal focus trap repaired.- Invalid JSON repaired in 9 locale files.
- Window controls positioned at top-right in vertical tab mode.
- Input validation hardened for proxy, history, and bookmarks.
shell.openExternalvalidated, error page XSS closed,permissionCheckHandleradded.
1.1.0 - 2026-01-23
- Multilingual support (English, Russian) with modular locale files.
- Content filtering with settings UI (ads, trackers, miners, malware).
- Drag and drop for tabs and bookmarks.
- Bookmark folders with context menu, bookmark favicons, tab favicons.
- Encrypted browsing history with autocomplete.
- Privacy settings panel with toggles for protection features.
- First-Party Isolation, Cookie Auto-Delete, Letterboxing.
- Anti-fingerprinting, font fingerprinting protection, cache control, window security hardening.
- Settings modularized, main-process logging centralized.
- Renderer performance and error handling optimized.
BrowserViewmemory leak (listener accumulation viasetBrowserView).EventEmittermax listeners raised to 50.- Letterboxing visual artifacts and viewport resizing.
- Page load failure handling.
1.0.1 - 2026-01-09
- DevTools, cache headers, and URL scheme handling.
- Download links aligned with v1.0.0 filenames.
- macOS volume name in installer one-liner.
- Proxy binds
127.0.0.1instead of0.0.0.0.
1.0.0 - 2025-12-31
- Initial public release.
- Anonymous mode with ADNL circuit rotation and garlic routing.
- Theming system (Resistance Dog, Utya Duck).
.t.medomain badge support.- Liquid glass UI with interactive garlic routing visualization.
- Default bookmarks set.
- Platform binaries for Linux, macOS, Windows.
- macOS crashes and copy/paste support.
- Preload script path for ES module builds.
- Utya Duck theme persistence and colors.