10.3.3g update is now available!
Download 10.3.3g for important quality improvements on all platforms. See below to learn about the features in the current Synergy/DE release, 10.3.3.
You can develop traditional Synergy applications in the Visual Studio development environment, giving you access to the extensive developer tools available with Visual Studio. You can import projects from Workbench and create new projects from directories of source. This capability supports OLB, ELB, and DBR projects as well as multiple mainline projects. And you can perform parallel builds at the command line with MSBuild. See Visual Studio Integration for more information.
Many enhancements to traditional Synergy in Visual Studio make it easier for you to move your development to Visual Studio and be more productive when you get there. Features include
You can now add pre-build and post-build events to Synergy Repository projects and traditional Synergy projects in Visual Studio via the Build Events page in Project Designer. Also, for all project types (traditional Synergy, Synergy .NET, and Synergy Repository), a new “Run the pre-build event” option that enables you to set a pre-build command to run
Project Only build operations (Synergy/DE 10.3.3e and up) enable you decrease build times by letting you specify which projects to build. These are project-specific versions of the Visual Studio build, rebuild, and clean commands.
The SORT statement now makes better use of memory. It determines optimal memory usage to avoid excessive intermediate I/O. A significant performance improvement may occur when sorting large files and when re-indexing large files with isutl. Tests have shown speeds of up to 10 times faster in very large files. The Select class, which uses SORT on large selections using Orderby.Ascending and Orderby.Descending, as well as remote SORT over xfServer, may also see improved performance with this feature.
A new Repository project type enables you to generate repositories from schema files and do dependency analysis for existing repositories.
Includes new project templates. .NET Standard libraries can be added to UWP applications written in other .NET languages. (.NET Standard libraries replaced portable class libraries (PCLs), which Microsoft deprecated.)
(10.3.3d) The compiler may detect errors in your code that previous versions did not. This provides significant performance improvements in some customer scenarios. For more information, see “Don’t Pass the Buck to the Runtime” and Synergex KnowledgeBase article 100002319.
When you declare a simple property, the compiler creates a private anonymous field and get/set methods behind the scenes. The field can be accessed only through the get and set methods. A number of modifiers are available: READWRITE, READONLY, SET PROTECTED, SETPRIVATE, SETINTERNAL, and SETPROTECTEDINTERNAL.
The Synergy/DE documentation has a new platform that enables us to update it more frequently, and its responsive design allows you to view it on a variety of devices. You can also install a local version of the documentation.
The new %SYN_DEBUG routine enables your traditional Synergy program to determine if it is running in debug mode and if it was compiled in debug mode.
VSI OpenVMS’s next 8.x release will include a new TCP/IP stack. Customers updating to the new VSI OpenVMS release will require Synergy/DE 10.3.3c or higher.
The new SET TRAP IGNORE error_list command tells the debugger to break on all errors and exceptions except those listed. Syntax checking for the SET DBGSRC command is also improved.
The new -f option shows, for each routine, the MDB flags, the compilation version, and all routines that are called. The link version, endian type, and bit size of the DBR or ELB file are also displayed. (Windows, Unix)
Informational warnings are now generated for alpha fields with binary data, JJJ types now accept 366 for a leap year, messages for several errors now include the header, and other error messages have been updated to include the field name.
A new inner join method enables you to join two Select objects together. The Select Join feature identifies records from two or more tables/files to join. It enables you to combine data from multiple Synergy DBMS sources and provides functionality similar to SQL92’s high-speed Inner Joins and Left Outer Joins.
You can now compile to an earlier version of the runtime (as far back as version 9.5.1), enabling you to take advantage of the latest features and fixes without having to upgrade customers who aren’t ready to upgrade. For more information, read “Pick a Version, Any Version.”
A new RUNTIME_TARGET define enables you to programmatically determine the runtime target that was specified when the program was built. This enables you to conditionally compile based on the targeted runtime version. For example, “.if RUNTIME_TARGET >= 10030300 …” lets you specify code that will only be used when the Synergy runtime is 10.3.3 or higher.
Like a regular lambda, an inline lambda enables you to define a function object at the point where it is invoked or passed as an argument to a function. It provides a way to generate inline methods that have access to variables within the method in which the lambda is declared. Inline lambdas enable you to write more concise code. (.NET)
10.3.3 includes many enhancements to Synergy’s support in Visual Studio, including
Additional enhancements to Synergy’s integration with Visual Studio provide you with the latest developer tools.
There are significant performance enhancements in 10.3.3 prototyping of traditional Synergy applications. Instead of many small files, a single .dbp file now contains all routines, and SYNDEFNS and -qdefns now allow wildcards. Note that with the enhancements, you’re likely to find new errors in your code. See “The ‘Types They are a Changin’” for more information.
Additional performance improvements in dblproto result in prototyping that’s up to six times faster on large projects.
In addition to the improvements mentioned previously, Synergy/DE on .NET now defaults to an xfServer connection per AppDomain without requiring S_SERVER_THREAD_INIT. This provides better support for the WCF and IIS services model, using AppDomains for state control. 10.3.3 also includes significant fixes for xfServer/xfServerPlus on OpenVMS.
10.3.3 includes OPENSSL encryption for OpenNet. This enables you to enhance data privacy and security and provides compliance with HIPAA and PCI regulations.
The Synergy/DE products that use TCP/IP now support the internet protocol IPv6. This includes xfServer, xfServerPlus, the Synergy socket API, the HTTP document transport API, lmu (on Windows), and Connectivity Series. This provides the ability to support additional addresses, more efficient routing, and modern networks of mobile devices. For more information, see “IPv6 is Coming! IPv6 is Coming!”
A new Sparse class in the Synergex.SynergyDE.Select namespace enables dynamic binding of sparse Select fields in a similar manner to SQL Connection. It takes a variable number of field arguments, and its objects can be dynamically combined using the .AND. operator.
New methods enable you to create a string from a memory handle and vice versa.
(10.3.3g) Synergy DBL Integration with Visual Studio requires .NET Framework 4.7.2.
As of 10.3.3e,
(10.3.3d) Support for Windows 10 Fall Creators Update.
Most Synergy/DE updates include many fixes throughout the Synergy tool suite. For a complete list of the latest changes, see the release notes in the Synergex Resource Center or when you download the latest update.