Release v1.2.0#26
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Release-focused update that modernizes parsing/validation internals, improves performance, strengthens $INCLUDE handling, and migrates tests to node:test, alongside new/updated fixtures and docs.
Changes:
- Refactor parsers/validators (ctx-driven parsing, ZONE no longer extends
Map, faster quote/comment handling, duplicate detection viaSet). - Add/expand end-to-end + directive coverage (tinydns, MaraDNS, CLI export paths) and migrate test runner to
node:test. - Release metadata updates (package version/scripts, changelog/readme/CI tweaks).
Reviewed changes
Copilot reviewed 18 out of 20 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
lib/bind.js |
Parser refactor + $INCLUDE recursion/guard changes and directive handling updates |
lib/maradns.js |
Parser refactor (ctx), RAW→CAA parsing, improved parsing robustness |
lib/tinydns.js |
Parser refactor (ctx), SOA defaults, PTR formatting fix, AAAA+PTR parsing adjustment |
lib/zone.js |
ZONE refactor (no longer Map), duplicate detection via recordKeys, error collection |
index.js |
Faster quoted-token scanning helpers; serialByDate signature change; string API updates |
bin/dns-zone.js |
CLI arg error handling improvements, stdin ingestion refactor, validation error aggregation, JSON newline output |
package.json |
Version bump to 1.1.9, switch to node --test, new coverage scripts, dependency bumps |
test/zone.js |
Port to node:test and remove mocha this usage |
test/bind.js |
Port to node:test + new $INCLUDE-skipping test |
test/maradns.js |
Port to node:test + enable RAW CAA test + new directive/PTR tests |
test/tinydns.js |
New tinydns end-to-end tests for many record types and fixtures |
test/index.js |
New unit tests for valueCleanup and serialByDate |
test/dns-zone.js |
New CLI end-to-end export/usage coverage |
README.md |
Expanded usage/docs and programmatic API examples |
CHANGELOG.md |
New release entry added |
CONTRIBUTORS.md |
Regenerated contributor commit count |
.gitignore |
Coverage artifact ignore tweaks |
.github/workflows/publish.yml |
Added explicit permissions for publish workflow |
.github/FUNDING.yml |
Removed funding metadata |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
5ff28b0 to
f6687d6
Compare
bc22f47 to
368350a
Compare
- deps: bump versions to latest
- test: add tinydns end-to-end coverage
- fix: two typos uncovered by testing
- fix(bind): better error message when SOA is missing fields
- fix(bind): don't limit TTL to 5 num chars
- fix(bind): add path traversal guard
- fix(dns-zone): in invalid arg, show usage
- change: lib/{bind,maradns,tinydns}.js — added ctx parameter (default: zoneOpts)
- change: class ZONE no longer extends Map
- change: iterate directly on strings
- change: serialByDate, remove first unused param (start)
- change: str.substr() -> str.slice
- feat(index): add string fns, ~10x faster char/quote/comments
- feat(zone): this.recordKeys Set for O(1) duplicate detection
- feat(maradns): parse CAA records from RAW
- feat(bind): support generic record format, RFC 3597
- change: replace some regex with native string functions
- doc(README): wordsmithed
- fix(maradns): eliminate polynomial backtracking
- change: move BIND INCLUDE processing into library
- feat: NDJSON import
- fix: more polynomial regex fixes
- maradns: replace regex with parser
- style: es2024 updates
368350a to
65c983a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.