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.
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).
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.
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.
FEATUREAdd new administrative roles with limited permission subsets: support-agent, sales-agent, developer.
FEATUREAdd invoice history and management to account billing.
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.
FEATUREAdd expiry attribute to user and admin token generation endpoint, allowing you to specify when/if a given token expires.
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.
FEATUREAdd nonce parameter to license validation endpoints (which is then echoed back within the signed response body).
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).
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).
FEATUREAdd machine heartbeat system.
FEATUREAdd active filter to users list endpoint.
FEATUREAdd license validation meta, which includes the validation result, to payloads of license.validation.* webhook events.
FEATUREAdd expired filter to licenses list endpoint.
FEATUREAdd ability for admins to manually update a user's password.
FEATUREAdd total pages and resource count to pagination meta.
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.
FEATUREAdd request logging.
FEATUREAdd support for named licenses.
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.
FEATUREAdd "protected" permission system to licenses.
FEATUREAdd better debugging tools for webhook event delivery failures.
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.
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.
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.