From 92226344006e71bc190dd13388e24b6d4e142b37 Mon Sep 17 00:00:00 2001 From: Patrick Lodder Date: Sat, 6 Jul 2024 09:33:01 -0400 Subject: [PATCH] doc: change the branching strategy Change the branching strategy to be able to release software for multiple versions asynchronously, while having an integral up to date but unstable master branch. This is a major administrative policy change. --- README.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 3b9d0f4b13a..f060e297376 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ Dogecoin Core [DOGE, Ð] +**IMPORTANT: Starting August 2024, the `master` branch has become the primary +integration branch and has become unstable. Please check out a tagged version +before compiling production binaries.** + For internationalized documentation, see the index at [doc/intl](doc/intl/README.md). Dogecoin is a community-driven cryptocurrency that was inspired by a Shiba Inu meme. The Dogecoin Core software allows anyone to operate a node in the Dogecoin blockchain networks and uses the Scrypt hashing method for Proof of Work. It is adapted from Bitcoin Core and other cryptocurrencies. @@ -58,16 +62,20 @@ Main development resources: Version numbers are following ```major.minor.patch``` semantics. ### Branches -There are 3 types of branches in this repository: +There are 4 types of branches in this repository: + +- **master:** Unstable, contains the latest code under development. +- **maintenance:** Stable, contains the latest version of previous releases, + which are still under active maintenance. Format: ```-maint``` +- **development:** Unstable, contains new code for upcoming releases. Format: ```-dev``` +- **archive:** Stable, immutable branches for old versions that no longer change + because they are no longer maintained. -- **master:** Stable, contains the latest version of the latest *major.minor* release. -- **maintenance:** Stable, contains the latest version of previous releases, which are still under active maintenance. Format: ```-maint``` -- **development:** Unstable, contains new code for planned releases. Format: ```-dev``` +***Submit your pull requests against `master`*** -*Master and maintenance branches are exclusively mutable by release. Planned* -*releases will always have a development branch and pull requests should be* -*submitted against those. Maintenance branches are there for **bug fixes only,*** -*please submit new features against the development branch with the highest version.* +*Maintenance branches are exclusively mutable by release. When a release is* +*planned, a development branch will be created and commits from master will* +*be cherry-picked into these by maintainers.* ## Contributing 🤝