Skip to main content
Introducing packages.sweber.dev
All posts
Release1 min read

Summand 0.9.0 released: the release candidate for 1.0

Summand 0.9.0 documents every error code, guards its public API with tests, adds a stability policy and migration notes, and is the last step before 1.0.

By Seya Weber

Summand 0.9.0 is out. @sweberdev/summand 0.9.0 is on npm under the MIT licence. It is the release candidate for 1.0: from 1.0 on, the public API follows SemVer.

What is new in 0.9.0

Every public export is documented and guarded. Each function, type and option has TSDoc, the API reference lists exactly what the package exports, and a snapshot test fails when an export, a CLI flag or an exit code changes by accident.

Error code catalogue. All eight SUM- codes (SUM-XML, SUM-FORMAT, SUM-PDF, SUM-XSD, SUM-PROFILE, SUM-EXTENDED, SUM-LEITWEG, SUM-PDF-LEVEL) and the exit codes 0, 1 and 3 are explained with meaning, cause and fix. A test fails if the code and the catalogue drift apart.

Stability policy. The migration guide states what 1.0 will promise: rule set updates ship as a minor release, never a patch, and the changelog lists the rule set versions and any verdict changes. Message wording and message order are not covered by SemVer; code ids, severities and the --json shape are.

Two tiers. Internals such as the Schematron compiler and the XPath engine are marked @beta and may still change in a minor release. Everything else is stable.

Small additions. summand --version, validate --no-leitweg, and the exported DetectionError type. CheckOptions is now RuleSetCheckOptions; the old name stays as a deprecated alias until 2.0.

Next

Summand 1.0 follows once the Pro packages have had the same review. Upgrade with pnpm add @sweberdev/summand@latest. See the migration guide and the Summand page.

Package in this post

Summand

Validate XRechnung, ZUGFeRD and Factur-X e-invoices against EN 16931 in pure TypeScript: in Node, the browser and at the edge, without Java.

pnpm add @sweberdev/summand
View package

Related posts

Release

Summand 0.2.0 released

Summand now speaks German: every EN 16931 rule and every Summand check can be reported in German, from code with lang: "de" or in the CLI with --lang de.

Summand
Release

Summand 0.3.0 released

Summand now checks the official XML Schema of every invoice before the business rules, like the KoSIT validator: UBL 2.1 and UN/CEFACT CII D16B, in pure TypeScript and in under a millisecond.

Summand
Release

Summand 0.4.0 released

See which EN 16931 and XRechnung rule set versions you validate against, check for newer releases, and validate invoices with 1,000 lines up to 72 times faster.

Summand