summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThien-Thi Nguyen <ttn@gnu.org>2014-10-10 09:54:08 +0200
committerThien-Thi Nguyen <ttn@gnu.org>2014-10-10 09:54:08 +0200
commit28c3bdd8d6cd66cf00c00feae8a34d4893ebd103 (patch)
tree6e1e9aaea0aab25f8f34eb6352aa63dfc5ef4dcd
parenta27cd28f9593138b430938854d7613f9029a94a9 (diff)
downloademacs-28c3bdd8d6cd66cf00c00feae8a34d4893ebd103.tar.gz
[maint] Start Emacs versioning doc; nfc.
* admin/versioning: New file.
-rw-r--r--admin/versioning49
1 files changed, 49 insertions, 0 deletions
diff --git a/admin/versioning b/admin/versioning
new file mode 100644
index 00000000000..2b4d499fc0a
--- /dev/null
+++ b/admin/versioning
@@ -0,0 +1,49 @@
+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)