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

Derivative 1.0.0: a changelog widget you can build on

Derivative is at 1.0. From here on the API, the CLI, the feed format and the widget follow semantic versioning, with deprecations announced a release ahead. Nothing changes compared with 0.9.

By Seya Weber

Derivative 1.0.0 is on npm. It contains no new code compared with 0.9.0, and that is the point: 1.0 is the release in which the promise starts.

What the promise is

From now on a minor or patch release does not break what the Stability page lists as covered: the exports of the core, React and Vue packages, the CLI and its exit codes, the keys of derivative.config.json, the changelog.json format, and the widget's attributes, events, custom properties and parts. If something has to go, it is announced as deprecated in one minor release, keeps working for at least one more, and is removed no earlier than 2.0. Node 20 and newer and the current versions of the four big browsers are supported.

A test fails when an export is added, removed or renamed without a deliberate update, a real-Chromium test checks contrast, right-to-left pages, phone widths and theming, and the packed release is installed into clean Vite, Next.js, SvelteKit and Astro projects before it ships. That is the part of the promise that is checked by machines.

What Derivative is, in one paragraph

You keep a changelog the way you already do: Changesets, a CHANGELOG.md, conventional commits, GitHub or GitLab Releases. derivative build turns it into a changelog.json, an Atom feed, a JSON Feed and a standalone page. The <derivative-widget> shows it as a "What's new" button with an unread badge, search, an announcement toast and four languages, in about 6 kB gzipped. No SaaS, no tracking, no account.

Updating

If you are on 0.9, update the packages and you are done. If you are on an older 0.x version, the Upgrading guide lists the few changes that could be visible, such as heading levels in inline lists and the darker type badges in light mode.

Derivative Pro

Derivative Pro (read statistics and a dashboard route, audience segments and translations, subscriber lists and announcements) has the same API freeze and test and stays on 0.9 for now. Existing licences carry over and prices do not change. Pro starts at 12 CHF per month.

Try it

The documentation has a getting-started guide and the four example projects, and the live demo runs the 1.0.0 widget.

Package in this post

Derivative

Self-hosted changelog and "What's new" widget, built from your Changesets, CHANGELOG.md, commits, GitHub or GitLab Releases. No SaaS, no tracking.

pnpm add @sweberdev/derivative
View package

Related posts

Release

Derivative 0.9.0: the release candidate for 1.0

The public API is frozen, the reference is complete, and a written stability promise says what you can rely on. A new release-candidate test installs the packed packages into clean projects and builds the examples from them.

Derivative
Release

Derivative 0.3.0: one-step setup and JSON Feed

derivative init sets up a project in one command, and the build can now write a JSON Feed. Pro adds Bluesky posts and a database store for read statistics.

Derivative