yFiles license files validity checks

Questions & Answers

Summary

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

Description

Nearly all yFiles diagramming libraries require a license file to function:

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

The license file 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 file 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:

  • license with a subscription
  • license without a subscription

Note

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

License with subscription

If your XML-based license file 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.

Additionally, the value of the <version> tag in your XML-based license file is compared to the version of the yFiles library.

The checks will pass and the application will run if:

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

Example

If your XML-based license file contains <version>1.1</version> and <subscription>08/07/2015</subscription>, your application will work with:

  • 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 file'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.

License without subscription

If your yFiles license file doesn't have a subscription end date entry (i.e., no <subscription> tag in your XML-based license file), the validity check primarily 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.

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

Example

If your XML-based license file contains <version>1.2</version>, 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 received a new license file. What should I do with it?

You'll need the new license file if you received it:

  • During a subscription renewal, and you want to use a newer version of your licensed yFiles product released after the subscription end date in your current license file.
  • Due to technical changes in a new version of the yFiles library, and you want to use that new 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 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 you have received from yWorks.

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

  • During 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 new license file.

Note that you don't need to update your license file if you have a yFiles license with a 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 XML-based license file).

As described earlier (see "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 in your license file, and you're sure you're using the latest license file from yWorks, you'll 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 at sales@yworks.com.

Finally, if your yFiles license file doesn't have a subscription end date entry (i.e., no <subscription> tag in your XML-based license file), your license file is only 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 at 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, 3.0
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