First tagged release
gen.go: some improvements

- Update api files in core when updating
  Unicode version
- Exclude examples from copied packages.

Change-Id: Id96e735fb8acdd57d3fa0bc6eb01eaa817c1d421
Run-TryBot: Marcel van Lohuizen <>
TryBot-Result: Gobot Gobot <>
Reviewed-by: Nigel Tao <>
1 file changed
tree: a2a88963abd6758eb6e949ddd3c7adb035e210f3
  1. cases/
  2. cmd/
  3. collate/
  4. currency/
  5. encoding/
  6. feature/
  7. internal/
  8. language/
  9. message/
  10. number/
  11. runes/
  12. search/
  13. secure/
  14. transform/
  15. unicode/
  16. width/
  17. .gitattributes
  18. .gitignore
  20. codereview.cfg
  23. doc.go
  24. gen.go

This repository holds supplementary Go libraries for text processing, many involving Unicode.

Semantic Versioning

This repo uses Semantic versioning (, so

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

A Unicode major and minor version bump is mapped to a major version bump in x/text. A path version bump in Unicode is mapped to a minor version bump in x/text. Note that, consistent with the definitions in semver, until version 1.0.0 of x/text is reached, the minor version is considered a major version. So going from 0.1.0 to 0.2.0 is considered to be a major version bump.

A major new CLDR version is mapped to a minor version increase in x/text. Any other new CLDR version is mapped to a patch version increase in x/text.


To submit changes to this repository, see

To generate the tables in this repository (except for the encoding tables), run go generate from this directory. By default tables are generated for the Unicode version in core and the CLDR version defined in

Running go generate will as a side effect create a DATA subdirectory in this directory, which holds all files that are used as a source for generating the tables. This directory will also serve as a cache.



go test ./...

from this directory to run all tests. Add the “-tags icu” flag to also run ICU conformance tests (if available). This requires that you have the correct ICU version installed on your system.


To update a Unicode version run

UNICODE_VERSION=x.x.x go generate

where x.x.x must correspond to a directory in If this version is newer than the version in core it will also update the relevant packages there. The idna package in x/net will always be updated.

To update a CLDR version run

CLDR_VERSION=version go generate

where version must correspond to a directory in

Note that the code gets adapted over time to changes in the data and that backwards compatibility is not maintained. So updating to a different version may not work.

The files in DATA/{iana|icu|w3|whatwg} are currently not versioned.