Synergy/DE 12.1 delivers features to help developers interface with current web services and websites including support for .NET 6, the latest version of Microsoft’s development framework, which they call “The Fastest .NET Yet,” as well as enhancements to xfNetLink .NET. Version 12.1 also has features to improve application deployment, such as new TCP/IP licensing on Linux (enabling Synergy applications to run in containers) and encryption enhancements. Update to version 12.1 and use the latest Synergy/DE tools to keep up with current technologies and stay ahead. See more about these features and other highlights below, and for more 12.1 details, see our announcement and documentation.
Synergy/DE 12.1 is Synergex’s first long-term support (LTS) release, which means we will only add quality and security improvements to it—no new features. The features in Synergy/DE 12.1 were first delivered in 12.0 feature releases, the first in September 2021 and the second in February of this year. We will continue to deliver new features via upcoming 12.1 feature releases. See our Release Strategy page for more information.
Synergy now supports .NET 6 (formerly .NET Core) as an alternative to .NET Framework in all the places where Synergy and .NET meet, including
Building and deploying Synergy .NET applications with .NET 6
Using the .NET Assembly API to embed and execute .NET 6 code from traditional Synergy
The introduction of a new xfNetLink .NET client built with .NET Standard 2.0, including a new object pooling mechanism (COM+ is not available in .NET 6)
Making all of the ancillary libraries (XML API, SQL Connection API, Repository API, etc.) available as NuGet packages
OpenSSL on Windows has been replaced with Microsoft Secure Channel APIs that are part of the Windows operating system. As a result, you no longer have to download and deploy OpenSSL and no longer need to create and provide “CA Files” to use the HTTP document transport API securely.
Also, Synergy now validates certificates for authenticity, revocation, and expiration when they are used to establish secure connections. IMPORTANT: THIS CHANGE COULD BREAK YOUR ENVIRONMENT. If you use any cryptographic certificates in your Synergy environment (for example, when enabling encryption for xfServer or xfServerPlus or on private web servers accessed with the HTTP document transport API), be sure to review them before you upgrade to Synergy 12. Otherwise, when you upgrade, services with invalid certificates may fail to start.
TCP/IP Licensing for Linux (License Forwarding)
With the new TCP/IP licensing for Linux, you can now enter the name of a Windows license server when you configure licensing on a new Linux system. This enables you to share concurrent-use licensing across multiple Windows and/or Linux systems and/or VMs, without having to license each system individually (especially helpful to developers). This new feature also enables Synergy applications to run in containers, which opens up many new opportunities, including the ability to deploy Synergy applications in the public cloud.
xfNetLink .NET Enhancements
The xfNetLink .NET library is also now distributed as a NuGet package.
The gencs utility now generates a C# project file that you can use with Visual Studio, MSBuild, or the dotnet build utility to build a client assembly.
In .NET Framework applications, several new environment variables can now be used to specify configuration settings in all environments.
A new pooling mechanism has been added via the BlockingPooledObjectPolicy class.
Support for Windows 11 and Windows Server 2022.
New functions %CREATE_SERVER_CONNECTION and %DESTROY_SERVER_CONNECTION and new SERVERCONNECTION OPEN statement qualifier enable applications to connect concurrently to multiple xfServer instances. (Windows and Unix)
GroupBy class for use with Select statements provides a subset of a SQL “GROUP BY” clause functionality.
.NET GRFA support for READ, READS, WRITE, and WRITES statements when using stream, sequential, relative, and block files.
Limited support for Global I/O hooks on OpenVMS plus support for %DATETIME_TO_I8 and %DATETIME_FROM_I8 there.
Improved re-index performance in isutl, particularly when processing very large files.
Synergy/DE 12.1 includes numerous quality improvements across all products. See the release notes for your products for details, accessible from the Downloads page.
SDI Improvements (released separately)
Synergy DBL Integration for Visual Studio (SDI) follows its own, more frequent release timeline (separate from Synergy/DE). Many SDI features and quality improvements were released the few months prior to the Synergy/DE 12.1 release. See the release notes for a list of all changes.
New Synergy Script project template, which creates a project configured to manage UI Toolkit Window Script (.wsc) files (the source code for a UI Toolkit Window Library) and automates the process of compiling the script(s) to create a Window library.
Compatibility with version 12 Synergy .NET runtime and accompanying libraries built to target .NET Standard 2.0.
Note that SDI now enforces a minimum .NET Framework version 4.7.2 for Synergy .NET projects. When opening a solution, SDI will automatically upgrade any Synergy .NET projects that target older Framework versions, altering them to target 4.7.2. This may impact your ability to build if you have non-Synergy projects that reference Synergy .NET projects and target a lower Framework version. If you do experience build problems, check the warnings produced by your Visual Studio build for details on .NET Framework targeting issues.
Added support for Visual Studio 2022, Microsoft’s first 64-bit version of Visual Studio.
The higher memory availability with the 64-bit architecture yields noticeable benefits in several areas, not least of which is the improved speed at which projects load when opening a solution.
Improved SDI installer. The files deployed are now compatible with Build Tools for Visual Studio 2019, which makes it easier to set up build systems supporting Synergy project builds without requiring the Visual Studio IDE.
Synergy .NET Compiler enhancements, including INITONLY properties, where the value of the field cannot be changed once it is created; covariant return types, which can be used to avoid casting between types; nullable regions, where a level 3 warning error is generated if a potentially null variable, field, etc., is assigned to a non-null variable.
Color coding for keywords, types, etc. for repository schema files.
IntelliSense support for the new .NULLABLE enable/disable compiler directives, and IntelliSense now supports the null forgive operator (!.) and the null conditional operator.
Synergy .NET Core projects created with earlier versions can now be configured to target .NET 5 and .NET 6, and the SDI build
Support for loading and running unit tests for Synergy .NET Core projects in the Test Explorer window, and we have added a new “Unit Test (.NET Core)” project template.