Skip to content

0.6.0: Descriptive APIs and report byte limits

Choose a tag to compare

@dany-fedorov dany-fedorov released this 20 Sep 19:43
· 31 commits to main since this release

This release adopts descriptive APIs and corj 12, with breaking changes and no compatibility aliases.

Previous API New API
toDiagnosticReport makeDiagnosticReport
toPublicReport makePublicReport
toReports makeReportPair
createRedactionPolicy makeRedactionPolicy
createTrustRealm makeTrustRealm
CapturedReports ReportPair
ToReportsOptions ReportPairOptions
PublicOverride PublicPolicyOverride
CorjReportChild CorjReportNode
AppexCorjOptions DiagnosticReportCorjOptions / PublicReportCorjOptions
Policy details callback detailsSelector
Single-report public override policyOverride
Nested corj.maxReportSize Top-level maxReportBytes

Instance details, kind definition public, and the pair's public audience bag retain their meanings.

maxReportBytes measures complete compact JSON in UTF-8. Diagnostic reports retain the existing default cap and accept limits of at least 512 bytes. Public limits are opt-in and at least 2,048 bytes; an over-budget public report drops as_json whole, then shortens message without splitting Unicode pairs. null disables the total cap; independent component caps still apply.

Caller option bags remain mutable, and later changes affect later reports. Unknown policy keys and obsolete option spellings are rejected. Public CORJ options are limited to inspection, maxDepth, maxChildren, childrenSources, fingerprintParts, and onReportingError; diagnostic CORJ options exclude redact, maxReportSize, and reportSizeUnit.

Diagnostic reports use corj/v0.15, with the new schemas/diagnostic-report-v6.json. Historical schemas remain available. Public reports stay v4, the decoder still accepts v3/v4, and realm-v1 interoperability is preserved.

Validation: 339 tests with 100% coverage; types, build, packed consumers on Node ESM, Bun and Chromium; 44 documentation snippets; independent Sol medium review. GitHub CI covers Node 18/20/24, Bun, and browser.

Published from the exact verified tarball; this manual release does not claim GitHub Actions provenance.