This is the consolidated release history for Rincoin Core. It complements,
rather than replaces, the upstream Litecoin/Bitcoin per-version notes archived
under doc/release-notes/, which are kept for backward
compatibility and to ease adoption of upstream changes.
Network and consensus constants referenced below are documented, with their
derivations, in doc/rincoin-parameters.md.
Version scheme: v[GENERATION].[MAJOR].[MINOR]. Rincoin Core v1.0.0
corresponds to the Litecoin v0.21.4 base.
No consensus rules change in this line; it is maintenance and infrastructure work only. Highlights so far:
- Reverted the v1.1.0-rc1 RinHash "activations table." The JSON-driven,
code-generated consensus table has been removed. RinHash Argon2d parameters
are hard-coded again (
t=2, m=64, lanes=1, salt="RinCoinSalt"); the PoW output is unchanged. The per-network peer-protocol-version floor is retained as plainConsensus::Paramsconstants (seedoc/rincoin-parameters.md§5). - Small correctness fixes: add missing
<stdexcept>include; useCHECK_NONFATALinstead ofassertfor the MWEB HogExvoutinvariant so a construction-time violation cannot abort the node. - Network identity: the internal IPv6 prefix is now derived from
SHA256("rincoin")(FD 2D DD 82 F5 C8) instead of the inherited Litecoin-derived value, with matchingnet/netbasetest vectors. - Continuous integration: a GitHub Actions workflow runs the upstream
container-based CI harness with two legs — a plain unit+functional build and
an ASan/UBSan build. The gate is headless (core unit tests + functional
suite); Qt GUI test vectors are a separate follow-up. Each run publishes a
downloadable
test-results-<leg>artifact. - Test suite made green: rebranded the
bitcoin-utiltest fixtures torincoin-txwith Rincoin addresses, dropped the stale Litecoin smoke benchmark frommake check, and added UBSan suppressions for the intentional wrapping arithmetic in the crypto primitives. - Fixed a signed-integer overflow in the MWEB fee calculation (
CFeeRate):mweb_weight * BASE_MWEB_FEEnow saturates instead of overflowing on pathological weights. Caught by UBSan; the result is unchanged for any valid transaction (real MWEB weights are far below the saturation bound). - Fixed a missing
cs_mainlock inCChainState::InitCoinsDB. The MWEB coins-view initialization reads the best block and coins DB, which requirecs_main; the lock was not taken, soDEBUG_LOCKORDER(sanitizer) builds aborted during test setup. Behavior is unchanged in release builds. - Further sanitizer fixes: held
cs_walletin the MWEB stealth-address unit test (matching production callers, soDEBUG_LOCKORDERno longer aborts), and suppressed the intentional wrapping in Boost'shash_combineused by libmw aggregation. - Local build helpers (developer tooling, not shipped):
contrib/build-windows-local.ps1(Docker + MinGW cross-build on Windows) andcontrib/build-linux-local.sh(native, ccache-accelerated), pluscontrib/test-asan-local.ps1/.sh, which reproduce the CI ASan/UBSan leg in Docker (with a fast single-suite mode) so sanitizer issues can be caught locally without commit/push. All are for local testing only and keep their outputs and caches out of the repository. - Docs: added
doc/rincoin-parameters.mdand this consolidated history.
Acknowledgement. Some of the above test-suite adaptations overlap with work in the parallel Aevust fork, which reached a number of them first; a few we arrived at independently before noticing theirs. Credit to the Aevust contributors for the test-fixture and benchmark clean-ups. This applies to test and tooling changes only — consensus rules are decided and implemented independently by this project.
No public version number is assigned to this development line yet.
A community-maintenance and infrastructure release candidate. It did not change mainnet consensus rules. Notable items:
- ARM64 (aarch64) Linux release targets and CI/release-engineering improvements; MinGW release optimization.
- A RinHash "activations table" (JSON → generated header → runtime resolver)
and a peer-protocol-version floor (
70018) scheduled per network. - MWEB HogEx empty-
vinhandling fix. - GPG-signed release tags.
Note: the activations-table machinery introduced here has since been reverted in the current development line (see above); the peer-version floor is retained as plain constants.
- Fixed all unit tests that still referenced Litecoin (LTC) constants so they use Rincoin (RIN) parameters throughout.
- Header-synchronization optimization for faster initial headers download.
- DNS-seed logging improvements.
- Fixed MWEB file operations failing on Windows with non-ASCII data paths.
- DNS-seed updates and additional seeders.
- Qt: shift+click range selection in the coin-control dialog.
- Updated checkpoints and build tooling; assorted build fixes.
These releases introduced RinHash v2. It was not adopted by the network and was subsequently rolled back; the RinHash v1 proof-of-work remains in force. These versions are listed here only for historical completeness.
- Version bump and minor fixes over v1.0.0 (icons, chainparams touch-ups, max-supply information).
The initial Rincoin Core baseline, forked from Litecoin v0.21.4, introducing
the RinHash proof-of-work and Rincoin network identity. It carried the upstream
security backports present in Litecoin v0.21.4, including:
- CVE-2024-35202 — remote DoS via
blocktxnmessage handling (backported from Bitcoin Core). - Mutated-blocks propagation fix (backported from Bitcoin Core).
- miniupnp infinite-loop / OOM fix (backported).
- Default
-peerblockfilters/-blockfilterindexto off when pruning is enabled, plus functional-test fixes.
Thanks to everyone who contributed, including the upstream Bitcoin Core and Litecoin developers whose work this builds on.