
backport da CVE-2026-56852 (GO-2026-5970) na golang.org/x/text v0.33.0 para Go 1.24
Este repositório contém pacotes Go complementares para processamento de texto, muitos envolvendo Unicode.
É importante que a versão do Unicode usada em x/text corresponda àquela usada
pelo seu compilador Go. O repositório x/text suporta múltiplas versões do
Unicode e combinará a versão do Unicode com a do compilador Go. No
momento, isso é suportado para compiladores Go a partir da versão 1.7.
Para enviar alterações a este repositório, veja http://go.dev/doc/contribute.
O repositório git é https://go.googlesource.com/text.
Para gerar as tabelas neste repositório (exceto as tabelas de codificação), execute go generate a partir deste diretório. Por padrão, as tabelas são geradas para a versão do Unicode no núcleo e a versão do CLDR definida em golang.org/x/text/unicode/cldr.
Executar o go generate criará, como efeito colateral, um subdiretório DATA neste diretório, que contém todos os arquivos usados como fonte para gerar as tabelas. Esse diretório também servirá como cache.
Execute
go test ./...
a partir deste diretório para executar todos os testes. Adicione a flag "-tags icu" para também executar os testes de conformidade ICU (se disponível). Isso requer que você tenha a versão correta do ICU instalada no seu sistema.
TODO:
Para gerar as tabelas neste repositório (exceto as tabelas de codificação),
execute go generate a partir deste diretório. Por padrão, as tabelas são
geradas para a versão do Unicode no núcleo e a versão do CLDR definida em
golang.org/x/text/unicode/cldr.
Executar o go generate criará, como efeito colateral, um subdiretório DATA neste diretório, que contém todos os arquivos usados como fonte para gerar as tabelas. Esse diretório também servirá como cache.
Para atualizar uma versão do Unicode, execute
UNICODE_VERSION=x.x.x go generate
onde x.x.x deve corresponder a um diretório em https://www.unicode.org/Public/.
Se essa versão for mais nova do que a versão no núcleo, ela também atualizará os
pacotes relevantes lá. O pacote idna em x/net será sempre atualizado.
Para atualizar uma versão do CLDR, execute
CLDR_VERSION=version go generate
onde version deve corresponder a um diretório em
https://www.unicode.org/Public/cldr/.
Observe que o código é adaptado ao longo do tempo às mudanças nos dados e que a compatibilidade retroativa não é mantida. Portanto, atualizar para uma versão diferente pode não funcionar.
Os arquivos em DATA/{iana|icu|w3|whatwg} atualmente não são versionados.
O rastreador de problemas principal para o repositório text está localizado em https://go.dev/issues. Adicione o prefixo "x/text:" na linha de assunto, para que seja fácil encontrá-lo.