Skip to content

Releases: pplytas/good-webhooks

v0.1.0-beta.3

v0.1.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@pplytas pplytas released this 12 Oct 12:48
1ec637b

Documentation update. The documentation moves to good-webhooks.dev. The npm README, the bundled Agent Skill, and the package homepage now link there, and the package lists npm keywords. The npm README is reorganized into numbered usage steps, a feature list, and a requirements table, with code that fits npm's page width. Links to good-webhooks.vercel.app from earlier versions redirect to the new domain.

Runtime behavior, public APIs, dependencies, and database schema are unchanged from 0.1.0-beta.2. No migration is required. See the stability policy.

npm install good-webhooks@0.1.0-beta.3

v0.1.0-beta.2

v0.1.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@pplytas pplytas released this 12 Oct 10:02
f404b24

Schema upgrade required. Storage moves to schema version 4: both components now record their version in webhook_schema_version, keyed by component, so management changes can be detected and gated like delivery changes. No data table changes.

  • Apply getPostgresUpgrade({ from: 3 }) or migrations/upgrades/004-all.sql (or the per-component files for separate namespaces) with your migration runner before restarting on this version. Processes on 0.1.0-beta.1 keep working until they restart; a restarted old process fails at check(). See the migrations guide.
  • good-webhooks/migrations adds getPostgresUpgrade(), PostgresUpgradeOptions, and POSTGRES_SCHEMA_VERSION. Fresh-install SQL creates the version table with IF NOT EXISTS so management and delivery can be installed separately into one namespace.
  • check() messages name the SQL to apply next, and createPostgresManagement().check() now verifies the recorded version.
  • CI rehearses the upgrade against the previously published package with a pending backlog (pnpm test:compat). ADR 0011 records the contract.
  • New documentation: failure behavior states what crashes, dropped connections, hanging receivers, and signals do to in-flight work, each claim mapped to its test; performance publishes a fixed benchmark profile and its measured numbers.
  • New rehearsals in CI: pnpm test:chaos kills worker connections, holds an exclusive lock past the statement timeout, and uses failing and hanging receivers; pnpm benchmark runs the published profile as a smoke check.
npm install good-webhooks@0.1.0-beta.2

v0.1.0-beta.1

v0.1.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@pplytas pplytas released this 12 Oct 09:14
796e774

First beta. The public API is frozen: from this release, a breaking change is allowed only to fix a correctness or security defect, is labelled Breaking in the changelog, and ships with a migration note. The stability policy defines the public surface, what counts as breaking, and the fix policy for 0.1.0 and later. Progress toward the stable release is tracked in #22.

The npm dist-tag moves from alpha to beta. Runtime behavior, public APIs, dependencies, and database schema are unchanged from 0.1.0-alpha.4. No migration is required.

npm install good-webhooks@0.1.0-beta.1

Requires Node.js 24 or later, PostgreSQL 16 or 17 for built-in delivery, and better-auth >=1.7.7 <1.8.0 for the plugin. See compatibility and migrations.

v0.1.0-alpha.4

v0.1.0-alpha.4 Pre-release
Pre-release

Choose a tag to compare

@pplytas pplytas released this 09 Oct 11:07
2fd6926

Ship an Agent Skill with the package. skills/good-webhooks/SKILL.md gives coding agents setup steps, code templates, and the rules they most often get wrong, matched to the installed version.

npm install good-webhooks@0.1.0-alpha.4
npx skills add pplytas/good-webhooks

The npm README is rewritten around one example. No runtime, public API, dependency, or database schema changes from alpha.3. No migration is required.

Published from CI with npm provenance. Verified with PostgreSQL 16 and 17, packed-package consumers, Better Auth adapters, and both complete application examples.

The docs now serve every page as Markdown (/docs/<page>.md), a sectioned llms.txt, and an MCP server at https://good-webhooks.vercel.app/api/mcp. See Use with AI agents, the compatibility policy, and the quick start.

v0.1.0-alpha.3

