UNIC follows Semantic Versioning practices for each component. In addition, when a component is updated, its parent components will also receive a version update, with the same version number.
In other words, when component unic-aaa-bbb
is updated to version x.y.z
, so are unic-aaa
and unic
. And, when components unic-aaa-bbb
and unic-ddd-eee
are update together,
unic-aaa-bbb
, unic-aaa
, unic-ddd-eee
, unic-ddd
, and unic
will receive version updates,
all with the same version number x.y.z
.
Majority of data and algorithms in UNIC depend on the Unicode Standard, its appendices, and related standards. (See also UNIC Unicode API) Therefore, the following policies are followed with respect to new Unicode versions.
-
Micro Unicode updates give UNIC a micro version bump. (There should never be need for API change in Unicode micro updates.)
-
Minor Unicode updates (which are not expected to happen that often anymore) give UNIC a minor version bump, unless there's API breakage.
-
Major Unicode updates (expected to happen once a year, scheduled) give UNIC a minor version bump, unless there's API breakage.
This allows applications to intentionally opt-in for Unicode version upgrades, if needed, by fixating on UNIC minor versions. This can be useful and important for some applications, like search indices, as there as Unicode text processing algorithms that are not promised to be stable between Unicode versions. See Unicode Character Encoding Stability Policies for more details.
As of 2017, Unicode is expected to have a major update every year, with no minor updates and rare micro updates. UNIC is expected to reach first API freeze, version 1.0.0, before release of Unicode 11 in 2018.