diff --git a/.release-please-manifest.json b/.release-please-manifest.json index db7ad907..e6416a14 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.4.0" + ".": "2.5.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ed054d1..392032fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,317 @@ The entries are generated by [release-please](https://github.com/googleapis/rele [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) history, and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.5.0](https://github.com/brazilian-utils/javascript/compare/2.4.0...2.5.0) (2026-09-29) + + +### Features + +* **area-codes:** add getMunicipalitiesByAreaCode and getAreaCodeByMunicipalityCode ([538f915](https://github.com/brazilian-utils/javascript/commit/538f915af3d260c9819661cfad008bae0b943640)) +* **cbo:** add formatCbo ([c26888c](https://github.com/brazilian-utils/javascript/commit/c26888c90da961d0c34d39100b615048e127f761)) +* **cest:** add isValidCest, formatCest, parseCest and getCest ([32e2aff](https://github.com/brazilian-utils/javascript/commit/32e2aff4d4af94271f84c7e6c30968ddc43cda3e)) +* **cfop:** add formatCfop ([ae2a308](https://github.com/brazilian-utils/javascript/commit/ae2a3082236a4730cd011786a86d6731ba943145)) +* **cid10:** add isValidCid10, getCid10, formatCid10 and parseCid10 ([495a0a8](https://github.com/brazilian-utils/javascript/commit/495a0a860053f35afa7a8a78602561f0240ddc96)) +* **ibs-cbs:** add the CST-IBS/CBS and cClassTrib validators and lookups ([98189c5](https://github.com/brazilian-utils/javascript/commit/98189c5b750bd5b9a684deada0d0e5f582b88c57)) +* **isbn:** add isValidIsbn, parseIsbn, getIsbnInfo and formatIsbn ([1a50bcc](https://github.com/brazilian-utils/javascript/commit/1a50bcc87a0f3e05f25f526c9814be889becc645)) +* **license-plate:** let isValidLicensePlate take the format to accept ([3dec90d](https://github.com/brazilian-utils/javascript/commit/3dec90dc0bbbb786d5dd6f607a21f5868e7425f8)) +* **municipalities:** add getCodeByMunicipalityName ([c69befc](https://github.com/brazilian-utils/javascript/commit/c69befc9c1534ed8cbfcd4107a251f27069780cd)) +* **nbs:** add parseNbs ([6fe8ca1](https://github.com/brazilian-utils/javascript/commit/6fe8ca15f7f710df6e6c5680e07d0a3571eacc05)) +* **nbs:** add the pad option to formatNbs ([dc85223](https://github.com/brazilian-utils/javascript/commit/dc85223ba7a404280c034a2d457f349794e619ec)) +* **processo-juridico:** add getProcessoJuridicoInfo ([3640237](https://github.com/brazilian-utils/javascript/commit/3640237c4f926565ab3fb148223d2d1d8b41cc10)) +* **registro-profissional:** accept the CRO number form of art. 115 of the CFO norms ([e60fe5a](https://github.com/brazilian-utils/javascript/commit/e60fe5ab0d5c918b9e9a8abd0e61a0769d21ee5d)) +* **states:** add getStateCapital, getRegions and getStatesByRegion ([6e62985](https://github.com/brazilian-utils/javascript/commit/6e62985f9c783c61a2a42b5d5d84b16823f84d5e)) +* **states:** add the capital and the region IBGE code to State ([5df7084](https://github.com/brazilian-utils/javascript/commit/5df70842795676f6f01367efdff8eb3837f2711e)) +* **voter-id:** add getVoterIdInfo ([16d51e8](https://github.com/brazilian-utils/javascript/commit/16d51e83f8ade9e94819cc27ddc1ff8686ad9ca1)) + + +### Bug Fixes + +* **api:** check every subpath entry point and run npm without a shell ([c7f2379](https://github.com/brazilian-utils/javascript/commit/c7f23791a50b4a13b73aeba26fa146937a4a5a1a)) +* **api:** fail when the generated check does not compile at all ([cd8e683](https://github.com/brazilian-utils/javascript/commit/cd8e683b62f5bfbaa712eddd6a29969541b352ae)) +* **api:** report a removed subpath as a breaking change instead of aborting ([ecfc8ea](https://github.com/brazilian-utils/javascript/commit/ecfc8ea29c899ebf9cae9af2164f12e64a6066ba)) +* **api:** run npm through a shell on Windows, and say what the docs check does ([4c32ec6](https://github.com/brazilian-utils/javascript/commit/4c32ec68f2a827917affd0654f52fa3e18697acb)) +* **area-codes:** read codes by their digits, as getAreaCodeInfo and getMunicipalityByCode do ([feeabca](https://github.com/brazilian-utils/javascript/commit/feeabca9203812ce056e98025c385f7b4f421e0b)) +* **boleto:** accept only the código de moeda 9 and the 988 layout, and generate dated factors ([035a04e](https://github.com/brazilian-utils/javascript/commit/035a04e328edcd87e52f7e3948d10fc5d636d290)) +* **boleto:** accept the 44 digit cobranca bancaria barcode ([7334fba](https://github.com/brazilian-utils/javascript/commit/7334fba0fbafaeb7c2dedc9f4ae672336fed7821)) +* **boleto:** ignore an invalid referenceDate in getBoletoInfo ([07a5780](https://github.com/brazilian-utils/javascript/commit/07a57805070462b4050921a8d8ab0aa7aa7cf46f)) +* **boleto:** read a number only when it is a non-negative safe integer ([c67c1ba](https://github.com/brazilian-utils/javascript/commit/c67c1ba11555bc38f0ce7bc89c2623b3ae981178)) +* **boleto:** reject letters and stray characters in isValidBoleto ([e1a9b4d](https://github.com/brazilian-utils/javascript/commit/e1a9b4d5f80e47862a78ac301ee99bc7154cdee4)) +* **caepf:** read a number only when it is a non-negative safe integer ([a99fe3d](https://github.com/brazilian-utils/javascript/commit/a99fe3da777109744e358666c329ace2d26f31b2)) +* **caepf:** reject negative and fractional numbers ([6fc9a90](https://github.com/brazilian-utils/javascript/commit/6fc9a9079abf3b3c8cd9aee65df2a9f1b0b95caf)) +* **capitalize:** keep every roman numeral up to XXXIX upper case, not just to XXIII ([0c419d5](https://github.com/brazilian-utils/javascript/commit/0c419d5203f37f12d60c360a8b4ba560e950f1d6)) +* **capitalize:** keep more prepositions and S.A in the right case, scan linearly ([e936f51](https://github.com/brazilian-utils/javascript/commit/e936f512faddb373f0778a26fc56b09af580d1ae)) +* **capitalize:** write the UF of a "Cidade - UF" address in upper case ([526a27a](https://github.com/brazilian-utils/javascript/commit/526a27ab189ad0c4cbaf8eb6e4b46d002f986117)) +* **cbo:** build the table from the MTE's current release, kept in the repository ([cac077f](https://github.com/brazilian-utils/javascript/commit/cac077f418edaaacc48018797777c73a00a2680d)) +* **cbo:** read a number only when it is a non-negative safe integer ([3ff37bb](https://github.com/brazilian-utils/javascript/commit/3ff37bbdcf7bf4af3418569ab9f054a4667966c0)) +* **cei,cno:** reject negative and fractional numbers ([801f2f9](https://github.com/brazilian-utils/javascript/commit/801f2f94372f9788177ee4359a14a0ef00e476b5)) +* **cei:** read a number only when it is a non-negative safe integer ([88f5bda](https://github.com/brazilian-utils/javascript/commit/88f5bda12be0be1ad20ad596c3d6b0f8ca091834)) +* **cep:** read a number only when it is a non-negative safe integer ([040b530](https://github.com/brazilian-utils/javascript/commit/040b530e5ba6fd89b324c75594bd7f9882f92acd)) +* **cep:** reject negative and fractional numbers ([97969c0](https://github.com/brazilian-utils/javascript/commit/97969c0f169e97153445ca90bae38c360a728c22)) +* **certidao:** accept again the book codes 8 and 9 of Prov. CNJ 3/2009 ([3d96c65](https://github.com/brazilian-utils/javascript/commit/3d96c654760f5c691ac7437bb744a24b32283b8b)) +* **certidao:** read a number only when it is a non-negative safe integer ([90592af](https://github.com/brazilian-utils/javascript/commit/90592af3810e2f140e69e927b9955b5e5c8b251d)) +* **certidao:** reject the book codes 8 and 9, which art. 473, V does not list ([59bafec](https://github.com/brazilian-utils/javascript/commit/59bafec9ca9543b60a799b63cfeeec54bd249de2)) +* **cest:** read a number only when it is a non-negative safe integer ([4ae9a5d](https://github.com/brazilian-utils/javascript/commit/4ae9a5de41f474f6562bb45ce3a21f8731da0e79)) +* **cfop:** read a number only when it is a non-negative safe integer ([a590084](https://github.com/brazilian-utils/javascript/commit/a590084cab1c4adb4b292a66dba8f52f7da4c830)) +* **cid10:** add the U07 codes of the DATASUS SIM table the V2008 files lack ([196985e](https://github.com/brazilian-utils/javascript/commit/196985e2b6d8c0f99411c2eae8f45a35af9a6e90)) +* **cid10:** retry a busy DATASUS and keep a __proto__ key while sorting ([ceb0ce3](https://github.com/brazilian-utils/javascript/commit/ceb0ce31cb846b6f8161fdbd17cfb8e9ed9bff37)) +* **classifications:** read null options as none in isValidCst and isValidClassTrib ([840604f](https://github.com/brazilian-utils/javascript/commit/840604fa131a6c48a98a7d4fbfe095a0f81eceaa)) +* **cnae:** read a number only when it is a non-negative safe integer ([72a5de6](https://github.com/brazilian-utils/javascript/commit/72a5de60052108ae531aa5755df1f5096c59230d)) +* **cnh:** read a number only when it is a non-negative safe integer ([3215bb6](https://github.com/brazilian-utils/javascript/commit/3215bb64f7073f9a5f0c05e0c1eaa370ba46d11a)) +* **cno:** read a number only when it is a non-negative safe integer ([d19ad28](https://github.com/brazilian-utils/javascript/commit/d19ad28a85df47a40da3bfb2a2bf0185a07475ee)) +* **cnpj:** never generate the número de ordem 0000, which is never assigned ([6e0dee4](https://github.com/brazilian-utils/javascript/commit/6e0dee46bd8a1f85ad31fa13609e4f735a42c79b)) +* **cnpj:** read a number only when it is a non-negative safe integer ([b6563f3](https://github.com/brazilian-utils/javascript/commit/b6563f37d954f7ff7056974d828b010f1b8d8f67)) +* **cns:** read a number only when it is a non-negative safe integer ([8592439](https://github.com/brazilian-utils/javascript/commit/859243923bf9967df43c6e4f9d1c8c4ee57900ef)) +* **cns:** reject negative and fractional numbers ([29b5a18](https://github.com/brazilian-utils/javascript/commit/29b5a18aedbee1d11e72f1de48a94fb344317582)) +* **convert-number-to-words:** export NumberToWordsGender from the subpath entry ([7fbabbf](https://github.com/brazilian-utils/javascript/commit/7fbabbf517f539fa3b7347cde507389759493eb5)) +* **cpf:** read a number only when it is a non-negative safe integer ([e484f4e](https://github.com/brazilian-utils/javascript/commit/e484f4ed2f9fe6b2cf2d202e04966373efcafdd8)) +* **cst:** accept the bare 2 digit Tabela B codes for tax icms ([f2f1aff](https://github.com/brazilian-utils/javascript/commit/f2f1aff6e5fd9ee124353de073b38ae0656c43c4)) +* **datasets:** emit the committed mask regexes from the generator templates ([a39dc8c](https://github.com/brazilian-utils/javascript/commit/a39dc8c8aa6bd2d11c8d6b434122b765a84f9cb0)) +* **email:** cap the address length and accept a punycode final label ([aafdabd](https://github.com/brazilian-utils/javascript/commit/aafdabd86797ed308ed664a0e4c085cb1a84abf2)) +* **format:** return an empty string when the value has no digits, even with pad ([960d9bb](https://github.com/brazilian-utils/javascript/commit/960d9bbe834869bbf6d0bcd9ffacc2795712c5ef)) +* **generate-cep:** draw the CEP inside the ranges the states own ([54bb018](https://github.com/brazilian-utils/javascript/commit/54bb0185592ec5220651c891325f17821266f043)) +* **get-address-info-by-cep:** abort the providers that lost the race ([df8b01d](https://github.com/brazilian-utils/javascript/commit/df8b01d3c26f12ea03f69ca22c56b4b18133def1)) +* **get-address-info-by-cep:** read a provider CEP without its leading zero as the same CEP ([b32ce6c](https://github.com/brazilian-utils/javascript/commit/b32ce6c93efbbb1f2f3f848344013322f715798a)) +* **get-address-info-by-cep:** reject an address that contradicts the CEP ([17f121f](https://github.com/brazilian-utils/javascript/commit/17f121fbe77f7203c5fd1fb89bc43519c01aeeb2)) +* **get-address-info-by-cep:** validate like isValidCep, add timeoutMs and signal ([c3f3a7f](https://github.com/brazilian-utils/javascript/commit/c3f3a7fc2ee1259b1b13d451edd65cef20798296)) +* **get-cep-info-by-address:** validate the city and street before the request ([9ff2296](https://github.com/brazilian-utils/javascript/commit/9ff2296bf9fb6f0cde18bc505bfbe343a572960c)) +* **get-holidays:** drop the AM and PR optional days no state norm declares ([c919097](https://github.com/brazilian-utils/javascript/commit/c9190970c1043e8fd3ddcc3427a72c52c8b3f18b)) +* **get-holidays:** list Acre's Dia do Católico and name both transfer exceptions ([567978d](https://github.com/brazilian-utils/javascript/commit/567978d798abdde7d80d498050934ebd84bf974f)) +* **get-holidays:** list Alagoas' 20 November from 1995 to 2023 under Lei AL 5.724/1995 ([f6dc883](https://github.com/brazilian-utils/javascript/commit/f6dc883aa1d0d9001f6582a09855b242ecd1cfc0)) +* **get-holidays:** list Carnaval Monday as a ponto facultativo next to the Tuesday ([1e4a799](https://github.com/brazilian-utils/javascript/commit/1e4a799600669ea86844d379663b1c521cd46560)) +* **get-holidays:** list each national holiday only in the years a federal norm declared it ([2ef1027](https://github.com/brazilian-utils/javascript/commit/2ef1027b88aa0eaaee34ccb1063e96fb6fd9c2a6)) +* **get-holidays:** list the first round of the elections as a national holiday ([c67a7ec](https://github.com/brazilian-utils/javascript/commit/c67a7ec7cf6e3314d46189bbf87c0a5d8b892be1)) +* **get-holidays:** start each state holiday in the first year its law applied ([905cf9e](https://github.com/brazilian-utils/javascript/commit/905cf9ea828b341cfcc11ab0c014baf3099e8ade)) +* **get-holidays:** start the AM 8 December ponto facultativo in 1999 and keep tables literal ([2eb0d06](https://github.com/brazilian-utils/javascript/commit/2eb0d0617d634ed781ae90323ac5ae7d0e302dfd)) +* **get-holidays:** type Rio de Janeiro's Carnaval Tuesday as a state holiday from 2009 ([7c56a74](https://github.com/brazilian-utils/javascript/commit/7c56a748a072f9072ec774ae532f3e5655588996)) +* **holidays,bank-account:** add Rio de Janeiro's Corpus Christi and accept 12 digit Caixa accounts ([b62fb2d](https://github.com/brazilian-utils/javascript/commit/b62fb2d9f542c50c9e9629de4978d6771daab658)) +* **holidays:** add Alagoas' Dia Estadual do Evangélico, 30 November, from 2014 ([cc084f9](https://github.com/brazilian-utils/javascript/commit/cc084f938fadc25bd86d0f4c1dfe79cff23754a5)) +* **holidays:** add Amapá's Dia de Cabralzinho, 15 May, from 2018 (Lei AP nº 2.213/2017) ([8f0412c](https://github.com/brazilian-utils/javascript/commit/8f0412cf464c44df2abb36b18a26c9150794b4a1)) +* **holidays:** add Amapá's Dia de São Tiago, 25 July, from 2012 to 2018 ([fd2aafd](https://github.com/brazilian-utils/javascript/commit/fd2aafda41927f6f7d89872c08e48fb0ed219e7f)) +* **holidays:** add Maranhão's Dia Internacional da Mulher, 8 March, from 2027 ([d437782](https://github.com/brazilian-utils/javascript/commit/d437782cdf7ba8870ebf25aae34f21c747391dcb)) +* **holidays:** follow the official texts gathered for the open holiday questions ([41290e7](https://github.com/brazilian-utils/javascript/commit/41290e787931037eea1504edd721e9054ac09e5a)) +* **holidays:** list Amapá's 20 November from 2008, the first one after Lei AP nº 1.169/2007 ([f39c2dc](https://github.com/brazilian-utils/javascript/commit/f39c2dc128e52060d8fee8b0794b6f6b8e82df8a)) +* **holidays:** list Paraíba's 5 August from 1968, under Lei PB nº 3.489/1967 ([d52be2b](https://github.com/brazilian-utils/javascript/commit/d52be2bd07c4acc2f6964eae16ee4c9eeffdd7e5)) +* **holidays:** list PR 19/12 from 1963 to 2013, AM 08/12 and PE 06/03 of 2008-2009 as the norms say ([1e3d8a2](https://github.com/brazilian-utils/javascript/commit/1e3d8a2b973cbc49457ae4e29f2154c384ba4a32)) +* **holidays:** list Sergipe's 8 July from 1990 and its 24 October from 1989 to 1999 ([46331ca](https://github.com/brazilian-utils/javascript/commit/46331ca504f19148e3f859669f7ca3077e88f0c3)) +* **holidays:** make Corpus Christi a feriado estadual in Maranhão from 2024 ([0093e06](https://github.com/brazilian-utils/javascript/commit/0093e062f04df29a041491fa6653ab64818a53ef)) +* **holidays:** read stateCode like the other state utils and reject a non-state ([9225f30](https://github.com/brazilian-utils/javascript/commit/9225f306c8a26dbeddd0b253c2fd79d23952959c)) +* **iban:** accept an alphanumeric ISPB and cite Resolução BCB nº 585/2026 ([8c91543](https://github.com/brazilian-utils/javascript/commit/8c915436bfd2c22f7e70167f13b62e16c7ef6b6b)) +* **iban:** read a number only when it is a non-negative safe integer ([3f0a860](https://github.com/brazilian-utils/javascript/commit/3f0a8608a0649c90fd30233925770f916dcebddd)) +* **ibs-cbs:** bound the whole workbook, not one entry at a time ([7ef1259](https://github.com/brazilian-utils/javascript/commit/7ef12597b6b21294d9d554ff5da87e8c902e061d)) +* **ibs-cbs:** fail on a validity date the workbook does not write as a number ([761cac4](https://github.com/brazilian-utils/javascript/commit/761cac45c91b18d07a1671de9082a6d03913b5db)) +* **ibs-cbs:** harden the workbook reader of the generator ([11803d4](https://github.com/brazilian-utils/javascript/commit/11803d4bc8c26086ee5e595854d58c3c52b049aa)) +* **ie:** accept only the Alagoas tipo de empresa digits 0, 3, 5, 7 and 8 ([b8b3c3f](https://github.com/brazilian-utils/javascript/commit/b8b3c3f9e52c56b5fc17ad7c6c5e558d16cd3bc0)) +* **ie:** accept only the Pará prefixes 15 and 75 ([a942d8f](https://github.com/brazilian-utils/javascript/commit/a942d8fe6c35092aaafa335f95c3b6ae537bcd51)) +* **ie:** accept the 9 digit Mato Grosso registration ([0a854c8](https://github.com/brazilian-utils/javascript/commit/0a854c8e65a3db31bbdc44c9daa62e8ac8d98d6f)) +* **ie:** accept the Distrito Federal prefix 08 ([a224dcd](https://github.com/brazilian-utils/javascript/commit/a224dcd45b968f56bf378e05f9dbdfdd803eebdb)) +* **ie:** accept the Goiás prefixes 20 to 29 ([22eabd8](https://github.com/brazilian-utils/javascript/commit/22eabd80c36b0caa0408956ddbca36b5296cce77)) +* **ie:** accept the old 14 digit Pernambuco CACEPE registration ([8cf1255](https://github.com/brazilian-utils/javascript/commit/8cf1255cb7836c7e531fc48a7a8a8b461e5a20a2)) +* **ie:** accept the Pará prefixes 76 to 79 the SINTEGRA page lists ([65f9947](https://github.com/brazilian-utils/javascript/commit/65f994708291399467f4ce9e338ed26cf9ae8366)) +* **ie:** require the 0 after the P of a São Paulo produtor rural registration ([3f224a4](https://github.com/brazilian-utils/javascript/commit/3f224a45dac8bcd44520378df86978dbbedd0143)) +* **ie:** trim the state code, as the other utils that take a state do ([b139996](https://github.com/brazilian-utils/javascript/commit/b1399961fc06188468b49ba0b57d932be2d3ba9e)) +* **is-valid-phone:** apply the character check to the string form of any value ([a3e5511](https://github.com/brazilian-utils/javascript/commit/a3e551125e77656a1c5637bbda0a946af09491c3)) +* **isbn:** reject 979-0, the ISMN range, in isValidIsbn ([a070dbb](https://github.com/brazilian-utils/javascript/commit/a070dbbadab5a0b03698a0b90cc69c7391855a61)) +* **legal-nature:** accept numbers and read the documented mask only ([f27b8a4](https://github.com/brazilian-utils/javascript/commit/f27b8a446f81505725b8d8d83727dcb0fe85f815)) +* **legal-nature:** read a number only when it is a non-negative safe integer ([6259d13](https://github.com/brazilian-utils/javascript/commit/6259d134e547b675904c8d8f78290398359ea88a)) +* **legal-nature:** reject negative and fractional numbers in getLegalNature ([ee00e23](https://github.com/brazilian-utils/javascript/commit/ee00e236aa2fcb39f5c5ab78bb6ec29416422a6d)) +* **license-plate:** draw the fifth letter of a generated Mercosul plate from K to Z ([345450e](https://github.com/brazilian-utils/javascript/commit/345450e652fec7acddc759da6ce54a3251ea5aa7)) +* **license-plate:** reject characters outside the mask, in isValidRegistroProfissional too ([6fce860](https://github.com/brazilian-utils/javascript/commit/6fce860a108798d228ea9b2f6622fde8867fefeb)) +* **lookups:** stop reading letters and stray symbols out of bank, DDD and IBGE codes ([90df7a1](https://github.com/brazilian-utils/javascript/commit/90df7a1dd20ca998de506aa65219e8fcab0866e7)) +* **lookups:** strip non-digit characters again, as the 2.4.0 contract says ([d179683](https://github.com/brazilian-utils/javascript/commit/d1796835eed2d67a51f1be1c3349b33155656d1e)) +* **nbs:** read a number only when it is a non-negative safe integer ([4305328](https://github.com/brazilian-utils/javascript/commit/4305328d0f36981eb61747b545f29b7b024993b6)) +* **ncm:** read a number only when it is a non-negative safe integer ([cf0aeb0](https://github.com/brazilian-utils/javascript/commit/cf0aeb0a2a7c8fef03d1b014242bff18ff1f4950)) +* **nfe-key:** accept the alphanumeric CNPJ in positions 7 to 18 of the access key ([32ebc70](https://github.com/brazilian-utils/javascript/commit/32ebc7031ff52ecd6af018c5652536259b44d50e)) +* **nfe-key:** read a number only when it is a non-negative safe integer ([0de7184](https://github.com/brazilian-utils/javascript/commit/0de7184bb938043ffed1e91362a6e71336100899)) +* **nfe-key:** strip the XML Id prefix and reject wrong types in formatNfeKey ([2702a11](https://github.com/brazilian-utils/javascript/commit/2702a115cb6588d3fe1691f097ad42bee28f4280)) +* **phone:** accept a country code in isValidServicePhone ([660f5f7](https://github.com/brazilian-utils/javascript/commit/660f5f7cb7ed2263b43a35379208c18a9f83625a)) +* **phone:** drop an explicit country code in every formatPhone mask ([2f12922](https://github.com/brazilian-utils/javascript/commit/2f129220a7ab8263a9ba1c2275847cc5b2cbdda2)) +* **phone:** generate landlines that stay valid after March 2027 ([24083b7](https://github.com/brazilian-utils/javascript/commit/24083b7a196e69b6b9f9d05152f98566caa260d3)) +* **phone:** read a number only when it is a non-negative safe integer ([674e125](https://github.com/brazilian-utils/javascript/commit/674e1250b0743293ea1688f7480fa28abd182d1d)) +* **phone:** reject a mobile number starting with 6 under the default version too ([70346ff](https://github.com/brazilian-utils/javascript/commit/70346ff595b80f63105783e4ff5450d82af6b936)) +* **phone:** reject letters and other junk in phone validators ([e5f6f12](https://github.com/brazilian-utils/javascript/commit/e5f6f12f772e7d52320eebf42ec7f70f48a83f0d)) +* **phone:** strip an explicit +55 or 0055 at any length ([625dd25](https://github.com/brazilian-utils/javascript/commit/625dd258554405cdf9f6f24194ce0424fa478899)) +* **pis:** read a number only when it is a non-negative safe integer ([ca2ea73](https://github.com/brazilian-utils/javascript/commit/ca2ea73dad7b0994eb0b6d97e149e4704a7b7425)) +* **pix-key:** drop the & the current DICT API removed from the e-mail key pattern ([1402462](https://github.com/brazilian-utils/javascript/commit/1402462ef9b8b236d405493f769b98b6a236016f)) +* **pix-key:** reject a phone key that repeats the country code ([d4a6207](https://github.com/brazilian-utils/javascript/commit/d4a62071760baf6a04387c5b7c2c15fb373f1560)) +* **pix:** accept a dynamic BR Code whose txid is filled, as §2.7 has the payer ignore it ([e3dbf4c](https://github.com/brazilian-utils/javascript/commit/e3dbf4ccdd6273cd156be359465d467ba826ac42)) +* **pix:** check an e-mail key against the DICT pattern instead of isValidEmail ([9722941](https://github.com/brazilian-utils/javascript/commit/9722941383698a0906d29366719bd07504d2012a)) +* **pix:** read a BR Code amount the way the EMV writes it ([649c0ef](https://github.com/brazilian-utils/javascript/commit/649c0ef97261b7fb37f66997cdafc5affe4d1381)) +* **pix:** reject a BR Code object whose declared length is 00 ([205db69](https://github.com/brazilian-utils/javascript/commit/205db6908fa32e900821bd195ca3cce98f2b4ef2)) +* **pix:** require the CRC as the last object and reject repeated IDs ([f909834](https://github.com/brazilian-utils/javascript/commit/f909834b1784d7e2c046ae0ff08c1e1ecfcf4b38)) +* **pix:** require the merchant category code of a BR Code to be 4 digits ([49bb373](https://github.com/brazilian-utils/javascript/commit/49bb373cde74eedb01d9a7c4102f755f430f966c)) +* **pix:** require the payload format indicator to open the BR Code ([3459ee5](https://github.com/brazilian-utils/javascript/commit/3459ee59400fec2c830313cae2ed76093ce800f0)) +* **pix:** validate a BR Code by the rules of the Pix manual, not only its structure ([433c78b](https://github.com/brazilian-utils/javascript/commit/433c78b32eff689e49625ee20ac84ca5151c99d5)) +* **processo-juridico:** read a number only when it is a non-negative safe integer ([a22a8d2](https://github.com/brazilian-utils/javascript/commit/a22a8d25e62520a84692e508ddf70d8494407bf4)) +* **read-municipality-area-code:** read the index by own key only ([99f3c20](https://github.com/brazilian-utils/javascript/commit/99f3c202d79a4472bb8c0a8f68b2470f3ddcd7b5)) +* **renavam:** reject negative and fractional numbers ([82d8395](https://github.com/brazilian-utils/javascript/commit/82d8395320d7658343dfae25f662b525d8416fcc)) +* **scripts:** guard Anexo I of the CEST page against a pending amendment too ([6e0602a](https://github.com/brazilian-utils/javascript/commit/6e0602aa1112acaab751e36d98319cce8480e6e1)) +* **scripts:** strip the CEST page markup until stable and read the row classes as classes ([78df240](https://github.com/brazilian-utils/javascript/commit/78df2406b97cbc6af2f9923319df6a22feb308e8)) +* **scripts:** summarize the CEST table in the dataset refresh ([fb8b975](https://github.com/brazilian-utils/javascript/commit/fb8b97559d5388b9c2b7b448659a8b0060c40ad9)) +* **scripts:** summarize the CID-10 tables in the dataset refresh ([4764215](https://github.com/brazilian-utils/javascript/commit/47642155356b60fe3b225659504bce5b3acd026a)) +* **scripts:** summarize the IBS/CBS table and say which Informe the header names ([1bc85a4](https://github.com/brazilian-utils/javascript/commit/1bc85a40758eecf05438582f5ed519ab69454534)) +* **scripts:** summarize the NBS and service list tables in the dataset refresh ([a13cde8](https://github.com/brazilian-utils/javascript/commit/a13cde81f405a6d483fa0b169f1f886f93d79538)) +* **service-phone:** take the SUP codes from the current Anatel list and accept 112 ([52a904f](https://github.com/brazilian-utils/javascript/commit/52a904fdb2654392c2e27f461c8fd7fd13a2199a)) +* **states:** read the state code ignoring case in every state-taking util ([764c484](https://github.com/brazilian-utils/javascript/commit/764c4846ab3b6386d9ad5acf1be91e6260334f5d)) +* **to-standard-schema:** report a throwing validator as an issue ([74484c1](https://github.com/brazilian-utils/javascript/commit/74484c1b65ffcad4657c83edb1b40ea1e0c85417)) +* **types:** re-export option types from the cnpj and license plate subpaths ([ee75fa0](https://github.com/brazilian-utils/javascript/commit/ee75fa0b18deadd36476f8035e9c2bf5a6c6ac95)) +* **validators:** read the mask of every identifier the way isValidCpf does ([1f82b56](https://github.com/brazilian-utils/javascript/commit/1f82b5663c14f5a208d8329be09514e0e627f966)) +* **validators:** read the mask of every identifier the way isValidCpf does ([9e40382](https://github.com/brazilian-utils/javascript/commit/9e40382448c97063dc18541e0d8e105f00b880ec)) +* **vin:** check a VIN by the Brazilian rule, the 49 CFR check digit on request ([38a2194](https://github.com/brazilian-utils/javascript/commit/38a21944f0a0ef4dfa61f34456a237cfc5f914dc)) +* **vin:** test for ASCII letters before upper casing in isValidVin and isValidNfeKey ([b46084c](https://github.com/brazilian-utils/javascript/commit/b46084c1c4ad4d57ce992119fcdae03aee8dadbc)) +* **voter-id:** read a number only when it is a non-negative safe integer ([f26cd3e](https://github.com/brazilian-utils/javascript/commit/f26cd3e89c6e551872fbaecbc1a06d05a84781f2)) +* **voter-id:** read a voter id as at most 12 digits, its leading zeros droppable ([d2523a1](https://github.com/brazilian-utils/javascript/commit/d2523a1288a2724c46b876e65dd5458c7858ea82)) + + +### Performance + +* **area-codes:** index each state's DDDs once instead of searching per municipality ([71acede](https://github.com/brazilian-utils/javascript/commit/71acedec598930a15790b955c755678672049729)) +* **bank-account:** stop bundling the COMPE codes twice in isValidBankAccount ([945cd52](https://github.com/brazilian-utils/javascript/commit/945cd529939e4905cb89a51fd7db8e75b6fff04e)) +* **banks:** ship the banks as three columns, sharing the code list with the bank account validator ([7ee5add](https://github.com/brazilian-utils/javascript/commit/7ee5addf8b3a1c2e181bcae0bfdcfce8d87e15bd)) +* **business-days:** reuse one Date per walk in eachLocalDay ([8d174bd](https://github.com/brazilian-utils/javascript/commit/8d174bd95bc04a0a8363eba9e87b70daa46df4a6)) +* **capitalize:** cache the default word sets ([a06da80](https://github.com/brazilian-utils/javascript/commit/a06da80dc5146c9888590e01dabd1e77421f1817)) +* **cbo:** check a CBO code without bundling the occupation titles ([c9574ae](https://github.com/brazilian-utils/javascript/commit/c9574ae9360678dfe3b640ced490a2c43ae73508)) +* **cest:** check a CEST without bundling the goods descriptions ([69829e8](https://github.com/brazilian-utils/javascript/commit/69829e887f8d4c291302da99a7159e4ec606f4c0)) +* **cfop:** check a CFOP code without bundling the operation descriptions ([3e51724](https://github.com/brazilian-utils/javascript/commit/3e51724e491a3c4ccbe1229e5e95b42a3409255b)) +* **cid10:** keep the code shape out of the dataset module ([6913360](https://github.com/brazilian-utils/javascript/commit/6913360d85b607622712421ed49c6af897b45b8e)) +* **cid10:** look a CID-10 description up by index instead of by code ([e00f170](https://github.com/brazilian-utils/javascript/commit/e00f170bee6633ce0f6f2989d06c547aaea4084d)) +* **cid10:** pack the category table as base 36 distances and subcategory masks ([7ef9a79](https://github.com/brazilian-utils/javascript/commit/7ef9a79d43f85dd29a25aed59e324aca410da45c)) +* **cities:** build the cached list of every city with toSorted ([d3edbf7](https://github.com/brazilian-utils/javascript/commit/d3edbf74cff5f0d9a5529e46bbb8417201fd65c5)) +* **cnae:** check a CNAE code without bundling the subclass descriptions ([0cc45b8](https://github.com/brazilian-utils/javascript/commit/0cc45b8152a902789e1f06bf7e1aa236d9f4c518)) +* **cpf:** read the states of a fiscal region from a cache ([2b0d22b](https://github.com/brazilian-utils/javascript/commit/2b0d22bd31eaf195ce919093892f7232093d4a3f)) +* **data:** ship description tables as one string that shares the start of neighbouring texts ([762bb34](https://github.com/brazilian-utils/javascript/commit/762bb34d3070c6bc8ce6655de34e3dded543793f)) +* **get-address-info-by-cep:** check the answered state against the CEP range alone ([0df8ce1](https://github.com/brazilian-utils/javascript/commit/0df8ce171886e023cbbfac54c571d7eaa4ab85f2)) +* **gtin:** split the GS1 check digit out of mod10 ([ad72bee](https://github.com/brazilian-utils/javascript/commit/ad72bee5a6d0bc1c25cb1c301d18d9184f49fcf6)) +* **holidays:** read holiday days from the memo instead of rebuilding dates ([bbb085d](https://github.com/brazilian-utils/javascript/commit/bbb085d471af8b1f5ae7c3adc154a2acef57784c)) +* **ibs-cbs:** split the cClassTrib codes and descriptions out of the CST table module ([70ac08f](https://github.com/brazilian-utils/javascript/commit/70ac08f72a761dab57978ecf6d60a50e921c49e2)) +* **isbn:** write each range end without its trailing 9s and drop the separator before the length ([1a79497](https://github.com/brazilian-utils/javascript/commit/1a79497494f05d531a16a54517eb6db233c70a59)) +* **legal-nature:** check a legal nature code without bundling the descriptions ([fe26735](https://github.com/brazilian-utils/javascript/commit/fe267356c5dac02a1a12ad58d531b8ceebbe5fdd)) +* **legal-nature:** move the legal nature codes out of the module that holds the descriptions ([4ac2825](https://github.com/brazilian-utils/javascript/commit/4ac28256507028659e4cb5a3e2a8199a4eb06938)) +* **lookups:** find a code in a packed table by bisection ([f7e8ac5](https://github.com/brazilian-utils/javascript/commit/f7e8ac5061a33050c8b43c3b84fb44dffc9f00d8)) +* **lookups:** index the lookup tables lazily instead of scanning them per call ([e985eb4](https://github.com/brazilian-utils/javascript/commit/e985eb4bed00709ffadfb325af7dbbd4191ae628)) +* **lookups:** pack the code tables as base 36 differences ([01de6f1](https://github.com/brazilian-utils/javascript/commit/01de6f1ccefa60e200bb9f6c1b4bc4237b31e368)) +* **municipalities:** pack the municipality names the way the descriptions are packed ([6102c37](https://github.com/brazilian-utils/javascript/commit/6102c37e9c5d4fed1476a0b37d0428aa1c927896)) +* **municipalities:** ship names and codes packed and apart, so a lookup bundles what it reads ([f211288](https://github.com/brazilian-utils/javascript/commit/f21128893e452de19f47da9dc5d08f13c6ed69aa)) +* **municipality:** iterate the state codes instead of the states table ([bae90c3](https://github.com/brazilian-utils/javascript/commit/bae90c3ab9b7bbbd4e7baa83bd0d7fdeb74e855d)) +* **nbs:** check an NBS code without bundling the descriptions ([99429c3](https://github.com/brazilian-utils/javascript/commit/99429c3b4dc9f8f4b15765ad690c5bb679690902)) +* **ncm:** ship the NCM codes as one packed string ([c1b4fee](https://github.com/brazilian-utils/javascript/commit/c1b4fee1850d4d30f985faf576dda2be8d4ed457)) +* **phone:** stop the mobile and generic phone validators importing each other's types ([611a7e7](https://github.com/brazilian-utils/javascript/commit/611a7e75d59489110c088467705ca2b762dcb192)) +* **pix:** check a Pix phone key with isValidMobilePhone directly ([e5d6722](https://github.com/brazilian-utils/javascript/commit/e5d67229fff394cf93b50285fae1b862c2a289fe)) +* **pix:** checksum with a lookup table and parse TLV without regexes ([781914c](https://github.com/brazilian-utils/javascript/commit/781914c62099dc0a3a10147207a84ebc048fe92b)) +* **root:** drop the module-level statements every root import kept ([e133d57](https://github.com/brazilian-utils/javascript/commit/e133d57fb3daf9641d341fc0a1fc9d947d0c2ee0)) +* **service-item:** check a subitem without bundling the service descriptions ([cc9b6b7](https://github.com/brazilian-utils/javascript/commit/cc9b6b7f89cd713df639231e0d9f7488c4e00d69)) +* **states:** check a state code against the util's own table ([c947d54](https://github.com/brazilian-utils/javascript/commit/c947d541d7654030aaf9540448370977b8d29e43)) +* **states:** keep the capitals out of the shared state table ([a45dbbd](https://github.com/brazilian-utils/javascript/commit/a45dbbd6ab5bc7deb0e8ec8fc3c0f961b118ed93)) + + +### Reverts + +* **states:** keep State as published, the capital stays in getStateCapital ([5c97620](https://github.com/brazilian-utils/javascript/commit/5c976201b6d9dda60ed8128d4b2849477e5c9492)) + + +### Documentation + +* **address-form:** fix the guide links and clear aria-busy on an incomplete CEP ([808a359](https://github.com/brazilian-utils/javascript/commit/808a35969c051142924d59715843300c49555208)) +* **area-code:** check the DDD tables against the current Anatel CN table ([f6aa2e6](https://github.com/brazilian-utils/javascript/commit/f6aa2e659f256f1878ef2f110f4d5f717ed2c679)) +* **area-codes:** say the codes are read by their digits ([62f27ef](https://github.com/brazilian-utils/javascript/commit/62f27ef1980db8ed403392903df621e9bd15a1de)) +* **bank-account:** cite the CNAB 240 v11.0 notes that leave the check digit to each bank ([a958800](https://github.com/brazilian-utils/javascript/commit/a9588006b7310f3b27ed0a9e8e5bf705758cc3eb)) +* **bank-account:** say where the check digit rules come from ([955df10](https://github.com/brazilian-utils/javascript/commit/955df102d7c1e9c24e21a31491468dfbe0417a12)) +* **boleto:** cite Bradesco for the fator de vencimento base date ([cfc7cbc](https://github.com/brazilian-utils/javascript/commit/cfc7cbc15f95fb5af2c9f16f2f1cc5a57fddab9f)) +* **boleto:** cite Layout de Arrecadação v8 and drop an unverified FEBRABAN communiqué ([5dd780c](https://github.com/brazilian-utils/javascript/commit/5dd780c2e4987eb57a60a86f7f40401db076863b)) +* **boleto:** state that a 44 digit barcode starting with 8 is always read as arrecadação ([9a35612](https://github.com/brazilian-utils/javascript/commit/9a356122eb31eafe7a4dccf0777d8e6255c0c415)) +* **bundle:** refresh the two table figures that moved by 0.1 KB ([e883225](https://github.com/brazilian-utils/javascript/commit/e8832252f9b99db83098c72bfff54ec0d9a13d31)) +* **bundle:** regenerate every size figure from the tree-shaking script ([397a3ce](https://github.com/brazilian-utils/javascript/commit/397a3cea2c0529b7edb1a48e1114244b2ee5b4a0)) +* **bundle:** update the size figures for the perf changes ([2b562e0](https://github.com/brazilian-utils/javascript/commit/2b562e0983eb3c9c93087cd653b2c97fd874e7e2)) +* **business-days:** cite IN MTP nº 2/2021 from the DOU and say what art. 14, I governs ([ed5bf26](https://github.com/brazilian-utils/javascript/commit/ed5bf26ba616568c321fec245392666f84029f62)) +* **business-days:** quote art. 6º of Resolução CMN nº 4.880/2020 in full ([f2b109d](https://github.com/brazilian-utils/javascript/commit/f2b109daf8030f51129b03a1c4f1fa488aeea1ff)) +* **business-days:** stop calling the default count the calendar of banks and courts ([f5199a7](https://github.com/brazilian-utils/javascript/commit/f5199a7cb9d82837db7c43a6d80860108e0f6688)) +* **caepf,cei,cno:** cite the official format sources and say the check digits have none ([a4432bb](https://github.com/brazilian-utils/javascript/commit/a4432bb7e71441d9d847495b254205c493493b1a)) +* **cep:** fix the CEP, state and capital notes in the docs and JSDoc ([630fe51](https://github.com/brazilian-utils/javascript/commit/630fe510af8375c322441a4463e3f041c4763d91)) +* **certidao:** trace book codes 8 and 9 to Prov. CNJ 3/2009 and say the DV was never published ([f862881](https://github.com/brazilian-utils/javascript/commit/f862881f8d43ac0bfe33d83d7bff4254b6efcfff)) +* **cest:** name isValidCest among the dataset-backed utils ([eee3887](https://github.com/brazilian-utils/javascript/commit/eee3887c21fbe1de62bf12627b44b105b972b032)) +* **cid10:** name the COVID-19 codes the DATASUS V2008 tables do not have ([e054b44](https://github.com/brazilian-utils/javascript/commit/e054b445035bca5cd7731fb62bac1a651e155612)) +* **class-trib:** say why getClassTrib reads its table instead of calling isValidClassTrib ([718d1d7](https://github.com/brazilian-utils/javascript/commit/718d1d7b6754246a5329d49a96923697615d17fb)) +* **classifications:** state the mask-run rule for the masked codes and drop stale CBO history ([58b39aa](https://github.com/brazilian-utils/javascript/commit/58b39aa99f036dc5194c7c42dc8504cb5e5b3c6d)) +* **cnh:** cite Res. CONTRAN 1.020/2025, which repeats the layout and leaves the 886/2021 in force ([45c21b3](https://github.com/brazilian-utils/javascript/commit/45c21b3843b37a3fe6d634a8cc812030d451d804)) +* **cnh:** read art. 4º § 1º as the rule of the Espelho's check digit ([a6cd5e0](https://github.com/brazilian-utils/javascript/commit/a6cd5e05c9d6f1dabf02dda4a95720f7b0fdc0cc)) +* **cnpj:** cite IN RFB 2.229/2024 and its retificação, and pin the misprinted FAQ example ([6279241](https://github.com/brazilian-utils/javascript/commit/62792414ebe385913320f26b7901a3959b417673)) +* **cnpj:** say the alphanumeric set is A to Z and lower case is only normalized ([30e5409](https://github.com/brazilian-utils/javascript/commit/30e540968eafb23d8e8ca1f61e0648a09c28165f)) +* **cns:** cite the DATASUS validation routines and say that no official source names prefix 5 ([8cf60b3](https://github.com/brazilian-utils/javascript/commit/8cf60b3bb91ab508a45e93ab00560286c3658a35)) +* **context7:** list every dataset-backed subpath in the lazy-load rule ([c585777](https://github.com/brazilian-utils/javascript/commit/c5857779f068946ad7774ae27b5488cf3687ca98)) +* **context7:** list isValidCid10 among the dataset-backed utils to lazy-load ([6aa8f00](https://github.com/brazilian-utils/javascript/commit/6aa8f0006bdced3303ea9de196c3a6567cd10600)) +* **contributing:** list state-capitals.ts with the state tables ([e8516e8](https://github.com/brazilian-utils/javascript/commit/e8516e874e8e719ece077db9e30699419090ff80)) +* **contributors:** add kwy404 for the RENAVAM number fix ([bcb3e75](https://github.com/brazilian-utils/javascript/commit/bcb3e75609266713732e42f577558320a3ed0f25)) +* **contributors:** add kwy404 for the RENAVAM number fix ([8aa3115](https://github.com/brazilian-utils/javascript/commit/8aa311580f5a0051fed73793f71f6d70882e4f29)) +* correct the CEP ranges wording, the legal nature successors and the plate format alias ([425bc30](https://github.com/brazilian-utils/javascript/commit/425bc309ddede420e237569094bdad8880b5d3b6)) +* **cpf:** cite the DJE layout for the reserved numbers and say IN RFB 2.172/2024 sets no DV rule ([1b28890](https://github.com/brazilian-utils/javascript/commit/1b28890feeec277b7f2aee31dc30a78374b12ec4)) +* **datasets:** name the official versions the NCM, LC 116 and municipality tables match ([a603dfb](https://github.com/brazilian-utils/javascript/commit/a603dfb2102be27003d80bb8f26f833f148075be)) +* document the number rule of the guarded utils, and fix two JSDoc lines ([73cab3c](https://github.com/brazilian-utils/javascript/commit/73cab3cf03e5fe1cae5ccaebd5301ce351ef0d86)) +* **documents:** align the docs and examples of the document utilities with the code ([b9a1ff4](https://github.com/brazilian-utils/javascript/commit/b9a1ff4d368fce6f3db58c306256fdaa9d6340bb)) +* **documents:** cite the reachable e-Financeira manual and tidy the JSDoc ([3deac83](https://github.com/brazilian-utils/javascript/commit/3deac838ddca561a6d622c1284c4178b44f19876)) +* **each-local-day:** describe the scratch date of eachLocalDay ([ee6f635](https://github.com/brazilian-utils/javascript/commit/ee6f635b54402c8ca1c777694e47a7819785f569)) +* fix dead citations and small wording slips in the docs ([f193887](https://github.com/brazilian-utils/javascript/commit/f193887dd5f25fc0381bef8824aa2ccb5f699f8f)) +* **format-phone,format-cnpj:** say no official rule masks a phone or a CNPJ, citing ANPD and BCB ([0386232](https://github.com/brazilian-utils/javascript/commit/0386232bf06629191762112bd3b71e1d1c557fec)) +* **format:** cite the LDO rule behind obfuscate, and none for the CNPJ ([a3e40fa](https://github.com/brazilian-utils/javascript/commit/a3e40faa56477ddc3c26c2014793136caf78c21e)) +* **format:** say which phone masks keep 190 and to pad a numeric voter id before masking it ([b19d0b7](https://github.com/brazilian-utils/javascript/commit/b19d0b73e9a17b12deb173c3e019461b071be9ae)) +* **format:** state the empty value rule under pad in every formatter ([871607b](https://github.com/brazilian-utils/javascript/commit/871607bad8c127551ab4ad8d509098bc0cfbfd43)) +* **get-boleto-info:** state the exact window where an old factor flips to the next cycle ([91963e5](https://github.com/brazilian-utils/javascript/commit/91963e540a0a2c140bdfd85271576418b553eeea)) +* **get-timezone-by-state:** cite the decree that sets the zones instead of the daylight saving one ([5061f0a](https://github.com/brazilian-utils/javascript/commit/5061f0a055acd89e402b6408d4afdd2d1720f67b)) +* **get-timezone-by-state:** cite the legal source and warn about multi-zone states ([ea03a17](https://github.com/brazilian-utils/javascript/commit/ea03a17c5630a719ce64b52b125d8aabbde2dd06)) +* **gtin:** cite the version of NT 2021.003 the linked PDF serves ([1f41e60](https://github.com/brazilian-utils/javascript/commit/1f41e60144f9378142a4731fbbd1f06df2076a13)) +* **gtin:** read the prefix from the GS1 tables, not from an unread SEFAZ table ([186fa6b](https://github.com/brazilian-utils/javascript/commit/186fa6bb9179ec7940eee1aa59b770ff23037d30)) +* **gtin:** say that rejecting a GTIN of zeros is a rule of this library ([5ee6402](https://github.com/brazilian-utils/javascript/commit/5ee64027a503397f72c3d2e655f31c97712a5bc7)) +* **holidays:** cite the DOU texts of the 2024 and 2025 federal calendars for Carnaval ([cef0039](https://github.com/brazilian-utils/javascript/commit/cef00393b8cded8dd810c08062036a111a8abeaf)) +* **holidays:** list the holidays of 2024 in full and state what isHoliday counts ([06f3ab4](https://github.com/brazilian-utils/javascript/commit/06f3ab443c2c5a2746b8df9aed7f4fb53605e289)) +* **holidays:** name the one-year moves of Piauí's and Tocantins' dates the table leaves out ([97561c5](https://github.com/brazilian-utils/javascript/commit/97561c599cd42604f2befe94869239a98fce25c9)) +* **holidays:** record the state sources a 2026 official-source check left open or ruled out ([743be48](https://github.com/brazilian-utils/javascript/commit/743be48dbba0de8b253a98fc39ae37c6fee2e4b9)) +* **holidays:** say Goiás' dates come from the servants' statute and 26/07 moves every year ([0de1f8c](https://github.com/brazilian-utils/javascript/commit/0de1f8c4ed5d226ea3ac7822775bb32e3a1f09bc)) +* **holidays:** say Santa Catarina's law leaves Saturday open and how the table reads it ([4793913](https://github.com/brazilian-utils/javascript/commit/47939136c121e64aa48b49c32b6418b6fa8f6ec5)) +* **holidays:** say why Acre's Friday shift is not applied: its decrees apply it unevenly ([4b4516f](https://github.com/brazilian-utils/javascript/commit/4b4516fcaaed865941a7e51d015d859fbf67c618)) +* **ibs-cbs:** cite the 23/06/2026 publication and the final SVRS address ([7b6e898](https://github.com/brazilian-utils/javascript/commit/7b6e898ce0bb4736ed48fccad33687871b2c62af)) +* **ibs-cbs:** say that the cst option belongs to isValidClassTrib only ([930bba5](https://github.com/brazilian-utils/javascript/commit/930bba5195a3efa83bb2becc8ee141ba2cd1fee6)) +* **ie:** cite Portaria SEFAZ-MT 59/2025 art. 8º § 1º for the 9 digit Mato Grosso form ([75dcd32](https://github.com/brazilian-utils/javascript/commit/75dcd32a3a18b35f5529b7d50673ed218fae74a5)) +* **ie:** cite Portaria SEFAZ-TO 676/2002 art. 3º and RICMS-TO art. 90 for Tocantins ([7cd13ad](https://github.com/brazilian-utils/javascript/commit/7cd13ad561b5c42fcbd145ebe6c46c3d5d3f44c9)) +* **ie:** cite the three Goiás sources for the prefixes and say where they disagree ([1653501](https://github.com/brazilian-utils/javascript/commit/1653501b4b13541b1a6e51d4fe27dee4aa899ff1)) +* **ie:** correct the RJ, TO and header notes, and add MG and MS notes ([a39ceda](https://github.com/brazilian-utils/javascript/commit/a39ceda8d983c846a4b01ae0c1a8dc8931fd5ebc)) +* **ie:** note the typo in the São Paulo produtor rural example of the SINTEGRA page ([6c8dc4a](https://github.com/brazilian-utils/javascript/commit/6c8dc4a7ce9f6a2c0aed23aab6d3606993fd0b95)) +* **ie:** quote both branches of the Amazonas check digit rule as the library reads them ([c46e1c2](https://github.com/brazilian-utils/javascript/commit/c46e1c2c78b2018a0e8fadb12b3b20656d9ecc2b)) +* **ie:** say the Goiás check digit follows the 2012 roteiro, not the SINTEGRA page ([0fc6bb1](https://github.com/brazilian-utils/javascript/commit/0fc6bb15de653dbdd78a634b4faa0994034b4a75)) +* **ie:** say the Mato Grosso do Sul prefix 50 comes from SINTEGRA and SEFAZ-MS, not the norm ([6d0d8e5](https://github.com/brazilian-utils/javascript/commit/6d0d8e518535cc4abd7000b2df547664e79cdaa9)) +* **ie:** say the Roraima prefix 24 is read from the SINTEGRA examples ([9af1673](https://github.com/brazilian-utils/javascript/commit/9af1673d4a936b8df715d28e57f0099a145a0e13)) +* **ie:** say the SINTEGRA page does not fix the Distrito Federal prefix 07 ([1698d4a](https://github.com/brazilian-utils/javascript/commit/1698d4af0e3643610f313970d8e3b00914cd5d5e)) +* **keys:** document the VIN separators, the progressive plate mask and quote the outputs ([fc110aa](https://github.com/brazilian-utils/javascript/commit/fc110aa1f8b06efb9b9fa35196079b4930f479a5)) +* **keys:** move the norm notes above [@param](https://github.com/param) in the processo and license plate JSDoc ([3fa9fe1](https://github.com/brazilian-utils/javascript/commit/3fa9fe1ed4a58f1cbe272cf40f6122589e24fc41)) +* **license-plate:** name IsValidLicensePlateOptions in the isValidLicensePlate section ([ebdecb0](https://github.com/brazilian-utils/javascript/commit/ebdecb059c750f1a5c1b868d16eefa05a98be810)) +* **license-plate:** name the Python format values and list the options type as public ([7273f78](https://github.com/brazilian-utils/javascript/commit/7273f7849c81d83995c5d9e850089571f065affb)) +* **nfe-key:** note that the current CT-e schema gives the GTV-e tpEmis 1 and 2 only ([18a9efa](https://github.com/brazilian-utils/javascript/commit/18a9efabfcb712420f773e9f99d243a565ce9be3)) +* **nfe-key:** note the cNF rule for older keys and the unchecked issuer document ([425fd98](https://github.com/brazilian-utils/javascript/commit/425fd986481620f0325ce3ec7faffd07db7a6134)) +* **nfse-key:** leave out the TSChaveNFSe letter window note ([3d9f1a8](https://github.com/brazilian-utils/javascript/commit/3d9f1a80e0c0bb9820ab2acfc2040310509bbb16)) +* **nfse-key:** say the alphanumeric key schema is the restricted-production bundle ([c1fdf48](https://github.com/brazilian-utils/javascript/commit/c1fdf489377b59684b1467d727242559169a049b)) +* **nfse-key:** say the key accepts the mask between its fields ([13535f1](https://github.com/brazilian-utils/javascript/commit/13535f18e5af4b07b5843b95b08d5662d75ae00c)) +* **nfse-key:** state that no official rule sets the check digit of a key with letters ([5d8dd32](https://github.com/brazilian-utils/javascript/commit/5d8dd32321fba48dc504619818c978ae4f0bcd07)) +* **obfuscate:** cite art. 163 of the LDO 2026 (Lei 15.321/2025) next to art. 149 of the LDO 2022 ([1c6e54f](https://github.com/brazilian-utils/javascript/commit/1c6e54f190d67fbd36f65cdac262490a194325b2)) +* **passport:** say the Polícia Federal FAQ is the only official source of the number layout ([9806856](https://github.com/brazilian-utils/javascript/commit/98068568ad2e4dbfcd9e4500f0d2701211642867)) +* **payments:** state the limits of the bank and currency checks ([64b0d18](https://github.com/brazilian-utils/javascript/commit/64b0d185eb03901fef5d9f832851e3d5d3f016be)) +* **phone:** document the Anatel numbering rules scheduled for 1 March 2027 ([6864ed3](https://github.com/brazilian-utils/javascript/commit/6864ed39459b19967cadad8c411bc44f94fc987e)) +* **pis:** say that no official document publishes the PIS/PASEP/NIS check digit weights ([5f1ee50](https://github.com/brazilian-utils/javascript/commit/5f1ee50911669dcd86b60b0fec9c2524d6a3e151)) +* **pix-key:** drop the claim that 2.4.0 accepted an e-mail key with & ([cb7786e](https://github.com/brazilian-utils/javascript/commit/cb7786ea188d449ce26ee6597619c2f05df5bc91)) +* **pix-payload:** say that no BCB manual sets the case of the CRC or of "BR" ([bfd183b](https://github.com/brazilian-utils/javascript/commit/bfd183bad6e682d90eed83103222ef5166717e99)) +* **pix:** describe pointOfInitiation and the random key by what the sources say ([842d556](https://github.com/brazilian-utils/javascript/commit/842d5567243e115afa003ef94fa67a8732f56913)) +* **processo-juridico:** give the check digits' true range and the Anexo II example in J.TR form ([843b3fd](https://github.com/brazilian-utils/javascript/commit/843b3fd9bd24f6754a895d6e5350afb34a9a133d)) +* **processo-juridico:** place the check digit algorithm in Anexo VIII of Res. CNJ 65/2008 ([3a68e6a](https://github.com/brazilian-utils/javascript/commit/3a68e6a95eddc54c3178f850eda28d2c7897b0f1)) +* **renavam:** cite Portaria DENATRAN 27/2013, the official source of the 11 digit code and its DV ([fd5a8fe](https://github.com/brazilian-utils/javascript/commit/fd5a8fec971070a2f3adabd8000d4eef1e90ac9a)) +* say the public API is checked against the last release ([c0615fd](https://github.com/brazilian-utils/javascript/commit/c0615fd3654c6ba9ba7414159fafa766d41b86f8)) +* **schema:** validate an object in the Hono route and name the vee-validate version ([6380311](https://github.com/brazilian-utils/javascript/commit/638031199be5e1d741431103f298194de9b1bcc2)) +* **service-phone:** rest the 0800-like numbers on Resolução 749/2022 arts. 18 and 28 ([930b5ae](https://github.com/brazilian-utils/javascript/commit/930b5ae878abb8dbd8de7081d3c28610201bb5f1)) +* state the non-negative safe integer rule for numbers among the conventions ([595664b](https://github.com/brazilian-utils/javascript/commit/595664bc95c547aa243aa45b93004e4b9ff568f4)) +* **state-city:** build the guide on getMunicipalities and fix the A, B, A race ([829700d](https://github.com/brazilian-utils/javascript/commit/829700d3c88099257e98b8b5d13ec767047bf994)) +* **suframa:** say reading an 8 digit ISUF as a lost leading zero is this library's inference ([ed23fb9](https://github.com/brazilian-utils/javascript/commit/ed23fb9fed56c6ec863bdb1cc855f540cc27925f)) +* **suframa:** say the NF-e MOC, not the SUFRAMA, is the source of the layout and check digit ([21e2fe7](https://github.com/brazilian-utils/javascript/commit/21e2fe757e60b8b0321b86d0237a11841cbcbb3e)) +* **types:** keep the JSDoc of exported type keys to one line ([d06354d](https://github.com/brazilian-utils/javascript/commit/d06354d14c34e57384c57d37ad4efeffb9002e81)) +* update the bundle sizes after the tree-shaking work ([c5b1b7d](https://github.com/brazilian-utils/javascript/commit/c5b1b7d5736dfaeb153588db32feaa61b24a5dbb)) +* **vin:** stop attributing the I, O and Q exclusion to Res. CONTRAN 968/2022 ([e6fcbb0](https://github.com/brazilian-utils/javascript/commit/e6fcbb0fe10a36f6c721f613ea16ff4eac30be41)) +* **voter-id:** quote Res. TSE 23.659/2021 art. 36 literally and flag the SP/MG rule as unsourced ([706da94](https://github.com/brazilian-utils/javascript/commit/706da94bedf4b97daff40b9a68f54c0cefd7cf25)) +* **words:** describe the e, de and zero reais rules of the words functions ([9c14768](https://github.com/brazilian-utils/javascript/commit/9c14768957e9ef16f6cd4b4258879c86e215a9e1)) + ## [2.4.0](https://github.com/brazilian-utils/javascript/compare/2.3.0...2.4.0) (2026-09-17) diff --git a/jsr.json b/jsr.json index 65094539..8409acb7 100644 --- a/jsr.json +++ b/jsr.json @@ -1,6 +1,6 @@ { "name": "@brazilian-utils/brazilian-utils", - "version": "2.4.0", + "version": "2.5.0", "license": "MIT", "exports": { ".": "./src/index.ts", @@ -189,7 +189,15 @@ "./to-standard-schema": "./src/to-standard-schema/to-standard-schema.ts" }, "publish": { - "include": ["LICENSE", "README.md", "jsr.json", "src/**/*.ts"], - "exclude": ["src/**/*.test.ts", "src/_internals/test/**"] + "include": [ + "LICENSE", + "README.md", + "jsr.json", + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.test.ts", + "src/_internals/test/**" + ] } } diff --git a/package-lock.json b/package-lock.json index 0f742e16..bc762623 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@brazilian-utils/brazilian-utils", - "version": "2.4.0", + "version": "2.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@brazilian-utils/brazilian-utils", - "version": "2.4.0", + "version": "2.5.0", "license": "MIT", "devDependencies": { "@arethetypeswrong/core": "0.18.5", diff --git a/package.json b/package.json index 48684021..c03cf3b2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@brazilian-utils/brazilian-utils", - "version": "2.4.0", + "version": "2.5.0", "description": "Zero-dependency, tree-shakeable TypeScript utilities for Brazilian data: validate, format, parse and generate CPF, CNPJ, CEP, boleto, Pix, phone, holidays and more.", "keywords": [ "boleto",