yFiles license files validity checks

Questions & Answers

Summary

Explains how a yFiles license file is checked for validity and why your application will run long after you have built it.
For a better user experience, please go to the integrated documentation viewer to read this article.

Description

Nearly all of the yFiles diagramming libraries need a license file to function:

  • yFiles for HTML
  • yFiles.NET
  • yFiles WPF
  • yFiles for JavaFX
  • yFiles for Java

The license file contains information about the licensee, the licensed product, and the actual license type and deployment contexts. This information is necessary for a yFiles-powered application to run.

When you build your application, this information is being embedded so that on each application start, it can be checked for consistency and validity.

The description in this article refers only to perpetual licenses, i.e., licenses that do not contain an <expires> tag (XML-based license file), respectively an "expires" entry (JSON-based license file).

Unless your license file contains an <expires> tag or an "expires" entry, the main point to note from the following discussion: When your application runs right after you have built it against a yFiles diagramming library, then this application, as it is, will also run ever after.

There are two cases for the validity checks in your yFiles-powered application. When you have a

  • license with subscription
  • license without subscription

Note
In the following discussion, a <some-tag-name> tag in a XML-based license file analogously means a "some-tag-name" entry in a JSON-based license file.

License with subscription

If there is a <subscription> tag in your XML-based license file, then the check for validity compares this tag's value (i.e., the subscription (end) date) with the release date of the yFiles diagramming library that your application is built against.
In addition, the value of the <version> tag in your XML-based license file is compared with the version of the yFiles library.
When the corresponding major version number of the yFiles library that the application is built against matches the version number from the license file or the subscription (end) date is after the release date of the corresponding major version of the yFiles library, then the checks return successfully and the application will run.

Example
If your XML-based license file contains these entries: <version>1.1</version> and <subscription>08/07/2015</subscription>, then your application will work with all versions from the 1.1 version series of your licensed yFiles product and all versions of your licensed yFiles product where the corresponding major version was released before or on August 07, 2015.
In particular, if there are major versions 1.1, 1.2, and 1.3 of your licensed yFiles product available with the following release dates: 06/20/2013, 08/14/2014, and 09/04/2015, respectively, then your application will run with version 1.1 and all its minor versions as well as 1.2 and all its minor versions. (Considering only the license file's validity.)
It will not run with version 1.3 or any of its minor versions, since their release date is after your subscription (end) date and thus not covered by your subscription.
It will also not run with version 1.0 and its minor versions.

License without subscription

If your yFiles license file does not contain an entry related to a subscription (end) date, i.e. there is no <subscription> tag in your XML-based license file, then the check for validity basically only compares the value of the <version> tag from your XML-based license file with the version of the yFiles diagramming library that your application is built against.
When the value of the <version> tag matches the major version number of the yFiles library that the application is built against, then the checks return successfully and the application will run.

Example
If your XML-based license file contains this entry: <version>1.2</version>, then your application will work with all versions from the 1.2 version series of your licensed yFiles product.
Your application will run with version
1.2,
1.2.0.1, 1.2.0.2, etc.,
1.2.1, 1.2.1.1, etc.,
etc.
It will not run with version 1.0, 1.1, 1.3, 1.4, etc. or any of their respective minor versions.

Related questions

I have received a new license file. What should I do with it?
If you have received the new license file

  • in the course of a subscription renewal, you will need it when you want to use a newer version of your licensed yFiles product that was released after the subscription (end) date as specified in your current license file
  • due to technical changes in a new version of the yFiles library, you will need it when you want to use that new version of the yFiles library

In both cases, when upgrading to the newer yFiles library, it is also necessary that you update the build process of your yFiles-powered application to use the new license file.

There is a newer major version of my licensed yFiles product available. Do I need an update to my license file?
Generally, you should always use the latest license file that you have received from yWorks.
Usually, as a yFiles licensee with a subscription, you will receive a new license file from yWorks

  • in the course of a subscription renewal
  • when the new yFiles version needs a new license file due to technical changes (new license file format, for example)
In both cases, when upgrading to the newer yFiles library, it is also necessary that you update the build process of your yFiles-powered application to use the new license file.

Note that you don't need an update to your license file, if you are a yFiles licensee with a subscription and the release date of that newer major version is before the subscription (end) date found in your license file (i.e., the value of the <subscription> tag in your XML-based license file).
As described above (see "License with subscription"), your current license file will work with the newer yFiles version (and all its minor versions) without problems.

In contrast, if the release date of that newer major version is after the subscription (end) date found in your license file and you are sure that you are using the latest license file you have received from yWorks, then, in order to switch to the new yFiles version, you need a newer license file, which you can get by means of a subscription renewal.
To discuss your subscription renewal options, just get in touch with our sales team (sales@yworks.com).

Lastly, if your yFiles license file does not contain an entry related to a subscription (end) date, i.e. there is no <subscription> tag in your XML-based license file, then your license file is only valid in conjunction with the yFiles version that you originally licensed (and the minor versions thereof).
To get a license file that is valid for the newer yFiles version, just get in touch with our sales team (sales@yworks.com).

Categories this article belongs to:
yFiles AJAX > Licensing
yFiles FLEX > Licensing
yFiles for HTML > Licensing
yFiles for Silverlight > Licensing
yFiles WPF > Licensing
yFiles.NET > Licensing
Applies to:
yFiles for JavaFX: 2.0, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
yFiles for Java 3: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
yFiles.NET: 4.3, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6
yFiles WPF: 2.5, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
yFiles FLEX: 1.8
yFiles AJAX: 2.0
yFiles for HTML: 1.0, 1.1, 1.2, 1.3, 1.4, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
yFiles for Silverlight: 2.0, 2.1, 2.2, 2.3
Keywords:
licence - license - file - subscription - date - update - version - expires - valid - validity - check - application - renewal