Versions of the Unicode Standard
This document describes the version numbering used in the Unicode
Standard, the nature of the Unicode character repertoire, and how to
cite and reference the Unicode Standard, the Unicode Character
Database, and Unicode Technical Reports.
For major versions the Unicode Standard is published
both as a
printed book
and as an electronic edition.
The electronic edition contains all of the chapters of
the book (in pdf format), as well as all of the Unicode
Standard Annexes (in html format). The content of both
editions is intended to be identical, but in case of any
inadvertent errors in production of the electronic
edition, the printed edition should be taken as
authoritative.
For specific details regarding individual numbered versions of
the Unicode Standard, see Enumerated Versions. For details regarding dates of past releases and publications, see
History
of Release and Publication Dates.
For the standard format for references to the Unicode
Standard, UAXes, and other technical reports, see the
Reference
Examples section below.
Version numbers for the Unicode Standard consist of three fields,
denoting the major version, the minor version, and the update
version, respectively. For example, “Unicode 3.1.1” indicates major
version 3 of the Unicode Standard, minor version 1 of Unicode 3, and
update version 1 of minor version Unicode 3.1.
Formally, each new version of the Unicode Standard supersedes all
earlier versions. However, because of the differences in the ways
major, minor, and update versions are documented, minor and update
versions generally do not obsolete all of the documentation of the
immediately prior versions of the standard.
Additional information on the current and past versions of the
Unicode Standard can be found on the Unicode Web site. See the
subsection “Versions” in Section B.6, Other Unicode Online
Resources. The online document contains the precise list of
contributing files from the Unicode Character Database and the
Unicode Standard Annexes, which are formally part of each version of
the Unicode Standard.
The differences between major, minor, and update versions are as follows:
Major Version
A major version represents significant additions to the standard,
including but not limited to major additions to the repertoire of
encoded characters. A major version is published as a book, together
with associated updates to Unicode Standard Annexes and the Unicode Character Database.
A major version consolidates all errata and corrigenda to data.
The publication of the book for a major version supersedes any prior
documentation for major, minor, and update versions.
Minor Version
A minor version also represents significant additions to the
standard. It may include small or large additions to the repertoire
of encoded characters or other significant normative changes. A
minor version is published only online and is not published as a
book. Prior to Unicode 4.1, a minor version was published as a
Unicode Standard Annex (or as a Unicode Technical Report for the
very earliest minor versions). Starting with Unicode 4.1, minor
versions are published as stable version pages online. A minor
version is also associated with an update to the Unicode Character
Database and updates to the UAXes.
A minor version incorporates selected errata as appropriate. The
documentation for a minor version does not stand alone, but rather
amends the documentation of the prior version.
Update Version
An
update version represents relatively small changes to the standard,
focusing on updates to the data files of the Unicode Character
Database. An update version never involves any additions to
character repertoire. It is published only online. Starting with
Unicode 3.0.1, update versions are published as stable version pages
online. Prior to that version, update versions were simply
documented with the list of relevant data file changes to the
Unicode Character Database.
An update version incorporates selected errata, primarily for the
data files. The documentation for an update version does not stand
alone, but rather amends the prior version.
For historical reasons, update version numbers were not always consecutive prior to Unicode 3.0.
The documents associated with the major, minor, and update versions are called the major reference, minor reference, and update reference, respectively. For example, consider Unicode Version
3.1.1. The major reference for that version is The Unicode Standard, Version 3.0 (ISBN 0-201-61633-5).
The minor reference is
Unicode Standard
Annex #27, The Unicode Standard, Version 3.1. The update reference is
Unicode Version
3.1.1. The exact list of contributory files, UAXs and the Unicode Character Database, can be found at
Enumerated Version
3.1.1.
Each of the contributory files are separately versioned. With any
change, the original file will also remain on the website, allowing
for reference to past versions. With each new major version, these
files are also archived on CD-ROM for reference. Archiving a precise
version of the standard for later reference can be done by archiving
a copy of the major reference, and either paper or electronic copies
of the contributory files. In addition, the Unicode Consortium keeps
archival copies for each update version.
Certain files change with every version of the Unicode Standard,
and have corresponding version numbers, such as
UnicodeData-3.1.0.txt. Other files have independent version
numbers, such as tr7-4.html
for the fourth version of
Unicode Technical Report #7. The latest version of each file will
also be copied under the corresponding file name with no version,
such as UnicodeData.txt or tr7.
The latest versions of all of the Unicode Character Database
files are kept in
http://www.unicode.org/Public/UNIDATA/ and mirrored at
ftp://ftp.unicode.org/Public/UNIDATA/. These files will have no
version number attached to them, so that a link to a file in that
directory will always point to the latest version.
The component specifications of the
Enumerated Versions
of the Unicode Standard contain precise lists of the contents of
each version of the standard. Each specification for version 3.0
or later also includes the recommended citation format for
that version, such as:
The file
DerivedAge.txt contains a list showing when various code points
were designated in Unicode. This can be useful in determining the
version in which a character first appears.
For versions 4.0 and later, a summary of modifications in
the Unicode Character Database can be found in the respective
UCD.html (or UnicodeCharacterDatabase.html in earlier versions).
That documentation file also specifies which data files contain
normative versus informative data.
The component specifications of the
Enumerated Versions
of the Unicode Standard use the following table to indicate the
change status of data files between versions.
Key
N |
New in this release |
D |
Data change (possibly also format/text change) |
F |
Data format change (possibly also text change) |
T |
Text annotation change |
- |
Unchanged |
Zipped data files are also available. Those zip files are complete
for versions 4.1 and later. For versions earlier than 4.1, the zip files
only include files that were changed between versions.
From time to time it may be necessary to publish errata or
corrigenda to the Unicode Standard. Such errata and corrigenda will
be published on the Unicode Web site. To report errors in the
standard, please use the
Contact Form
Errata. Errata correct errors in the text or other
informative material, such as the representative glyphs in the code
charts. See
Updates and Errata for the list of known
current errata for the standard. Whenever a new major version of the
standard is published, all corrections for errata up to that point are incorporated
into the text.
Corrigenda. Occasionally errors may be important
enough that a corrigendum is issued prior to the next version of the
Unicode Standard. Such a corrigendum does not change the contents of
the previous version. Instead, it provides a mechanism for an
implementation, protocol, or other standard to cite the previous
version of the Unicode Standard with the corrigendum applied. If a
citation does not specifically mention the corrigendum, the
corrigendum does not apply. See
Corrigenda for more information about
corrigenda to the standard.
For most character encodings, the character repertoire is fixed (and often small). Once the
repertoire is decided upon, it is never changed. Addition of a new abstract character to a
given repertoire creates a new repertoire, which will be treated either as an update of the
existing character encoding or as a completely new character encoding.
For the Unicode Standard, by contrast, the repertoire is inherently open. Because Unicode
is a universal encoding, any abstract character that could ever be encoded is a potential candidate
to be encoded, regardless of whether the character is currently known.
Each new version of the Unicode Standard supersedes the previous one, but implementations—
and, more significantly, data—are not updated instantly. In general, major and
minor version changes include new characters, which do not create particular problems
with old data. The Unicode Technical Committee will neither remove nor move characters.
Characters may be deprecated, but this does not remove them from the standard or from
existing data. The code point for a deprecated character will never be reassigned to a different
character, but the use of a deprecated character is strongly discouraged. Generally these
rules make the encoded characters of a new version backward-compatible with previous
versions.
Implementations should be prepared to be forward-compatible with respect to Unicode
versions. That is, they should accept text that may be expressed in future versions of this
standard, recognizing that new characters may be assigned in those versions. Thus they
should handle incoming unassigned code points as they do unsupported characters. (See
Section 5.3, Unknown and Missing Characters.)
A version change may also involve changes to the properties of existing characters. When
this situation occurs, modifications are made to the Unicode Character Database and a new
update version is issued for the standard. Changes to the data files may alter program
behavior that depends on them. However, such changes to properties and to data files are
never made lightly. They are made only after careful deliberation by the Unicode Technical
Committee has determined that there is an error, inconsistency, or other serious problem
in the property assignments.
Since Unicode is an open standard, it is important not to
over-specify the version number. Wherever the precise behavior of
all Unicode characters needs to be cited, the full three-field
version number should be used, as below in example (1).
- The Unicode Standard, Version 3.1.1
- The Unicode Standard, Version 3.1
- The Unicode Standard, Version 3.0 or later
- The Unicode Standard
Where the precise character repertoire is significant, but the
precise character properties are not at issue, then the third field
can be omitted, as in example (2). Where some basic level of
content is all that is important, phrasing such as in example (3)
can be used. Where the important information is simply the overall
architecture and semantics of the Unicode Standard, the version can
be omitted entirely, as in example (4).
Particular definitions or conformance clauses can also be cited,
such as:
Conformance clause C3 of The Unicode Standard,
Version 3.1
When citing the Unicode Character Database separately, use the
same format for version numbers.
The Unicode Character Database, Version 3.1.1
The versioning for Unicode Technical Reports and distinctions
among the different categories of report are explained on
Technical
Reports. The full form of a citation takes one of the following
forms:
- Unicode Standard Annex #9: The Bidirectional Algorithm,
Version 3.0.1
- Unicode Technical Standard #6: A Standard Compression Scheme
for Unicode, Version 3.1
- UTR #17: Character Encoding Model, Version 3.1
As above, the revision number can be omitted where not necessary.
Citations can be abbreviated using the formats below, although the
first citation should be spelled out for clarity. In particular, the
acronyms UCD, UAX, UTS, and UTR should be spelled out the first
time. The title of a UTR should be supplied with the first
reference.
- Unicode 3.1.1 (instead of The Unicode Standard, Version 3.1.1)
- Clause C3 of Unicode 3.1.1
- UCD 3.1.1
- UTS #10: Unicode Collation Algorithm
- UTS #10
When claiming conformance, the precise version should be used,
such as:
- "This product conforms to The Unicode Standard, Version
3.1.1".
- "This product conforms to UTS #10: Unicode Collation
Algorithm, Version 9"
The format for references to The Unicode Standard, Unicode
Standard Annexes, and other Unicode Technical Reports is illustrated
by the following examples. For the actual citations for references
to each version of the standard, see
Enumerated
Versions of the Unicode Standard.
The Unicode Standard
Version 5.1.0
The Unicode Consortium. The Unicode Standard, Version 5.1.0,
defined by: The Unicode Standard, Version 5.0 (Boston, MA,
Addison-Wesley, 2007. ISBN 0-321-48091-0), as amended by Unicode
5.1.0
http://www.unicode.org/versions/Unicode5.1.0/
Version 5.0.0
The Unicode Consortium. The Unicode Standard, Version 5.0.0,
defined by: The Unicode Standard, Version 5.0 (Boston, MA,
Addison-Wesley, 2007. ISBN 0-321-48091-0)
Version 4.0.1
The Unicode Consortium. The Unicode Standard, Version
4.0.1, defined by: The Unicode Standard, Version 4.0
(Boston, MA, Addison-Wesley, 2003. ISBN 0-321-18578-1),
as amended by Unicode 4.0.1
http://www.unicode.org/versions/Unicode4.0.1/
Version 4.0.0 with
Corrigendum
The Unicode Consortium. The Unicode Standard, Version 4.0.0,
defined by: The Unicode Standard, Version 4.0 (Boston, MA,
Addison-Wesley, 2003. ISBN 0-321-18578-1) and Corrigendum #5:
Normalization Idempotency
http://www.unicode.org/versions/corrigendum5.html
Unicode Standard Annexes
Versioned
Unicode Standard Annex #15,
"Unicode Normalization
Forms," by Mark Davis and Martin Dürst, an integral part of The
Unicode Standard. Version 5.1.0. 2008-03-28. (http://www.unicode.org/reports/tr15/tr15-29.html)
Latest Version:
http://www.unicode.org/reports/tr15/
Versionless
Unicode
Standard Annex #15, "Unicode Normalization Forms," by
Mark Davis and Martin Dürst. An integral part of The Unicode
Standard.
(http://www.unicode.org/reports/tr15/)
Unicode Technical Standards
Versioned
Unicode
Technical Standard #10,"Unicode Collation Algorithm,"
by Mark Davis and Ken Whistler. Version 5.1.0. 2008-03-28. (http://www.unicode.org/reports/tr10/tr10-18.html)
Latest Version:
http://www.unicode.org/reports/tr10/
Versionless
Unicode
Technical Standard #10,"Unicode Collation Algorithm,"
by Mark Davis and Ken Whistler. (http://www.unicode.org/reports/tr10/)
Other Unicode Technical Reports
Versioned
Unicode
Technical Report #20, "Unicode in XML and other Markup
Languages," by Martin Dürst and Asmus
Freytag. 2007-05-16. Also published as a
W3C Note.(http://www.unicode.org/reports/tr20/tr20-8.html)
Latest Version:
http://www.unicode.org/reports/tr20/
Versionless
Unicode
Technical Report #20, "Unicode in XML and other Markup
Languages," by Martin Dürst and Asmus
Freytag. Also published as a
W3C Note. (http://www.unicode.org/reports/tr20/)