Giter VIP home page Giter VIP logo

releases's Introduction

React Native Releases

GitHub Issues Contributions welcome

Stay up-to-date with the release activities of React Native by watching for status reports. Or you can follow along as the release notes are prepared and help reviewing the overall changelog.

React Native’s Release Process

At Facebook React Native is not consumed via released versions, instead they always consume the latest version of the master branch. This means that they are able to iterate fast for their needs; if something is broken the fix is a single commit away.

External users are of course similarly able to consume the latest master version, however this is most likely a too fast moving target for most.

To reconcile these two different use-cases, React Native’s release process is a different one from the one many users are familiar within the JavaScript ecosystem.

The process at a high-level

  1. A branch for a new version is created from master–hereafter referred to as “the stable branch”. Read more ⇒
  2. A release candidate is released from the stable branch, allowing the community to try it out and provide feedback–hereafter referred to as “the RC”. Read more ⇒
  3. Additional changes that have landed in the master branch since the stable branch was originally created and are deemed required for the version to be finalized are cherry-picked onto the stable branch. These can be bug-fixes for previously released versions, including the RC, or changes otherwise deemed an improvement for the version to be finalized, such as UX/DX improvements. Read more ⇒
  4. Steps 2 through 3 are repeated until consensus is reached that the version is good enough to be released as a stable version.
  5. A stable version is released and communications are sent out to the community informing them of the availability of a new stable version and what changes it includes.
  6. Steps 3 through 5 are repeated on the stable branch for bug-fixes only and will result in a patch release. I.e. no release-candidates are published for patch versions.
  7. The entire process is repeated from step 1 for the next minor version, which will include all the changes that were made on the master branch previously but were not yet cherry-picked.
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
            master branch            │
│
   ┌──────────────────────────────┐  │
│  │                              │
   │     pretty good bug-fix      │  │
│  │                              │
   └──────────────────────────────┘  │  ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
│                  │                                 0.42-stable             │
                   ▼                 │  │
│  ┌──────────────────────────────┐        ┌──────────────────────────────┐  │
   │                              │  │  │  │                              │
│  │   zomg, amazing feature A!   │───────▶│         0.42.0-rc.0          │  │
   │                              │  │  │  │                              │
│  └──────────────────────────────┘        └──────────────────────────────┘  │
                   │                 │  │                  │
│                  ▼                                       ▼                 │
   ┌──────────────────────────────┐  │  │  ┌──────────────────────────────┐
│  │                              │        │                              │  │
   │    whoops, fix feature A     │──┼──┼─▶│    whoops, fix feature A     │
│  │                              │        │                              │  │
   └──────────────────────────────┘  │  │  └──────────────────────────────┘
│                  │                                       │                 │
                   │                 │  │                  ▼
│                  │                       ┌──────────────────────────────┐  │
                   │                 │  │  │                              │
│                  ▼                       │         0.42.0-rc.1          │  │
   ┌──────────────────────────────┐  │  │  │                              │
│  │                              │        └──────────────────────────────┘  │
   │  wow, sweet new feature B!   │  │  │                  │
│  │                              │                        ▼                 │
   └──────────────────────────────┘  │  │  ┌──────────────────────────────┐
│                  │                       │                              │  │
                   │                 │  │  │            0.42.0            │
│                  │                       │                              │  │
                   │                 │  │  └──────────────────────────────┘
│                  │                                       │                 │
                   ▼                 │  │                  ▼
│  ┌──────────────────────────────┐        ┌──────────────────────────────┐  │
   │                              │  │  │  │                              │
│  │  yikes, fix feature A more   │───────▶│  yikes, fix feature A more   │  │
   │                              │  │  │  │                              │
│  └──────────────────────────────┘        └──────────────────────────────┘  │
                   │                 │  │                  │
│                  │                                       ▼                 │
                   │                 │  │  ┌──────────────────────────────┐
│                  │                       │                              │  │
                   │                 │  │  │            0.42.1            │
│                  │                       │                              │  │
                   │                 │  │  └──────────────────────────────┘
│                  │                                                         │
                   │                 │  └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
│                  │
                   │                 │  ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
│                  │                                 0.43-stable             │
                   ▼                 │  │
│  ┌──────────────────────────────┐        ┌──────────────────────────────┐  │
   │                              │  │  │  │                              │
│  │    make feature B better     │───────▶│         0.43.0-rc.0          │  │
   │                              │  │  │  │                              │
│  └──────────────────────────────┘        └──────────────────────────────┘  │
                   │                 │  │                  │
│                  ▼                                       ▼                 │
   ┌──────────────────────────────┐  │  │  ┌──────────────────────────────┐
│  │                              │        │                              │  │
   │      [history repeats]       │  │  │  │      [history repeats]       │
│  │                              │        │                              │  │
   └──────────────────────────────┘  │  │  └──────────────────────────────┘
│                                                                            │
 ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘  └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─

releases's People

Contributors

alloy avatar blasterlink avatar brunolemos avatar cheeaun avatar dependabot[bot] avatar grabbou avatar hramos avatar jeremy-deutsch avatar karanjthakkar avatar kelset avatar kmelmon avatar lucasbento avatar lucianomlima avatar lukewlms avatar matt-oakes avatar mjmasn avatar nickgerleman avatar pbitkowski avatar rickhanlonii avatar rococtz avatar rodrigobdz avatar rsnara avatar salakar avatar sunnylqm avatar telmen avatar thesavior avatar titozzz avatar turnrye avatar vonovak avatar wlfcss avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.