Skip to content

chore: release main - #261

Merged
hertzg merged 2 commits into
mainfrom
release-please--branches--main
Aug 17, 2026
Merged

hertzg merged 2 commits into
mainfrom
release-please--branches--main

Conversation

@release-please-hertzg

@release-please-hertzg release-please-hertzg Bot commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

@binstruct/arp: 1.0.0

1.0.0 (2026-08-17)

⚠ BREAKING CHANGES

  • @hertzg/ip: parseAddress* return { address, zoneId? } and parseCidr* return Cidr & { zoneId? } instead of the bare value. parseAddress and parseCidr take a second options argument, so .map(parseCidr) becomes .map((s) => parseCidr(s)). expandIpv6 and compressIpv6 are removed. parseAddressv6("fe80::1%"), "fe80::1%eth0%1", parseCidrv6("fe80::/64%eth0") and "fe80::%/64" now throw; parseAddressv4("192.168.1.1%eth0") and parseCidr("10.0.0.0/255.0.0.0") now parse.
  • @hertzg/ip: every Ip-named export is renamed to its Address counterpart, the ./ip, ./ipv4, ./ipv6 and ./4to6 entrypoints are replaced by ./address, ./addressv4, ./addressv6, and the root parse / stringify / AddressOrCidr are removed.

