All three parts are improved from time to time. The changes in each release are detailed below.

End-user Files

When you protect your program with the CopyMinder Developer's Platform, the latest
releases of the .cm file and CMInstall are automatically downloaded for you to distribute to your customers with your
protected program.

By default, your existing customers' installations will automatically download a new release of the .cm file when the protected program next accesses the CopyMinder website.
We recommend that you let all your customers automatically upgrade to the latest release,
but you can choose otherwise if you wish. It is possible to specify particular releases for:

All new installations (the first time a Licence Key is used).

All existing installations.

Individual Licence Keys.

If for any reason you would like to specify a particular release to use, please contact us.

To update manual installations (those with no internet connection), you should
download CMUpgrade and send it to your customer.

Release

Date

Changes

68

01 Jul 2016

Support for multiple programs/modules protected with the same licence key (see SDK v6.0).

67

24 Sep 2014

Bug Fix: In rare situations, updating from .cm file version 65 to 66 could cause CMServer to use an incorrect network user limit until CMServer was restarted.

Bug fix: Windows Data Execution Prevention (DEP) could cause problems when using the Shell method with Advanced Runtime Protection enabled, and the API method together. This is now fixed.

50

30 Nov 2009

Supports CMServer, which replaces CMNet as the licence server utility for network installations.

Bug fix: not all error messages were handled by custom messages DLLs.

Bug fix: in certain situations, multiple users using the same protected program on Windows Vista would increase the suspect count.

49

20 Jul 2009

Improved protection against disk cloning for manual installations.

48

09 Jul 2009

Improved security and error reporting.

Two new functions for dialog customisation: CM_MSGS_ManualPreCheckFailedWarning and CM_MSGS_AwaitingEmailVerification

47

23 Jun 2009

CopyMinder is now 100% compatible with Windows Data Execution Prevention (DEP).
DEP no longer needs to be disabled for the protected program.

Custom messages DLL - added CM_MSGS_PreCheckFailedWarning.

Bug fixes:

Custom messages DLL - if the end-user selects 'always OK' on a custom 'web access required' dialog,
their response is now stored in the INI file to prevent the user being asked again.

Resolved a backwards compatibility issue with old versions of CMNet.exe when a Secure Data Area was specified.

46

15 Apr 2009

A protected program now searches for its protection-related files in the same places as before, but in a different order:

Path variable in .cm.ini file in same directory as the protected program.

Path set by CM_SetPath() API call (now deprecated but supported for existing installs).

The protected program's directory.

A 'cm' sub-folder of the protected program's directory.

The path %APPDATA%\<DID>\<Product Code>\cm

The path %ALLUSERSPROFILE%\<DID>\<Product Code>\cm

Behaviour of the ActivationByProductKey and Trial variables in the .cm.ini file has been modified. Previously,
if they were set to 'Manual', the protected program would try to use the internet to get the 'manual' security tolerance settings.
Now, the protected program will only allow activation by manual activation code.

Improved clock tampering detection and handling -
if an installation does not require the system clock to be accurate (i.e. no expiry date or periodic web access required),
the user may change their clock without affecting the protected program.

Advanced Runtime Protection no longer prevents more than one instance of the protected program from running at the same time.

45

23 Oct 2008

Fixes backwards compatibility problem with some old versions of CMNet.

44

06 Oct 2008

The shell method now includes Advanced Runtime Protection which provides maximum security throughout your program's execution

Compatibility fixes for Windows Server 2008 and Vista Service Pack 1

Improvements to the Secure Data Area (SDA):

SDA is now available for Trials.

For a network install, SDA functions now read/write the server's .cm file instead of the local copy.

Changes to the SDA on the web site now get downloaded to the installation when they next access the web site.

Can now add/change/delete SDA directly from another web server by, for example, an online order system.

CMInstall now ok for international multi-user installations.

Bug fixes:

Some Custom Dialogs were not working correctly.

CM_EndNetworkUser API call now works ok.

42

30 Apr 2008

The Shell method is now compatible with a much wider range of executables, particularly those developed with MS Visual Studio.

.cm.ini file variables changed. Some developers found the NormalInternetActivationAllowed,
ManualActivationAllowed and TrialAllowed variables confusing; these have been replaced by:
ActivationByProductKey = Internet|Manual|Either|Neither
Trial = Internet|Manual|Either|Neither
This is less ambiguous and more flexible, permitting any combination of Internet and/or Manual activation of Normal and/or Trial installations.
Further details can be found in the user manual (CopyMinder SDK 3.3 and later).
The previous variables remain for backwards compatibility but are no longer documented.

Bug fix: manual installations that do not have an expiry date no longer give an error if the user's clock is incorrect.

Bug fix: 999020 diagnostic error (rare).

41

06 Mar 2008

Secondary server now fully supports new installations as well as existing installations.

Manual Trials are now supported.

More robust recovery if .cm.dir directory is corrupt.

If installed for the current user only, CMInstall adds current user's name to the .cm.log file.

Improved diagnostics in .cm.log file if CMNet fails to communicate with workstations.

.cm file version is added to the log file when newly installed.

Protected program only brought to the foreground if the Shell method is used.

Monaco added to the list of countries on Registration Details dialog.

CMNet puts a message in the .cm.log file whenever it is started.

When the .cm file specified in the .cm.ini file is not found, the error message includes the full pathname of the missing .cm file.

Can now display a warning if an expiry date is approaching or the program can only be run a few more times.

CMInstall now supports single-user and all-user installations. All-user installations to
Program Files used to cause problems on some Vista installations (typically error 602, 604 or 606).

