Version formats
Each edition and development phase of Minecraft uses a different versioning system.
Java Edition[edit | edit source]
Pre-Classic[edit | edit source]
During pre-Classic, versions were not numbered, and instead have retroactively been labeled by Mojang as rd- followed by the day of month, hour, and minute the version was built. For example, rd-160052 was built on May 16 at 00:52 (Sweden time). rd-20090515 is the only build not to follow this trend, instead being labeled by the year, month, and day it was built, in that order. rd stands for RubyDung, being a game Notch previously worked on.
Classic[edit | edit source]
Initial versions of Classic were not numbered. The Minecraft Wiki refers to them using the system Mojang retroactively used for pre-Classic, but with a mc- prefix instead of rd-.
During mc-161648, user fartron requested that Notch add a build count,[1] which was added in the next version, 0.0.2a. This was the phase of what is now called Classic, and versions were labeled using three numbers followed by the letter "a", and bug fix patches were denoted by an underscore followed by a revision number (e.g., 0.0.18a_02 is the second bug fix patch for 0.0.18a). The "a" stands for "alpha", which is what this development phase was originally called.[2] (This "0.0.xa" versioning system was also used by Notch in a few years earlier in his game Wurm Online.[3]) Notch mused simplifying the format to remove the redundant "0.0." repetition, using the example of changing "0.0.13a_03" to "0.13.3a", but did not do so.[4] During Classic version 0.0.23a_01, Notch announced that he was going to be changing the versioning system, removing one of the zeroes as well as the "a".[5] This coincided with the development of Survival Test, so versions during this time were appended with the word "SURVIVAL TEST" (which sometimes contained underscores, such as in version 0.24_SURVIVAL_TEST). After 0.27 SURVIVAL TEST, the survival testing phase was complete, and the version format now only had two numbers (the first of which was a zero) followed by an optional underscored bug fix patch (e.g., 0.28_01).
Using an underscore to separate out a revision likely originated from the versioning system Java used at this time.[6]
There are several unreleased development builds of Classic versions which were labeled the same as their public release counterparts (e.g. 0.0.14a) in-game, despite differences in code. Classic 0.24 is the only exception to this rule, as its private development versions were labeled simply "0.24" in-game, whereas the full release was labeled "0.24_SURVIVAL_TEST".
Indev and Infdev[edit | edit source]
During Indev, the version number remained at 0.31 for many versions. Midway through the development of Indev, Notch changed the version number from "0.31" to just "Minecraft Indev" ("Indev" is a portmanteau of "in development"). When Infdev started, the version was just changed to "Minecraft Infdev" ("Infdev" is a portmanteau of "infinite development", as Notch added infinite world generation).
Due to not having any version number visible in-game, individual Indev and Infdev versions are numbered in the launcher and on this wiki based on the year, month, and day of their release. (When necessary for disambiguation, this date is then followed on this wiki by the hour for multiple releases within the same day.) For example, Infdev 20100625-0922 is the unofficial name given to the Infdev version released on June 25, 2010 at 09:22 UTC.
There are several builds of Indev 0.31 20091223-0040 which were never released to the public. Most were still labeled "0.30" in-game.
Alpha[edit | edit source]
Version numbers were re-added during Alpha starting from version v1.0.1. The version format now was primarily a "v" followed by three numbers in the order "phase", "major", "minor". Minecraft was now in somewhat of a complete state, as it had left the "development" stages of Indev and Infdev, and as such the "phase" counter was changed to "1". An optional underscored bug fix patch was also used in this development phase. For example, Alpha v1.2.3_02 is the second bug fix patch ("_02") for the third minor revision (".3") of the second major version (".2") of Alpha.
Beta[edit | edit source]
Beta reset the version number back to 1.0 after Alpha v1.2.6, and Beta version numbers now only had two numbers followed by an optional underscored bug fix patch (e.g., Beta 1.1_01 was released to fix a major bug in Beta 1.1). This format was used somewhat inconsistently; for example, Beta 1.7 was followed by Beta 1.7_01 which was then followed by Beta 1.7.2.
Beta also started releasing preview versions of major releases in the form of "pre-releases". These pre-releases took the form of the major version number followed by the word "Pre-release" and then a revision number. For example, Beta 1.8 Pre-release 2 was the second pre-release for Beta 1.8. Pre-releases for release 1.0.0, which was then called Beta 1.9, omitted the hyphen from the word "Pre-release".
When it was decided that Beta 1.9 would be instead released as full version 1.0, future development versions were classified as release candidates, with RC1 and RC2 being the only two.
Release[edit | edit source]
The full release of Java Edition, then known as just Minecraft, reset the version number to 1.0.0. This version is the only release version to not omit the final ".0" for a major release (such as in version 1.1).
Snapshots[edit | edit source]
After the full release of Minecraft, public development versions called "snapshots" have been published most weeks showing the development of that version at the time. Snapshots use a very different format to other releases, being of the form "YYwNNn", where "YY" is the two-digit year, "N" is the two-digit week number of that year, and "n" is a revision letter which increments each time a snapshot is released in that week. For example, 18w10d was the fourth snapshot ("d") released in the 10th week of 2018.
Pre-releases[edit | edit source]
Pre-release versions between 1.2.1 and 1.7.4 took the form of full releases, which then incremented the minor version number for a new version. For example, 1.7 was a pre-release for 1.7.2. From 1.7.6 until 1.13.2, pre-releases were named as their full release counterparts followed by "-pre" and a revision counter. For example, 1.12-pre7 is the seventh pre-release for 1.12. From 1.14, the word "pre-release" is spelt out in full (the launcher nonetheless continues to use the shortened form with "-pre".). For example, 1.14 Pre-Release 3 is the third pre-release for 1.14.
Release candidates[edit | edit source]
Release candidates were reintroduced during 1.16 with 1.16 Release Candidate 1. The phrase "Release Candidate" is always spelt out in full in title case in the version string, though the launcher uses a shortened format similar to pre-releases (for example, 1.18-rc4 is used in the launcher for 1.18 Release Candidate 4). These usually come after pre-releases, but there are cases of these being succeeded by another pre-release instead of the intended full release.
Experimental snapshots[edit | edit source]
1.18 introduced the idea of experimental snapshots with 1.18 Experimental Snapshot 1. Subsequent experimental snapshots for 1.18 had the name in lowercase. 1.19 also had an experimental snapshot, but it did not use this naming format, being instead called Deep Dark Experimental Snapshot 1. Experimental snapshots have not been used since Mojang started using Experiments to test 1.20 features in the 22w42a snapshot for 1.19.3.
Other[edit | edit source]
Java Edition Combat Tests are, apart from 1.14.3 - Combat Test, named with the words "Combat Test" followed by an incrementing digit, and sometimes then followed by an incrementing letter for patches to specific major combat test versions. For instance, Combat Test 6 is the next major iteration of the combat tests after Combat Test 5, and Combat Test 7 was followed by patch Combat Test 7b.
Pocket Edition[edit | edit source]
Alpha[edit | edit source]
Pocket Edition versions in this development phase took the form of a "v" followed by three numbers: phase, major, and minor, followed by the word "alpha". The phase number during Alpha was 0, and the major and minor numbers incremented each release (when the major version number was incremented, the minor version was reset to 0). Development builds in this phase were labeled as their parent version followed by "build" and the build counter. For example, v0.14.0 alpha build 1 was the first build for Alpha version 0.14.0.
Release[edit | edit source]
Release versions kept the same format as in Alpha, but incremented the phase number to 1. Development versions in this time were known as "alpha" versions (not to be confused with the development phase called "alpha") and took the form of the word "alpha" followed by a four-digit version number (major.minor.patch.revision[7]). The first three digits are the parent version (alpha 1.0.0.1 was a development build for 1.0.0) and the fourth number is the build revision, which is not necessarily incremented by 1 each release.
Bedrock Edition[edit | edit source]
In 1.2.0, the "Pocket Edition " subtitle was dropped, and development versions were renamed from "alpha" to "beta"; the version number format did not change (e.g., beta 1.8.0.8 was a development build for 1.8.0).
From 1.14.20, Bedrock Edition minor version numbers started being having 2 or more digits, with the last digit set aside for hotfixes or platform-specific bug fixes. The exception for this is if the previous substantial version released was the first release in a major update cycle, in which case it would be 1 digit as the first version of the minor version would otherwise be 0. Previously, platform-specific bug fix updates were named through either including simply increasing the minor version number, like in 1.13.2, or adding a revision number at the end of the version, e.g. 1.14.0.12.
Starting from 1.16.0, Bedrock Edition major version numbers have matched Java Edition.[8][9] While initially returning to the old system for platform-specific updates (e.g. 1.16.1.03), Bedrock Edition returned to the system introduced in 1.14.20 in 1.16.10.
Before this, Bedrock Edition updates changed the major version number for content updates and the minor version number for patches. However, in order to maintain major version number parity, these increase the minor version number.[10] In the minor versions for 1.16, the minor version segment used up to three digits to denote the content of that version. Incrementing the third-to-last digit if present (e.g., 1.16.200) represented a major supplementary content update, incrementing the second-to-last digit (e.g., 1.16.210) represented a minor supplementary update, while incrementing the last digit (e.g., 1.16.201) represented a bug-fix supplementary update.
Since 1.17.0, minor version numbers have been at most two digits, and updates to the stable channel have not used the revision number. The first digit of the minor version represents the minor update cycle of the major update (if not present, the minor update cycle is 0), while the last digit is used to represent the hotfix within the minor update cycle. For the first release within a minor update cycle, the last digit is zero. These first releases are more substantiative than hotfix updates, and can include parity changes, substantial amounts of bug fixes, and technical changes, among other things. For example, 1.19.73 is the third hotfix of the seventh minor update cycle for Bedrock Edition in 1.19. Platform-specific bug fix updates also count as hotfixes.
However, some minor update cycles have been merged with the minor update cycle following them, like 1.21.10 being merged into 1.21.20.[11] In addition, in some occasions the first release of a minor update cycle has released with a separate version number for a different platform, for example 1.20.60 releasing as 1.20.61 on the Nintendo Switch, hence leaving the first hotfix released under the update as 1.20.62.
Within Mojang is a private naming convention for minor releases of Bedrock Edition. This naming scheme is of the form "RnUm", where n is the major version part and m is the major segment of the minor version part. For instance, "R20U7" (release 20 update 7) refers to the first released Bedrock Edition 1.20.7x version.[12]
Betas/Previews[edit | edit source]
Betas/Previews take the form of their parent version with a fourth digit incremented denoting the revision number, i.e. master.major.minor.revision. This version number is prefixed with either the word "Preview" or "beta", depending on device. The revision number is not necessarily incremented by 1 each release and doesn't start at 0 or 1 (usually it starts at 20 or 21).
Internal app version[edit | edit source]
On Android, the version number is internally stored as a fixed-width number — the Android version code. For instance, 982101020 is the version code for Preview 1.21.10.20; this number can be split as "98-21-010-20", with the first group representing the distribution (x86-64) and the remaining three being the major, minor, and build number.
Legacy Console Edition[edit | edit source]
The many different console versions use entirely different versioning formats. Xbox 360 Edition versions used "title updates": the letters "TU" followed by a number. Xbox One Edition updates were called "content updates" and use the same format as Xbox 360 but with the letters "CU" instead of "TU". As mandated by PlayStation software, PlayStation Editions used a decimal three-digit version number (an integer followed by a two-digit number from 00–99, starting from 1.00; version 1.99 must be followed by 2.00), which may sometimes skip numbers. Wii U Edition versions are known as "Patches", and used the word "Patch" followed by a number. Nintendo Switch Edition versions used a full three-digit version number starting from 1.0.1, but only incremented the minor version each release.
References[edit | edit source]
- ↑ "TigIRC logs" – Archive.org, May 16, 2009, UTC–4. "(12:49:34) fartron: put in a build count or something so i can tell if it loaded the new one
(12:49:56) notch: good idea. I'll add from the next version and up. =)" - ↑ "Minecraft (alpha)" by Notch – TigSource, May 17, 2009.
- ↑ File:Wurm Online 0.0.19a.jpg
- ↑ IRC logs, #minecraft.20090527.log: "(15:21:10) <@Notch> I just realized I'm abusing the version system I have", "(15:21:48) <@Notch> 0.0.13a_03 should be 0.13.3a" (May 27, 2009)
- ↑ Changing the version system – The Word of Notch, July 15, 2009
- ↑ "J2SE SDK/JRE Version String Naming Convention" – Oracle.
- ↑ As stated in options.txt.
- ↑ "We are skipping 1.15 so the next release will be 1.16." (archived) – @Chupacaubrey on X (formerly Twitter), March 16, 2020
- ↑ Replying to "are version numbers finally going to be the same across both bedrock and java then?": "That is the plan! 👇 So that it’s not so confusing anymore." (archived) – @Chupacaubrey on X (formerly Twitter), March 16, 2020
- ↑ "Thanks for the feedback - don't get too hung up on the version numbers though - because Bedrock goes out on many different platforms, the version numbers need to be spaced out so they don't overlap with hotfixes etc. (I'm reassured that there's a method to the madness! 😁)" – @Mega_Spud on X (formerly Twitter), October 23, 2020
- ↑ "Minecraft Beta & Preview - 1.21.20.21" – Minecraft Feedback, June 27, 2024.
- ↑ "Saw some people receive this notification for the new #Minecraft update. It's just what they call their git repo branch. You can check that by going to the general section in settings in game. Just a fun fact!
R20 - Release 1 20
U07 - The 7th update to 1.20" – @SmokeyStack_ on X (formerly Twitter), March 13, 2024
[edit | edit source]
| |||||||||||||||||||||
|