chore: release 1.2.0
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Test (windows-latest) (push) Canceled after 0s
CI / Fuzz smoke (address) (push) Canceled after 0s
CI / Fuzz smoke (bip39) (push) Canceled after 0s
CI / Fuzz smoke (coinamount) (push) Canceled after 0s
CI / Fuzz smoke (encfile) (push) Canceled after 0s
CI / Fuzz smoke (header) (push) Canceled after 0s
CI / Fuzz smoke (merkle) (push) Canceled after 0s
CI / Fuzz smoke (peers) (push) Canceled after 0s
CI / Fuzz smoke (slip132) (push) Canceled after 0s
CI / Fuzz smoke (walletdoc) (push) Canceled after 0s
CI / Docs checks (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Test (windows-latest) (push) Canceled after 0s
CI / Fuzz smoke (address) (push) Canceled after 0s
CI / Fuzz smoke (bip39) (push) Canceled after 0s
CI / Fuzz smoke (coinamount) (push) Canceled after 0s
CI / Fuzz smoke (encfile) (push) Canceled after 0s
CI / Fuzz smoke (header) (push) Canceled after 0s
CI / Fuzz smoke (merkle) (push) Canceled after 0s
CI / Fuzz smoke (peers) (push) Canceled after 0s
CI / Fuzz smoke (slip132) (push) Canceled after 0s
CI / Fuzz smoke (walletdoc) (push) Canceled after 0s
CI / Docs checks (push) Canceled after 0s
Bump version to 1.2.0 (Android versionCode 5) and write the 1.2.0 changelog.
This commit is contained in:
1 parent
ed8de06609
commit
5d5ed094a0
4 files changed
+28
-5
No files matched your search
@@ -51,6 +51,7 @@ jobs:
|
||||
--logger "trx;LogFileName=test-results.trx"
|
||||
--collect:"XPlat Code Coverage"
|
||||
--results-directory TestResults
|
||||
--blame-hang-timeout 5m --blame-hang-dump-type none
|
||||
|
||||
# Coverage gate (Ubuntu only, one report is enough): fails the job if Core drops below the
|
||||
# thresholds. App and Cli are reported but not gated yet.
|
||||
|
||||
+24
-2
@@ -5,15 +5,29 @@ Technical changelog for PalladiumWallet. Format loosely follows
|
||||
by subsystem rather than strictly by date, since `0.9.0` is the first
|
||||
release and covers the full history from the initial commit.
|
||||
|
||||
## [Unreleased]
|
||||
## [1.2.0] — 2026-11-03
|
||||
|
||||
Hardens SPV verification (header anchoring fix, recent-block witness cross-check, chain identity
|
||||
check on connect), makes the network layer fail fast on dead or hostile servers, adds server fee
|
||||
presets and safer CLI password handling, and fixes a Windows-visible sync race. Also adds a
|
||||
linux-arm64 build target, CI on GitHub Actions and a much larger automated test suite.
|
||||
|
||||
### Documentation
|
||||
|
||||
- Docs-as-code process: `docs/` with one ADR per feature, checked by `docs/check-docs.sh`;
|
||||
the extended test strategy is documented.
|
||||
|
||||
- README: the multi-network claim now states that the GUI is mainnet-only and that testnet/regtest
|
||||
(CLI only) need an explicit `--server`.
|
||||
|
||||
### Added
|
||||
|
||||
- `linux-arm64` reproducible desktop build target (`./docker/build.sh linux-arm64`), cross-published
|
||||
from the x64 image, for Raspberry Pi and other 64-bit ARM boards.
|
||||
- CI on GitHub Actions (ADR 0032): offline test suite on Ubuntu and Windows, fuzz smoke per parser
|
||||
target and docs checks, on every push to `main` and every PR.
|
||||
- `tests/PalladiumWallet.ServerProbe`: read-only conformance/health check for real
|
||||
Electrum/Fulcrum/ElectrumX servers, also runnable from `dotnet test` via environment variables.
|
||||
- Recent blocks (above the newest checkpoint, which cannot be anchored) are now cross-checked with
|
||||
a second server: the header at the same height must be identical. The witness is taken only from
|
||||
the hardcoded bootstrap servers, one extra pinned connection opened on demand. A disagreement at
|
||||
@@ -64,6 +78,12 @@ release and covers the full history from the initial commit.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Sync result overwritten by a stale partial snapshot.** At the end of a sync the final verified
|
||||
snapshot was applied only after `await`ing the wallet save; a partial (not yet verified)
|
||||
snapshot still queued on the UI thread could run during that await, replace the cache and be
|
||||
displayed instead, leaving transactions shown as unverified after a completed sync. The run is
|
||||
now finalised and applied before the save. Deterministically visible on Windows, where the save
|
||||
really yields.
|
||||
- Adding a contact now validates the address for the wallet's network and rejects duplicates
|
||||
(case-insensitive); whitespace and line breaks in a pasted address are removed. Before, any
|
||||
string was saved and the error only appeared at send time. Contacts already stored with an
|
||||
@@ -101,7 +121,9 @@ release and covers the full history from the initial commit.
|
||||
- Error-path tests for `Core` (empty header range during anchoring, send-all limits, `SyncCache`
|
||||
roundtrip, derivation edge cases, corrupted config), concurrency tests (in-flight cap, disposal
|
||||
under load, wallet-lock contention).
|
||||
- Coverage settings (`tests/coverage.runsettings`) and a coverage gate in CI.
|
||||
- Coverage settings (`tests/coverage.runsettings`) and a coverage gate in CI (`Core`: 95% lines /
|
||||
88% branches); thread pool minimum raised in tests to avoid starvation; async UI test bodies are
|
||||
now driven to completion (they previously passed vacuously).
|
||||
- Test seams: `MainWindowViewModel.UpdateCheck` and `MainWindowViewModel.ProfileOverride`
|
||||
(internal) so ViewModel tests never reach GitHub or a real indexing server.
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<ApplicationId>io.github.davide3011.palladiumwallet</ApplicationId>
|
||||
<!-- ApplicationVersion = versionCode (intero), ApplicationDisplayVersion = versionName -->
|
||||
<ApplicationVersion>4</ApplicationVersion>
|
||||
<ApplicationDisplayVersion>1.1.0</ApplicationDisplayVersion>
|
||||
<ApplicationVersion>5</ApplicationVersion>
|
||||
<ApplicationDisplayVersion>1.2.0</ApplicationDisplayVersion>
|
||||
<AndroidPackageFormat>apk</AndroidPackageFormat>
|
||||
<!-- Includi le assembly .NET DENTRO l'apk: senza, in Debug si usa il Fast
|
||||
Deployment (assembly spinte via adb da `dotnet run`) e un apk installato
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<!-- Versione dell'applicazione: unico punto da modificare. Compare nel
|
||||
titolo della finestra ed è incisa nei binari pubblicati. -->
|
||||
<Version>1.1.0</Version>
|
||||
<Version>1.2.0</Version>
|
||||
<Nullable>enable</Nullable>
|
||||
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
||||
</PropertyGroup>
|
||||
|
||||
Reference in new issue
Block a user