Improved CMInstall: /Q and /V switches can be used to control the display of
messages (defaults to only display errors). /K switch can be used to keep any existing
.cm file in the destination path rather than overwriting it (useful if the user re-installs or updates your software).

CMInstall now defaults to English (instead of French) for unsupported languages.

Bug fix: now supports the temporary addition of a PCMCIA network card.

Forces internet connection online if Internet Explorer has been set to work offline.

If a protected program is re-installed, the product key previously used will now be pre-entered into the Product Registration
dialog the first time the program is run again.

Bug fix: problem with occasional 602/604/606 errors fixed.

Bug fix: fixed potential crash following error 34 if data returned from the internet was too long.

Bug fix: fixed potential error 576 if executions left > 16,777,216.

37

03 Apr 2007

'Roaming Licence' facility has been added. This enables users of network installations to temporarily take a network user off the server for use off-site.

All CopyMinder runtime dialogs can now be replaced with your own. See 'Dialog Customisation' in the documentation for more info.

Added Secure Data Area feature - secure data that can be read from and written to using the CopyMinder API.

Bug fix upgrades to newer releases of the .cm file occasionally timed out on slow or poor internet connections giving error 566/12.
To avoid this problem, we now send a lot less data to the website when getting the new release.
Users who experience this problem with earlier versions can download CMUpgrade to update the .cm file to the latest release.

Bug fix: fixed occasional error 607 that occurred on some computers.

34

29 Sep 2006

The Tab order for the 'AskForProductKey' dialog has been improved.

Internal diagnostics removed from 'Help' on the AskForProductKey dialog.

Bug fix: Installation Code for Manual installations now remains unchanged until it is used successfully (bug introduced in release 30).

CopyMinder SDK

You will receive an email notification whenever a new version of the CopyMinder SDK is available.
If you use an older version, each time you use the Developer's Platform to protect a program you will be reminded that a newer version is available.

Version

Date

Changes

6.0

01 Jul 2016

Added support for protecting multiple programs/modules with the same product code.
At runtime, installations can use a single licence key for all of the protected files.
Each file can have its own features value and limits on date, executions and network users.

5.2

19 Aug 2015

Shell protection now supports 64-bit .NET assemblies.

.NET Shell protection now preserves the "All CPU" setting, rather than converting to 32-bit only or 64-bit only files.

CM_SILENT option to API protection checks. This suppresses all dialogs and is intended to make protecting services more straightforward. Use of this option will cause any protection check that needs to prompt the user (e.g. to ask for a licence key on activation, if one is not supplied through the .cm.ini file) to fail. Requires .cm file version 66 or greater.

New API function CM_SetNetUsersToStart() in object modules and DLLs which allows a single protection check to consume multiple network licences. Requires .cm file version 66 or greater.

Sample code and / or implementation guides for the following languages added : Visual Foxpro, Labview.

CopyMinder64.class and accompanying cmjava64.dll now added.

Section on use under virtualisation platforms (e.g. VMWare ESXi) added to the manual.

5.0

29 Nov 2013

64 bit API implemented by cm64.obj (COFF) and cm64.dll. The 64 bit API has some small differences from the 32 bit API; please see the documentation in the Help menu of CopyMinder.exe.

All protection check API calls will now block while another check is in progress in a different thread in the same application, then automatically continue once the other protection check is complete. This applies to both the 32 bit and 64 bit API.

A guide to integrating the 32 bit API with the Windev language has been added to the samples directory.

4.6

13 Feb 2013

Shell protected .NET programs now depend only on the version of the .NET Framework that they did originally. Previously, a program that required .NET 4.0 (or later) would require both .NET 4.0 and .NET 2.0 when protected.

Bug Fix: A shell protected VB.NET 2010 program could crash when running on .NET Framework 4.5.

Web Administration

Maximum Secure Data Area size that can be uploaded increased to 1024 bytes for .cm file version 66 onwards

Disabled licence keys are now shown with grey background in search results.

Option for developers to be emailed when a licence key is updated via the website (in My Account / My Details).

Option for developers to be emailed weekly with a list of licence keys expiring in the next 10 days (in My Account / My Details).

Registration emails are now sent to the software developer in their own language, determined by the country the CopyMinder account is registered in, not the customer's language. This applies from version 66 of the .cm file.

There is now a cap on the charges for network installs.
You will only be charged for the first 30 users on a network.

14 Jun 2010

Sends number of executions left on the web site down to the installed copy for manual installs.
This is useful for display purposes.

25 May 2010

Changes to Security Level parameters are now recorded in the log.

16 Apr 2010

Reports: if no fields were selected then it did not display the data - fixed.

Product Key included in Subject of Registration email.

Reports now have disabled Product Keys in pink (enabled ones in green).

No longer increases the 'suspect installation count' following a new install to the same machine
even if there is an expiry condition.

If a manual installation accesses the web site (not via a browser), it no longer converts the manual installation to a normal one
unless the Installation Type for the Product Key is set to 'internet only'.

22 Jan 2010

When viewing the CopyMinder Log, you can hover over the Product Key to see who it is registered to.

Default settings page now has an 'All Installations' tab as well as Normal and Trial tabs.

'All Installations' tab includes facility to up/download data for the Secure Data Area.

If a protected program is currently installed as a manual install but internet is now available,
the installation is converted to a normal one if allowed (i.e. it is not ManualOnly,
it is on the same computer and their is no expiry condition).

Security Details tab for a product key now shows customer and/or company name
so you don't have to change tabs to see who the user is.

'No limit' (-) is now an option for pre-check times and exec values.

Fixed problem with registration information getting corrupted.

Bug fix: slight problem with formatting of registration email sent to French developers.