From 50b9423ba82d5ebadc4d58537fbf727e9cf41374 Mon Sep 17 00:00:00 2001 From: Rae McKelvey <633012+okdistribute@users.noreply.github.com> Date: Thu, 7 May 2026 11:06:29 -0700 Subject: [PATCH 1/4] Add release & support policy --- about/release-policy.mdx | 66 +++++++++++++++++++++++++++++++++++++++ docs.json | 1 + iroh-services/support.mdx | 4 +++ 3 files changed, 71 insertions(+) create mode 100644 about/release-policy.mdx diff --git a/about/release-policy.mdx b/about/release-policy.mdx new file mode 100644 index 0000000..fc02d44 --- /dev/null +++ b/about/release-policy.mdx @@ -0,0 +1,66 @@ +--- +title: "Release & Support Policies" +description: "How iroh versions are released, how long they're supported, and what wire-protocol compatibility you can rely on." +--- + +This page describes how iroh is versioned, what compatibility guarantees we make between versions, and how long each release is supported. + +## Release Types + +| Type | Description | Cycle | Example | +|------|-------------|-------|---------| +| Major | New features, breaking changes | ≥6 months | `1.0.0` | +| Minor | Incremental features, improvements | ≥4 weeks | `1.2.0` | +| Patch | Bug fixes, security updates | As needed | `1.2.3` | +| Release candidate | An early preview of an upcoming release, with higher confidence that the API is approaching stability | As needed | `1.0-rc` | +| Canary | An early preview of an upcoming release with an unstable API | As needed | `0.97` | +| Experimental | Fork or branch for a particular use case or prototype | As needed | `branch-name` | + +## Wire Protocol Compatibility + +The wire protocol must remain backward-compatible with the *non-deprecated* parts of the *previous* major version series. It may break compatibility with versions older than the last. + +- `2.x`'s wire protocol must be backward-compatible with `1.x` +- `3.x`'s wire protocol must be backward-compatible with `2.x` +- `3.x`'s wire protocol *may* be backward-incompatible with `1.x` + +The wire protocol must also remain compatible across minor versions within the same major series. For example, `2.x` must connect with any `2.1` through `2.x`. + +| Version | Compatible with | +|---------|-----------------| +| 1.x | 1.0 ≤ 2.0.x | +| 2.x | 2.0 ≤ 3.0.x | + +### Recommendations + +- Before deploying the next major version (e.g. `v2.0`), ensure all devices have been updated to the latest previous major (e.g. `v1.x`). +- Before deploying the next minor version (e.g. `v2.1`), ensure all devices have been updated to the latest major (e.g. `v2.0`). + +## Support Policy + +**Full Support**: The version is fully supported. Number 0 provides timely bug fixes, security patches, and ongoing maintenance. Customers can expect active development and prompt response to issues. + +**Extended Support**: A paid support tier for versions that have exited Full Support. Under Extended Support, Number 0 provides critical bug fixes and security patches for a defined period. It includes service level agreements (SLAs) covering response and resolution times for critical issues, including security vulnerabilities and high-severity defects. + +**Maintenance Mode**: The version is stable and no longer under active development. Only critical bug fixes or security patches may be provided, solely at Number 0's discretion. No new features or enhancements will be introduced. + +**End of Life (EOL)**: The version is no longer supported. No bug fixes, security updates, or maintenance will be provided. Continued use is at the customer's own risk, and upgrading is strongly recommended. + +| Release | Full Support | Maintenance Mode | Extended Support | +|---------|--------------|------------------|-------------------| +| Major | 1 year | 1–3 years after release | [Contact us](mailto:support@iroh.computer) | +| Minor | 3 months | 3 months – 1 year after release | [Contact us](mailto:support@iroh.computer) | +| Canary | N/A | N/A | [Contact us](mailto:support@iroh.computer) | +| Experimental | N/A | N/A | N/A | +| Release Candidate | N/A | N/A | N/A | + +### Examples + +1. A customer uses `0.35` in production. `0.35` is a minor version of iroh that is older than 6 months. To get bug fixes, feature backports, or security patches, you need to purchase an Extended Support package. +2. A customer finds a bug in `1.2`, which is older than 3 months. The team patches the issue in `1.4.3` rather than backporting to `1.2.x`, and recommends the customer update to `1.4.3`. If the customer wants to stay on `1.2.x`, they must purchase an Extended Support package to fund the labor of backporting and maintaining a minor version older than 3 months. + +For more on support tiers and SLAs, see the [Support page](/iroh-services/support) or [contact us](https://iroh.computer/services/support). + +## Public Relay Version Support + +Number 0 runs public relays for the **latest major version** of iroh. For relay support for older versions, please [deploy a dedicated relay](https://services.iroh.computer). diff --git a/docs.json b/docs.json index a98e75f..f21ff59 100644 --- a/docs.json +++ b/docs.json @@ -112,6 +112,7 @@ "pages": [ "about/changelog", "about/roadmap", + "about/release-policy", "deployment/security-privacy", "about/faq" ] diff --git a/iroh-services/support.mdx b/iroh-services/support.mdx index e7292e5..ae94889 100644 --- a/iroh-services/support.mdx +++ b/iroh-services/support.mdx @@ -16,3 +16,7 @@ On the **Pro** and **Enterprise** plans, you can open support tickets by emailin Guaranteed response times are available on the **Enterprise** plan. Enterprise SLAs ensure your team gets timely responses based on issue severity. For uptime SLAs or professional services & support inquiries, [read more about enterprise support](https://iroh.computer/services/support) or [book a meeting](https://n0.computer/n0ps/) with our team. + +## Release & Support Policies + +For details on iroh release types, wire-protocol compatibility, and how long each release is supported, see [Release & Support Policies](/about/release-policy). From 220ce05a341b8ceaabcce665035fcab58af3f342 Mon Sep 17 00:00:00 2001 From: rae <633012+okdistribute@users.noreply.github.com> Date: Thu, 7 May 2026 11:09:45 -0700 Subject: [PATCH 2/4] Update release-policy.mdx --- about/release-policy.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/about/release-policy.mdx b/about/release-policy.mdx index fc02d44..9a912f6 100644 --- a/about/release-policy.mdx +++ b/about/release-policy.mdx @@ -56,8 +56,8 @@ The wire protocol must also remain compatible across minor versions within the s ### Examples -1. A customer uses `0.35` in production. `0.35` is a minor version of iroh that is older than 6 months. To get bug fixes, feature backports, or security patches, you need to purchase an Extended Support package. -2. A customer finds a bug in `1.2`, which is older than 3 months. The team patches the issue in `1.4.3` rather than backporting to `1.2.x`, and recommends the customer update to `1.4.3`. If the customer wants to stay on `1.2.x`, they must purchase an Extended Support package to fund the labor of backporting and maintaining a minor version older than 3 months. +1. If you are using `0.35` in production, `0.35` is a minor version of iroh that is older than 6 months. To get bug fixes, feature backports, or security patches, you need to purchase an Extended Support package. +2. If you find a bug in a version which is older than 3 months, the team may choose to patch the issue in the latest minor release. If you do not want to update to the latest minor and would prefer a backport to your current minor version, you must purchase an Extended Support package to fund the labor of backporting and maintaining a minor version older than 3 months. For more on support tiers and SLAs, see the [Support page](/iroh-services/support) or [contact us](https://iroh.computer/services/support). From d6d53544a7dd9eab36322039cf5d912da55ceb6e Mon Sep 17 00:00:00 2001 From: rae <633012+okdistribute@users.noreply.github.com> Date: Thu, 7 May 2026 11:10:10 -0700 Subject: [PATCH 3/4] Update release-policy.mdx --- about/release-policy.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/about/release-policy.mdx b/about/release-policy.mdx index 9a912f6..8c20dd7 100644 --- a/about/release-policy.mdx +++ b/about/release-policy.mdx @@ -56,7 +56,7 @@ The wire protocol must also remain compatible across minor versions within the s ### Examples -1. If you are using `0.35` in production, `0.35` is a minor version of iroh that is older than 6 months. To get bug fixes, feature backports, or security patches, you need to purchase an Extended Support package. +1. If you are using `0.35` in production, `0.35` is a minor version of iroh that is older than 1 year. To get bug fixes, feature backports, or security patches, you need to purchase an Extended Support package. 2. If you find a bug in a version which is older than 3 months, the team may choose to patch the issue in the latest minor release. If you do not want to update to the latest minor and would prefer a backport to your current minor version, you must purchase an Extended Support package to fund the labor of backporting and maintaining a minor version older than 3 months. For more on support tiers and SLAs, see the [Support page](/iroh-services/support) or [contact us](https://iroh.computer/services/support). From 20e8974a42584a3ca83d803884da6bcb6f1b1b5a Mon Sep 17 00:00:00 2001 From: rae <633012+okdistribute@users.noreply.github.com> Date: Thu, 7 May 2026 12:09:07 -0700 Subject: [PATCH 4/4] Update release-policy.mdx --- about/release-policy.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/about/release-policy.mdx b/about/release-policy.mdx index 8c20dd7..3b5d19c 100644 --- a/about/release-policy.mdx +++ b/about/release-policy.mdx @@ -38,7 +38,7 @@ The wire protocol must also remain compatible across minor versions within the s ## Support Policy -**Full Support**: The version is fully supported. Number 0 provides timely bug fixes, security patches, and ongoing maintenance. Customers can expect active development and prompt response to issues. +**Full Support**: The version is fully supported. Number 0 provides timely bug fixes, security patches, and ongoing maintenance. Expect active development and prompt response to issues. **Extended Support**: A paid support tier for versions that have exited Full Support. Under Extended Support, Number 0 provides critical bug fixes and security patches for a defined period. It includes service level agreements (SLAs) covering response and resolution times for critical issues, including security vulnerabilities and high-severity defects.