FEATUREAdd search support and other improvements to request logs, including recording data such as the request and response body, response signature, the requestor, and other information.
2020
DEC
FEATUREAdd fingerprint uniqueness strategy to policies, allowing prevention of duplicate machine fingerprints across a variety of scopes.
FEATUREAdd Python code examples to API reference.
FEATUREAdd meta.scope.fingerprints scope to license validations, allowing multiple machine fingerprints to be validated at once.
FEATUREAdd fingerprint matching strategy to policies to match any, some, or all provided machine fingerprints (if multiple are provided).
OCT
FEATUREAdd new license key signing schemes: RSA_2048_PKCS1_SIGN_V2 and RSA_2048_PKCS1_PSS_SIGN_V2.
FEATUREAdd cryptographic proofs for offline machine activations.
FEATUREAdd account recovery flow to recover a lost account ID.
FEATUREAdd ability to override the filename of a download using Keygen Dist via a filename query parameter.
FEATUREAdd two-factor authentication to the Keygen Dashboard.
SEP
FEATUREUpdate autogenerated license key format to v3, allowing for much shorter and more human-legible license keys. This does not effect existing license keys, only new license keys.
FEATUREUpdate activation token format to v3, allowing for much shorter and more human-legible activation tokens.
FEATUREUpdate API token format to v3, allowing for much easier identification of a token's type.
FEATUREAdd ability to specify a custom machine heartbeat monitor window.
AUG
FEATUREAdd new administrative roles with limited permission subsets: support-agent, sales-agent, developer.
FEATUREAdd invoice history and management to account billing.
MAR
FIXFix issue causing some pagination cases to respond with a next page link even when a next page is not available, resulting in a possible infinite loop when traversing pagination when expecting a null next page value.
FEB
FEATUREAdd expiry attribute to user and admin token generation endpoint, allowing you to specify when/if a given token expires.
2019
DEC
FEATUREUpdate activation token permissions to be able to increment license usage (useful for incrementing usage in a client-side environment without an intermediary server).
FEATUREAdd unassigned filter to licenses list endpoint.
FEATUREAdd meta.tokenId to profile endpoint, containing the ID of the API token being used for the request.
FEATUREAdd "whoami" headers to all responses: X-Keygen-Account-Id, X-Keygen-Bearer-Id, X-Keygen-Token-Id, representing the current account, the current user making the request, and the user's API token being used for the request, respectively.
NOV
FEATUREAdd nonce parameter to license validation endpoints (which is then echoed back within the signed response body).
JUL
FEATUREAdd additional rate limit headers: X-RateLimit-Window for the closest rate limiting window to being reached, X-RateLimit-Count for the request count within the current rate limiting window.
FIXFix issue where machine deactivation was queued and performed asynchronously, which sometimes caused subsequent requests to the machines list endpoint to include the aforementioned deactivated machine (due to the deactivation process being async).
JUN
FIXFix issue where the expired filter for the license list endpoint would not include licenses without an expiry when expired=false.
FEATUREAdd ability to use a machine's fingerprint attribute within URL params in place of its ID (grated the fingerprint is a valid URL param).
MAY
FEATUREAdd machine heartbeat system.
FEATUREAdd active filter to users list endpoint.
APR
FEATUREAdd license validation meta, which includes the validation result, to payloads of license.validation.* webhook events.
FEATUREAdd expired filter to licenses list endpoint.
MAR
FEATUREAdd ability for admins to manually update a user's password.
FEATUREAdd total pages and resource count to pagination meta.
2018
DEC
FEATUREAdd current timestamp to validation response: meta.ts.
FEATUREAdd /v1/ping endpoint. Useful for testing if the Keygen API is reachable, e.g. firewall issues, lack of internet access, etc.
FEATUREAdd support for webhook endpoints to subscribe to specific webhook events.
NOV
FEATUREAdd request logging.
OCT
FEATUREAdd support for named licenses.
SEP
FEATUREAdd support for offline licensing using cryptographically signed/encrypted license keys.
FIXFix issue causing some Accept headers to result in an HTTP 400 Bad Request response code.
FEATUREAdd helpful error response and specific error code for requests containing: invalid JSON, invalid tokens, invalid encodings.
FIXFix issue where machines without a user associated with it could contain invalid relationships.user linkage.
FEATUREAdd ip and hostname filters to machines list endpoint.
AUG
FEATUREAdd "protected" permission system to licenses.
FEATUREAdd better debugging tools for webhook event delivery failures.
JUL
FIXUpdate license validation precedences, resolving an issue where machine-related validation-result codes would sometimes take precedence over invalid license state, such as the license being expired or suspended.
FEATUREAdd policy filter to machines list endpoint.
FEATUREAdd machine count to license payloads: relationships.machines.meta.count.
JUN
FEATUREAdd permission for activation tokens to read machines of the license it belongs to.
FEATUREAdd permission for activation tokens to validate the license it belongs to.
FIXFix issue where password reset expiration date was incorrect within the email delivered to the user.
MAY
FIXFix issue where regenerated tokens had an incorrect expiry value (was adding 2 weeks to the current expiry, when it should have been adding 2 weeks from the current datetime).
FIXFix issue where license expiry could not be removed.
FEATUREAdd ability to limit machine activation and deactivation counts for activation tokens.
FEATUREUpdate API token algorithm to v2.
FEATUREAdd support for more detailed error pointers for resource relationship-related errors.
FIXFix issue where a machine could be activated even after reaching the activation token's activation limit.
FIXFix issue where nextCheckIn would display a non-null value for non-check-in licenses.
FEATUREAdd ability to delete webhook events for compliance.
FEATUREAdd last response body and code to webhook events to aid in developer debugging.
FEATUREAdd additional error codes to failed webhook events, e.g. DNS issues, request timeout, etc. to aid in developer debugging.
FEATUREAdd ability to use a user's email attribute within URL params in place of their ID.
MAR
FEATUREAdd X-Signature header to all API responses (signed using RSA cryptography).
FEATUREAdd X-Signature header to webhook event delivery requests.
FEATUREAdd webhook events for license expiration lifecycle: license.expiring-soon, license.expired.
FEATUREAdd license usage count system.
FEATUREAdd meta.increment and meta.decrement params for adjusting increment/decrement amount.
FEATUREAdd ability for a license to transfer between users.
JAN
FEATUREUpdate behavior around Accept header to respond with a application/json content-type when requested, rather than always responding with application/vnd.api+json.
FEATUREAdd ability for a license to transfer between policies.
FEATUREAdd concurrent license support.
LAUNCHAdd our distribution API, Keygen Dist, to the interwebs. 🎊
2017
DEC
FEATUREAdd support for meta.scope to license validation endpoints.
FEATUREAdd ability to use a license's key attribute within URL params in place of its ID (grated the key is a valid URL param).
NOV
FEATUREAdd webhook event for password resets (for manual fulfillment).
OCT
FEATUREAdd maxMachines attribute to license payload.
FEATUREAdd validation result code to license validation payload meta.
MAY
FEATUREAdd license check-in system.
FEATUREAdd webhook events for license validations: license.validation.succeeded, license.validation.failed.
APR
FIXFix issue where a duplicate license key could be created for an account (i.e. 2 licenses with the same key).
FEATUREUpdate product token permissions to read all users and webhook events to aid in server-side integrations.
FEATUREAdd strict attribute to policies to remove the "hard" machine limit.
FEATUREUpdate floating attribute default value to false for policies.
FEATUREUpdate maxMachines attribute default value to 1 for policies.
FEATUREAdd "protected" permission system to policies.
FEB
FEATUREAdd validation detail message to license validation payload meta.
FEATUREAdd events[] filter to webhook events list endpoint.
JAN
FEATUREAdd action to suspend and reinstate licenses.
FEATUREAdd suspended filter to licenses list endpoint.
FEATUREAdd account-related webhook events, e.g. account.updated, account.billing.updated, etc.
FEATUREAdd JSON-API linkage to singular relationships within response payloads.
FIXFix issue where rate limited response used incorrect JSON content type.
FEATUREAdd product filter to keys list endpoint.
FEATUREAllow user metadata attribute to be specified during user creation for non-authenticated requests.
FEATUREAdd support for specifying your own license key attribute during license creation.
FEATUREAdd v1 version suffix to API tokens.
FEATUREAdd "protected" permission system to accounts.
LAUNCHAdd the Keygen Dashboard to the interwebs. 🍻
2016
DEC
FEATUREAdd idempotency token to webhook events.
FEATUREAdd status to webhook events.
NOV
FEATUREAdd webhook system.
OCT
LAUNCHAdd our licensing API, Keygen, to the interwebs. 🎉