Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V27.0 Release Documentation #707

Merged
merged 21 commits into from
Sep 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 21 additions & 49 deletions docs/releases/node-releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ description: Explore details of the current, next and past releases of the nano
Updates to the Nano protocol are done through major node releases, occurring approximately every 1 to 4 months, and necessary patch releases in between. As changes are made to the protocol over time, newer node versions will stop peering with older versions. Details on which versions are actively peering, supported and being developed are included below.

!!! info "Nano Roadmap on GitHub"
Head over to the [Nano Roadmap GitHub Project](https://github.com/orgs/nanocurrency/projects/5) for a more dynamic and updated view of the upcoming features under research and implementation for the Nano node and protocol.
Head over to the [Nano Roadmap GitHub Project](https://github.com/orgs/nanocurrency/projects/27) for a more dynamic and updated view of the upcoming features under research and implementation for the Nano node and protocol.

## Current Release
The following release is the latest and only release actively supported by the Nano Foundation. This release and the [Active Releases](#active-releases) below represent the only node versions that will participate on the main network. More details can be found on the [Current Release Notes page](/releases/current-release-notes).

--8<-- "release-details-v26-1.md"
--8<-- "release-details-v27-0.md"

**Builds and Commands**

Expand All @@ -20,9 +20,9 @@ The following release is the latest and only release actively supported by the N
---

## Next Planned Release
The following release is currently under development. Details about potential features to be included can be found in the [Nano Roadmap GitHub Project](https://github.com/orgs/nanocurrency/projects/5).
The following release is currently under development. Details about potential features to be included can be found in the [Nano Roadmap GitHub Project](https://github.com/orgs/nanocurrency/projects/27).

--8<-- "release-details-v27-0.md"
--8<-- "release-details-v28-0.md"

--8<-- "setup-beta-test-testing.md"

Expand All @@ -31,55 +31,15 @@ The following release is currently under development. Details about potential fe
## Active Releases
The following releases can still actively participate on the network by peering with other nodes of the same versions. Any nodes running versions earlier than these will no longer peer with the latest and fall out of sync with the network.

--8<-- "release-details-v26-0.md"

---

--8<-- "release-details-v25-1.md"

---

--8<-- "release-details-v25-0.md"

---

--8<-- "release-details-v24-0.md"

---

--8<-- "release-details-v23-3.md"

---

--8<-- "release-details-v23-1.md"

---

--8<-- "release-details-v23-0.md"

---

--8<-- "release-details-v22-1.md"

---

--8<-- "release-details-v22-0.md"

---

--8<-- "release-details-v21-3.md"

---

--8<-- "release-details-v21-2.md"
--8<-- "release-details-v27-0.md"

---

--8<-- "release-details-v21-1.md"
--8<-- "release-details-v26-1.md"

---

--8<-- "release-details-v21-0.md"
--8<-- "release-details-v26-0.md"

---

Expand All @@ -90,8 +50,20 @@ The following versions are no longer peered with by nodes running the active ver

| Node | Protocol | Database | Release Date | Release Notes | GitHub Links |
| | | | | | |
| 20.0 | 17 | 15 | 2019-11-12 | [V20.0](/releases/previous-release-notes/#v200) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V20.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V19.0...V20.0) |
| 19.0 | 17 | 14 | 2019-07-11 | [V19.0](/releases/previous-release-notes/#v190) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V19.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/9) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V18.0...V19.0) |
| 25.1 | 19 | 22 | 2023-06-02 | [V25.1](/releases/release-v25-1) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V25.1) - Milestone - [Changelog](https://github.com/nanocurrency/nano-node/compare/V25.0...V25.1) |
| 25.0 | 19 | 22 | 2023-05-24 | [V25.0](/releases/release-v25-0) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V25.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/27) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V24.0...V25.0) |
| 24.0 | 19 | 21 | 2023-01-19 | [V24.0](/releases/release-v24-0) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V24.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V23.3...V24.0) |
| 23.3 | 18 | 21 | 2022-06-13 | [V23.3](/releases/release-v23-3) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V23.3) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V23.1...V23.3) |
| 23.1 | 18 | 21 | 2022-05-19 | [V23.1](/releases/release-v23-1) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V23.1) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V23.0...V23.1) |
| 23.0 | 18 | 21 | 2022-01-17 | [V23.0](/releases/release-v23-0) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V23.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V22.1...V23.0) |
| 22.1 | 18 | 21 | 2021-06-11 | [V22.1](/releases/release-v22-1) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V22.1) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V22.0...V22.1) |
| 22.0 | 18 | 21 | 2021-05-14 | [V22.0](/releases/release-v22-0) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V22.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V21.3...V22.0) |
| 21.3 | 18 | 18 | 2021-03-18 | [V21.3](/releases/release-v21-3) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V21.3) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V21.2...V21.3) |
| 21.2 | 18 | 18 | 2020-09-03 | [V21.2](/releases/release-v21-2) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V21.2) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V21.1...V21.2) |
| 21.1 | 18 | 18 | 2020-07-14 | [V21.1](/releases/release-v21-1) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V21.1) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V21.0...V21.1) |
| 21.0 | 18 | 18 | 2020-06-16 | [V21.0](/releases/release-v21-0) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V22.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V20.0...V21.0) |
| 20.0 | 17 | 15 | 2019-11-12 | [V20.0](/releases/release-v20-0) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V20.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/10) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V19.0...V20.0) |
| 19.0 | 17 | 14 | 2019-07-11 | [V19.0](/releases/release-v19-0) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V19.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/9) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V18.0...V19.0) |
| 18.0 | 16 | 13 | 2019-02-21 || [Release](https://github.com/nanocurrency/nano-node/releases/tag/V18.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/7) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V17.1...V18.0) |
| 17.1 | 15 | | 2018-12-21 || [Release](https://github.com/nanocurrency/nano-node/releases/tag/V17.1) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/17) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V17.0...V17.1) |
| 17.0 | 15 | | 2018-12-18 || [Release](https://github.com/nanocurrency/nano-node/releases/tag/V17.0) - [Milestone](https://github.com/nanocurrency/nano-node/milestone/6) - [Changelog](https://github.com/nanocurrency/nano-node/compare/V16.3...V17.0) |
Expand Down
62 changes: 62 additions & 0 deletions docs/releases/release-v27-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
title: Release notes - V27.0 nano node
description: Details of the V7.0 nano node release.

# V27.0

--8<-- "release-details-v27-0.md"

---

## Upgrade notices

All nodes are encouraged to upgrade to V27.0, including exchanges.

In general, exchanges, services and integrations are encouraged to join [the test network](../running-a-node/test-network.md) for performing integration testing. This network mimics the live network in work requirements but has a smaller number of nodes and a lower block count for easier setup.

### Database upgrade

V27 includes a one-way database upgrade that takes a few minutes to run.

### gcc-12 users

If your system uses gcc-12 there is a known bug in the compiler optimiser that has problems compiling c++20 code.

If you get a compiler error related to -Wrestrict, it's recomended to either downgrade to gcc-11 or upgrade to gcc-13 to compile the node. See more [detail here](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105329). Debian 12 (bookworm) ships with gcc-12 by default, but has a package for gcc-11.

### RPC changes

V27 RPC changes are minor and non-breaking.

---

## Major updates

### Fair Queueing Enhancements
Designed by Piotr Wójcik, the fair queue has been integrated into the nano node, ensuring equal processing time for each network peer. The fair queue orders requests in a fair, round-robin fashion, which is needed by several components in the node, including block, network message, bootstrap request, and vote request processing. These fair queues help ensure that higher priority transactions are seen and prioritized more consistently, even during network congestion.

### Network Handling Rewrite
Significant portions of the networking stack have been rewritten and simplified. Legacy code that handled half-duplex TCP channels has been removed and all TCP connections now operate full-duplex. Asynchronous callback-style code has been replaced with coroutines in several places simplifying code flow.

### Network Flow Control Improvements
This suite of features optimises transaction processing, guards against spam and denial-of-service attacks, and ensures equitable resource distribution.

### Up to 255 votes per message
V27 allows voting messages to contain up to 255 votes per message, an increase from the previous limit of 12. This enhancement reduces voting traffic and network congestion, improving consensus efficiency and robustness. Note that this change de-peers nodes older than V26.0.

### Additional prioritization bucket
An additional prioritization bucket for amounts between Ӿ0.000001 and Ӿ0.0003 has been added, for a total of 63. More precisely, amounts above Ӿ0.0000006 (2^79 raw) and below Ӿ0.000309 (2^88 raw) will fall in this new bucket. All existing buckets remain unchanged to minimize the impact of bucket reallocation. Many Nano faucets send amounts in this range to new users trying out nano for the first time, and many wallets use Ӿ0.000001 as the minimum amount for automatic receives. More details on buckets and bucket ranges [here](../protocol-design/spam-work-and-prioritization.md/#prioritization-details).

### Configurable Logging
A new, highly configurable logging system allows node operators to tailor logging levels and outputs, enhancing debugging and health monitoring without excessive disk space use.

### Bug fixes
Several bugs were fixed, including race conditions, missing notifications, & dependency issues.

---

## Official V27 Blog Post
See [here](https://nano.org/en/blog/v27-denarius-preview--eb8bceac) for the official V27 blog post.

---

--8<-- "current-build-links-main.md"
2 changes: 1 addition & 1 deletion docs/releases/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ description: The Nano roadmap which is aimed at achieving the mission of allowin
# Roadmap

!!! info "Nano Roadmap moved to GitHub"
Head over to the new [Nano Roadmap GitHub Project](https://github.com/orgs/nanocurrency/projects/5) for a more dynamic and updated view of the upcoming features under research and implementation on the Nano node and protocol.
Head over to the new [Nano Roadmap GitHub Project](https://github.com/orgs/nanocurrency/projects/27) for a more dynamic and updated view of the upcoming features under research and implementation on the Nano node and protocol.
12 changes: 6 additions & 6 deletions docs/snippets/current-build-links-main.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
| OS | Download link/command | Verification |
|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|
| Universal Linux | https://repo.nano.org/live/binaries/nano-node-V26.1-Linux.tar.bz2 | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V26.1-Linux.tar.bz2.sha256) |
| Debian | https://repo.nano.org/live/binaries/nano-node-V26.1-Linux.deb | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V26.1-Linux.deb.sha256) |
| macOS | https://repo.nano.org/live/binaries/nano-node-V26.1-Darwin.dmg | [SHA256 Checksum](https://s3.us-east-2.amazonaws.com/repo.nano.org/live/binaries/nano-node-V26.1-Darwin.dmg.sha256) |
| Windows (exe) | https://repo.nano.org/live/binaries/nano-node-V26.1-win64.exe | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V26.1-win64.exe.sha256) |
| Windows (zip) | https://repo.nano.org/live/binaries/nano-node-V26.1-win64.zip | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V26.1-win64.zip.sha256) |
| Docker | `docker pull nanocurrency/nano:V26.1`<br />See [Pulling the Docker Image](/running-a-node/node-setup/#pulling-the-docker-image) for more details. | |
| Universal Linux | https://repo.nano.org/live/binaries/nano-node-V27.0-Linux.tar.bz2 | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V27.0-Linux.tar.bz2.sha256) |
| Debian | https://repo.nano.org/live/binaries/nano-node-V27.0-Linux.deb | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V27.0-Linux.deb.sha256) |
| macOS | https://repo.nano.org/live/binaries/nano-node-V27.0-Darwin.dmg | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V27.0-Darwin.dmg.sha256) |
| Windows (exe) | https://repo.nano.org/live/binaries/nano-node-V27.0-win64.exe | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V27.0-win64.exe.sha256) |
| Windows (zip) | https://repo.nano.org/live/binaries/nano-node-V27.0-win64.zip | [SHA256 Checksum](https://repo.nano.org/live/binaries/nano-node-V27.0-win64.zip.sha256) |
| Docker | `docker pull nanocurrency/nano:V27.0`<br />See [Pulling the Docker Image](/running-a-node/node-setup/#pulling-the-docker-image) for more details. | |
| RHEL/RockyLinux rpm | Not available anymore. Please check [Build Options](#build-options) for build instructions. | |
12 changes: 6 additions & 6 deletions docs/snippets/current-build-links-test.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
| OS | Download link/command |
|---------------------|------------------------------------------------------------------|
| Universal Linux | https://repo.nano.org/test/binaries/nano-node-V26.1-Linux.tar.bz2 |
| Debian | https://repo.nano.org/test/binaries/nano-node-V26.1-Linux.deb |
| macOS | https://repo.nano.org/test/binaries/nano-node-V26.1-Darwin.dmg |
| Windows (exe) | https://repo.nano.org/test/binaries/nano-node-V26.1-win64.exe |
| Windows (zip) | https://repo.nano.org/test/binaries/nano-node-V26.1-win64.zip |
| Docker | `docker pull nanocurrency/nano-test:V26.1` |
| Universal Linux | https://repo.nano.org/test/binaries/nano-node-V27.0-Linux.tar.bz2 |
| Debian | https://repo.nano.org/test/binaries/nano-node-V27.0-Linux.deb |
| macOS | https://repo.nano.org/test/binaries/nano-node-V27.0-Darwin.dmg |
| Windows (exe) | https://repo.nano.org/test/binaries/nano-node-V27.0-win64.exe |
| Windows (zip) | https://repo.nano.org/test/binaries/nano-node-V27.0-win64.zip |
| Docker | `docker pull nanocurrency/nano-test:V27.0` |
| RHEL/RockyLinux rpm | Not available anymore. Please check [Build Options](#build-options) for build instructions. |
2 changes: 1 addition & 1 deletion docs/snippets/release-details-v26-1.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
| Node | Protocol | Database | Release Date | Release Notes | GitHub Links |
| | | | | | |
| 26.1 | 20 | 22 | 2024-02-26 | [V26.1](../releases/release-v26-1.md) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V26.1) - [Changelog](https://github.com/nanocurrency/nano-node/compare/bbbfe92cffe6ba861085c7eb3d21193bc141aaba...66d74ffd86b4beea3c8df3b918e4f1e8e31f2800) |
| 26.1 | 20 | 22 | 2024-02-26 | [V26.1](../releases/release-v26-1.md) | [Release](https://github.com/nanocurrency/nano-node/releases/tag/V26.1) - Milestone - [Changelog](https://github.com/nanocurrency/nano-node/compare/bbbfe92cffe6ba861085c7eb3d21193bc141aaba...66d74ffd86b4beea3c8df3b918e4f1e8e31f2800) |
Loading
Loading