v0.1.0-alpha.3 Pre-release
Pre-release

Choose a tag to compare

@pplytas pplytas released this 08 Oct 14:01
0ba8bfd

Fix delivery-history ordering and cursor pagination. deliveries.list() now sorts by numeric delivery ID. Earlier alphas sorted IDs as text, putting 9 before 43 and skipping records across cursor pages.

npm install good-webhooks@0.1.0-alpha.3

No public API, dependency, or database schema changes. No migration is required. This fixes history inspection; webhook dispatch still has no ordering guarantee.

Verified with PostgreSQL 16 and 17, packed-package consumers, Better Auth adapters, and both complete application examples. Regression coverage includes 9/10, 99/100, pagination, and IDs beyond JavaScript's safe integer range.

See the compatibility policy, migration guide, and complete application examples.

v0.1.0-alpha.2

v0.1.0-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@pplytas pplytas released this 08 Oct 10:11
5d8836a

Install the alpha:

npm install good-webhooks@0.1.0-alpha.2

Published through GitHub Actions using npm trusted publishing, with verified provenance. Runtime behavior, public APIs, dependencies, and database schema are unchanged from 0.1.0-alpha.1.

Requires Node.js 24 or later and TypeScript 5.9.3 or later for TypeScript consumers. PostgreSQL components support PostgreSQL 16 and 17. Better Auth management supports >=1.7.7 <1.8.0, tested with 1.7.7. See the compatibility policy and migration guide.

This is a prerelease. Use @alpha or the exact version above. The latest tag remains on the initial alpha because npm rejected its removal after the first publication.

Release commit: 5d8836ab0411ea0f6e15e0fb541c9a73d717c681. Main CI, the release dry run, and the publish workflow passed.

The npm archive matches the approved workflow artifact byte for byte. Its provenance identifies the release commit and publish workflow. Fresh registry consumers passed standalone and Better Auth checks with TypeScript 5.9.3 and 7.0.2, using NodeNext and Bundler resolution. npm audit signatures verified registry signatures and attestations.

Archive SHA-256: 4444aec9edc34bec5cfa41a1e2874df773d1f272bfee8e618b525d0bc7b95201.

v0.1.0-alpha.1

v0.1.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@pplytas pplytas released this 08 Oct 09:26
afd8cfc

Install the alpha:

npm install good-webhooks@0.1.0-alpha.1

First public alpha release for embedded TypeScript webhook management and delivery.

  • Manage endpoints through a Better Auth plugin or a standalone PostgreSQL provider. Connect either provider to an application-owned sender or the built-in delivery engine.
  • Validate typed event payloads with Standard Schema, publish idempotently, and commit publication with business writes on the same PostgreSQL transaction.
  • Dispatch signed Standard Webhooks requests with durable retries, attempt history, and explicit replay. Receivers verify signatures and deduplicate event IDs.
  • Run a continuous worker or one bounded batch with graceful shutdown. Schedule retention cleanup explicitly.
  • Install management and delivery storage separately. Applications own migrations, database connections, encryption keys, worker processes, and authorization policy.

The release requires Node.js 24 or later and TypeScript 5.9.3 or later for TypeScript consumers. PostgreSQL components support PostgreSQL 16 and 17. Better Auth management supports >=1.7.7 <1.8.0, tested with 1.7.7.

This alpha has no delivery ordering or exactly-once guarantee. The current delivery schema is version 3. The supplied SQL initializes fresh storage and does not upgrade unpublished prototype installations. See the compatibility policy and migration guide.

Release artifact verified by CI and the release dry run, from commit afd8cfc11b16ec347edd7e4fe260650f66525bc8.

Archive SHA-256: f1b261f729f240f3fbf8823de946e290e0cb585c2718e30abdf4792c9bf4b006. This first publication uses the npm CLI and has no GitHub provenance attestation.

This is a prerelease. npm also assigned latest during the first publication and rejected its removal. Use @alpha or the exact version above, and review compatibility before adopting it.