Releases: antonpiat/taurvia
Releases · antonpiat/taurvia
Release list
Taurvia v0.5.3
[0.5.3] - 2026-09-29
Fixed
- Sui portfolio used Mysten public fullnodes, which no longer serve JSON-RPC, so activating Sui never appeared on the dashboard. Default RPC is PublicNode (
sui-rpc.publicnode.com); activated chains still show when an RPC is down. - Linux AppImage:
AppRun.wrappedwas mode770, so AppImageHub/Firejail could not start it (Permission denied). Release builds now world-execute bundled binaries and run on Ubuntu 22.04 (glibc 2.35) instead of 24.04.
Taurvia v0.5.2
[0.5.2] - 2026-09-16
Added
- Sui Mainnet + Testnet: SLIP-0010 Ed25519 from the same seed, JSON-RPC balances and PaySui transfers, Suiscan links. New mnemonic wallets activate Sui with the other mainnets. Swap stays off (
features.swap = false). Private-key import acceptssuiprivkey1….
Taurvia v0.5.1
[0.5.1] - 2026-09-01
Added
- Phantom-style onboarding: create seed then name + password (no 3-word quiz); restore via recovery phrase, private key, or JSON backup; hardware wallet listed as coming soon
- Wallet file v3:
account_name,import_kind,enabled_networks;import_private_keyfor Solana (base58/JSON), Ethereum (0xhex), and Bitcoin WIF - Multi-chain portfolio: activate Solana, Ethereum, and Bitcoin together; dashboard total USD plus per-chain sections
- Swap on Ethereum (0x) and Bitcoin (Thorchain inbound + PSBT); Solana remains Jupiter
- Shared
TokenIconwith bundled SOL/ETH/BTC majors, chain badges, and initials fallback
Changed
- Last-used network is for Send/Receive, not an exclusive mode
- Sidebar shows account name; key-only wallets cannot reveal a seed or activate other families
- Swap is available when the from-asset chain is an enabled mainnet, not Solana-only
Security
- Key-only sessions hold that family only; a raw key cannot derive the other curves
- Quotes and swap signatures stay in Rust; the UI never sees private keys
Taurvia v0.5.0
[0.5.0] - 2026-08-31
Added
- Ethereum (Mainnet + Sepolia) and Bitcoin (Mainnet + testnet) behind the same Rust signing core — one seed, family keyring, descriptor registry
list_networks()data-driven picker; Polygon, Base, and Sui ship as disabled stubs- Rust address-family checks (reject
0xon Solana,bc1on Ethereum, and so on) - BIP39 / BIP44 / BIP84 derivation tests (Phantom/MetaMask/BIP-0084 vectors)
Changed
- GitHub Actions: CI validates every PR and
mainpush; Release packages only avX.Y.Ztag after green CI (no more auto-build whentauri.conf.jsonchanges) - Product copy: Secure. Simple. On your machine. Solana remains the swap chain
- Settings → Network is family-grouped; Advanced RPC is per network id (
rpc_urls) - Send preview always includes network name, full recipient, amount, and fee from Rust
- Wallet file v2 stores public addresses per family; v1 files upgrade on first unlock
Security
- Session holds derived family signers only; mnemonic is not kept in RAM; lock drops the keyring
- EIP-155
chain_idcomes from the network descriptor, never the UI - Swap remains Solana Mainnet-only in Rust (
features.swapis not enough by itself)
Fixed
- Swap token search: restore HTTPS for Jupiter by enabling
reqwestrustls(0.13 drop of TLS features broke remote search) - Token picker shows an error when remote search fails instead of a silent empty list
What's Changed
- jupiter api - reqwest features by @antonpiat in #26
- dependencies updated by @antonpiat in #27
- solana submodule by @antonpiat in #28
- crates updated by @antonpiat in #29
- evm, bitcoin, github workflow by @antonpiat in #30
- Feat/multichain support by @antonpiat in #31
- customize ci workflow by @antonpiat in #32
- taurvia 0.5.0 by @antonpiat in #33
Full Changelog: v0.4.3...v0.5.0
Taurvia v0.4.3
[0.4.3] - 2026-07-13
Added
- Enhanced device protection (optional): OS keychain–bound wallet encryption so JSON + password alone cannot decrypt off-device
- Import from backup: restore from exported encrypted wallet JSON + password
- Welcome / onboarding split: Import from backup vs Import from recovery phrase
- Unlock: Forgot password — reset wallet (destructive local wipe without password)
Changed
- Unlocked session keeps keypair only — recovery phrase is not held in RAM
- Reveal recovery phrase requires password re-auth and re-decrypts from disk
- Settings → Security: device-protection toggle; Reveal is last and destructive-styled
- Export copy points at Import from backup; portable export needs protection off first when device-bound
- Danger zone remove wallet: warning + agreement checkbox (no password); same local wipe as unlock reset
Security
- Document device-bound threat model, OS-reset / device-replacement risk, and seed vs backup restore matrix in
doc/SECURITY.md - Device-bound backup import fails without the local keychain secret (by design)
Taurvia v0.4.2
[0.4.2] - 2026-07-12
Added
- Settings → Network: switch Solana Mainnet ↔ Devnet (same address; no password)
- Managed Devnet RPC default (
https://api.devnet.solana.com) - Phantom-style password strength checks on create/change (upper, lower, number, special)
- Bundled icons for curated Swap tokens (SOL, USDC, USDT, JUP, BONK) for instant paint
- Keyword token search in Swap picker (local filter + debounced Jupiter search)
- Persist Swap favorite tokens in app settings
- Settings → Wallet: manage (remove) user-added Swap tokens
Changed
- RPC resolution is network-aware (managed default follows active cluster)
- Swap is Mainnet-only (UI + Rust enforcement; Jupiter has no Devnet path here)
- Recovery phrase modal shows seed only while unlocked (no password re-prompt)
- Desktop CI builds only when
tauri.conf.jsonproduct version increases onmain - Swap mint paste moved under Advanced; search-in-picker is the primary add path
Fixed
update_app_settingscan no longer desync cluster from the wallet file
Security
- Wallet/config/backup files written with owner-only permissions on Unix (
0600) - Export backup requires an absolute path with an existing parent directory
- Wallet decrypt rejects unknown file version / KDF / cipher metadata
Taurvia v0.4.1
[0.4.1] - 2026-07-11
Added
- Settings: auto-lock timeout; Dashboard hide-balances toggle (default hidden)
- Settings: change wallet password and export encrypted wallet backup
- Settings: default swap slippage and block explorer preference (Solscan / Solana Explorer)
- Settings: View layout preference (Desktop / Compact / Phone; tracks window size)
- Explorer links on Activity, Send, and Swap confirmations
- GitHub Actions desktop CI builds unsigned Linux, Windows, and macOS packages on
mainpushes (or manual dispatch)
Changed
- Track
Cargo.lockfor reproducible CI builds - Desktop CI uses Node.js 24
Taurvia v0.4.0
[0.4.0] - 2026-07-11
Changed
- Product rebrand: Aegis → Taurvia (app name, bundle id
com.taurvia.wallet, crates, env vars) - Crate
aegis-solanarenamed totaurvia-solana; desktop packagetaurvia-desktop - Dev env vars:
TAURVIA_RPC_URL,TAURVIA_JUPITER_API_KEY(replacingAEGIS_*) - One-time migration copies wallets/config from legacy
com.aegis.walletapp data intocom.taurvia.wallet
Aegis v0.2.0
Aegis v0.2.0
Initial Linux desktop preview release.
Downloads
.AppImage— portable Linux build.deb— Debian/Ubuntu installer.rpm— Fedora/RHEL/OpenSUSE installer
Status
Development preview. Do not use with real funds yet.
Aegis v0.3.2
[0.3.2] - 2026-07-09
Fixed
- Pinned the left sidebar to viewport height so the Active wallet panel stays visible on tall pages (Swap, Settings)
- Main content scrolls independently; nav and wallet controls no longer get pushed off-screen
Changed
- Responsive shell: bottom nav + compact top bar on narrow windows, icon sidebar on medium, full sidebar on wide
- Lowered minimum window size to
420×560 - Dashboard, Send, Swap, Receive, Activity, Settings, and dialogs wrap cleanly on smaller widths
- Dashboard shows loading skeletons while balances and market data load
- Unlock returns immediately after password verification; balances and market data load in the background
- Jupiter price/metadata requests use a short timeout budget so a slow API cannot stall the dashboard
- Snapshot enrichment runs metadata, token prices, and SOL price in parallel
- Curated majors (SOL, USDC, USDT, JUP, BONK) resolve locally before remote metadata returns