Skip to content

Changelog

What changed in the parts of Sealcord you build against or use every day. It leaves out internal work. Each heading is the release of that part, newest first. Sealcord does not publish release dates here; the order is the order of release.

The key and verdict formats have not changed since the first release. A change to them would need a new format version, so keys already sold keep verifying.

  • The billing view in the Console API gives the plan’s list price, monthly and yearly, in US cents.
  • A signed-in developer can create another workspace from the Console, whether or not sign-up is open. It starts on the Free plan.
  • Outgoing webhooks. Add https endpoints that receive signed events when a licence or a machine changes: licence.issued, licence.revoked, licence.expired, licence.reinstated, licence.anonymised, licence.trial_converted, activation.created and activation.deactivated. Sealcord signs each delivery the Standard Webhooks way, retries a failed one for about 55 hours, and shows every delivery. Each plan includes a number of endpoints. Receive webhooks.
  • Trial licences. Issue a trial with "trial": true and an expires_at. A Polar subscription that starts in a trial issues a trial licence, which converts when paid and keeps its key. A verdict for a trial is never valid more than a day past the trial’s end.
  • Search, filters and counts. The licence lists take q (an email prefix, a licence id, an external reference or a whole key), state, term and source. GET /v1/admin/licences/counts counts licences by state, term and source.
  • Organization and team. New scopes organization:read, members:read and members:write. The Admin API reads your organization and its members, and an AI assistant you connect can manage the team. A team change never works with an API key alone.
  • Receipts, renewal and the customer portal. A customer can open the receipt of the order that issued their licence, and, when you turn it on for the integration, your Polar customer portal. A mapping can carry a renewal link.
  • Product routes. Change a product’s name, major version or machines per seat, and retire a previous public key with POST /v1/admin/products/{id}/retire-public-key. Products show signing_key_status and key_history with fingerprints.
  • Deleting a workspace. The owner can delete a workspace in the Console. Sealcord keeps it for 30 days and can restore it on request in that time.
  • Erasing a customer’s data. POST /v1/admin/licences/{id}/anonymise, with the new licences:anonymise scope and { "confirm": true }, erases the customer’s address and machine details from a licence and revokes it. It cannot be undone.
  • Products and signing keys of your own. POST /v1/admin/products generates the product’s signing key and stores it encrypted, and POST /v1/admin/products/{id}/rotate-signing-key rotates it. You no longer need to ask Sealcord for either.
  • Invitations. Owners and admins invite people to the workspace by email, with a role, and can revoke an invitation, change a role or remove a member (the Console screens came with Console 0.7.0).
  • A subscription licence keeps its place in your plan’s count for 30 days after its subscription ends, so a renewal in that time comes back whatever the plan.
  • Plans and limits. Plans have limits on active licences, products, team members, API keys and payment integrations. When your plan has no room, issuing answers 402 plan_limit_reached and writes nothing; licences you already issued keep activating and checking.
  • External reference. Issue with an optional external_ref, your own reference for the sale. It is unique per product, so a retried webhook of yours finds the licence it issued: a repeat answers 409 conflict with the licence’s id in details.licence_id.
  • Payment integrations. Connect your own Polar organization, so its paid orders issue licences and its refunds and subscription ends revoke or expire them.
  • Organization scope. Admin API keys and assistants reach only their own organization’s products and licences. Another organization’s row answers as a missing one.
  • MCP sign-in. An AI assistant connects to the MCP server with your Console sign-in, and you choose what it may do.
  • The first release of the API: the activation routes, the Admin API for products and licences, and Ed25519-signed licence keys and verdicts.
  • sealcord_list_licences searches with q and filters by state, term and source. New read-only sealcord_count_licences.
  • New organization and team tools: sealcord_get_organization, sealcord_list_members, sealcord_list_invitations, sealcord_invite_member, sealcord_revoke_invitation, sealcord_change_member_role and sealcord_remove_member.
  • sealcord_issue_licence takes trial, with an expiry.
  • Three webhook tools: sealcord_list_webhook_endpoints, sealcord_list_webhook_deliveries and sealcord_retry_webhook_delivery. They never return a signing secret.
  • sealcord_list_integrations lists your connected Polar organizations without any credential, and the mapping tools work per integration.
  • sealcord_issue_licence takes an optional external_ref, and a repeat names the licence already issued.
  • Sign in with OAuth through the Console, as well as with an admin API key. See MCP server.
  • The first release of the MCP server.
  • Billing shows the plan’s price, forms say under each field what to fix, and the Console is easier to use at narrow widths.
  • Edit a product, rotate its signing key and stop accepting an earlier key from the product’s page.
  • Webhooks, Outgoing: add endpoints, copy their signing secret once, see each delivery and retry it.
  • Search and filter licences, and issue a trial.
  • Settings changes the workspace for real: its name, its slug and what customers see.
  • My licences links each licence to the seller’s own Polar receipt, renewal checkout and customer portal, and never to Sealcord’s billing.
  • A public “Find your licence” page: a customer types the email they paid with and the order number from their receipt.
  • Each member chooses which notification emails they get.
  • A developer in two workspaces or more can switch between them from the rail.
  • Anonymise a licence from its page. Sessions are listed in Settings, and you can sign out of any.
  • Sign-up (while it is open) and invitation pages, and members and pending invitations in Settings: invite, revoke an invitation, change a role or remove a member.
  • Payment integrations in the Console: connect Polar, see its state and webhook URL, set its webhook secret and map products. Billing shows your Sealcord plan.
  • Continue with GitHub on the developer sign-in.
  • The first release of the Console.