Skip to content

Releases: studio-11-co/falsify-js

v0.1.3 — dual ESM/CJS support via exports field

18 May 10:33

Choose a tag to compare

DX fix

Adds a thin index.mjs wrapper and an exports map in package.json so modern Node 18+ consumers can use named imports directly:

import { manifestHash, canonicalize } from 'falsify-js';

instead of the default-import workaround:

import pkg from 'falsify-js';
const { manifestHash } = pkg;

CJS still works unchanged: require('falsify-js') returns the same object as before.

What's not changed

The reference implementation file falsify.js is untouched. All 20 conformance vectors still produce byte-equivalent hashes. This is purely a packaging-level DX fix.

Closes #1.

v0.1.2 — version-aware FLOAT_FIELDS + 20-vector conformance

16 May 09:01

Choose a tag to compare

v0.1.2

  • Reference impl extended to all 20 PRML conformance vectors (12 v0.1 normative + 8 v0.2 candidate).
  • FLOAT_FIELDS is now version-aware (v0.1 fixed threshold as float64; v0.2 RFC P-XX relaxes to int|float).
  • validateManifest accepts both prml/0.1 and prml/0.2 in the version field.
  • test.js loads vectors from both v0.1 and v0.2 directories of the sibling falsify-hackathon checkout; 19/20 verified byte-for-byte (TV-006, 2^64-1 seed, is a documented JS Number precision limit).

Live on npm: falsify-js@0.1.2

DOI: 10.5281/zenodo.20177839