Changelog

What's new in KeyGrant.

Changes to the SDKs, the CLI, the API, the customer portal, the dashboard and the website. Filter by what you use, or follow it in a reader with the Atom feed.

17 October 2026

Improved

Pricing lists what a paid plan adds

A paid plan adds a year of Analytics history, CSV downloads and your own domain for the customer portal, beside more licenses and products. Stripe is the payment processor, and test licenses never count toward a plan.

  • Website and docs

16 October 2026

New

Metered licenses: sell a set number of uses

Sell a feature a set number of times. A license model can count uses of an export or a render, per key or per billing period, and the app spends them with use(meter, n). Online a spend is exact; offline it comes from a small allowance, so an outage never locks out a paying customer.

  • Electron SDK 0.8.0
  • .NET SDK 0.7.0
  • Rust SDK 0.7.0
  • Swift SDK 0.7.0
  • C++ SDK 0.7.0
  • CLI 0.4.0
  • API

14 October 2026

New

Lock a license key to its buyer's email

A license model can now ask for the buyer's email, or for a six-digit code sent to it, before a key activates on a new device. Devices that already hold a seat are never asked. Pass { email, code } to activate.

  • Electron SDK 0.7.0
  • .NET SDK 0.6.0
  • Rust SDK 0.6.0
  • Swift SDK 0.6.0
  • C++ SDK 0.6.0
  • API
New

Deliver a license as a signed file

A license model can send its key as a signed file buyers drop onto your app, or as an offline license file that works with no connection at all. Buyers can download the file again from the customer portal, and keygrant licenses file fetches it from the CLI.

  • Electron SDK 0.6.0
  • .NET SDK 0.5.0
  • Rust SDK 0.5.0
  • Swift SDK 0.5.0
  • C++ SDK 0.5.0
  • CLI 0.3.0
  • API
  • Customer portal