Files
zip-js/HANZO_CHANGES.md
zeekayandHanzo Dev 80296c37ba legal: relicense to MIT OR Apache-2.0 (HIP-0137)
HIP-0137 "One License" (hanzoai/hips, HIPs/hip-0137-one-license.md) puts
BSD-3-Clause out of scope for hanzoai: original Hanzo work takes the standard
MIT OR Apache-2.0 dual licence, and only forks keep an upstream licence.

LICENSE is now the dual declaration; LICENSE-APACHE and LICENSE-MIT carry the
two texts beside it. The existing copyright holder and years are preserved
verbatim.

package.json and the root entry of package-lock.json follow; dependency entries
in the lockfile keep their own licences. NOTICE is unchanged and stays accurate
— it credits esbuild, commander and TypeScript as build-time dependencies, none
of which is redistributed here or constrains these terms. The v0.1.0 line in
HANZO_CHANGES.md records what was true at that release and is left as history;
a new entry above it records this change.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-04 01:20:09 -07:00

2.4 KiB

HANZO_CHANGES

Tracks Hanzo-internal deltas not visible in CHANGELOG.md (audit traceability, version pin justifications, brand-policy decisions, etc.).

Unreleased

  • Relicensed BSD-3-Clause → MIT OR Apache-2.0 per HIP-0137 (hanzoai/hips, HIPs/hip-0137-one-license.md). LICENSE is now the dual declaration, with LICENSE-APACHE + LICENSE-MIT beside it; package.json and the root package-lock.json entry follow. The v0.1.0 note below records what was true at that release and is left as-is. NOTICE is unchanged — it credits build-time dependencies (esbuild, commander, TypeScript), which keep their own licences.

v0.1.1

  • CI: replace shell-glob test target with explicit file list so the Node 20 runner (which lacks --test glob expansion) runs the suite. Pure tooling fix; no behavior change.

v0.1.0 (initial release)

  • First public release of @hanzo/zip.
  • Source layout: src/{handler,error,envelope,index}.ts + src/runtime/{goja,javy}.ts
    • src/build/cli.ts. Mirrors zip-rs (lib + macro + cli) at the file layout level, adapted to TS module conventions.
  • Three end-to-end examples (hello, validate-email, policy-eval) with committed built JS so test harnesses don't depend on the toolchain.
  • Byte-equivalent JS output to base/plugins/extbench/fixtures/goja-js/validate.js verified in V8 (Node vm). End-to-end verified through the production base/plugins/gojavm runtime — all nine invocation cases match the expected wire bytes (goja path normalizes object keys alphabetically per Go's encoding/json; this is a host property, not a guest bug).
  • Deps pinned: typescript 5.9.3, esbuild 0.28.0, commander 14.0.3, tsx 4.22.2, @types/node 22.10.5. No major bumps planned; patch-only.
  • License: BSD-3-Clause. Upstream credits in NOTICE.
  • Built bundle sizes (minified, esbuild):
    • hello.js — 1553 B
    • validate.js — 1922 B
    • policy_eval.js — 1964 B
  • Wasm-target backend (compile JS → wasm) is documented in src/runtime/javy.ts and the build CLI ships the trailer codegen for it. The end-to-end compile step requires a host-side WASI-stdio shim in base/plugins/wasmvm that has not yet landed (tracked in base/plugins/extbench/fixtures/wazero-javy/TODO.md). Until the shim ships, the wasm-target build is API-complete but not invocable; the goja target is the production path.