Synergy/DE 11 delivers a higher level of application security, more resilient Synergy ISAM files, and improved performance. It also includes many new language and Visual Studio integration enhancements for better developer experience. It’s filled with features to enhance developer productivity and enable developers to create better applications.
Synergy/DE 11 also introduces and uses REV11 licensing, a revision to Synergy/DE’s licensing system that makes managing Synergy/DE product keys much easier.
A revision to Synergy/DE’s licensing system, REV11 licensing, makes your processes for managing Synergy/DE product keys much easier. Once REV11 licensing is on a machine, Synergy/DE License Manager on that system will communicate with the Synergy License Web Service, detect when new product keys are available, and automatically download and install them. You won’t have to touch the product keys on that machine again.
You do not need to maintain product keys for multiple Synergy/DE versions on your license server. REV11 licensing includes a “fuzzy matching” feature that enables you to run other versions of Synergy/DE with version 11 keys.
REV11 licensing is used with Synergy/DE 11, and it’s also used with Synergy/DE 9.3 – 10.3 systems via the REV11 licensing upgrade package. See the REV11 licensing page for more REV11 licensing information.
Support for OpenSSL 1.1.1, which will be an industry requirement when OpenSSL stops supporting lower versions in December 2019. Synergy/DE 11 is a required security update for applications that mandate security patch compliance and use OpenSSL on Windows. See OpenSSL.org’s release strategy page for information about their version support.
Ability for xfServer and xfServerPlus services to run as non-root/admin accounts via new “run as user” security mode on Windows and “effective user” on Unix.
Enhanced encryption security for the HTTP API, xfServer, xfServerPlus, and SQL Connection.
Enforcement of a higher TLS level. Version 11 defaults to TLS 1.2. TLS 1.0 is no longer supported.
Auto-recovery of resilient ISAM files on open. When ISAM files tagged RESILIENT are opened, they’re checked to determine if they’re out of sync. If they are, the open will automatically recover the file without user interaction (using a default xfServer running on port 2330).
Resilient ISAM file options. A resilient ISAM file creation option enables you to detect file corruption and recover from it. A new isutl option will automatically detect and repair just those files that are corrupt.
Full-resilient (11.1.1d) ISAM files exhibit the same resiliency as resilient files, but additionally all write operations are immediately flushed directly to disk, providing enhanced protection against system failure.
Ability to rebuild in-use ISAM files (using coordinated locking) with new isutl option. Exclusive access to your files is no longer required.
Improved ISAM file reliability and performance enable you to move closer to 24×7 computing.
Significant isutl performance improvements. Rebuilds are up to 10 times faster. (In testing, the rebuild time for one 20-GB file went from 40 minutes down to 5 minutes!)
Traditional Synergy Enhancements
Full support for ternary operators, including the null conditional operator and null coalesce operator, removing prior restrictions.
Support for new string methods (a subset of the .NET String class), including IsNullOrEmpty, Trim, Remove, Insert, Concat, and a subset of the .NET stringbuilder class.
Support for extension methods.
Improved .NET char type compatibility, for use in data files. The compiler now creates storage for two bytes (the second being a 0), so using char in a record is compatible with .NET. Note that char characters outside the ISO18559-1 range (0-255) are not supported in traditional Synergy.
Support for ^NAMEOF() function, which returns the name of a variable, type, or member. Includes the .toUpper() and .toLower() compile-time methods.
Improved support for high-DPI (4K) monitors in UI Toolkit and Synergy DBL’s low-level windowing routines. In addition to better sizing of elements and other enhancements, this support also changes the look of your applications’ windows to the default style used in Windows 7 and up. (Before Synergy/DE 11, the Windows XP window style was used.)
Visual Studio Integration Features
Visual Studio build system enhancements for Synergy .NET projects. Improved dependency-checking algorithms will result in a significant reduction in elapsed build times in many cases. (11.1.1c)
Improved hover-over information (QuickInfo) for type declarations for variables, fields, properties, etc. Added simple colorization and documentation comments (when available), and in some cases, type names are now fully qualified. (11.1.1c)
Significant performance improvements in Synergy DBL Integration with Visual Studio (SDI), including enhancements to Find All References and Solution Explorer search.
Order-independent, multi-schema repository load in Visual Studio. You no longer need to order your schema files before loading them into your repository.
Vastly improved large-solution load performance. A real-world, 196-project solution saw load times decrease from more than 8 minutes to about 12 seconds. And a 2000-project solution decreased from infinity to 2 minutes 15 seconds.
Support for Unit Testing in Traditional Synergy projects (11.1.1d).
Performance improvements to Synergy .NET runtime. Includes significant reduction in garbage collection for long-running processes.
Optimized code generation for improved runtime performance.
When strings are added (for example, string = stringvar + “1”), the compiler uses the String.Concat method, which generates fewer string temps. (Traditional and .NET)
When records are included in classes and fields are unused, the compiler creates fewer objects. (.NET)
Runtime enhancements for improved compute performance. (.NET and Traditional on Windows)
True 64-bit Synergy installers. The 64-bit Synergy installers, for use on 64-bit-only Windows servers, are now purely 64-bit and contain no 32-bit components. Applies to Synergy/DE 64-bit, Synergy/DE Client 64-bit, and xfNetLink .NET 64-bit.
Ability to match on a specified numeric value (of any type or size) when doing a READ or FIND on a numeric key in an ISAM file. Also, joins on numeric fields can now occur by value instead of by type and size, for example, On(Table1.d5 .eq. Table2.i4).
New Like method for the Select class, which enables you to perform wildcard searches to better filter your data.
HTTP API enhancements:
Support for HEAD and PATCH functions. PATCH is like PUT, except it’s used when only part of a resource is updated, for example a person’s last name. HEAD enables you to find out what a GET would return if you were to call it. HEAD only returns headers (without the response body you would get with a GET).
Support for chunked encoding. The content can be broken up into chunks, each of which is prefixed by its size in bytes. This feature is useful when a large amount of data is being returned and the total size of the response may not be known until the request has been fully processed.
Support for base64 encoding and decoding via a new Synergex.SynergyDE.DataEncoding class with ToBase64, FromBase64, ToBase64URL, and FromBase64URL methods.
Improved support for high-DPI (4K) monitors in UI Toolkit and Synergy DBL’s low-level windowing routines. In addition to better sizing of elements and other enhancements, this support also changes the look of your applications’ windows to the default style used in Windows 7 and up. (Prior to Synergy/DE 11, the Windows XP window style was used.)
Improved vtxnetd logging.
(Windows) New Synergy Configuration Program option (and rsynd command line option) to export a configuration file you can use to initialize your xfServer/xfServerPlus services. This feature is useful when setting up multiple systems and when re-initializing systems after uninstalling Synergy/DE.
SQL Connection API Support for MySQL 8 on Windows and UNIX systems (11.1.1d).
Global I/O Hooks; a new mechanism to allow I/O hooks to be added to channels within an application without making any changes to existing code. (10.1.1d)
Synergy/DE Platforms and Requirements
Synergy/DE 11 is available for the following platforms: Windows, Linux, IBM AIX, and OpenVMS Integrity, OpenVMS Alpha, HP-UX Itanium, and Oracle Solaris. See our platforms page for more details.
Synergy/DE 11 requires REV11 licensing. Synergy/DE 9.3 – 10.3 systems can also use it via the REV11 licensing upgrade package. REV11 licensing is recommended but optional for Synergy/DE 9.3 – 10.3 deployment licenses (for production systems). As of November 1, 2019, all Synergy/DE DevPartner (developer) licenses issued or renewed will require REV11 licensing.
SDI updates for Synergy/DE 10.3+ will be provided via Synergy/DE version 11 builds, which require the REV11 licensing upgrade package. SDI 11.0.3 was the last SDI release published on the 10.3.3g downloads page and the last SDI version supported with pre-REV11 licensing.
PSDE and PSW keys enable products differently. A PSDE11 key enables SDI and Synergy/DE’s “core tools” (compiler, Repository, etc.), while a PSW11 key enables only the Workbench editor. When you upgrade to Synergy/DE 11, if you use Workbench, you’ll receive a PSDE11 key and a PSW11 key. If you don’t use Workbench, you’ll only receive a PSDE11 key. This change was made to improve product usage tracking and should not affect your use of your Synergy/DE products.
Visual Studio 2015 is not supported.
Windows 7 and Windows Server 2008 R2 are not supported.
The minimum Oracle Solaris version supported is Solaris 11.
The minimum Synergy ISAM revision supported is revision 4.
Synergy/DE 11 is a required security update for applications that mandate security patch compliance and use OpenSSL on Windows. Version 11 supports OpenSSL 1.1.1, which, after December 2019, will be the only OpenSSL version getting security patches. See OpenSSL.org’s release strategy page for information about their version support.
TLS 1.2 is now the default protocol, and TLS 1.0 is not supported. If you specify the TLS level for HTTP API or SQL Connection or the security compliance level (SCL) for xfServer or xfServerPlus, you may need to change the value you specify.
Synergy/DE 9.3.1 is the minimum upgrade version. The Synergy/DE 11 installation does not support upgrades from versions lower than 9.3.1 (because we cannot ensure that upgrading from these older versions will be successful). If you try to upgrade to Synergy/DE 11 on a system with an earlier version, the Synergy/DE 11 installation will tell you to uninstall your current version and then install Synergy/DE 11. If you’re using a Synergy/DE version prior to 9.3.1, we recommend that you first upgrade to Synergy/DE 10.3.3g, and then upgrade to Synergy/DE 11.
For Synergy/DE Client machines, a new C/C++ runtime version may be required for Windows 8. Synergy/DE 11 on Windows was built with a newer version of the C/C++ runtime, which requires machines running Synergy/DE 11 also to have that newer C/C++ runtime. Windows machines higher than Windows 8 already have the correct C/C++ version. When you install Synergy/DE 11 on Windows 8, the installation will update the C/C++ runtime if needed. But if you have an existing Synergy/DE Client installation on Windows 8, and you upgrade your server to Synergy/DE 11, you may need to manually update the C/C++ runtime on the Synergy/DE Client machine (or upgrade your Synergy/DE Client). To download the C/C++ runtime, go to Microsoft’s Visual Studio downloads page, scroll to the bottom and click Other Tools and Frameworks, then download the Microsoft Visual C++ Redistributable for Visual Studio 2019.
If you have .NET Core projects in Visual Studio when you install Synergy/DE 11, the compiler, runtime, and other tools associated with those projects won’t change until you explicitly upgrade those projects to Synergy/DE 11.
New WiX installations will affect your product installations if you use Synergy/DE’s command-line interface. If you execute the Synergy/DE installation from within your product’s installation, you may need to update your installation.