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.1The 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.2How 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-betais lower than1.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 readyPremium
A concise answer to help you respond confidently on this topic during an interview.