Version history - CryptoLicensing For
ActiveX
Build 180220 ( 20 February 2018 )
- Added support for Microsoft ACE Database Engine.
Build 180210 ( 10 February 2018 ) **v2018 released**
Build 171116 ( 16 Nov 2017 )
- FIX: 'Verify Local Time' did not work in some circumstances.
- FIX: Data returned by the license service was not interpreted correctly in come
conditions.
- FIX: Features names were not saved in some circumstances.
- NEW: The threads used for the Leased and heartbeat licenses are not started as a
background threads.
- FIX: Customer Deployed license service did not start under some circumstances on
OSes later than Windows 7.
- NEW: Stricter validation of serial codes - earlier serial codes which differed
in the last character (which was not a part of the serial code in some
circumstances) were validated. This is now not the case.
- Minor UI improvements.
- Updated documentation.
Build 170316 ( 16 Mar 2017 )
- FIX: Communication with the license service failed in some circumstances.
Build 170207 ( 07 Feb 2017 )
- FIX: The CryptoLicense.GetRemainingActivationCount did not return the correct value if an activation context is specified.
Build 160922 ( 22 Sep 2016 )
Build 160718 ( 27 Aug 2016 )
Build 160718 ( 18 July 2016 )
Build 160715 ( 15 July 2016 )
- IMPROVED: Preview in Data Fields plugin is updated when active profile is changed.
- NEW: Data Fields plugin now allows you to enter/paste pre-formatted data fields.
- FIX: When project file was saved, the "Return Same License For Same Machine" profile setting was not saved.
- FIX: CheckMachineCodeValid did not work under some circumstances if license was locked to multiple machine codes.
- FIX: Overriding OnIsMachineCodeValid did not work in some circumstances.
- FIX: 'Max Instances' settings did not work in some permission settings.
- FIX: QueryWebService did not return the correct value under some circumstances when extra long data was returned by the license service.
Build 151112 ( 12 November 2015 )
- Minor UI improvements.
- Updated documentation.
Build 151102 ( 02 November 2015 )
- NEW: The license textbox now supports CTRL+A key-stroke typically used to select all text in the textbox.
- FIX: If a 'Limit Machines To' license was activated, the returned license did not have the correct profile name embedded inside it.
- Updated documentation.
Build 150818 ( 18 August 2015 )
- FIX: Regression bug introduced due to HTTPS support for license service.
Build 150722 ( 22 July 2015 )
Build 150715 ( 15 July 2015 )
- Minor UI improvements.
- Updated documentation.
Build 150714 ( 14 July 2015 )
Build 150711 ( 11 July 2015 )
- NEW: Ability to specify additional data (for example, a custom lease duration) when activating a license.
Build 150708 ( 08 July 2015 )
- FIX: HTTP POST license processor does not fail if the URL returns a status code of OK (200).
Build 150707 ( 07 July 2015 )
- IMPROVED: Activation fails if the newly returned license cannot be saved.
- CHANGE: Load, Save and Remove methods now return a diagnostic message if StorageMode is set to None, which can be retrieved via GetStatusException.
- Documentation updates.
Build 150616 ( 16 June 2015 )
- IMPROVED: Improved handling and developer-friendliness of 'activations with grace period' scenario.
- NEW: Exceptions thrown during CryptoLicense.Dispose can now be accessed via CryptoLicense.GetStatusException method.
Build 150601 ( 01 June 2015 )
Build 150327 ( 27 March 2015 )
- FIX: Crash occurred in some circumstances when a new license code was set on the same CryptoLicense instance.
Build 150323 ( 23 March 2015 )
- NEW: Ability to disable adding license generated when serial is validated to the license management table.
Build 150317 ( 17 March 2015 )
- NEW: New CryptolicenseGenerator.SetFeature method which allows more straightforward way to set/unset license features than the SetFeaturesEx methods.
Build 150316 ( 16 March 2015 )
- CHANGE: If the license does not specify 'Number Of Users', then default value of short.MaxValue is used instead of the 1 used earlier.
Build 150304 ( 04 March 2015 )
- NEW: Added LicenseManagement.InitializeDatabase method.
- FIX: CryptoLicenseGenerator.Generate method threw an exception in some cases if a 'Data Field' was not specified.
Build 150219 ( 19 February 2015 )
- FIX: Machine code checking failed under some circumstances.
Build 150210 ( 10 February 2015 )
- CHANGE: License codes generated with trial version of CryptoLicensing do not automatically get the 'Date Expires' setting of 30 days hence. However, they will still fail to validate after 30 days.
Build 150110 ( 10 January 2015 )
- NEW: LicenseService.LogExceptions property can now be specified via the settings.xml file.
Build 150108 ( 08 January 2015 )
- NEW: Ability to control whether stale activations are cleaned during activations. Turning this OFF may speed up the activation process.
Build 141230 ( 30 December 2014 )
- NEW: It is now possible to pass user-data to the active user-data plugin when validating serials or when calling CryptoLicense.GetLicenseFromProfile.
Build 141215 ( 15 December 2014 )
- FIX: CurrentInstances did not return the correct value.
- FIX: Setting the ReleaseHeartbeatSlotOnDispose property causes a run-time automation error.
- IMRPOVED: When the CryptoLicense.GetLicenseFromProfile method is called with "<default>" as the user-data parameter, then the returned license has the default user-data plugin settings stored in the profile. For example, the 'Data Fields" plugin uses the profile specific data field values stored in the project file.
Build 141204 ( 04 December 2014 )
- IMPROVED: RegAPI.exe now registers the Generator API in both 32-bit and 64-bit registry.
Build 141202 ( 02 December 2014 ) **v2015 released**
- NEW: It is now possible to include a process specific ID in the machine code, so multiple instances on the same machine are counted as different activations. New API CryptoLicense.IncludeProcessIDInMachineCode property.
- NEW: It is not possible to toggle on/off the featue number for a feature if that feature has a name.
- NEW: A license can be machine-locked to multiple machines - it will work on any of those machines.
- NEW: An activated license (floating or otherwise) can be locked to a specified list of machines - only those machines can be activated.
- FIX: Leased floating licenses were not deactivated if the license had heartbeats too.
- IMPROVED: Added helpful exception message for "Verify Local Time With Service" setting.
- NEW: Allows embedding profile name in the license.
- FIX: Activation console did not work in some circumstances.
- NEW: Added LicenseService.RetriveLicenseCodeFromCustomerDeployedLicenseService and corresponding CryptoLicense method.
- NEW: Added LicenseService.DeactivateCustomerDeployedLicenseService and corresponding CryptoLicense method.
- NEW: Added CryotoLicense.CurrentInstances and CryotoLicense.RemainingInstances properties.
- NEW: Ability to surrender leases via the CryptoLicense.SurrenderLease method.
- NEW: CryptoLicense.SaveCustomInfo and CryptoLicense.LoadCustomInfo events to allow developer to override default load/save behavior of the custom info.
- NEW: CryptoLicense.SaveEvaluationInfo and CryptoLicense.LoadEvaluationInfo events to allow developer to override default load/save behavior of the evaluation info.
Build 140916 ( 16 September 2014 )
- FIX: Regression bug caused licenses to not be deactivated in some circumstances.
Build 140906 ( 06 September 2014 )
- FIX: Activation Console did not delete activations or activate machines in some circumstances.
Build 140731 ( 31 July 2014 )
- FIX: Security exception occurred on some hosting providers which causes the license service to fail.
Build 140704 ( 04 July 2014 )
- NEW: It is now possible to pass the "interactive" flag (via command-line) when running the license service as Windows Service.
Build 140617 ( 17 June 2014 )
- NEW: LicenseService.OnLogException method allows the developer to override the default logging behavior.
- NEW: Ability to specify license service parameter encryption mode via the license project file.
- FIX: The user-data was not available in some circumstances to plugins and license management.
- Minor documentation changes.
Build 140606 ( 06 June 2014 )
Build 140604 ( 04 June 2014 )
- FIX: GetUserDataFieldValue did not return correct value in some circumstances.
- Minor documentation changes.
Build 140313 ( 13 March 2014 )
- NEW: If multiple codes are generated at once, then the active user-data plugin can provide a unique user-data for each code generated. Earlier, all codes had the same user-data.
- NEW: CryptoLicense.RenewLease method allows the developer to forcibly renew the lease for a leased license.
- IMPROVED: Improved diagnostic reporting via GetStatusException for the DebuggerDetected status.
- IMPROVED: Improved support for MySQL databases.
- FIX: Even if a plugin is removed from a project, it continued to be used till the time the project was re-opened.
Build 140115 ( 15 January 2014 )
- CHANGE: CryptoLicense.IsEvaluationExpired method now returns true if a license code is not loaded or if cryptographic validation of the license code fails.
Build 131218 ( 18 December 2013 )
- FIX: GetUserDataFieldValue did not return correct value in some circumstances.
- CHANGE: The "Update License Database" plugin is disabled for certain scenarios such as when a new license is generated in response to serial validation or license activation.
Build 131129 ( 29 November 2013 )
- NEW: CryptoLicenseGenerator.GetFeatureName and CryptoLicenseGenerator.SetFeatureName methods.
- FIX: CryptoLicense.IsCurrentMachineActivated method did not work correctly in some circumstances.
Build 130920 ( 20 September 2013 )
- FIX: Put Local Machine Code did not work "Lock To Machine" and "Lock To License Service" if "Base 64" mode was selected.
Build 130902 ( 02 September 2013 )
- FIX: A new license was generated in some cases during serial validation even if license was found in license service database.
Build 130830 ( 30 August 2013 )
- NEW: Ability to limit number of deactivations in a given period.
Build 130816 ( 16 August 2013 )
Build 130814 ( 14 August 2013 )
- NEW: Ability to specify grouping and padding for short license codes. So short license codes in various formats like 'W1XY-C7NA-7RS4-CUUA-673H-HUL3-DYPH-SFWZ"
or "K35VA9NA-7RS4CUPK-CWJCJS6S-E5AWW69Z" can be generated.
- NEW: License Service Activation Console now supports listing serial validations.
- NEW: Added ability to limit serial validations using profile setting.CHANGE: Changed default value of LicenseService.SerialValidationLimit property to FromProfile_MaxValidationsSetting.
- CHANGE: Marked LicenseService.MaxSerialValidations as obsolete. Use LicenseService.SerialValidationLimit=SerialValidationLimit.FromProfile_MaxValidationsSetting (the default value) instead, and specify the max validations from the Profile Settings Dialog.
- CHANGE: Changed default value of CryptoLicense.StorageMode to ToRegistry.
- FIX: In some circumstances, a new license was incorrectly added to the License Management table if serial validation validation limit was exceeded.
Build 130810 ( 10 August 2013 )
- NEW: Ability to specify grouping and padding for serials. This allows serials in various formats like 'W1XY-C7NA-7RS4-CUUA-673H-HUL3-DYPH-SFWZ" or "K35VA9NA-7RS4CUPK-CWJCJS6S-E5AWW69Z" to be generated.
Build 130809 ( 09 August 2013 )
- NEW: CryptoLicensing App now allows you to specify machine code using a string (for example, string representation of CPU ID or HDD ID) when generating hardware locked (Lock To Machine setting) licenses.
- CHANGE: Floating license is deactivated on dispose only if license validation was successful (slot was available) in the first place.
- CHANGE: A heartbeat is started even if a floating license with heartbeat is validated and validation fails because no license slots are available. This means, the license will continue to ping the license service at specified intervals to attempt to get a license. Earlier, the heartbeat was started only if the initial license validation was successful.
- FIX: Deactivation of licenses sometimes did not work if license table prefix was used when configuring the license service.
- Documentation updates.
- Minor UI improvements.
Build 130807 ( 07 August 2013 )
- NEW: The license service can now embed the serial being validated in the returned license.
- FIX: Customer deployed license service did not install properly as a Windows Service if a username and password was specified.
- Some documentation updates.
Build 130802 ( 02 August 2013 )
- FIX: CryptoLicense.RemainingRuntime did not return the correct value.
Build 130725 ( 25 July 2013 )
- IMPROVED: Improved support for Oracle database in the License Service and License Management.
Build 130723 ( 23 July 2013 )
- IMPROVED: License Service and License Management now always use the DBWorker.GetLongVarcharTypeDefinition method instead of hard-coded "varchar"s.
Build 130719 ( 19 July 2013 )
- FIX: For data fields saved per profile, they are initialized to default values when a new profile is selected.
Build 130711 ( 12 July 2013 )
- Minor documentation changes.
Build 130710 ( 10 July 2013 )
- It is now possible to specify http://*:port/ (example: http://*:8081/) - for a customer-deployed license service - this can be useful if the IP address of the machine which will run the license service app is dynamic and changes all the time.
Build 130703 ( 03 July 2013 )
- Fixed regression bug related to the license service project files.
Build 130702 ( 02 July 2013 )
- Minor documentation changes.
Build 130701 ( 01 July 2013 ) - **v2013 R2**
- CryptoLicensing For .Net v2013 R2
Build 130629 ( 29 June 2013 )
- NEW: Added CryptoLicense.GetRemainingActivationCount method.
- Minor documentation changes.
Build 130628 ( 28 June 2013 )
- NEW: UI changes and improvements related to how projects are created, opened or how recent projects are shown.
- Minor documentation changes.
Build 130624 ( 24 June 2013 )
- FIX: In rare circumstances, the CryptoLicensing generator app would crash on exit.
Build 130621 ( 21 June 2013 )
- NEW: Added CryptoLicense.GetUserDataFieldValue helper method.
- Minor UI improvements.
- Minor documentation updates.
Build 130620 ( 20 June 2013 )
- NEW: A new status enables you to know if load/save of evaluation data failed.
- IMPROVED: More detailed diagnostic information is returned via the CryptoLicense.GetStatusException method, if the CryptoLicense.Load/Save/Remove methods fail.
- Streamlined and updated documentation.
Build 130613 ( 13 June 2013 )
- FIX: Custom info was not saved after call to CryptoLicense.RemoveCustomInfo.
Build 130423 ( 23 April 2013 )
- FIX: Activation failed in Access db if multiple activation entries from same machine were present and they exceeded the activation limit.
Build 130319 ( 19 March 2013 )
- NEW: Ability to use the default per-profile Data Fields values as the user-data when serial is validated.
Build 130312 ( 12 March 2013 )
- FIX: A regression issue in the stats.aspx page which caused it to throw a compilation error when loading.
Build 130307 ( 07 March 2013 )
- NEW: The Customer Deployed License Service "stats" page now supports multiple license project files.
Build 130222 ( 22 February 2013 )
- IMPROVED: Improved error reporting when validating a license/serial code from the CryptoLicensing UI.
- Minor documentation updates.
Build 130206 ( 06 February 2013 )
- IMPROVED: Better support when using Azure database for license service or license management.
- Minor documentation updates.
Build 130205 ( 05 February 2013 )
- NEW: The License Service Activation Console now supports multiple license project files.
Build 130123 ( 23 January 2013 ) - **v2013**
- CryptoLicensing For ActiveX v2013
Build 130112 ( 12 January 2013 )
- Minor documentation updates.
Build 130109 ( 09 January 2013 )
- NEW: Added new CryptoLicenseGenerator.GetProfileFromName, CryptoLicenseGenerator.AddNewProfile and CryptoLicenseGenerator.CopySettingsToProfile methods.
Build 121229 ( 29 December 2012 )
- CHANGE: The Activation table of the license service now does not accumulate stale entries related to heartbeat/lease licenses.
- CHANGE: When a floating license or a floating license with heartbeat is validated, no entry is added to the "License Management" database since the returned license is the same as the license being validated.
Build 121214 ( 14 December 2012 )
- NEW: Data field values can optionally be saved along with profile setting. This gives the ability to have per-profile values for data fields.
- NEW: The LicenseSeviceApp.exe now shows the addresses on which it is listening.
Build 121130 ( 30 November 2012 )
- CHANGE: Change the last character of a license code before the '=' padding characters now causes license validation to fail. This was a harmless change (by-product of base-64 encoding used for encoding the license codes) which did not compromise the security of the system, but now even this is not allowed.
Build 121126 ( 26 November 2012 )
- NEW: LicenseService.DBWorker property.
- Updated documentation.
Build 121122 ( 22 November 2012 )
- NEW: Enable Tamper Checking can now be used on its own.
- CHANGE: Increased resolution of CryptoLicense.RemainingCumulativeRuntime and CryptoLicense.CurrentCumulativeRuntime properties.
- CHANGE: CryptoLicense.RemainingRuntime and CryptoLicense.CurrentRuntime properties are now protected against system date change.
Build 121121 ( 21 November 2012 )
- FIX: Data Fields plugin showed a trailing # in some circumstances.
- NEW: Added CryptoLicense.RemainingRuntime and CryptoLicense.CurrentRuntime properties.
- NEW: Usage Reporting Console now supports multiple settings files ( like the install.aspx page).
Build 121113 ( 13 November 2012 )
- Generator API: Setting various numeric license settings like MaxActivations to zero or negative value now turns OFF the license setting.
- The CryptoLicensing Generator App now runs correctly on machines where FIPS compliance is turned ON via security policy.
- Minor documentation updates.
Build 121112 ( 12 November 2012 )
- Floating license is deactivated during Dispose only if it does not have a lease period or heartbeat interval.
Build 121105 ( 05 November 2012 )
- NEW: License Service Activation Console which allows you to list activations associated with a license code, add activations or deletes activations.
- CHANGE: The license code returned by the license service for activated licenses is saved only if its different than the original license being activated.
- Minor documentation updates.
Build 121030 ( 30 October 2012 )
- Exceptions occurring during CryptoLicensing.DeactivateLocally are now recorded and accessible via CryptoLicensing.GetStatusExceptionMessage method.
- Exceptions occurring during CryptoLicensing.Load/Save/Remove are now recorded and accessible via CryptoLicensing.GetStatusExceptionMessage method.
- Minor documentation updates.
Build 121024 ( 24 October 2012 )
- The same CryptoLicenseGenerator instance can now be used to load multiple licproj files if desired.
Build 121023 ( 23 October 2012 )
- Generator API now throws an exception if you try to set user-data greater than 64KB (the limit).
Build 121017 ( 17 October 2012 )
- Avoid throwing unnecessary internal exceptions during license validation.
Build 121009 ( 09 October 2012 )
- Improved error reporting for licensing failures when using the Generator API.
Build 121002 ( 02 October 2012 )
- Improved error reporting when using customer-deployed license service.
Build 121001 ( 01 October 2012 )
- Minor documentation updates.
Build 120930 ( 30 September 2012 )
Build 120927 ( 27 September 2012 )
- Minor documentation updates.
Build 120917 ( 17 September 2012 )
- Documentation and UI improvements.
What's New!! in Version 2012 R2
Build 120910 ( 10 Sep 2012 )
- NEW: Mono specific client side validation module (LogicNP.CryptoLicensing.Mono.dll).
- NEW: Overhauled Subscription Licenses scenario and workflow for much improved ease of use.
- NEW: License project files can now be stored in XML format - this allows easy version control tracking as well as quick changes via a text editor.
- NEW: Some UI changes to the CryptoLicensing Generator App, to improve ease of use and understandability.
- NEW: Much improved support for various types of databases for use with license service and license management.
- NEW: Improved error reporting when validating licenses or serials via the CryptoLicensing Generator App.
- NEW: Improvement error reporting during license validation (errors accessible via CryptoLicense.GetStatusException).
- NEW: The license service "Import" page now replaces any existing license codes in the License or DisabledLicense table, else adds a new record.
- NEW: "Profile Name" field available in License Management.
- NEW: "Raw User-Data " field available in LIcense Management.
- NEW: "Date Added (To Database)" field available in LIcense Management.
- NEW: DBWorker for PostGre SQL.
- NEW: Support for Firebird DB.
- NEW: ActivationContextDemo sample, which demonstrates usage of activation contexts.
- NEW: CryptoLicense.UpdateLicense and corresponding license service methods.
- NEW: CryptoLicense.GetRecordGUID method which allows developer to get a unique pseudo-GUID based on license code and specified key.
- NEW: CryptoLicense.GetSerialFromProfile method and corresponding license service methods.
- NEW: Support for date-time format for data fields of type "Date-Time".
- NEW: Better exception handling and reporting in all e-commerce pages.
- NEW: Silverlight specific Being/End methods for those methods which communicate with the license service.
- NEW: Plugins can now be specified in the license project via relative paths.
- CHANGE: CryptoLicense.IsEvaluationExpired now returns true only if the license is evaluation license and one of the evaluation limits has reached.
- NEW: Placeholders in the "Save to File" template file setting are replaced too.
- NEW: LicenseServiceSettings.TemplateFolder property to allow specifying optional license service template folder location.
- IMPROVED: MySQL DBWorker now works with Usage Reporting.
- IMPROVED: The network-deployed license service now supports serving of non-ASP.Net files (like clientaccesspolicy.xml).
- IMPROVED: Errors that occur during loading of a license project via the CryptoLicensing Generator App are now shown in the UI.
- FIX: Error occurred if an empty usage report was sent to the license service.
- FIX: Deactivation not working if a table-prefix was specified when configuring the license service.
- FIX: LicenseService.IsCurrentMachineActivated and LicenseService.GetNumberOfActivations now takes the activation context into account.
- FIX: Usage Reporting console did not work correctly if a table-prefix was specified when configuring the license service.
- FIX: If license service is not available for deactivation, then locally stored deactivation record is deleted immediately.
- FIX: In Silverlight, custom license service methods which have no parameters were not called correctly.
- FIX: "Perform Strong Name Validation" setting now works for all versions of the .Net run-time and regardless of which combination of .Net runtime(s) are installed on the system.
- FIX: Activation contexts did not work in some circumstances.
- FIX: Generator API - Attempting to load a license project stored in XML format via a stream did not work.
- FIX: License service did not report the correct error back to the client-side validation module for some client-side API.
What's New!! in Version 2012
- NEW: Support for IPv6 address when using customer deployed license service.
- NEW: Much improved exception reporting from license service to client side API.
- NEW: Support for Activation Contexts - supports varying activation counts from
the same machine for different features in your software (example, View, Change,
Print, etc).
- NEW: Added ready-to-use e-commerce integration pages for FastSpring.
- CHANGE: Heartbeat event is called everytime a heartbeat fails.
- NEW: Improved psf file handling in customer deployed license service.
- NEW: Improved speed when validating licenses.
- NEW: Reduced memory requirements when validating licenses.
- NEW PROPERTY: CryptoLicense.ActivationContext which specifies the context for
the activation.
- NEW METHOD: CryptoLicense.GetStatusExceptionMessage which gets the
error/exception message, if any, associated with an error validation status.
- NEW METHOD: CryptoLicense.RenewLicense allows you to get a new license from the
license service based on the settings of the current license (for example, with
Date Of Expiration changed).
- NEW METHODS: LicenseService.RenewLicense and LicenseService.OnRenewLicense
return a new license based on the settings of the passed license.
What's New!! in Version 2011 R3
- NEW: Added support for any database to be used with the License Management functionality.
- NEW: Support for MySQL and SQL CE database when using License Management and the License Service.
- NEW: Ability to lock floating license to a specific license service via the machine code. This is used with customer-delpoyed license service -for greater security.
- NEW: Customer deployed floating license service now supports multiple projects per service.
- NEW: Ability to override the default behavior related to creation, deletion and checking of the locally stored deactivation record.
- NEW: Ability to limit number of remote sessions via the "Max Instances" limit.
- NEW: Support for SQL Azure databases when using License Management and the License Service.
- NEW: Data Fields Plugin now displays the user data correctly even if the order of the fields in the user-data does not match the order of the defined fields.
- NEW METHOD: Added CryptoLicense.GetLicenseStatusAsString method.
- NEW PROPERTY: PropertiesPlugin.Properties and Property.Type properties.
- NEW PROPERTY: LicenseManagement.LicenseManagementException property.
- NEW: License Management can now store the Project Name and Key Name settings.
- NEW: Added support for loading license project files via a stream.
- NEW: Improved exception logging for the license service e-commerce pages.
- NEW: Individual license service methods can be disabled from code.
- NEW: Added support for Unicode data passed via the CryptoLicense.GetLicenseFromSerial method.
- NEW METHOD: Added CryptoLicenseGenerator.SaveProject(Stream) method.
- FIX: Serial validation now does not fail if the index of the corresponding profile in the license project file changes.
- FIX: File Generator Plugin - "Each Code To Separate File" setting not working.
- FIX: Deactivation functionality did not work in some limited permission environments.
- FIX: Necessary communication with the license service during disposing in some circumstances.
What's New!! in Version 2011 R2
- NEW - Usage Reporting - Gain insight into how your software is used.
Identity feature usage trends and patterns as well as end-user software/hardware
statistics. Ready-made usage reporting console to view and analyze usage
reporting data.
- NEW: Heartbeat support for floating licenses - allows gracefully recovering
from an application crash and prevents tampering of the network floating
license service.
- NEW: CryptoLicensing for XBox is now supported.
- NEW: Improved modern Generator UI look and feel.
- NEW: Improved usability of the Generator UI.
- NEW: Support for Oracle databases in the license service and license
management.
- NEW: Improved leased license functionality - new LeaseExpires setting
specifies when the license lease expires. New LeaseExpired event fires
when the lease expires.
- NEW: Improved performance when validating and generating licenses.
- NEW; Ability to store serials in the License Management database.
- NEW: Disallow In Remote Machines license limit - you can specify whether
licenses can be used in a remote session like Remote Desktop or Citrix.
- NEW: The stats.aspx page for the network floating license service
can now show the IP addresses of activated machines.
- NEW: Implementation change in Deactivation logic - Each deactivation
releases only one record of an activation (instead of all activation
records as previously). This prevents someone from starting multiple
instances of the software and then closing one instance thereby allowed
unlimited activations.
- NEW; CryptoLicense.IsCurrentMachineActivated method - allows determining
whether the current machine is activated.
- NEW; LicenseService.ImportLicensesIntoDisabledLicenseTable and LicenseService.ImportLicensesIntoLicenseTable
overloads which accept an IEnumerable<string>
- NEW: User data passed to the license service when validating serials
or using GetLicenseFromProfile is used as the basis for storing data
fields in the License Management table.
- NEW: Generator UI now allows specifying the settings file to use when
communicating with the license service - necessary when the service
hosts multiple license project files.
- NEW: RegistryStoragePath now allows both short (HKLM) or long (HKEY_LOCAL_MACHINE)
prefixes.
- CHANGE: All CStrings in public API changed to BSTRs for better compatibility
with ATL projects.
- FIX: Unable to load license projects in some non-English locales.
- FIX: Network floating license service threw FileNotFoundException
under some circumstances.
- FIX: Could not add a data field which had a whitespace in its name
to the License Management table.
- FIX: NullReferenceException was raised in some circumstances when
creating new license projects via the Generator API.
- FIX: Leading and trailing whitespace is now ignored when setting the
LicenseCode and ValidationKey.
What's New!! in Version 2011
- NEW: License management functionality - Now generated licenses and
their settings, and any associated userdata can be automatically added
to a user specified database.
- NEW: CryptoLicensing for Windows Phone 7 is now supported.
- NEW: CryptoLicensing for Silverlight is now supported.
- NEW: Support for SQL Server CE databases.
- NEW: E-commerce integration with Clickbank is now supported.
- NEW: CryptoLicenseProvider now supports extracted a license found
in a .licenses resource from any dll or exe assembly.
- NEW: Added placeholders (used in various "License Post-Generation
Processors) for different license settings like "Date Expires",
"Max Usage Days", etc.
- NEW: The license service can now operate in unencrypted mode in which
data passed to and from the service is unencrypted. This can be useful
when you need to invoke the license service from PHP or Python or Ruby.
- IMPROVED: Import licenses page now provides descriptive errors if
the import process fails.
- NEW METHOD: LicenseService.OnInitialize called everytime the license
service is invoked.
- FIX: Network deployed license service did not work in some circumstances
when the URL included a port value.
What's New!! in Version 2010 R2
- NEW: Support for leased floating licenses which allow licenses to
be borrowed for a specified amount of time.
- NEW: Support for upto 2040 features (up from 32 supported previously)
in every license. You can use these features to enable/disable specific
modules/functionality in your software.
- NEW: Support for multiple keys per license project. The same license
project can now be used for newer versions or for altogether different
products.
- NEW: Support for persisted per-license custom information. This can
be used to track license usage beyond the in-built scenarios like max
usage days, max executions, etc. For example, this can be used to track
usage of each individual feature embedded in license.
- NEW: Native support for MySQL databases in the license service.
- NEW: Support for any database to be used in the license service.
- NEW: Ability to verify local time with the license service.
- NEW: Ability to test if the license service is reachable and working
properly.
- NEW: Ability to enable/disable licenses in the license service from
your software via API.
- NEW: Ability to limit serial validations using various modes.
- NEW: Date Rollback Detection in licenses.
- NEW: Ability to automatically log exceptions if any are thrown during
operation of the license service.
CryptoLicensing Generator UI
- NEW: New placeholder %date% and %date:format% available during post-generation
license processing.
- NEW: Ability to specify certain data fields in the "Properties
User Data Plugin" as excluded from the generated license. This
allows you to specify extra information during license generation for
your own records.
- NEW: New placeholder %df:xyz% available during post-generation license
processing which gives you access to the values specified for various
data fields via the"Properties User Data Plugin".
- NEW: The %list...% placeholder now allows any other valid placeholder
inside it including %df:xyz%.
- NEW: Saves the active user-data plugin, processor plugin, and machine
code provider plugin and sets them to be active the next time the license
project is loaded.
- NEW: The "Project Properties Dialog" now allows you to test
if the license service is reachable and working properly.
- NEW: Various machine code providers (normal, explicit, test mode)
allow you to test machine-code and activation related functionality.
- FIX: "Export To File" functionality did not work in some
circumstances.
Software-side API and Generator API
- NEW: CryptoLicenseGenerator.GetUserDataPluginFromName method.
- NEW: CryptoLicense.GetCurrentActivationCount method and LicenseService.GetCurrentActivationCount
method.
- NEW: CryptoLicenseGenerator.LoadProject(Stream stream) method.
- CHANGE: Verbose exceptions thrown when validation of serials fails
in the license service.
- NEW: CryptoLicense.VerifyLocalTimeWithService method and LicenseService.VerifyLocalTimeWithService.
- NEW: CryptoLicense.PingLicenseService method and LicenseService.PingLicenseService
method.
- NEW: CryptoLicense.Enable/DisableInLicenseService methods and LicenseService.Enable/DisableInLicenseService
methods.
- NEW: LicenseService.CreateLicenseInstance method to allow customer-deployed
license service to use custom licenses (for example for locking service
to dongle-based machine code).
- CHANGE: All limits are checked even if one or more limits fail.
- NEW: CryptoLicense.ResetStatus method to force revalidation.
- NEW: Custom information related methods CryptoLicense.SetCustomInfo,
CryptoLicense.TryGetCustomInfo, CryptoLicense.ResetCustomInfo and CryptoLicense.RemoveCustomInfo.
- CHANGE: CryptoLicense.IsFeaturePresent and CryptoLicense.IsFeaturePresentEx
methods now only check cryptographic signature and not validate the
license limits.
- CHANGE: By the time LicenseService.OnActivate is called, generator
settings such as 'Lock to machine' are set.
- NEW: Overloads of LicenseService.ImportLicensesIntoDisabledLicenseTable
and LicenseService.ImportLicensesIntoLicenseTable with connectionString
parameter.
- NEW: ShareIt and Plimus e-commerce integration now checks remote IP
address to verify that request is coming from genuine servers.
- NEW: CryptoLicense.DetectDateRollback property.
- NEW: CryptoLicenseGenerator.LoadLicenseCode method to load generator
settings from license code. Allows you quickly initialize the generator
to have the same settings as the license code, change some settings
and generate a new license code.
- NEW: LicenseService.LogExceptions property.
- FIX: CryptoLicense.Status always returned Deactivated in certain circumstances.
What's New!! in Version 2010
- NEW: The license service now works in Medium Trust and does not require
Full Trust privileges on the web server.
- NEW: The validation component (LogicNP.CryptoLicensing.dll) and the
generator API (LogicNP.CryptoLicensing.Generator.dll) now works on Mono.
- NEW: The same license service can now be used for multiple license
project files.
- NEW: Added Network floating licenses (customer-deployed license service)
support. The service can be run as a Tray app or Windows service.
- NEW: The minimum cryptographic key strength is now 64-bits instead
of 384-bits. This enables shorter license codes. For example, when using
64-bit key strength, only a 32 character license code is generated even
when using Base32 encoding.
- NEW: CryptoLicense.GetLicenseFromProfile will now add the returned
license to the 'License' table.
- NEW: Service notifications caused by the 'Notify License Service When
Validated' setting are now recorded in the license service database.
- NEW: SerialValidation database table now stores the user-data embedded
in the returned license.
- NEW: Added Anti-Debug / Anti-Tracing setting to protect against running
under debuggers, profilers or tracers.
- FIX: Customer deployed floating license server would sometimes stop
working after 5-10 minutes.
CryptoLicensing Generator UI
- NEW: Added 'Double' data field type in 'Data Fields' plugin.
- NEW: It is now possible to specify in the UI the machine code and
user data to use when activating license or validating serial. One use
of this is to activate licenses or validated serials on behalf of the
customer.
- NEW: Deactivation codes can now be validated via UI and API.
Software-side API and Generator API
- NEW: Ability to create new project files via generator API.
- NEW: Ability to create/modify/remove profiles to a project via the
generator API.
- NEW METHOD: Virtual CryptoLicense.LoadEvaluationInfo and CryptoLicense.SaveEvaluationInfo
methods which can be overridden to provide your own storage for persisting
evaluation info.
- NEW: CryptoLicense.GetLicenseFromProfile now stores the source MachineCode
in the license service database.
- NEW: Added LicenseService.DefaultSettingsFilePath property.
- NEW: Added CryptoLicense.LicenseServiceSettingsFilePath property.
- NEW: Added LicenseService.DBConnection property.
- NEW: Added CryptoLicense.DeleteDeactivationRecord method.
- NEW: Added LicenseService.GetIPAddress method.
- NEW: Added CryptoLicenseGenerator.GetActiveProfile method.
- NEW: Added CryptoLicenseGenerator.GetActiveUserDataPlugin method.
Use this method, it is now possible to get a specific data field value
specified via Generator UI.
- NEW: Added CryptoLicenseGenerator.ValidateDeactivationCode method.
- NEW: Added CryptoLicense.DeactivateLocally method.
- FIX: CryptoLicense.GetLicenseFromSerial and CryptoLicense.GetLicenseFromProfile
did not return specified user data in returned license.
- FIX: If a machine has been deactivated, the same machine can now be
activated again.
What's New!! in Version 2009 (v2.0)
CryptoLicensing Generator UI
- NEW: Support for e-commerce integration with various providers like
PayPal, ShareIt, Plimus, etc. Includes ready-to-use license generators
for these e-commerce providers which can automatically perform order-fulfillment
and license delivery when using your preferred e-commerce provider.
- NEW: Ability to enable/disable tamper checking (date rollback) when
using trial licenses.
- NEW:String and number data fields can now have standard values that
can be selected via a dropdown list.
- NEW:Last specified values for 'Data fields' are now restored when
project is loaded.
- 'Insert code in template' now replaces placeholders when generating
serials also.
- NEW:It is now possible to record IP addresses when licenses/serials
are activated/validated.
- NEW:It is now possible to explicitly specify License ID when generating
license - this is mainly used when changing the settings of an already
issued license.
- NEW:Validation of licenses can now be done in two modes: cryptographically
validation only or cryptographically and limit validation.
- NEW:When generating machine-locked licenses, machine code can be
now be specified using Base64 or Base32 encoding.
- CHANGE: Minor CryptoLicensing Generator changes to make it more user-friendly.
Software-side API and Generator API
- NEW: Added 'userData' parameter to CryptoLicense.GetLicenseFromSerial
and LicenseService.ValidateSerial - this allows setting custom user-data
in returned license.
- NEW: Added CryptoLicense.EnableTamperChecking property and CryptoLicenseGenerator.EnableTamperChecking
property.
- NEW: Added CryptoLicense.UseHashedMachineCode property.
- NEW: New CryptoLicense.IsSerial, CryptoLicense.GetLicenseFromSerial
methods.
- NEW: New LicenseService.LogException method to enable troubleshooting
of a live license service.
- NEW: Added CryptoLicense.EncodeToBase32String, CryptoLicense.DecodeFromBase32String,
CryptoLicense.Base64StringToBase32String and CryptoLicense.Base32StringToBase64String
methods.
- CHANGE: CryptoLicense.CurrentUsageDays and CryptoLicense.RemainingUsageDays
and the underlying trial engine now consider whole days so it doesn't
matter which time of day you are validating.
- CHANGE: Reworked OnValidateSerial so that it is now easy to customize
the serial validation process.
- CHANGE: LicenseService.Deactivate, DeregisterFloatingLicense, IsLicenseDisabled
and NotifyValidated now return encrypted boolean strings for better
security.
- CHANGE: CryptoLicenseGenerator.ID property is now read-write.
- FIX: Bug in CryptoLicense.IsEvaluationLicense.
What's New!! in Version 2009 (Build 591519)
CryptoLicensing Generator UI
- NEW: It is now possible to validate activated licenses using the 'Validate'
button. For this, you need to specify the URL of your license service
in the Project Properties Dialog (Ctrl+P).
- NEW: A new low-priced 'Sales Edition' is now available for purchase
if your license generation is handled by resellers or other 3rd parties.
- NEW: Project file is automatically copied to the local path where
you last created the license service files. When testing on the local
host, this can be useful to keep the project file used by the license
service updated.
- NEW: 'Import Licenses' functionality of the license service can now
use just the license codes directly and does not require the license
ids.
- NEW: 'Import Licenses' functionality of the license service can now
import license codes in the 'Disabled License' table. This can be used
to keep a list of disabled licensed which should be revoked.
- NEW: When a license code is validated, the embedded user data, if
any, is displayed in the active user data provider.
- FIX: Project file failed to load when 'Floating' activations was specified
for a profile.
- FIX: 'Max Instances' profile setting did not save and load properly.
- FIX: 'Insert In Template' setting was not getting saved in the project
file.
- FIX: Error occurred when trying to generate a license service before
a newly created project is saved. You are now prompted to save the project
file first if this happens.
Software-side API and Generator API
- NEW: Added CryptoLicense.Deactivate method.
- NEW: Added CryptoLicense.ValidateSignature method.
- NEW: Added CryptoLicense.IsLicenseDisabledInService method.
- NEW: CryptoLicense.CurrentUsageDays, CurrentUniqueUsageDays, CurrentExecutions
and CurrentCumulativeRuntime properties are now read-write.
- NEW: Added CryptoLicense.RemainingUsageDays, RemainingUniqueUsageDays,
RemainingExecutions and RemainingCumulativeRuntime properties.
- NEW: Added CryptoLicense.IsEvaluationTampered method.
- NEW: Added CryptoLicense.ResetEvaluationInfo method.
- NEW: Added CryptoLicenseUserDataPlugin.SetUserData method.
- NEW: Added CryptoLicenseGenerator.SetActiveProfile method.
- NEW: Added LicenseService.IsLicenseDisabled license service method.
- NEW: CryptoLicense.IsEvaluationLicense can be used to determine whether
license is an evaluation license even before it is validated.
- FIX: Licenses not loaded and saved correctly to registry or file.
- FIX: CryptoLicense.GetLicenseFromProfile not working
- FIX: Cannot activate activated licenses ('Limit activations to') from
ShowEvaluationInfoDialog. (.Net).
- CryptoLicense.GetLicenseFromProfile not working correctly.
What's New!! in Version 2009
- Initial release! CryptoLicensing for ActiveX provides a robust, yet
easy way to add licensing, copy-protection and activation capabilities
to your VB6, VBA, RealBasic, Delphi, Borland, MFC, ATL, C++, etc applications,
libraries, components and controls. CryptoLicensing for ActiveX uses
the latest military strength, state-of-the-art cryptographic technology
to ensure that your software and intellectual property is protected.
|