This page shows some of the changes we've made to the platform since March 2016. Note, not all changes are reflected here.
- Update the way the domain name is used and stored in the Company Profile.
- Fix so that multiple customer objects belonging to the same vendor cannot be associated with
the same user account in SKM.
- Fix an issue that did not allow certain users to update their company profile.
- Fix so that the same customer is not associated twice.
- Show 404 instead of 500 for pages non-existing pages in the Web API documentation.
- Fix an issue in the documentation UI that did not display the page if the user did not have any products.
- Fix an issue in the Activate method that activated an empty
machine code even if the maximum amount was reached.
- Update SSL certificate and site seals.
- Fix issue in the customer control panel not showing the list of licenses.
- Security fix to user login authentication.
- Improve the link from the customer page to link to the new license key box.
- Add a custom login page for enterprise customers.
- Enable sessions in payment forms (see here).
- Improve error handling and consistency in error messages.
- Fix an issue that did not allow users to register with a local SKM account.
- Add User Login Auth.
- Fix an issue when removing customers using Web API 3.
- Update the pricing page.
- Update the registration page.
- Fix feature names that were displayed in wrong order (on the product page).
- Fix an issue that did not cache errors in the graphical interface (even if the action was unsuccessful, a success message would be shown).
- Fix an issue in the license key panel that was triggered when updating license keys using SKGL algorithm.
- Increase the size of the notes field from 150 chars to 500 chars.
- Add the option to mark a product as a service, i.e. all license keys are treated as time-limited.
- Fix width of the notes field on the product detail page.
- Fix an issue in Get Key and Activate methods when SignMethod=1 is used with feature lock.
- Improve monitoring and diagnostics.
- Add additional metadata in Get Key, Activate and Get Customer Licenses methods,
which can be optionally retrieved if Metadata=true. It can further be restricted using the feature lock.
- Fix an issue that blocked access to Web API Log, even if the user enabled it.
- Add a usage counter to the access tokens page.
- Reset the access token page (new token creation) after that a new token has been created.
- Add the option to disable methods in the Web API 2 that do not require any authentication.
- Fix the customer search page.
- Allow searching for customers based on their name, company, id and email.
- Fix the link on the feature name configuration page.
- 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.