-
1a4fefadc3
fix(wallet): keep transactions under the standard 100 KvB relay limit
main
davide
2026-07-17 19:44:36 +02:00
-
3460e53b4f
feat(spv): verify Merkle proofs progressively, gate spendability on it
davide
2026-07-17 19:41:31 +02:00
-
feb765663c
chore(chain): add mainnet checkpoint at height 475124
davide
2026-07-17 15:14:14 +02:00
-
322ce8f305
chore(release): bump version to 1.0.0
davide
2026-07-09 08:45:12 +02:00
-
077835a30b
feat(wallet): decode OP_RETURN payloads and coinbase pool tags in tx details
davide
2026-07-09 08:35:34 +02:00
-
663460d62e
feat(ui): add user guide button to help overlay
davide
2026-07-07 22:35:19 +02:00
-
be818a50a8
docs: tighten CLAUDE.md/AGENTS.md formatting for scannability
davide
2026-07-07 22:29:46 +02:00
-
6f4ae679e5
docs: document fuzzing infrastructure and its security guarantees
davide
2026-07-07 22:06:38 +02:00
-
cdede17683
feat(fuzz): add SharpFuzz-based fuzzing for untrusted-input parsers
davide
2026-07-07 22:05:08 +02:00
-
a264669151
fix(storage): EncryptedFile.Decrypt must reject malformed containers cleanly
davide
2026-07-07 22:05:08 +02:00
-
d9c75eaec2
fix(net): ParsePeers must tolerate any JSON shape from the server
davide
2026-07-07 21:51:52 +02:00
-
c868c17505
fix(crypto): Bip39.TryParse must not throw on unrecognisable text
davide
2026-07-07 21:51:22 +02:00
-
d8917fbd9a
docs: sync test-coverage description with the expanded suite
davide
2026-07-07 16:26:32 +02:00
-
413392f608
test(storage): exercise AppPaths' full data-root precedence chain
davide
2026-07-07 16:26:17 +02:00
-
970253cbbe
test(net): exercise UpdateChecker.CheckAsync end-to-end via a stub transport
davide
2026-07-07 16:26:00 +02:00
-
31012ce825
test(net): cover ElectrumClient's multi-segment response dispatch
davide
2026-07-07 16:25:47 +02:00
-
a46f5e6638
test(wallet): cover WalletLoader's defensive branches for corrupted files
davide
2026-07-07 16:25:33 +02:00
-
61ed0c0ed0
test(chain): cover PalladiumNetworks.For and the INetworkSet plumbing
davide
2026-07-07 16:25:20 +02:00
-
9097ca4abc
test(crypto): cover Bip39 empty input and all 8 wordlist languages
davide
2026-07-07 16:25:07 +02:00
-
2ed8c04064
test(crypto): cover Slip132 rejection of malformed and corrupted keys
davide
2026-07-07 16:24:52 +02:00
-
56135c29f8
test(wallet): cover TransactionFactory's standardness-policy rejection
davide
2026-07-07 16:24:37 +02:00
-
5d74038aad
test(wallet): cover ImportedKeyAccount edge cases and fund-safety fallbacks
davide
2026-07-07 16:24:23 +02:00
-
db5b65ca0d
test(spv): cover checkpoint-anchoring memoization and the non-generic retry path
davide
2026-07-07 16:24:07 +02:00
-
45f7b1401e
test(spv): cover the PoW-checked branch of BlockHeaderInfo.IsValidChild
davide
2026-07-07 16:23:45 +02:00
-
e349a80ddc
feat(spv): anchor header trust to hardcoded mainnet checkpoints
davide
2026-07-07 15:12:09 +02:00
-
69be42aba0
docs(cli): translate console output and comments to English
davide
2026-07-07 14:46:03 +02:00
-
af2fdcc894
fix(gui): route runtime status messages through Loc instead of hardcoded Italian
davide
2026-07-07 14:45:40 +02:00
-
1f4421ae16
docs: add end-user guide covering GUI and CLI
davide
2026-07-07 14:25:35 +02:00
-
b304996ff5
docs(security): correct PBKDF2 iteration count and salt size
davide
2026-07-07 14:24:37 +02:00
-
c75e3921aa
docs: sync AGENTS.md with CLAUDE.md and fix stale references
davide
2026-07-02 23:45:48 +02:00
-
50d8e7f21a
docs(security): disclose AI-assisted testing methodology
davide
2026-07-02 23:38:19 +02:00
-
15978bf564
chore(release): bump version to 0.9.1
0.9.1
davide
2026-07-02 23:25:42 +02:00
-
31aabd0856
docs: document expanded test coverage and the fake ElectrumX server
davide
2026-07-02 23:21:50 +02:00
-
56ce1d4259
test: extend wallet/storage/property coverage and fix nullable warnings
davide
2026-07-02 23:21:20 +02:00
-
448f7dc65d
test: cover network/SPV layer end to end (was previously untested)
davide
2026-07-02 23:20:54 +02:00
-
e8ff99a768
test: add in-process fake ElectrumX server for network-layer testing
davide
2026-07-02 23:20:18 +02:00
-
27231c8eec
fix(core): stop corrupted state from permanently breaking SSL and wallet loading
davide
2026-07-02 23:19:43 +02:00
-
eb7ec9e835
chore: add update-version.sh to bump version across the project
davide
2026-07-02 22:21:06 +02:00
-
f0fb3fe05d
docs: link CHANGELOG.md and require updating it on new version tags
0.9.0
davide
2026-07-02 22:01:33 +02:00
-
3f26f52f8b
docs: add CHANGELOG.md for 0.9.0
davide
2026-07-02 22:01:12 +02:00
-
cb3ff714d9
feat(android): sign release builds with the persistent keystore
davide
2026-07-02 21:54:15 +02:00
-
d0037747b5
chore(android): add persistent release-signing keystore generator
davide
2026-07-02 21:53:53 +02:00
-
34b4313a36
feat(app): check GitHub releases on startup and prompt for updates
davide
2026-07-02 21:33:14 +02:00
-
2d017231eb
chore(github): complete issue/PR templates and wire in-app bug report to them
davide
2026-07-02 21:18:46 +02:00
-
e7797017f6
feat(gui): split server discovery into its own always-usable button
davide
2026-07-02 19:24:09 +02:00
-
6c24a8bb46
feat(wallet): surface immature balance separately from confirmed
davide
2026-07-02 18:24:26 +02:00
-
9aecdb1aaa
feat(wallet): enforce confirmation thresholds before spending UTXOs
davide
2026-07-02 16:25:38 +02:00
-
2be43d3177
fix(sync): allow server change at any time, even during an active sync
davide
2026-07-02 14:56:47 +02:00
-
ef60ec0330
loc: expand About description to include non-custodial and local security details
davide
2026-07-02 12:29:33 +02:00
-
567c0de501
docs: document reproducible builds and fix Windows publish command
davide
2026-07-02 10:45:56 +02:00
-
6a5daa0c18
feat(build): add Docker-based reproducible build system
davide
2026-07-02 10:45:37 +02:00
-
4d730d7860
feat(ui): add bug report button in Help and GitHub issue template
davide
2026-06-24 15:41:29 +02:00
-
068d85e0e2
feat(ui): show full tx inputs/outputs in detail overlay without truncation
davide
2026-06-24 15:37:43 +02:00
-
1f857ddf52
refactor(ui): remove SPV badge from tx detail and history
davide
2026-06-22 00:02:32 +02:00
-
2953ba35ba
refactor(ui): remove redundant "Open wallet from file" menu item
davide
2026-06-21 22:46:05 +02:00
-
c0193ae440
feat(ui): add Quit to File menu; hide Wallet item when no wallet is open
davide
2026-06-21 22:34:54 +02:00
-
affeaccae8
feat(ui): password-gated private key reveal in address detail overlay
davide
2026-06-21 22:28:28 +02:00
-
4a97172346
feat(ui): Wallet menu overlay — info, xpub, and password-protected seed reveal
davide
2026-06-21 22:27:31 +02:00
-
5d6ff07f0b
docs(agents): add coding agent guide
davide
2026-06-21 20:56:31 +02:00
-
c5290a1796
feat(ui): persist last server and split connection status text
davide
2026-06-18 19:34:36 +02:00
-
227ec62d53
feat(ui): simplify server panel — remove TLS/Discover, show full address in status
davide
2026-06-18 19:28:19 +02:00
-
fa9d9b12f1
docs(claude): remove obsolete blueprint refs and progress tracker
davide
2026-06-17 14:04:14 +02:00
-
96b6a7e291
feat(ui): Help overlay with Info/Donate tabs, fixed dimensions
davide
2026-06-17 09:01:01 +02:00
-
b13b66160c
feat(ui): donate tab in Help overlay
davide
2026-06-17 08:40:02 +02:00
-
9744619eb4
fix(ui): mobile tab bar — uniform sizing, indicator overlap, spacing
davide
2026-06-17 08:17:09 +02:00
-
5d2d0ad312
feat(ui): two-column desktop layout for Send/Receive, fixed window size
davide
2026-06-16 15:04:07 +02:00
-
3d5a226a5a
docs: translate all code comments to English (language policy)
davide
2026-06-16 14:40:06 +02:00
-
4b82a0852c
feat(ui): restructure transaction details + clearer coinbase identification
davide
2026-06-16 10:21:50 +02:00
-
41eb1bb788
feat(ui): centralized design system — blue/green tokens, gradient hero, SVG tab icons
davide
2026-06-16 10:08:35 +02:00
-
5ff2075a45
perf(spv): incremental discovery, parallel chains, persistent header cache
davide
2026-06-16 09:27:40 +02:00
-
38e0f0a52e
perf(net): batched writes, zero-alloc reads, bounded in-flight requests
davide
2026-06-16 09:27:40 +02:00
-
14ae39c5aa
feat(ui): wallet name field in creation wizard
davide
2026-06-15 15:05:49 +02:00
-
3054a9baaa
fix(spv): resilient sync — GetHistory discovery, tx cache, auto-connect fallback
davide
2026-06-15 14:23:23 +02:00
-
4dc37f1b42
feat(ui): wizard flows for xpub/xprv and WIF import
davide
2026-06-15 14:23:03 +02:00
-
47b6064964
feat(wallet): IWalletAccount abstraction and WIF/xpub/xprv keystore import types
davide
2026-06-15 14:20:10 +02:00
-
002c854497
feat(wallet): add P2PKH, P2SH-P2WPKH, and P2TR (Taproot/BIP86) address types
davide
2026-06-15 12:03:46 +02:00
-
8b960458ee
feat(ui): server overlay full-screen on mobile, larger touch targets
davide
2026-06-15 10:59:05 +02:00
-
1b784a6c73
fix(ui): prevent text overflow on mobile
davide
2026-06-15 10:58:39 +02:00
-
200c12651b
feat(ui): hardcode mainnet, remove network selector
davide
2026-06-15 10:35:38 +02:00
-
5f983ca84e
feat(ui): replace emoji camera button with vector path icon
davide
2026-06-15 10:25:43 +02:00
-
53ecd701c0
feat(ui): unified tab bar with icons on desktop and mobile
davide
2026-06-15 10:19:38 +02:00
-
bfee0dde03
feat(android): QR code scanner for Send address field
davide
2026-06-15 10:19:24 +02:00
-
8476eeb247
feat(android): add app logo as launcher icon
davide
2026-06-15 08:49:51 +02:00
-
1914d9462b
feat(ui): replace mobile tab strip with custom full-width nav bar
davide
2026-06-15 08:24:39 +02:00
-
4c0edde4f7
feat(ui): mobile polish — tab bar icons, server overlay, status text
davide
2026-06-14 21:40:15 +02:00
-
cfc48ff86f
feat(ui): responsive layout for portrait mobile (Android)
davide
2026-06-14 19:54:07 +02:00
-
bb9819ec96
docs: document CsCheck property-based tests in README and CLAUDE.md
davide
2026-06-13 22:09:50 +02:00
-
8cdbd70966
test: add property-based tests with CsCheck (218 total)
davide
2026-06-13 22:08:57 +02:00
-
ee0b73dd52
test: expand coverage to 209 tests across all core modules
davide
2026-06-13 21:59:49 +02:00
-
a8d48bedad
docs: add SECURITY.md with threat model and SPV trust assumptions
davide
2026-06-13 21:15:39 +02:00
-
5d061c6f21
docs(storage): document plaintext save caveat on WalletStore.Save
davide
2026-06-13 21:15:25 +02:00
-
2ddc0f920c
refactor(app): split MainWindowViewModel into partial files by area
davide
2026-06-13 21:15:03 +02:00
-
58645bd7a7
fix(storage): acquire wallet lock before load and before CloseWallet
davide
2026-06-13 20:50:17 +02:00
-
008e9c395a
fix(wallet): reject amounts with sub-satoshi precision
davide
2026-06-13 20:39:05 +02:00
-
70cce640aa
test(storage): add WalletLock unit tests
davide
2026-06-13 20:34:19 +02:00
-
0f8a764a44
feat(storage): add WalletLock to prevent concurrent wallet access
davide
2026-06-13 20:33:59 +02:00
-
d66490b6be
docs: update CLAUDE.md
davide
2026-06-13 20:15:28 +02:00
-
b00c5821f2
refactor(app): clear status bar during wizard steps
davide
2026-06-12 16:16:34 +02:00
-
658fcdbced
docs: update CLAUDE.md and README for multi-head architecture and .NET 10
davide
2026-06-12 16:06:19 +02:00
-
e94eaf7700
refactor(arch): split App into shared library + Desktop + Android heads
davide
2026-06-12 16:06:37 +02:00