The format is based on Keep a Changelog.
3.1.6 - 2026-06-05
- feat: added
Address#toJSON#9 - feat:
postel: truerelaxes 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
\"informatPhrasequoted-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)
parseexported as an alias ofparseHeaderasLegacy(addr)— Proxy whoseaddress/hostread 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
- test suite imported from
address-rfc2822
- test suite imported from
- feat: new top-level functions
parseEnvelope,parseHeader,parseFrom,parseSender,parseReplyTo - feat: new
Groupclass for RFC-5322 group syntax (Friends: a@x, b@x;) - feat:
Addressgainsphrase,comment,address, andgroupfields. - feat: name-handling utilities ported from
address-rfc2822
- 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: trueoption 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_utf8when the local-part or the domain contains non-ASCII - feat: improved IDN encoding using
node:url'sdomainToASCII(UTS-46) - fix: detect non-ASCII at codepoint granularity (regex
uflag)