Each edition and development phase of ''[[Minecraft]]'' uses a different versioning system.

== ''Java Edition'' ==
=== Pre-Classic ===
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, [[Java Edition pre-Classic rd-160052|rd-160052]] was built on May '''16''' at '''00''':'''52''' (Sweden time). [[Java Edition pre-Classic rd-20090515|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 ===
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,<ref>{{link|url=https://archive.org/download/Minecraft_IRC_Logs_2009/history/files/May-15-to-June-03-2009/2009-05-16.075419-0400EDT.txt.~1~|title=TigIRC logs|date=May 16, 2009, UTC–4|website=Archive.org|quote=(12:49:34) fartron: put in a build count or something so i can tell if it loaded the new one<br>(12:49:56) notch: good idea. I'll add from the next version and up. =)}}</ref> which was added in the next version, [[0.0.2a]]. This was the phase of what is now called [[Java Edition Classic|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 "'''a'''lpha", which is what this development phase was originally called.<ref>{{link|url=https://forums.tigsource.com/index.php?topic=6273.0|title=Minecraft (alpha)|author=Notch|date=May 17, 2009|website=TigSource}}</ref> (This "0.0.''x''a" versioning system was also used by Notch in a few years earlier in his game ''[[Wurm Online]]''.<ref>[[:File:Wurm Online 0.0.19a.jpg]]</ref>) 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.<ref>[https://archive.org/download/Rotab-Minecraft-IRC-logs 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)</ref> 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".<ref>[[wordofnotch:142033128|Changing the version system]] – [[The Word of Notch]], July 15, 2009</ref> 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]]).

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 [[Java Edition Classic 0.24 SURVIVAL TEST/Development|its  private development versions]] were labeled simply "0.24" in-game, whereas the full release was labeled "[[0.24_SURVIVAL_TEST]]".

=== Indev and Infdev ===
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 In''f''dev" ("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 [[Minecraft Wiki (website)|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 an additional number for multiple releases within the same day.) For example, [[Infdev 20100625-1]] is the unofficial name given to the first of two Infdev versions released on June 25, 2010.

There are several [[Java Edition Indev 0.31 20091223-0040/Development|builds of Indev 0.31 20091223-0040]] which were never released to the public. Most were still labeled "0.30" in-game.

=== Alpha ===
Version numbers were re-added during [[Java Edition Alpha|Alpha]] starting from version [[Alpha v1.0.1|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 ===
[[Java Edition Beta|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 [[Java Edition 1.0.0|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 [[Java Edition RC1|RC1]] and [[Java Edition RC2|RC2]] being the only two.

=== Release ===
The full release of {{JE}}, then known as just ''Minecraft'', reset the version number to [[Java Edition 1.0.0|1.0.0]]. This version is the only release version to not omit the final ".0" for a major release (such as in version [[Java Edition 1.1|1.1]]).

==== Snapshots ====
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 "'''''YY''w''NNn'''''", 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 '''10'''th '''w'''eek of 20'''18'''.

==== Pre-releases ====
[[Pre-release]] versions between [[Java Edition 1.2.1|1.2.1]] and [[Java Edition 1.7.4|1.7.4]] took the form of full releases, which then incremented the minor version number for a new version. For example, [[Java Edition 1.7|1.7]] was a pre-release for [[Java Edition 1.7.2|1.7.2]]. From [[Java Edition 1.7.6|1.7.6]] until [[Java Edition 1.13.2|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 [[Java Edition 1.12|1.12]]. From [[Java Edition 1.14|1.14]], the word "pre-release" is spelt out in full (the launcher nonetheless continues to use the shortened form with "-pre".). For example, [[Java Edition 1.14 Pre-Release 3|1.14 Pre-Release 3]] is the third pre-release for 1.14.

==== Release candidates ====
[[Release candidate]]s were reintroduced during [[Java Edition 1.16|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 ====
[[Java Edition 1.18|1.18]] introduced the idea of [[experimental snapshot]]s with [[1.18 Experimental Snapshot 1]]. Subsequent experimental snapshots for 1.18 had the name in lowercase. [[Java Edition 1.19|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 [[Java Edition 1.20|1.20]] features in the [[Java Edition 22w42a|22w42a]] snapshot for [[Java Edition 1.19.3|1.19.3]].

==== Other ====
[[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'' ==
=== Alpha ===
''[[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, [[Pocket Edition Alpha 0.14.0 build 1|v0.14.0 alpha build 1]] was the first build for Alpha version 0.14.0.

=== Release ===
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<ref>As stated in <samp>[[options.txt]]</samp>.</ref>). The first three digits are the parent version ([[Pocket Edition alpha 1.0.0.1|alpha 1.0.0.1]] was a development build for [[Pocket Edition 1.0.0|1.0.0]]) and the fourth number is the build revision, which is not necessarily incremented by 1 each release.

== ''Bedrock Edition'' ==
In [[Bedrock Edition 1.2.0|1.2.0]], the "''Pocket Edition''{{hairsp}}" subtitle was dropped, and development versions were renamed from "alpha" to "beta"; the version number format did not change (e.g., [[Bedrock Edition beta 1.8.0.8|beta 1.8.0.8]] was a development build for [[Bedrock Edition 1.8.0|1.8.0]]).

From {{vl|BE 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 {{v|BE 1.13.2|}}, or adding a revision number at the end of the version, e.g. {{vl|BE 1.14.0.12|}}.

Starting from {{vl|BE 1.16.0|}}, Bedrock Edition major version numbers have matched ''Java Edition''.<ref name="Skipping">{{tweet|Chupacaubrey|1239595850927468546|We are skipping 1.15 so the next release will be 1.16.|March 16, 2020}}</ref><ref>Replying to [{{tweet|dreamsbecomemes|20200316173516}} "are version numbers finally going to be the same across both bedrock and java then?"]: {{tweet|Chupacaubrey|1239601678820622340|That is the plan! 👇 So that it’s not so confusing anymore.|March 16, 2020}}</ref> While initially returning to the old system for platform-specific updates (e.g. {{vl|BE 1.16.1.03|}}), ''Bedrock Edition'' returned to the system introduced in {{vl|BE 1.14.20|}} in {{vl|BE 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.<ref>{{tweet|Mega_Spud|1319568922610368517|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! 😁)|23 Oct 2020}}</ref> 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., [[Bedrock Edition 1.16.200|1.16.<u>2</u>00]]) represented a major supplementary content update, incrementing the second-to-last digit (e.g., [[Bedrock Edition 1.16.210|1.16.2<u>1</u>0]]) represented a minor supplementary update, while incrementing the last digit (e.g., [[Bedrock Edition 1.16.201|1.16.20<u>1</u>]]) represented a bug-fix supplementary update.

Since {{vl|BE 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, {{vl|BE 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 {{vl|BE 1.21.10|}} being merged into {{vl|BE 1.21.20|}}.<ref>{{cite |url=https://feedback.minecraft.net/hc/en-us/articles/27935763028237-Minecraft-Beta-Preview-1-21-20-21 |title=Minecraft Beta & Preview - 1.21.20.21 |website=Minecraft Feedback |date=June 27, 2024}}</ref> 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 {{vl|BE 1.20.60|}} releasing as {{vl|BE 1.20.61|}} on the Nintendo Switch, hence leaving the first hotfix released under the update as {{vl|BE 1.20.62|}}.

=== Betas/Previews ===
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).

=== Internally ===
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 ==
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 ==
{{reflist}}

== Navigation ==
{{Navbox Minecraft|general}}

[[Category:Versions|*]]

[[ja:バージョンの形式]]
[[pt:Formatos de versão]]
[[zh:版本格式]]
