Skip to main content

What are pre-release versions?

Pre-release versions are preliminary versions of a product that are shipped before the final release, to test changes and gather feedback.

Simply put: it's "almost ready, but not for everyone yet".


What pre-release versions look like

In semantic versioning (SemVer), pre-release is marked with a suffix after -:

1.2.0-alpha 1.2.0-beta 1.2.0-rc.1

The general format:

MAJOR.MINOR.PATCH-<pre-release>

The most common types

alpha

  • a very early version
  • may be unstable
  • often without full functionality
1.2.0-alpha

beta

  • functionality is largely complete
  • bugs are possible
  • used for testing
1.2.0-beta

rc (release candidate)

  • a candidate for release
  • if no bugs are found, it becomes the final version
1.2.0-rc.1 1.2.0-rc.2

How pre-release differs from a regular release

  • is not considered stable
  • can change or be removed
  • is meant for testing, not for production
  • the final version is released without the suffix
1.2.0-rc.3 → 1.2.0

Pre-release and Git / tags

Usually:

  • pre-release versions are marked with tags
  • CI/CD can:
    • deploy them to staging
    • not deploy them to production
  • production is often configured only for tags without suffixes

Why pre-release versions are needed

Early testing

  • finds bugs before the release
  • checks integrations

Feedback

  • users or QA try out the new version
  • behavior can be adjusted

Release safety

  • production does not break
  • risks are moved into test environments

An important SemVer nuance

According to SemVer rules:

  • 1.2.0-beta is lower than 1.2.0
  • pre-release versions are not recommended for production

Short answer for an interview

Pre-release versions are preliminary versions of a product (alpha, beta, rc) that are shipped before the final release for testing and verification, and are marked with suffixes in SemVer.

Short Answer

Interview ready
Premium

A concise answer to help you respond confidently on this topic during an interview.