Repository navigation
v1.0.0 — first stable npm release #8
Nizoka
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
zipnative v1.0.0
Released 2026-09-02
The first stable release — and the first npm publication. zipnative 1.0.0 adds no engine behavior over v0.9.0: it is the freeze itself. Everything shipped across 0.1 → 0.9 — random-access reads, secure-by-default extraction, deterministic write, incremental modification, workers, forward streaming, the resumable inflater, one-call verification — becomes a semver commitment: the 77-export API surface, the 39-code error vocabulary and the
deterministic: trueoutput bytes are frozen (removing, renaming or changing any of them is semver-major; the promise is written down in SECURITY.md). 100% backward-compatible with v0.9.0. Zero runtime dependencies, 385+ tests, 93.9% statement coverage, published from CI with provenance.Highlights
npm audit signatures), and a CycloneDX SBOM is attached to the GitHub Release. A laptopnpm publishfails by design.zip -Tis an alias ofunzip -tqq), so zipnative ships the first open clause-by-clause ISO/IEC 21320-1:2015 validator (npm run validate:zip— an independent raw parser, never the engine's own) plus the existing Archivematica-grade six-parser extraction matrix. Every archive zipnative writes conforms to the ISO profile, verified on Linux and Windows in CI and again before every publish; hostile-but-spec-valid archives (zip-slip et al.) are called out for what they are — conformance is not safety. Full story: the new conformance guide.api.json), the error registry (errors.json) and the determinism contract are the machine-readable form of the promise.Security
NPM_TOKENsecret to steal), provenance attestations (SLSA-aligned, Sigstore), CycloneDX SBOM per release, SHA-pinned actions, and the full gate (audit included) re-run between the Release click andnpm publish.1.0.x), how to verify release integrity, and the three-part compatibility promise.Added
validate:zip— the ISO/IEC 21320-1:2015 validator (the Table-1 structural clauses + APPNOTE well-formedness cross-checks, two-sided expectations,declared.iso21320coverage canary, foreign integrity pass) — blocking inconformance.ymlandpublish.yml; new conformance guide.docs/agent-brief.md(paste-ready coding-agent briefing + "Copy as prompt" on the landing) and the completed token budget inllms-index.json(errors.json + agent-brief now listed with byte/approx-token sizes);.github/prompts/quality-gate.prompt.md..github/workflows/publish.yml— Release-triggered, OIDC, full gate re-run, SBOM,npm publish --provenance --access public.tsdoc-completeverify rule (22 rules total); TSDoc for the five previously-undocumented exports.logo.svg,favicon.svg, regeneratedog-image, newsocial-preview.svg/png(1280×640).release-notes/draft/PR-v1.0.0.md— the release PR with the measured verification table and the human go-live runbook.Changed
persist-credentials: falseon every CI checkout.CHANGELOG.md,SECURITY.mdandTHIRD-PARTY-NOTICES.md(21-file tarball, inspected); sourcemaps deliberately included;ecosystem.jsonrecords the freeze contracts.Install
Upgrade
No breaking changes. Drop-in replacement for v0.9.0 — and for every 0.x tag: the API at 1.0.0 is the 0.9.0 API, frozen.
Known limitations
addStream> 4 GiB) remains a typed refusal — designed (roadmap ADR), implemented in a 1.x minor.Downstream integration notes
The satellites can now exist:
zipnative-cliandzipnative-mcppinzipnative ^1.0.0. Their contract inputs are all machine-readable —docs/assets/api.json(surface),docs/data/errors.json(the--jsonenvelope'serr.codesource of truth), andverifyZip's report shape for a futureverify --json.Links
This discussion was created from the release v1.0.0 — first stable npm release.
All reactions