Releases: theuves/cpf
Releases · theuves/cpf
Release list
v3.0.0 [Oct 8, 2026]
Changelog
Security
generateManyrejeita contagens acima de 10.000 para impedir esgotamento de memória por alocação síncrona de lotes sem limite- Busca de reparos de CPF rejeita entradas excessivamente longas (>64 caracteres) antes de executar expressões regulares e normalização
- Política de segurança e processo de report de vulnerabilidades adicionados
Added
- API semântica completa:
isValid,inspect,matchesFormat,normalize,format,parse,calculateCheckDigits,findValidRepairs,generate,generateMany cpf.getFiscalRegionspara obter UFs associadas ao CPFcnpj.getKindpara classificar estruturas como numéricas ou alfanuméricas sem atestar dígitos verificadores- Suporte completo a coexistência de CNPJ numérico e alfanumérico em validação, formato, parsing, cálculo, geração e reparo
- Aceita CNPJ com até 12 caracteres alfanuméricos + 2 dígitos verificadores (exemplo:
12.ABC.345/01DE-35) - Tipos públicos:
DocumentIssueCode,CpfInspectionResult,CnpjInspectionResult,CpfIssueCode,CnpjBody,CnpjKind,RepairOptions - Opções de geração:
validity,output,kind,randomSource - Testes determinísticos baseados em propriedades para núcleo compartilhado
- Cobertura mínima de 100% para linhas, statements, funções e branches
- Vetores oficiais da Receita Federal para validação de CNPJ
- Códigos de erro estáveis para diagnóstico:
INVALID_TYPE,INVALID_CHARACTERS,INVALID_LENGTH,INVALID_VERIFIER_CHARACTERS,REPEATED_CHARACTERS,INVALID_CHECK_DIGITS - Suporte multi-runtime: ESM, CommonJS e IIFE (navegador)
- Subpaths granulares para importação:
cpf/cpfecpf/cnpj - Declarações TypeScript completas:
.d.mtspara ESM,.d.ctspara CommonJS, fallback.d.ts - Documentação completa com 9 Registros de Decisão Arquitetural (ADRs)
- Guia de migração detalhado (
docs/migration-v3.md) - Especificação de regras de domínio (
docs/domain-rules.md) - Política de suporte com matriz de Node.js (16, 18, 20, 22, 24+)
- Guia de contribuição (
CONTRIBUTING.md) - Política de segurança (
SECURITY.md) - Templates de issue com validação para bug reports
- Pull request template com checklist de compatibilidade
- Dependabot para atualizações de dependências
- GitHub Funding
- GitHub Actions CI/CD com CodeQL para análise de segurança
Changed
validaterenomeado paraisValidcom mesmo comportamento booleanocheck({ strict })renomeado paramatchesFormat({ completeness })com reestruturação de opçõesunformatrenomeado paranormalizecom mesmo funcionamentocalcrenomeado paracalculateCheckDigitscom mesmo cálculorepairrenomeado parafindValidRepairsque sempre retorna arrayrfsmovido paracpf.getFiscalRegionsgenerate()sempre retorna string única;generateMany(count)para geração em loteparseagora exige valor completo e retorna campos semânticos em strings em vez de arrays numéricosparseremove separadores admitidos em qualquer posiçãoparseconverte CNPJ em minúsculas para MAIÚSCULAS automaticamentecalculateCheckDigitsaceita corpo CNPJ em string ou array contendo números e letras maiúsculas- Geração de CNPJ recebe opção
kind: 'numeric' | 'alphanumeric'; padrão permanece numérico findValidRepairsadota?como marcador padrão;Xno corpo é agora dado válidonormalizeconverte letras CNPJ a maiúsculas sem truncar valores inválidos- Testes probabilísticos de geração substituídos por invariantes reproduzíveis
- Tipagem de
cpf.inspectnão inclui maisINVALID_VERIFIER_CHARACTERS(impossível nesse domínio) generateegenerateManycompartilham mesmo tipo público de opções
Removed
- Aliases da série 2.x
clear,getCD- Suporte a entrada numérica irrestrita em
format - Retorno condicional de
generate - API legada completamente removida
Compatibility
- Esta é uma versão major por mudanças em tipos e semântica de parsing, normalização e reparo de CNPJ
- Suportado em Node.js 16, 18, 20, 22, 24+
- Compatível com ESM e CommonJS
- Funciona em navegadores via IIFE
- TypeScript com
moduleResolution: NodeNext - Zero dependências de runtime
- Consulte
docs/migration-v3.mdpara detalhes completos de migração