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.

20 October 2026

New

Customers restore their license in your app with an emailed code

Turn on Key pickup for a product and your app can restore a customer's license with a code sent to the email they bought with, no key to type, as App Store builds need. Call restoreByEmail(email, code) after pickUp(email).

  • Electron SDK 0.9.0
  • .NET SDK 0.8.0
  • Rust SDK 0.8.0
  • Swift SDK 0.8.0
  • C++ SDK 0.8.0
  • CLI 0.5.3
  • API

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