1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-29 00:31:01 -08:00
emacs/admin/versioning
Thien-Thi Nguyen 28c3bdd8d6 [maint] Start Emacs versioning doc; nfc.
* admin/versioning: New file.
2014-10-10 09:54:08 +02:00

49 lines
1.7 KiB
Org Mode

GNU EMACS VERSIONING -*- org -*-
The version number scheme of Emacs, including how to determine when to
bump various components of the version number, has evolved over the
years. This file defines the current method, explains why it was
chosen, and lightly documents the previous schemes. It was prompted
by http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html.
Releated info:
- [[file:FOR-RELEASE][FOR-RELEASE]]
- [[file:make-tarball.txt][make-tarball.txt]]
* what: MAJOR.MINOR
This has always been the case (see [[was]], below). MINOR is 1 or more,
usually, the exception being for pretest releases, where there is
an additional trailing ".ALPHA" (e.g., 24.3.95 prior to 24.4).
To determine any release's version, we follow this algorithm:
- If MAJOR-CHANGES, increment MAJOR and set MINOR to 1.
- Otherwise, increment MINOR.
where MAJOR-CHANGES is defined roughly as the union of:
- dropped support for IMPORTANT
- platforms (almost never happens)
- Emacs Lisp features
- non-programming features/packages
- IMPORTANT additions and changes
- Emacs Lisp features
- non-programming features/packages
and IMPORTANT is defined through discussion on the [[http://mail.gnu.org/archive/html/emacs-devel/][emacs-devel]]
mailing list and/or private arm-twisting (although this latter
method is somewhat discouraged :-D).
* why
People expect bumps in MINOR for "minor" changes. This typically
includes bugfixes, doc improvements, or fully-backward-compatible
additions and changes, only.
Anything else is actually IMPORTANT, to the user. [Actually, who
really knows what the user thinks? I certainly don't. --ttn]
* was
TODO (be sure to include "ad-hoc" :-D)