The RPM spec had no %changelog section, so 'rpm -q --changelog triangles'
returned nothing and downstream tooling (dnf/yum repoclosure, COPR
audit) flagged the package as low-quality. Add entries for the 6.x
release line (6.1.5, 6.1.4, 6.1.3, 6.1.1, 6.1.0) and 5.3.7.
Skipped v6.1.2: that release was yanked (5c312bb published 2026-07-01,
superseded by 6.1.3). Including it would mislead anyone searching the
changelog for the actual v3-snapshot fix.
Dates match git tag dates. Maintainer identity uses the project email
sami@cryptographic-triangles.org (matches other release metadata).
The v6.x release line was missing from
packaging/appstream/org.cryptographic_triangles.TrianglesQt.metainfo.xml,
which means software centers (GNOME Software, KDE Discover, elementary
AppCenter, Flatpak, etc.) show the wallet as stuck at v5.3.7. bump-version.sh
flags this file as a manual follow-up; this commit closes that gap.
Skipped v6.1.2: that release was yanked (5c312bb published 2026-07-01,
superseded by 6.1.3) and the v6.1.3 changelog already documents the
replacement. Listing a yanked release would mislead users searching
for it.
36 commits since v6.1.4 (2026-07-04). User-facing:
- UI: olive-green for unconfirmed/immature stakes
- Wallet: close-hang on Windows from detached Tor/I2P threads fixed
- Consensus: live PoS checks during stale-tip IBD
Maintainer-visible:
- CHANGELOG.md added at the repo root
- doc/release-process.md corrected to match the actual signing keys
(RSA-4096 Krystie release key + Sami personal tag-signing key)
SQLite wallet (default), RocksDB chaindb (default), Boost removal
from common link, I2P startup performance fix (180s→27ms).
Migration is automatic and non-destructive:
- Wallet: BDB → SQLite on first open (original preserved as .bdb.bak)
- ChainDB: LevelDB → RocksDB on next start (via -chaindb flag)
distribute.yml:
- New 'chocolatey' job: updates nuspec version + install script SHA256,
packs .nupkg, pushes to chocolatey.org. Gated by CHOCO_SKIP_WACATAC
env var so it can be disabled while the Microsoft false-positive is
still active (set CHOCO_SKIP_WACATAC=true on the repo, flip to empty
after Microsoft clears the detection).
- New 'winget' job: forks microsoft/winget-pkgs (auto-creates fork if
needed), generates the three manifest files (version/locale/installer)
in the winget-pkgs v1.6.0 format, opens a PR.
Both jobs use the Windows setup.exe as the installer source.
Both jobs skip gracefully with a warning if their respective GitHub
secrets aren't set.
packaging/chocolatey/tools/chocolateyInstall.ps1:
- Rewritten to use the NSIS installer (.exe) instead of the old .zip
format (the v5.9.x release ships an NSIS .exe setup)
- Uses $env:ChocolateyPackageVersion so the workflow can substitute the
version at pack time
- checksum64 is '__CHECKSUM_PLACEHOLDER__' which the workflow replaces
with the computed SHA256
Required GitHub secrets (all added):
CHOCO_API_KEY - Chocolatey API key
WINGET_TOKEN - GitHub PAT with public_repo scope
Docker:
- Dockerfile now extracts from cryptographic-triangles-daemon_5.9.20_amd64.deb
(release no longer ships raw linux-x64 binaries)
- Multi-stage build with .deb extraction
- Includes triangles-cli alongside trianglesd
- LD_LIBRARY_PATH wrapper for the bundled lib/ dir
AUR:
- Bump triangles-qt-bin to 5.9.20
- Switch from raw linux-x64 binary download (no longer published) to
extracting the official .deb packages
- Bundle version-pinned libs in /opt/triangles/lib
- Add triangles-cli to provides
Every Triangles wallet is now a Tor node. Staking rewards subsidize
Tor infrastructure.
Core changes:
- Embedded Tor 0.4.9.6 as git submodule
- ConnectNode rejects all non-.onion peers
- Tor failure is fatal - wallet requires Tor to operate
- All proxies forced through embedded Tor SOCKS
- Clearnet (IPv4/IPv6) disabled at startup
- HTTP seed fetch routes through Tor proxy (removed boost::asio dep)
- Merged PoW cleanup: -623 lines of dead mining code
- Stripped dead LEGACY/MIXED bootstrap modes from net_bootstrap
- RPC getnetworkinfo reports tor_native mode
Tooling:
- scripts/bump-version.sh syncs version across all 17+ files
- Version bumped to 5.6.0 across all packaging manifests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Single command to update version across all 12+ files:
scripts/bump-version.sh 5.7.0
Updates: clientversion.h, version.h, triangles-qt.pro, Dockerfile,
and all packaging manifests (Docker, AUR, Chocolatey, Debian, RPM,
WinGet, Homebrew, Nix, AppImage).
Sync fixes:
- Extend stall detection beyond IBD to catch post-IBD sync gaps
- Walk-forward inv continuation to avoid CBlockLocator exponential gap loop
- Track walk-forward progress for stall recovery without restarting from scratch
GUI fixes:
- Load transactions synchronously in constructor (deferred QTimer never fired)
- Use beginResetModel/endResetModel instead of deprecated reset()
- Schedule full refresh on TRY_LOCK failure to avoid dropped CT_NEW notifications
- Only update cachedNumBlocks after successful balance check (prevents permanent loss)
- Add GetAllBalances() single-pass balance retrieval with TRY_LOCK
Bootstrap:
- Add trusted snapshot manifest verification for bootstrap archives
- Add IsKnownCheckpoint() to validate manifest against compiled-in checkpoints
- Skip txleveldb rebuild when verified manifest is present
Bump version to 5.3.7 across all packaging manifests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- AUR PKGBUILD: v5.3.6, new asset URLs, verified SHA256
- Chocolatey: v5.3.6 nuspec + install script with new zip URL/hash
- Winget: v5.3.6 multi-file manifest format
- Nix: v5.3.6 derivation with updated fetchurl hashes
- RPM: v5.3.6 spec + build script with new binary names
- Debian: v5.3.6 control + build script
- AppImage: v5.3.6 build script with new download URL
- Scoop: new bucket manifest (JSON) for Windows
- Docker: new Dockerfile + docker-compose for headless node
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Removed Intel macOS (no x64 build in CI, only arm64)
- Updated Linux daemon URL to match CI asset naming
- Filled in SHA256 hashes from release binaries
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- DoS_tests: remove extra arg from VerifySignature calls (5 -> 4 params)
- accounting_tests: int64 -> int64_t for modern compilers
- CI: bump VERSION 5.3.5 -> 5.3.6
- Snap/Flatpak: fix asset URLs to match CI naming convention
- Add AppStream metainfo for store listings
- Add DNS2 seed node setup guide
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Bump version 5.1.4 → 5.1.5 across all source, CI, and packaging files
- Remove 157 build artifacts (build/*.o, release/*.dll, etc.) from git tracking
These were added before .gitignore existed and caused cross-platform CI failures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- GitHub Actions workflow builds DMGs for both Intel and Apple Silicon
- Update .pro file: macOS 11+ target, Homebrew paths instead of MacPorts
- Add RPM spec + build script for Fedora/RHEL/openSUSE
- Add Nix derivation with autoPatchelfHook
- Update Homebrew formula to support macOS (Intel + ARM64)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Chocolatey .nuspec + install script for Windows
- AppImage build script for universal Linux
- Dockerfile for headless daemon container
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>