Dinkey Pro SDK Version History
Request a free update to the latest version of the Dinkey Pro SDK.
See detailed update notes, with full details of important changes that may require you to alter the way you add protection and/or distribute your protected software.
Learn how to find which version of the SDK you are currently using.
Version 8.0
Release 0 13 March 2024
Read more about the new features and improvements.
Read more about changes you may need to make.
- Added support for DinkeyOMS.
- New feature - added the option to count network users per machine instead of the default per program instance.
- Shell protection method - added support for Linux on ARM systems. Aarch32 and Aarch64 are both supported.
- Shell protection method - significant improvements on Linux including compatibility with GCC 8+, the gold linker and the
-fcf-protection
compiler option. - DinkeyAddCmd - now supports creating temporary and demo software keys.
- DinkeyRemote - you can now specify the output path for the DUCF file on a per-project basis.
- DinkeyRemote GUI - DUCF files created as email attachments use the Output file name value instead of the generic Update Code File.ducf as the attachment file name.
- Runtime code - improvements to algorithm that calculates machine IDs on Linux.
- DinkeyAddCmd and DinkeyRemoteCmd - fixed issue displaying French text.
- Fixed issue with linking 64-bit Delphi static API library (object file).
Version 7.6
Release 1 12 January 2022
Read important information about updating to this version.
- Runtime code - improvements to algorithm that calculates machine IDs for software keys and the Lock Dongle to Computer feature.
Release 0 28 September 2021
Read more about the new features and improvements.
- Added support for macOS on Apple silicon Macs.
- .NET Shell protection - added support for assemblies that target .NET Core 3.0 and newer on Linux on x64 (also known as x86_64 and AMD64) platforms.
- DinkeyServer - fixed bug causing error 937 when accessing a Net model software key.
- Fixed character encoding issue with messages displayed by command-line SDK utilities on macOS and Linux.
- Fixed character encoding issue with Shell messages.
- Fixed rare issue with DinkeyAdd GUI on Windows not rendering correctly.
- Fixed potential buffer overflow attacks on command-line programs and code that uses environment variables.
- The macOS runtime protection API library has been renamed from libDPJava64.jnilib to libDPJava64.dylib. The .dylib extension is preferred by the most commonly used Java implementations on macOS, such as OpenJDK.
Version 7.5
Release 1 14 September 2020
- DinkeyRemote API is now thread-safe.
- macOS and Linux - fixed very rare race condition calling DinkeyAdd, DinkeyChange and runtime protection APIs from multithreaded code.
Release 0 13 July 2020
Read more about the new features and improvements.
Read more about changes you may need to make.
- Added support for Linux on ARM systems. Aarch32 and Aarch64 are both supported.
- Added Linux Shell protection for binaries and shared libraries on x86 and x86-64 platforms.
- macOS SDK - now 64-bit only and supports OS X 10.10 Yosemite and newer, including macOS 10.15 Catalina. 32-bit files and files for older versions are available on request.
- macOS SDK - added DinkeyAdd and DinkeyRemote GUI applications.
- macOS SDK - API libraries updated to meet Hardened Runtime and notarization requirements.
- DinkeyAdd - fixed issue that caused error 493 protecting applications built with XCode 11.
- DinkeyAdd for Windows - 64-bit DinkeyAdd library now supports Shell-protecting .NET assemblies.
- Windows Shell protection - increased control of extra anti-piracy protection feature for native EXEs and DLLs.
- .NET Shell protection - added support for assemblies that target .NET Core 3.0 and newer on Windows.
- .NET Shell protection - fixed issue protecting classes that implement their own
Equals()
and/orGetHashCode()
methods.
Version 7.4
Release 0 2 August 2018
Read more about the new features and improvements.
Read more about changes you may need to make.
- Implemented Demo Software Keys: 'virtual dongles' that can be used in place of a physical Dinkey Pro or Dinkey FD device for evaluation copies of your protected software.
- Shell protection - Lock Dongle to Computer feature now works correctly for Shell-protected DLLs.
- Shell protection - other performance improvements and minor bug fixes.
- Improvements to machine ID calculation for Lock Dongle to Computer feature and software keys.
- DinkeyAdd - GUI now allows disabling extra anti-debugging and anti-piracy protections added in version 7.3.0. It may be necessary to disable either of these in rare cases.
- Linux DinkeyAdd and DinkeyRemote - front-end programs now search more intelligently for back-end libraries.
- Runtime - fixed bug with evaluating very complex algorithms with nested composite variables.
Version 7.3
Release 0 18 October 2017
Read more about the new features and improvements.
Read more about changes you may need to make.
- Shell protection - added extra anti-debugging technologies.
- Shell protection - improved runtime decryption of Shell-protected code.
- DinkeyAdd - now supports DAPF files in JSON format as well as the existing binary format. DinkeyAdd API updated to support reading and writing JSON DAPF files. DinkeyAddCmd has a new command-line option for converting DAPF files between JSON and binary formats.
- DinkeyRemote - now supports DRPF files in JSON format as well as the existing binary format. DinkeyRemote API updated to support reading and writing JSON DRPF files. DinkeyRemoteCmd has a new command-line option for converting DRPF files between JSON and binary formats.
- DinkeyServer for Linux - improvements to auto-detection of DinkeyServer by protected software.
- Runtime code - fixed issues with 'lock dongle to computer' feature on Windows 10 and macOS.
- .NET Shell protection - improved memory management at runtime.
Version 7.2
Release 0 7 October 2016
- DinkeyAdd and DinkeyRemote - these tools are now split into 3 parts: GUI front end, command-line front end and back-end library.
- DinkeyAdd and DinkeyRemote - command-line programs and libraries now available for macOS and Linux.
- DinkeyServer - fixed issue under macOS Yosemite and newer where the viewer could crash displaying network users.
- Windows GUI programs now resize correctly under different DPI settings.
- PDF protection - text search functionality added to protected PDFs.
- OS X runtime - fixed leak of Mach ports that could cause problems if checking the dongle frequently.
- Runtime protection API - implemented
DONT_RETURN_FD_DRIVE
API flag. - Runtime protection API - added support for 64-bit Filemaker.
- Runtime code - fixed issue with network users and spawning child processes. Previously, if a child process inherited handles from the parent, it could prevent the network user being freed correctly when the parent process terminated.
- Shell protection for native DLLs - if the shell starts a network user, the user is now freed when the DLL is unloaded. Previously the user was not freed until the calling process terminated.
- DinkeyWeb - superceded by Smartsign, deprecated and removed from the SDK. DinkeyWeb 7.2.0 files are available on request: contact our support team to request these files.
Version 7.1
Release 1
- Runtime code - changes to support detection of the flash drive part of a Dinkey FD on macOS El Capitan. Prior to this release all Dinkey FD protection checks on El Capitan would return error 598.
- DinkeyAdd - fixed bug that caused "incorrect date format" error when creating temporary software keys on Windows 10.
- Runtime - fixed bug that caused error 952 "detected USB port sharing over network" on Linux (this feature is not supported on Linux).
Release 0
- DinkeyAdd can now protect (encrypt) data files that are accessed by your Shell-protected software.
- New DinkeyAdd advanced option - block 3rd-party products that allow a local dongle to be shared by multiple computers on the same network.
- New DinkeyAdd advanced option - specify whether protected software checks for a temporary software key if no dongle is present.
- New variable in shell messages - "%L" is replaced by the licence name of the Shell-protected file.
- New shell message - you can now customise the error message displayed when DinkeyServer cannot be found.
- DinkeyChange - fixed bug restoring FD Lite which could give error 461 in some circumstances.
- macOS runtime code now searches for dongles in a more efficient way.
- DinkeyChange API functions are now fully thread-safe.
- DinkeyAdd can now save to DAPF files that are backwards compatible with older versions of DinkeyAdd.
Version 7.0
Release 1
- Runtime - fixed bug which can cause runtime code to crash while checking a temporary software key.
- DinkeyChange, DinkeyAdd and runtime code - improved code to reduce the possibility of dongle memory corruption.
- DinkeyAdd - Shell protection now supports programs built with Delphi XE5 and XE6.
Release 0
- Implemented Temporary Software Key feature. A 'virtual dongle' can be used to temporarily replace a damaged, lost or stolen dongle.
- Added support for protecting PDF files. Protected documents can be viewed on Windows only.
- It is now possible to lock a dongle so that it can only be used with protected software on one specific computer.
- Improved the speed of a protection check if you encrypt DRIS structure.
- .NET Shell protection now preserves the "All CPU" setting, rather than converting to 32-bit only or 64-bit only files.
- Shell protection - can now protect Windows services or other processes that are run in non-interactive accounts.
- Runtime - fixed potential 731 errors on Linux if many threads in a process try to access the dongle simultaneously.
Version 6.2
Release 3
- DinkeyAdd - fixed potential problem with Shell protection (64-bit) with Net dongles giving error 585/10038.
- DinkeyAdd - Shell method can now protect COM objects and ActiveX controls.
- macOS SDK - fixed rare problem where dongle cannot be recognised by our software on certain setups.
- DinkeyAdd .NET Shell - can now sign protected programs.
- Runtime code updated to fix very rare sporadic 486/32 errors.
- DinkeyServer - fixed rare bug that could cause client protected software error 580 with FD Net dongles.
- DinkeyAdd .NET Shell - can now protect programs that use the async/await features.
Release 2
- .NET Shell protection now compatible with 64-bit .NET executables. Framework dependency reduced. Fixed some problems with programs running on .NET framework 4.5.
- Runtime API - added 64-bit static API library (object file) for Delphi.
- Debug API libraries now export function
DDGetNetUserList()
to prevent linker errors. The function is not implemented by these debug libraries.
Release 1
- Shell protection - now detect Windows 8 Store Apps and give appropriate error messages.
- Dinkey FD - fixed rare error 1 bug.
- Shell protection - fixed problem with programs written using C++ Builder XE3.
- Runtime API - added support for C++ Builder XE3.
Release 0
- Shell protection - updated. Now also protects 64-bit Windows executables and DLLs.
- Shell protection - can now customise "background check" message.
- .NET Shell protection - updated. Now encrypts the whole executable. DLLs can also be protected.
- DinkeyServer - now supported on macOS 10.6 (Snow Leopard) or more recent.
- API libraries - implemented new function so the client can list the current network users.
- Linux SDK - 64-bit versions of DinkeyLook, DinkeyChange and DinkeyServer.
Version 6.1
Release 2
- macOS SDK - 64-bit API libraries now compatible with macOS 10.5 Leopard (previously it was 10.6 or higher).
- macOS SDK - implemented "calling program" feature for API libraries.
- macOS SDK - fixed bug so you can now call protection API and DinkeyChange API from same program.
- Windows SDK - fixed bug in API libraries that could cause crash.
- Improved Python sample and produced extension modules for Windows, macOS and Linux.
- Cython sample code.
Release 1
- Runtime - increased efficiency of runtime protection check if not using expiry date.
- DinkeyChange - improved security regarding updating "max days".
- Ada and RealBasic sample code created.
Release 0
- 64-bit API libraries for macOS.
- 32-bit and 64-bit static API libraries (object files) for Windows and macOS (already available for Linux).
- 64-bit DinkeyWeb libraries for Windows and macOS (already available for Linux).
- Changed DinkeyAdd so it separates licence information in the dongle from programs that you want to protect (DRIS, DAPF and DRPF structures are changed as a result of this).
- PHP extensions (for protecting PHP source code) now part of the SDK.
- DinkeyChange now much more efficient when adding/deleting/modifying many licences in one code.
- Some bug fixes to 64-bit DinkeyChange libraries.
Version 6.0
Release 0
- DinkeyAdd - can now protect files using wildcards (e.g. *.*) so you can protect multiple files to one set of protection parameters.
- DinkeyAdd - can now specify "virtual files" so you can specify protection parameters for separate modules or features within your program.
- DinkeyWeb - now supports JSP code.
- DinkeyChange debug libraries for all supported platforms.
- AutoCAD sample now added for Windows (uses ActiveX DLL).
- Extra command line parameters for DinkeyAdd and DinkeyRemote to make calling these program from your own GUI easier.
- Sample code in C, C# and VB.NET to call DinkeyAdd and DinkeyRemote with DAPF and DRPF files.
- Bug fixes for Dinkey FD Lite under Windows and macOS.
- DinkeyServer - uses caching under certain conditions - much quicker if many network users are started at the same time.
- DinkeyServer - can now automatically configure Windows Firewall to allow incoming connections from protected software.
- Net dongles - correct use of alt_prog_name if starting network user.
Version 5.9
Release 0
- Fixed DinkeyAdd .NET Shell protection bug (if program uses anonymous types).
- Fixed DinkeyServer bug - may start a new network user for each protection check.
- Added 4D sample code and API libraries for Windows and macOS.
- macOS SDK released (Intel only).
- Windows .NET Shell protection is now compatible with .NET version 4.
- Runtime library thread safety improved.
- Python sample code.
- Runtime - fixed bug if using version 5.8.0 or higher API library and older version of the DRIS.
- Linux - DinkeyServer now released.
- DinkeyAdd - fixed problem with Shell protection on some Delphi executables (delay-loading DLLs).
Version 5.8
Release 0
- Added sample code for C++ Builder, Dev C++ and MinGW.
- Improved inst script for Debian Linux machines.
- Added Fortran sample code.
- Fixed bug in debug API libraries if writing/reading data or en(de)crypting data and using USE_FUNCTION_ARGUMENT.
- Linux SDK released with 32-bit and 64-bit API libraries (but not DinkeyServer).
- Runtime code - can now specify machine name in <PRODCODE>.ini instead of IP address when overriding DinkeyServer auto-detection.
- Added FoxPro sample code.
- DinkeyAdd - fixed bug in algorithm sample code (for VB6 and Delphi) generated by DinkeyAdd for encrypting DRIS.
Version 5.7
Release 0
- 64-bit libraries released for protection API and DinkeyChange.
- Sample code updated to work with 64-bit API libraries (C/C++/C#/Java/VB.NET).
- Added
MATCH_DONGLE_NUMBER
flag so it is possible to get protection information for more than one dongle.
Version 5.6
Release 1
- DinkeyWeb re-released with improved sample code.
- Runtime code - DinkeyServer auto-detection improved. Must update both DinkeyServer and runtime code.
- Runtime code - can use an INI file to manually specify location of DinkeyServer instead of using auto-detection.
- Shell protection expiry warning message now only displayed once per day.
- DinkeyChange - fixed bug if extending the data area from 0 bytes.
Release 0
- New Dinkey FD range now supported (also backwards compatible with old Dinkey FD range of dongles).
- Debug API libraries released for C/C++.
- Fixed bug in DinkeyAdd Shell options (switched the wrong way around).
- Shell background protection check messages improved.
Version 5.5
Release 1
- Fixed bug auto-detecting DinkeyServer on the network.
Release 0
- Dinkey Pro Net and Dinkey FD Net models now supported.
- Shell protection now has options for starting a network user and decrementing the execution counter.
- LabVIEW sample code.
- Fixed bug in Shell protection incorrectly displaying the warning days message.
- Fixed bug in Shell protection method which caused some programs to crash on startup.
Version 5.4
Release 2
- DinkeyAdd Shell protection - fixed bug which could cause the protected program to crash on startup.
- DinkeyAdd .NET Shell protection - fixed problem protecting .NET C++/CLI programs.
- DinkeyWeb now supports ASP.NET (VB.NET and C#).
Release 1
- Shell protection now compatible with .NET programs.
- DinkeyAdd - can specify data area size instead of providing a file.
Release 0
- Added support for using DinkeyChange functionality via an API.
- DinkeyWeb released for PHP.
- Fixed problem protecting Flash executables with the Shell method.
Version 5.3
Release 2
- Strongly encrypted update codes implemented for DinkeyRemote and DinkeyChange.
- DinkeyRemote - fixed issue saving data changes to DRPF file.
Release 1
- Shell protection now works with Visual Studio 2008 applications and Windows Vista.
- Improved PDF user manual and help files, including quick tour guide.
Release 0
- Dinkey Pro Plus and Dinkey FD Plus models now supported.
- FDService - now Dinkey FD can be accessed for users with restricted access rights under Windows 2000/XP.
- Runtime - can get drive letter of FD dongle flash disk.
- DinkeyRemote - strongly encrypted update codes are not supported yet.
Version 5.2
Release 1
- Shell protection method - empty message box no longer displayed if welcome message is blank.
Release 0
- Shell protection implemented for 32-bit programs.
- Added FileMaker plugin.
Version 5.1
Release 2
- Modified VB.NET, C# and VB sample code so you can properly extract strings from encrypted DRIS.
- DinkeyAdd - command line options implemented.
Release 1
- Fixed various bugs in earlier release.
Release 0
- First release. Supports Pro Lite and FD Lite dongles only. Windows only. No Shell protection method.
Version 5.0
- Beta release.