Features

  • @hertzg/ip: layered notation parser with zone IDs and mask dialect (#295) (dafadec)
  • @hertzg/ip: rename Ip-named values to Address (#293) (5833a75)
@binstruct/cli: 0.4.0

0.4.0 (2026-08-17)

Features

  • @binstruct/pcap, @binstruct/png, @binstruct/cli: make every coder factory callable with no arguments (#260) (f9f0322)

Bug Fixes

  • @binstruct/cli: write all of stdout instead of one buffered write (#282) (bfaedba), closes #281
@binstruct/igmp: 1.0.0

1.0.0 (2026-08-17)

⚠ BREAKING CHANGES

  • @hertzg/ip: every Ip-named export is renamed to its Address counterpart, the ./ip, ./ipv4, ./ipv6 and ./4to6 entrypoints are replaced by ./address, ./addressv4, ./addressv6, and the root parse / stringify / AddressOrCidr are removed.

Features

  • @hertzg/ip: rename Ip-named values to Address (#293) (5833a75)
@binstruct/inet: 2.0.0

2.0.0 (2026-08-17)

⚠ BREAKING CHANGES

  • @hertzg/ip: parseAddress* return { address, zoneId? } and parseCidr* return Cidr & { zoneId? } instead of the bare value. parseAddress and parseCidr take a second options argument, so .map(parseCidr) becomes .map((s) => parseCidr(s)). expandIpv6 and compressIpv6 are removed. parseAddressv6("fe80::1%"), "fe80::1%eth0%1", parseCidrv6("fe80::/64%eth0") and "fe80::%/64" now throw; parseAddressv4("192.168.1.1%eth0") and parseCidr("10.0.0.0/255.0.0.0") now parse.
  • @hertzg/ip: every Ip-named export is renamed to its Address counterpart, the ./ip, ./ipv4, ./ipv6 and ./4to6 entrypoints are replaced by ./address, ./addressv4, ./addressv6, and the root parse / stringify / AddressOrCidr are removed.

Features

  • @hertzg/ip: layered notation parser with zone IDs and mask dialect (#295) (dafadec)
  • @hertzg/ip: rename Ip-named values to Address (#293) (5833a75)
@binstruct/ipv4: 1.0.0

1.0.0 (2026-08-17)

⚠ BREAKING CHANGES

  • @hertzg/ip: parseAddress* return { address, zoneId? } and parseCidr* return Cidr & { zoneId? } instead of the bare value. parseAddress and parseCidr take a second options argument, so .map(parseCidr) becomes .map((s) => parseCidr(s)). expandIpv6 and compressIpv6 are removed. parseAddressv6("fe80::1%"), "fe80::1%eth0%1", parseCidrv6("fe80::/64%eth0") and "fe80::%/64" now throw; parseAddressv4("192.168.1.1%eth0") and parseCidr("10.0.0.0/255.0.0.0") now parse.
  • @hertzg/ip: every Ip-named export is renamed to its Address counterpart, the ./ip, ./ipv4, ./ipv6 and ./4to6 entrypoints are replaced by ./address, ./addressv4, ./addressv6, and the root parse / stringify / AddressOrCidr are removed.

Features

  • @hertzg/ip: layered notation parser with zone IDs and mask dialect (#295) (dafadec)
  • @hertzg/ip: rename Ip-named values to Address (#293) (5833a75)
@binstruct/ipv6: 1.0.0

1.0.0 (2026-08-17)

⚠ BREAKING CHANGES

  • @hertzg/ip: parseAddress* return { address, zoneId? } and parseCidr* return Cidr & { zoneId? } instead of the bare value. parseAddress and parseCidr take a second options argument, so .map(parseCidr) becomes .map((s) => parseCidr(s)). expandIpv6 and compressIpv6 are removed. parseAddressv6("fe80::1%"), "fe80::1%eth0%1", parseCidrv6("fe80::/64%eth0") and "fe80::%/64" now throw; parseAddressv4("192.168.1.1%eth0") and parseCidr("10.0.0.0/255.0.0.0") now parse.
  • @hertzg/ip: every Ip-named export is renamed to its Address counterpart, the ./ip, ./ipv4, ./ipv6 and ./4to6 entrypoints are replaced by ./address, ./addressv4, ./addressv6, and the root parse / stringify / AddressOrCidr are removed.

Features

  • @hertzg/ip: layered notation parser with zone IDs and mask dialect (#295) (dafadec)
  • @hertzg/ip: rename Ip-named values to Address (#293) (5833a75)
@binstruct/pcap: 1.0.0

1.0.0 (2026-08-17)

⚠ BREAKING CHANGES

  • @hertzg/ip: parseAddress* return { address, zoneId? } and parseCidr* return Cidr & { zoneId? } instead of the bare value. parseAddress and parseCidr take a second options argument, so .map(parseCidr) becomes .map((s) => parseCidr(s)). expandIpv6 and compressIpv6 are removed. parseAddressv6("fe80::1%"), "fe80::1%eth0%1", parseCidrv6("fe80::/64%eth0") and "fe80::%/64" now throw; parseAddressv4("192.168.1.1%eth0") and parseCidr("10.0.0.0/255.0.0.0") now parse.
  • @hertzg/ip: every Ip-named export is renamed to its Address counterpart, the ./ip, ./ipv4, ./ipv6 and ./4to6 entrypoints are replaced by ./address, ./addressv4, ./addressv6, and the root parse / stringify / AddressOrCidr are removed.

Features

  • @binstruct/pcap, @binstruct/png, @binstruct/cli: make every coder factory callable with no arguments (#260) (f9f0322)
  • @binstruct/pcap: add zero-argument pcapFileLe and pcapFileBe (#285) (146d19a)
  • @hertzg/ip: layered notation parser with zone IDs and mask dialect (#295) (dafadec)
  • @hertzg/ip: rename Ip-named values to Address (#293) (5833a75)
@binstruct/png: 0.5.0

0.5.0 (2026-08-17)

Features

  • @binstruct/pcap, @binstruct/png, @binstruct/cli: make every coder factory callable with no arguments (#260) (f9f0322)
@hertzg/ip: 5.0.0

5.0.0 (2026-08-17)

⚠ BREAKING CHANGES

  • @hertzg/ip: parseAddress* return { address, zoneId? } and parseCidr* return Cidr & { zoneId? } instead of the bare value. parseAddress and parseCidr take a second options argument, so .map(parseCidr) becomes .map((s) => parseCidr(s)). expandIpv6 and compressIpv6 are removed. parseAddressv6("fe80::1%"), "fe80::1%eth0%1", parseCidrv6("fe80::/64%eth0") and "fe80::%/64" now throw; parseAddressv4("192.168.1.1%eth0") and parseCidr("10.0.0.0/255.0.0.0") now parse.
  • @hertzg/ip: Cidrv4 and Cidrv6 are unions; .prefixLength is no longer a property of every block, read it with cidrv4PrefixLength(cidr) or narrow with "prefixLength" in cidr. The universal cidrContainsCidr, cidrOverlaps, cidrIntersect and cidrSubtract are overloaded per version instead of generic over one CIDR type.
  • @hertzg/ip: every Ip-named export is renamed to its Address counterpart, the ./ip, ./ipv4, ./ipv6 and ./4to6 entrypoints are replaced by ./address, ./addressv4, ./addressv6, and the root parse / stringify / AddressOrCidr are removed.
  • @hertzg/ip: parseIpv4, parseIpv6, parseCidrv4 and parseCidrv6 now reject input the RFC grammar does not allow. Sixteen IPv6 forms that previously parsed now throw TypeError, including "1:2:3:4:5:6:7:8::", "0x12::1" and "::1 ". parseIpv6("::-1") returned -1n and now throws. Prefix lengths no longer accept leading zeros. isValidIpv4 and isValidIpv6 return false for all of these.

Features

  • @hertzg/ip: add cidrContains (#269) (31a3403), closes #263
  • @hertzg/ip: add cidrv4MaskToPrefixLength and cidrv6MaskToPrefixLength (98df515), closes #264
  • @hertzg/ip: add compareIp and compareCidr (#273) (1d0c6f6), closes #266
  • @hertzg/ip: add IPv4 usable-address helpers and universal block bounds (4d9861f), closes #268
  • @hertzg/ip: add ipVersion and cidrVersion (#274) (c2ff649)
  • @hertzg/ip: add reverse DNS pointer names (in-addr.arpa / ip6.arpa) (#287) (5fd4362), closes #277
  • @hertzg/ip: layered notation parser with zone IDs and mask dialect (#295) (dafadec)
  • @hertzg/ip: precompute IPv6 mask and size tables (#279) (0aa06e5)
  • @hertzg/ip: rename Ip-named values to Address (#293) (5833a75)
  • @hertzg/ip: store CIDR masks as a second dialect of Cidr (#294) (3ac4636)

Bug Fixes

  • @hertzg/ip: reject addresses outside the RFC 4291 grammar; single-pass IPv6 scan (#288) (12003fc)
@hertzg/tplink-api: 1.4.0

1.4.0 (2026-08-17)

Features

  • @hertzg/tplink-api: confirm the gdprJson dialect on a TP-Link EX220 (#289) (47c12ac)

This PR was generated with Release Please. See documentation.

@github-actions

Copy link
Copy Markdown
Contributor

Docs preview: https://hertzg.github.io/jsr-monorepo/pr/261/

@github-actions

github-actions Bot commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

Benchmark Results

No significant changes detected. 31 benchmark(s) within their noise floor.

@codecov-commenter

codecov-commenter commented Aug 13, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.79%. Comparing base (dafadec) to head (39d0f12).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #261   +/-   ##
=======================================
  Coverage   96.79%   96.79%           
=======================================
  Files         159      159           
  Lines        8494     8494           
  Branches     1301     1301           
=======================================
  Hits         8222     8222           
  Misses        152      152           
  Partials      120      120           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@release-please-hertzg
release-please-hertzg Bot force-pushed the release-please--branches--main branch 2 times, most recently from e4bc97b to e996a76 Compare August 15, 2026 11:15
@release-please-hertzg
release-please-hertzg Bot force-pushed the release-please--branches--main branch 9 times, most recently from 9a1b8e6 to c510b85 Compare August 16, 2026 18:43
@release-please-hertzg
release-please-hertzg Bot force-pushed the release-please--branches--main branch 3 times, most recently from 828a6a2 to de75207 Compare August 17, 2026 07:14
@release-please-hertzg
release-please-hertzg Bot force-pushed the release-please--branches--main branch from 86d5ef6 to fe8d9f1 Compare August 17, 2026 07:16
@release-please-hertzg
release-please-hertzg Bot force-pushed the release-please--branches--main branch from d9a5b1e to 4e1c207 Compare August 17, 2026 07:20
@hertzg
hertzg merged commit 6f33498 into main Aug 17, 2026
7 checks passed
@release-please-hertzg

Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment