Releases: petrinhu/TISS_ANS_hash
Release list
v0.2.1
TISS_ANS_hash v0.2.1
Patch sobre a v0.2.0: o jar prebuilt do Kotlin volta a ser anexado ao release (build do Kotlin no CI corrigido), e adiciona o AGENTS.md (guia para IA/agente que usa a lib). 13 ports, sem mudança no algoritmo. Detalhe no CHANGELOG.md.
Expansão para 13 ports. A biblioteca calcula o hash MD5 do epílogo (<ans:hash>) de documentos XML do Padrão TISS/ANS (o valor que a ANS aceita para garantir que um lote não foi adulterado). Segredo: os bytes alimentados ao MD5 são UTF-8, não ISO-8859-1.
Novo por aqui? Comece em docs/CONCEITOS.md, depois docs/TUTORIAL.md ou docs/USAGE.md.
Novidades da v0.2.0
4 linguagens novas, todas com resultado idêntico byte a byte às outras (20 vetores + 3 goldens reais, 13/13 ports x 3/3 PASS):
- Kotlin (
langs/kotlin/): JVM, Android/multiplatform. - Object Pascal / Free Pascal (
langs/delphi/): legado de faturamento médico BR (Delphi). - Dart (
langs/dart/): mobile cross-platform (Flutter). - WASM (
langs/wasm/): hash client-side no browser (core Rust via wasm-bindgen). Argumento LGPD: o XML com dados pessoais nunca sai da máquina do usuário. Verdocs/adr/0006-wasm-port.md.
13 ports (resultado idêntico)
Python, Rust, C, C++, Node.js, PHP, Java, Go, C#, Kotlin, Delphi/FPC, Dart, WASM.
Como obter
-
Código-fonte: tarball desta release (anexo) ou
git clonena tagv0.2.0. Todos os ports buildam do fonte (README de cadalangs/<lang>/). -
Go:
go get github.com/petrinhu/TISS_ANS_hash/langs/go@v0.2.0 -
Artefatos prontos (anexos): wheel/sdist (Python), jar (Java, Kotlin), nupkg (C#), crate (Rust), tgz (Node), libs (C), pkg WASM.
Jar do Kotlin: o jar prebuilt do Kotlin não está anexado ao release do GitHub v0.2.0 (falha do build Kotlin na primeira execução da CI, já corrigida para os próximos releases); ele está no release do Codeberg v0.2.0. Em qualquer caso, o port Kotlin builda do fonte com
./build.sh jar(verlangs/kotlin/). -
Registries (PyPI, npm, crates.io, Packagist, Maven Central, NuGet): em preparação; workflows prontos, ver
docs/RELEASING.md. Por enquanto, instalar a partir do checkout (verdocs/USAGE.md).
Verificação de integridade
SHA256SUMS + SBOM (CycloneDX) anexos.
Licença
MIT. Atribuições de terceiros em THIRD_PARTY_LICENSES.md. Changelog: CHANGELOG.md.
v0.2.0
TISS_ANS_hash v0.2.0
Expansão para 13 ports. A biblioteca calcula o hash MD5 do epílogo (<ans:hash>) de documentos XML do Padrão TISS/ANS (o valor que a ANS aceita para garantir que um lote não foi adulterado). Segredo: os bytes alimentados ao MD5 são UTF-8, não ISO-8859-1.
Novo por aqui? Comece em docs/CONCEITOS.md, depois docs/TUTORIAL.md ou docs/USAGE.md.
Novidades da v0.2.0
4 linguagens novas, todas com resultado idêntico byte a byte às outras (20 vetores + 3 goldens reais, 13/13 ports x 3/3 PASS):
- Kotlin (
langs/kotlin/): JVM, Android/multiplatform. - Object Pascal / Free Pascal (
langs/delphi/): legado de faturamento médico BR (Delphi). - Dart (
langs/dart/): mobile cross-platform (Flutter). - WASM (
langs/wasm/): hash client-side no browser (core Rust via wasm-bindgen). Argumento LGPD: o XML com dados pessoais nunca sai da máquina do usuário. Verdocs/adr/0006-wasm-port.md.
13 ports (resultado idêntico)
Python, Rust, C, C++, Node.js, PHP, Java, Go, C#, Kotlin, Delphi/FPC, Dart, WASM.
Como obter
- Código-fonte: tarball desta release (anexo) ou
git clonena tagv0.2.0. Todos os ports buildam do fonte (README de cadalangs/<lang>/). - Go:
go get github.com/petrinhu/TISS_ANS_hash/langs/go@v0.2.0 - Artefatos prontos (anexos): wheel/sdist (Python), jar (Java, Kotlin), nupkg (C#), crate (Rust), tgz (Node), libs (C), pkg WASM.
- Registries (PyPI, npm, crates.io, Packagist, Maven Central, NuGet): em preparação; workflows prontos, ver
docs/RELEASING.md. Por enquanto, instalar a partir do checkout (verdocs/USAGE.md).
Verificação de integridade
SHA256SUMS + SBOM (CycloneDX) anexos.
Licença
MIT. Atribuições de terceiros em THIRD_PARTY_LICENSES.md. Changelog: CHANGELOG.md.
v0.1.0
TISS_ANS_hash v0.1.0
Primeiro release público. A biblioteca calcula o hash MD5 do epílogo (<ans:hash>) de documentos XML do Padrão TISS/ANS — o valor que a ANS aceita para garantir que um lote não foi adulterado. O segredo, não óbvio pelo manual: os bytes alimentados ao MD5 são UTF-8, não ISO-8859-1.
Novo por aqui? Comece em docs/CONCEITOS.md (o que é e para que serve, em linguagem simples), depois docs/TUTORIAL.md (mão na massa) ou docs/USAGE.md (sua linguagem).
O que tem neste release
- 9 ports nativos, todos com resultado idêntico byte-a-byte: Python, Rust, C, C++, Node.js, PHP, Java, Go, C#.
- Suíte de conformidade pública: 20 vetores 100% sintéticos (18 positivos + 2 negativos de rejeição). Zero dado de paciente no repositório (LGPD).
- Documentação nível-iniciante: conceitos, tutorial passo a passo, guia de uso por linguagem, FAQ + glossário.
- Segurança: XXE fechado no port C; rejeição explícita de múltiplos
<ans:hash>e de encoding UTF-16/UTF-32 (em vez de hash silenciosamente errado). - CI dual-host (GitHub Actions + Forgejo/Codeberg): build+test+lint+coverage+CVE scan nos 9 ports.
Como obter
- Código-fonte: baixe o tarball desta release (anexo) ou
git clonena tagv0.1.0. Todos os ports buildam do fonte (ver README de cadalangs/<lang>/). - Go: já funciona direto da tag, sem registry:
go get github.com/petrinhu/TISS_ANS_hash/langs/go@v0.1.0 - Python / Node / Rust / PHP / Java / C#: a publicação nos registries (PyPI, npm, crates.io, Packagist, Maven Central, NuGet) está em preparação. Por enquanto, instale a partir do checkout (instruções em
docs/USAGE.mde no README de cada port). Os workflows de publicação já existem; verdocs/RELEASING.md.
Verificação de integridade
Cada anexo tem seu hash em SHA256SUMS (também anexo). Há um SBOM (CycloneDX) listando dependências.
Licença
MIT. Atribuições de terceiros em THIRD_PARTY_LICENSES.md.
Changelog completo: CHANGELOG.md.