v0.3.0
One canonicalization implementation, exposed through five language bindings,
with platform artifacts and a licence that permits adoption.
Breaking
- The Rust core is now mandatory across all bindings. JavaScript, Go, PHP,
Python and Rust no longer carry independent implementations of the
algorithm; each binds the same Rust core. The five-port byte-identical
result stands as the interoperability evidence that made the algorithm
specifiable, and is now historical rather than a description of the code. - javascript/package.json is removed; the JavaScript binding is published
from the repository root.
Added
- C ABI built and run-linked on Linux, macOS and Windows for AMD64 and ARM64,
with Linux and Windows i686 as compatibility lanes. - Android API 21 libraries for all four NDK ABIs as Prefab and JNI AAR
content, and an iOS 12 device plus universal simulator static XCFramework. - Windows Go DLL loading on AMD64 and ARM64 without a separate C compiler.
Licensing
- Relicensed from PolyForm Noncommercial 1.0.0 to Apache-2.0. The previous
licence forbade the project's own adoption path: a commercial search engine
could not run this code in production. Apache-2.0 adds an express patent
grant, which is what a protocol implementer's legal review asks for first. - Adds NOTICE, the Developer Certificate of Origin, and TRADEMARK.md. The
trademark, not the licence, is what keeps the name meaningful: implement
freely, and use the name for an implementation that passes the public
conformance suite.
Validation
All 11 jobs of the platform artifact matrix pass, alongside the Rust core and
adapter validation suite. CI artifacts are unsigned and retained for review;
signing, notarization, Maven and SwiftPM publication, and mobile device
runtime tests remain separate release work.
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgAzbEx+3R7vN0ZXll5p5tibDPJV
QNx6+cKySKVv9b4XIAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
AAAAQAf8hIJdulEM5642/07e1RtMtA/2iMc8R1symEtJnylqr51t6Bp5ttSwCuZQjIUarZ
BXm/M17Syr1aJLWgRLzwE=
-----END SSH SIGNATURE-----