Bringing Synergy solutions into the future

Synergy/DE 12.3, the latest version of Synergex's flagship development and deployment platform, gives you access to current technologies and helps you improve the reliability and delivery of your solutions. Version 12.3 is a long-term support (LTS) release, which means we’ll only add quality and security improvements to it—no new features. Synergy/DE 12.3 will be supported until March 8, 2028 or one year after the next LTS release, whichever is later.

Synergy/DE 12.1, Synergex’s first long-term support (LTS) release, launched April 1, 2022, and will be supported until April 1, 2026.

See below for 12.3 and 12.1 highlights and see our documentation for additional feature details. (From the version drop-down, specify 12.3 or 12.1, then search for the feature you are interested in reading about.)

Access release notes from the Release Notes page in the Synergex Resource Center. Specify a version or date in the Filter to view release notes for a specific release or for a range of releases.

See our blog for product announcements and technical articles, and our Release Strategy page for details about LTS and feature releases.

Synergy/DE 12.3

Synergy/DE 12.3 includes the following features.

  • Support for OrderBy on joined tables in the Select class. This feature enables you to order joined tables inside the Select feature in both traditional Synergy and Synergy .NET for local queries as well as queries over xfServer. Sorting results by ordering data in joined tables opens up a number of possibilities for optimizing Select operations. Also, joined tables are used extensively by Harmony Core, and the addition of this language feature will subsequently enable more Harmony Core enhancements.
  • Language support for inline variable declarations in FOREACH statements in both traditional Synergy and Synergy .NET. This is a quality-of-life improvement for Synergy developers that enables you to declare FOREACH loop variables within the FOREACH statement. It supports both explicit and implicit typing.
  • New isutl -b and -ex options for managing free space and file allocation in ISAM files, specifically introduced to prevent issues for ISAM files that receive millions of small record writes and run into Windows file system limitations.
  • Support for OpenSSL 3.0 and 3.1. Whether you’re using the HTTP document transport API, xfServer, xfODBC Client, or any other Synergy component requiring encryption, the latest and most secure options are now available to you. With the recent end of life for OpenSSL 1.1.1, now is a great time to start planning your OpenSSL 3.0 rollout for your systems, products, and customers.
  • Select class performance enhancements for small result sets, offering up to 65% improvement for some complex Select operations.
  • Synergy .NET support for .NET 8. The Synergy .NET runtime is now built with and targets .NET 8.
  • Support for Synergy targeting .NET 6 and higher on Linux-based operating systems. Combined with the latest versions of Synergy DBL Integration for Visual Studio (SDI) and its powerful remote debugging, Synergy .NET on Linux opens the door to improved developer experiences, increased tool and library availability, and much more. The release includes runtime support for
    • Targeting .NET 6, .NET 7, and .NET 8 Preview on Linux-based operating systems
    • Most low-level windows and Toolkit APIs when targeting .NET 6+ on Linux
    • Most low-level windows and Toolkit APIs—in a Linux-consistent style—when targeting .NET 6+ on Windows.

    Note: Existing .NET Framework support has not changed; if you are targeting .NET Framework, you can continue to do so with full support.

    For many of you, this support will provide an easier path to .NET and all the benefits that come with it, including a huge ecosystem of classes and libraries. Integrating with other applications and data is much easier when you have a .NET application. For general .NET info, see Microsoft’s answer to “Why Choose .NET?”

    If you’re running on Linux now and you’re using Harmony Core with part of your solution, you already have a foot in the .NET 6+ door. Your Harmony Core–enabled software can now run on Linux, and you can port more of your software to run on Linux via Synergy .NET.

    If you’re on Linux but not yet using Synergy .NET or Harmony Core, you can now step into .NET more easily, and you can do so incrementally. 

    Another exciting aspect of Synergy support for .NET 6+ on Linux is that it gives our Professional Services team a new avenue when helping customers move their solutions forward. They can now assist you in moving to .NET for Linux, and they can take advantage of the .NET ecosystem there when looking for the best solutions to meet your project requirements.

    For additional information, see our documentation on Synergy .NET Development.

Synergy/DE 12.1

Synergy/DE 12.1 delivers features that help developers interface with current web services and websites, including support for .NET 6, which Microsoft called “The Fastest .NET Yet,” as well as enhancements to xfNetLink .NET. Version 12.1 also has features to improve application deployment, such as TCP/IP licensing on Linux (enabling Synergy applications to run in containers) and encryption enhancements. See more about these features and other highlights below.

Synergy .NET Support for Microsoft .NET 6

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


Encryption Enhancements

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.


Other Highlights

  • 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.


Quality Improvements

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.