Skip to content

Latest commit

 

History

History
84 lines (63 loc) · 3.4 KB

File metadata and controls

84 lines (63 loc) · 3.4 KB

Changelog

The format is based on Keep a Changelog.

Unreleased

3.1.6 - 2026-06-05

  • feat: added Address#toJSON #9
  • feat: postel: true relaxes the 64-octet local-part limit to 998 octets, accepting bloated VERP/SRS forwarding addresses #9

3.1.5 - 2026-05-26

  • fix: Group.format() now emits the RFC 5322 trailing ;
  • fix: rehydrate null reverse-path Addresses through JSON.stringify/parse
  • fix: escape \() in comments when wrap would be invalid RFC 5322
  • fix: escape \" in formatPhrase quoted-string fallback
  • fix: format() throws on control chars in mutated .phrase / .comment
  • feat: benchmarks will run when competitor modules not present

3.1.4 - 2026-05-15

  • fix: tighten re-hydrated to prevent inheriting asLegacy proxy
  • test: fix so GC or slow runners don't cause test failure

3.1.3 - 2026-05-14

  • feat: add compat aliases to match address-rfc2822 (sunset 2027)
    • parse exported as an alias of parseHeader
    • asLegacy(addr) — Proxy whose address/host read as the string AND are callable (addr.host()), for not-yet-migrated callers. Only the wrapping boundary (e.g. Haraka core) opts in.

3.1.2 - 2026-05-14

  • doc(README): fix badge URLs
  • doc(PERF): note that perf of email-addresses is same as address-rfc2822

3.1.1 - 2026-05-14

  • fix: strengthen control character rejection
  • fix: prevent prototype pollution during hydration
  • test: added additonal test cases
  • doc(LICENSE): added file

3.1.0 - 2026-05-14

  • feat: new RFC-5322 recursive-descent parser, O(n) performance, dependency free
  • feat: new top-level functions parseEnvelope, parseHeader, parseFrom, parseSender, parseReplyTo
  • feat: new Group class for RFC-5322 group syntax (Friends: a@x, b@x;)
  • feat: Address gains phrase, comment, address, and group fields.
  • feat: name-handling utilities ported from address-rfc2822

3.0.1 - 2026-05-13

  • convert to ESM

3.0.0 - 2026-06-01

  • feat: rewrite of address-rfc2821 as a dependency-free O(n) recursive descent parser.
    • inherited test suite, now with 100% code coverage.
    • much faster, especially on long addresses
    • zero dependencies
    • better RFC adherence, across the board
  • feat: dual-package, ESM (index.js) is canonical, CJS (index.cjs) is generated
  • feat: a postel: true option to permit lax acceptance.
    • raises the 256-octet path limit to the 998-octet SMTP text-line maximum
    • relaxes IPv6 address parsing
  • feat: set is_utf8 when the local-part or the domain contains non-ASCII
  • feat: improved IDN encoding using node:url's domainToASCII (UTS-46)
  • fix: detect non-ASCII at codepoint granularity (regex u flag)