[Unicode]  The Unicode Standard Home | Site Map | Search
 

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 Numbering

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.

References to the Unicode Standard

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.

Contributory Data Files

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 Unicode Consortium. The Unicode Standard, Version 3.2.0, defined by: The Unicode Standard, Version 3.0 (Reading, MA, Addison-Wesley, 2000. ISBN 0-201-61633-5), as amended by the Unicode Standard Annex #27: Unicode 3.1 (http://www.unicode.org/reports/tr27/) and the Unicode Standard Annex #28: Unicode 3.2 (http://www.unicode.org/reports/tr28/)

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.

Errata and Corrigenda

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.

Open Repertoires

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.

Citations

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).

  1. The Unicode Standard, Version 3.1.1
  2. The Unicode Standard, Version 3.1
  3. The Unicode Standard, Version 3.0 or later
  4. 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"

Reference Examples

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/)


Access to Copyright and terms of use