yFiles license file validity checks

Questions & Answers

Summary

This article explains how a yFiles license is checked for validity. It also clarifies why, with a perpetual yFiles license, your application will continue to run even long after you have built it.
For a better user experience, please go to the integrated documentation viewer to read this article.

Description

These yFiles diagramming libraries require a license file to function:

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

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

When you build your application, this information is embedded within it. Upon each application start, the application checks this embedded information for consistency and validity.

This article describes the validity checks for perpetual licenses. These are licenses that do not have an <expires> tag (in XML-based license files) or an "expires" entry (in JSON-based license files).

Unless your license data contains an <expires> tag or an "expires" entry, remember this key point: If your application runs correctly immediately after you build it against a yFiles diagramming library, it will continue to run indefinitely in its current state.

There are two scenarios for license validity checks in your yFiles-powered application, depending on whether you have a:

  • perpetual license with subscription
  • perpetual license without subscription

Note

In this discussion, a <some-tag-name> tag in an XML-based license data is equivalent to a "some-tag-name" entry in a JSON-based license data.

Perpetual license with subscription

If your license data includes a subscription tag, the validity check compares the tag's value (the subscription end date) with the release date of the yFiles diagramming library your application is built against.

If that fails or if there is no subscription tag, the value of the version tag in your license data is compared to the version of the yFiles library.

The checks will pass and the application will run if either:

  • The major version number of the yFiles library matches the version number in the license data.
  • The subscription end date is later than the release date of the corresponding major version of the yFiles library.

Example

If your license data contains a version tag with value 1.1 and a subscription tag with value 08/07/2015, your application will work with both:

  • All versions from the 1.1 version series of your licensed yFiles product.
  • All versions of your licensed yFiles product where the corresponding major version was released on or before August 07, 2015.

For instance, if major versions 1.1, 1.2, and 1.3 of your licensed yFiles product are available with release dates of June 20, 2013, August 14, 2014, and September 4, 2015, respectively, your application will run with version 1.1 (and all its minor versions) as well as version 1.2 (and all its minor versions), considering only the license's validity.

It will not run with version 1.3 or any of its minor versions because their release date is after your subscription end date and therefore not covered by your subscription. It also will not run with version 1.0 and its minor versions.

Perpetual license without subscription

If your yFiles license data does not have a subscription end date entry (i.e., no subscription tag in your license data), the validity check primarily compares the value of the version tag from your license data with the version of the yFiles diagramming library that your application is built against.

The checks will pass and the application will run if the value of the version tag's value matches the major version number of the yFiles library that the application is built against.

Example

If your license data contains version with a value of 1.2, 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.,

and so on.

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 a perpetual yFiles license and received a new license file for it. What should I do with the new license file?

You will need the new license file if you received it:

  • With a subscription renewal, and you want to use a newer version of your licensed yFiles product that has been released after the subscription end date as listed in your current license file.
  • Due to technical changes in a new version of the yFiles library, and you want to use that new yFiles version.

In both cases, when upgrading to the newer yFiles library, you must update your yFiles-powered application's build process to use the new license data.

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 you have received from yWorks.

Typically, as a licensee of a perpetual yFiles license with subscription, you will receive a new license file from yWorks:

  • With a subscription renewal.
  • When the new yFiles version requires a new license file due to technical changes (e.g., a new license file format).

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

Note that you do not need to update your license file if you have a perpetual yFiles license with subscription and the release date of the newer major version is before the subscription end date in your license file (the value of the subscription tag in your license file).

As described earlier (see "Perpetual license with subscription"), your current license file will work with the newer yFiles version (and all its minor versions) without any issues.

On the other hand, if the release date of the newer major version is after the subscription end date as listed in your license file, and you are sure you are using the latest license file from yWorks, you will need a newer license file to switch to the new yFiles version. You can obtain this by renewing your subscription.

To discuss subscription renewal options, contact our sales team via your account in the yWorks Customer Center (https://my.yworks.com/login) or via sales@yworks.com

Finally, if your perpetual yFiles license file does not have a subscription end date entry (i.e., no subscription tag in your license file), your license file is valid with the yFiles version you originally licensed and its minor versions.

To obtain a license file valid for the newer yFiles version, contact our sales team via your account in the yWorks Customer Center (https://my.yworks.com/login) or via 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, 4.0
yFiles.NET: 4.3, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 6.0
yFiles for Avalonia: 1.0
yFiles WPF: 2.5, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 4.0
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, 3.0, 3.1
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