This page shows some of the changes we've made to the platform since March 2016. Note, not all changes are reflected here.
- Add feature definitions to the product page (you hover over a feature to get additional information).
- Add tool tips to various labels on the product page.
- The error 'unable to authenticate' now uses camel-case for the property names, in order to be consistent with other errors.
- Fix an issue in the license key panel that did not update the product page when the key was unblocked.
- Add the ability to customize feature names and their function.
- Security fix to 2-step verification, which includes the hiding of the shared secrets.
- Add support for 2-step authentication. You can set it up here.
- Make it easier for users to migrate from SKGL to SKM.
- Removed legacy options from the key creation page.
- Fix an issue in payment forms when the user is redirected to a custom page. Previously, if there was a parameter attached to the url already, SKM would not notice that and therefore append a new question mark,
resulting in skmapp.com?a=b?c=d. SKM will now handle this case by attaching a & instead of ?.
- Add product id on the product page.
- Update Get Key and Activate StringSign option to support Unix time stamp option
in all DateTime fields. The separate SignDate option that was added in SKM2017.04.24 is removed since it was not part of the signature and thus redundant from a security standpoint.
- Update Get Key and Activate StringSign options to include the Unix time stamp (in seconds) in the parameter SignDate.
- Add ordering by customer on the product page.
- Fix issue in GetKey and Activate (v3) that returned the value '-1' as default (when not set). They are now returning '0' by default.
- Add a new method MachineLockLimit to be able to change the maximum number of machine codes per license key.
- Fix display issue caused when machine codes were too long to fit on the page (in license key box and activated devices box).
- Add support for custom field for payment forms. It allows you to customize the requests that are called upon a successful transaction. For example,
if you want to allow your customers to upgrade a specific key, you can call the payment form as shown below:
and add the custom variable to a request by appending [custom], eg.
If the transaction is successful, the desired key will be upgraded (in this, a specific feature will be added).
Note, you can also use [custom] can be appended to the message Custom Message.
- Add support for email field pre-filling. For example,
- Fix typo on the Activate (v3) method's documentation page.
- Update Get Key and Activate methods
with an option to change what is being signed and returned. By specifying SignMethod, you
get a more consistent way of verifying signatures, which is perfect for cross-platform scenarios where
there's no official support from SKM.
- Add Get Customer Licenses method (lists licenses associated with a customer).
- Fix the Get Keys method so that the product id field is not left empty in the result.
- Mark Web API 2 as deprecated and provide replacement methods in Web API 3.
- Fix the notification when changing the password.
- Add a new way to order SKM subscriptions. For instance, you can now buy gift codes.
- Improvements to the key validation box on the product page.
- Sync the changes of a license key (creation and expiration dates, features, period and whether it's blocked) with the product page. Note, the new key will not be shown if SKGL is being used.
- Fix the progress bar that remained active when key box was closed.
- Fix the feature boxes that did not update when a different key was selected.
- Update Extend License documentation.
- Update notification about functionality available in the free subscription tier.
- Enable log in using email address instead of user name.
- Enable hiding of blocked keys.
- Fix an issue that created a new profile link during updates.
- Fix an issue that displayed the notification box even after you've closed it.
- Update packages related to payment processing with Stripe and serialization of data.
- Updates Web API 2 reference page.
- Update the design for tablet and mobile users.
- Updates to account related pages.
- Enable the option to specify the type of request sent upon successful transaction.
Before, POST was the default, however, GET should be used for the Web API 3 at the moment.
Update the Data Objects intro.
- Update the code examples with Web API 3 compatible code.
- Fix issue on the Analytics page that did not display the graphs.
- Add a help label to the various license specifications.
- Fix wrong reference to the API method in the documentation of GetKey.
- Update the Key methods in the documentation.
- Add License Key Panel
(see release statement). Keep in mind that if you have a Premium subscription, you need to upgrade
to, at least, a Standard subscription, since the panel uses Web API 3.
- Add GetCustomer, ChangeNotes, ChangeCustomer method (beta)
- Support for copying the key on the product page.
- Add the missing CustomerId and Notes parameters in the Create Key method.
- New activation forms are now using the new activation method and the new LicenseKey class to represent licenses
- The activate method will throw a new error if the
limit of the number of actuated devices is reached.
- Fix activation forms when offline activation was used.
- Add support for notifications.
- Upgrade methods used in the license box on the product page.
- Enforce the key lock for the specialized data object methods
when the key and the product is supplied. That is, if the key lock is set to
any value greater than zero, if it does not correspond to the key supplied,
the method will not work.
- In addition to the above, all the key specific requests support the key lock
to be a negative number. In this way, even if the key lock is not assigned to a specific
key, you can still enforce the same effect that you would get should you have used the
- Fix an issue in the activation method that threw an error in specific cases.
- Fix an issue that assigned an error a successful result type in the specialized methods for data objects.
- Add a deactivation method in Web API.
- Fix an issue that caused the empty string to be interpreted as null on the product page (license file box).
- Fix some typos in the documentation.
- All requests related to data objects are now
supporting specialized parameters for data objects that are related to a key. Instead of using
key lock to get a specialized access token with the id
of the key (given key string and product id), this operation is integrated into these specialized methods.
Therefore, you only need one request and the security will be equivalent to that of the key lock method.
- Improvements to the access token page.
- Fix links in the Web API 3 docs.
- The access token page is now much faster.
- Add log messages in various places as a way to confirm that an action was successful or unsuccessful.
- Ignore the value of automatic activation in Activate method. Instead, you should use the block field to tell whether the key is blocked or not.
- Remove automatic activation as a parameter in Create Key method.
- Remove automatic activation as a returned field in Activate method.
- Remove automatic activation as a returned field in Get Keys method.
- Remove automatic activation as a returned field in Get Key method.
- Fix an issue on the Get Keys documentation page causing a message box to appear when selecting a product.
- GenKey and GenerateKey now use a more scalable algorithm.
- Add Create Key method.
- Fix the display of the password on the product page for those products that use SKGL.
- Fix the display of sample code for key generation.
Correct Get Keys documentation (typo and an example)
Add the productId field to the license key model. This affects Activation and Get Keys methods.
Fix a potential issue in the Activation method that could be caused for license keys with certain configuration.
Add a Get Keys method that will list license keys of a given product.
Add support for Message Pack for Web API 3. In order to use this format instead of JSON, please use the content type
Fix an issue in the activate method that did not allow
Fix an issue in the activate method that threw an error
when no key string was supplied.
Minor changes to the about pages.
Add a security fix to Web API 3 to prevent potential cross-site request forgery attack.
Add new activation method, which allows customer information, data objects,
and other additional information to be returned. There is also support for customization of fields that are shown
in the response using access tokens.
Add KeyInfo (access within SKM only) to be able to retrieve information about a license.
- Minor fixes in the Web API docs.
- Add an about page.
- Change the limit of the number of data objects from 100 in total to 3 data objects per referencer.
- Update API documentation to include new methods in the search box.
- Improve the documentation of data objects.
Fix a potential issue that could be caused if multiple activations would be performed on a certain license
in parallel. This affects Web API 2 methods activate
Fix hsum on activation and validation
pages to show the correct hsum for the default product in the drop down list.
- Add help variables (pid, uid, hsum) to the documentation page of deactivation.
Fix activation file names that had 00 instead of the correct representation of the month. This fix applies both to activation files generated
in activation forms and those generated using the "activation box" on the product page.
Enable search on the product page
to use Data Objects.
- Add support for ajax when blocking and unblocking keys on the product page.
- Allow the Period of a license key to be any integer (32 bit) if SKM15 key generation algorithm is used. Otherwise, the restriction is 999 days (for SKGL).
- Enable notification messages to be sent when a subscription is about to expire.
Using icon on the product page,
you can now easily remove/deactivate machine codes.
- Minor fixes (broken links, changelog page, etc).
- Add an activation file generator on the product page (click on ).
- Add Block Key and Unblock Key.
- Add the customer field (among many others) to an activation file downloaded using Activation Forms.