Release Notes
ASNA Visual RPG® (AVR)
Version: 17.0.34.0
Release date: 2024-08-01
Important notices
If you are upgrading from an earlier version of AVR, you may be effected by the changes to the ASNA Runtime (see ASNA Runtime Changes below).
Be sure to see the Visual Studio 2022 and .NET Framework requirements immediately below.
Microsoft made changes to the Visual Studio 2022 debugger and those changes are causing intermittent errors with AVR 17.x's debugger. These issues are more likely to appear in ASP.NET apps. R&D is currently researching this issue.
What's new for Visual RPG 17.0
- Visual Studio 2022 support. You must use Visual Studio 2022 17.2 or higher.
- Visual RPG for .NET 17.x requires .NET 4.8.
AVR 17.x requires .NET Framework 4.8 for both development and runtime.
Be sure to see the note in the "Software Requirements" section about the KB3118401 Windows update required.
If you intend to install Visual Studio 2022's local help, don't miss the note about that in the DataGate Studio and Visual Studio 2022 and Local Help Support sections below.
Software Requirements
Platform support/product requirements
Platform support and product requirements are detailed on our Product Requirements page
Visual Studio Editions
Platform support and product requirements, including Visual Studio, are detailed on our Product Requirements page
Local Help Support
Visual Studio 2022 treats local (offline) as an optional component. As such installing it requires some additional steps:
When installing Visual Studio 2019:
- Under the Individual Components tab.
- On the Code Tools section.
- Enable the Help Viewer component.
To verify the Help Viewer is installed, look at the top of the Help Menu in Visual Studio. The following three options should be visible at the top of the menu:
- View Help
- Add and Remove Help Content
- Set Help Preferences
vs-2022-local-help
The following Visual Studio Workloads must be installed:
- .NET Desktop Development
- ASP.NET and web development.
Known Issues
Database Name change
DataGate 17 features secure database name storage using Windows DPAPI.ASNA has always recommended using *PUBLIC
database names for websites. In v17, we further recommend always using the *Public
prefix explicitly when referencing database names in website applications, including Monarch. Otherwise, applications may encounter run-time exceptions that include phrases such as "user profile not loaded" when Windows DPAPI is used in IIS sessions running with anonymous or impersonated credentials.
For example, an AVR-based website might have code similar to the following, which references a DG database name in a DCLDB statement as follows:
DclDB Name(MyDatabase) DBName("IBMSERVER") Access(*Public)
We strongly recommend changing this statement as shown below:
DclDB Name(MyDatabase) DBName("*Public/IBMSERVER") Access(*Public)
If changing existing code is impractical, the only way to avoid errors is to ensure that the configuration of the IIS application pool in which the
website runs includes the setting "Load User Profile = True".
Note that this setting may reduce the performance of large-scale website applications.
Configuring IIS is Windows- and version-dependent, but generally follows this set of steps:
1. Open IIS Manager.
2. Under the Application Pools node, select the Application Pool that the website runs under.
3. On the right-hand panel, select "Advanced Settings...". A property dialog appears.
4. Scroll to the Load User Profile setting, and ensure that it is set to True.
5. Restart IIS.
Websites may produce "user profile not loaded" exceptions mentioned in the release Notes, even when database names are referenced with the recommended "*Public/" prefix. If so, you must configure the "Load User Profile = True" IIS Application Pool setting (also mentioned in the Release Notes) as a workaround. It is highly recommended to remove this workaround when you install the release of DataGate.
database-name-change
Secure Sockets Layer (SSL)
The DataGate client software contained in this release significantly changes the way Secure Sockets Layer (SSL) connections are configured. DataGate SSL support was introduced in Version 15 as an option for secure network communications between DataGate clients and servers.
In prior releases, DataGate client connection configurations, by default, specified an SSL-enabled connection. This allowed many users to enhance the security of their applications by simply installing the new, SSL supporting DataGate release. Unfortunately, other customers experienced connection and security issues due to shifting standards and evolving platform infrastructure supporting SSL, as offered by Windows and IBM i.
In this release, DataGate client users must now "opt-in" when configuring new connections secured with SSL. When a new connection configuration is created, the default setting is to specify a non-SSL, or "clear-text" connection to the server.
DataGate connections are typically configured as "database names". A database name is a collection of properties defining all the information needed to connect to a DataGate server from the client computer. Existing database names are not affected by this change, but new database names are affected:
Database names created by prior releases retain the same SSL configuration as they had when created or modified.
The default configuration of new database names will specify non-SSL connections.
Creating SSL-Enabled Database Names
Online documentation linked below fully details the process of creating an SSL-enabled database name configuration using DataGate Studio. The process is very similar for users of DataGate Monitor.
[Read more about DataGate's SSL support](https://docs.asna.com/documentation/Help150/DataGate/SSL/_HTML/DataGateSSLClient.htm)
Other DataGate SSL Options
DataGate offers many options for enhancing the security of its client/server connection with SSL. For full details of options available for both the client and server, please [consult the online documentation.](https://docs.asna.com/documentation/Help150/DataGate/SSL/_Helphome.htm)
Configuring DataGate Connections Programmatically
Connection configurations are represented in DataGate as instances of the SourceProfile class in the DataGate .NET API. While most users and applications will configure connections via database names, some programs use the DataGate API directly.
Users of the SourceProfile class are advised that the changes in this release may represent a **breaking change** to the behavior of your programs. The default value of the SourceProfile.SslOptions property is now SslOptions.None; in previous releases the default value was SslOptions.Request. If your program does not explicitly set this property, connections made with the SourceProfile instances you create will be clear-text, rather than SSL-enabled.
If you directly create and use SourceProfile instances in your programs, ASNA highly recommends modifying them to explicitly set SourceProfile.SslOptions before deploying this DataGate release.
Database Name Migration From Non-SSL Releases
Database names created by DataGate releases prior to Version 15 do not contain SSL-related configuration information. When these database names are read by Version 15 software, the configuration is migrated to include SSL configuration options. Prior to this release, those migrations would enable SSL connections, unless otherwise explicitly changed by the user. Henceforth, automatic database name migrations will disable SSL in the connections they represent.
Users who deploy applications using the database names contained in configuration files created with prior, non-SSL supported DataGate releases are advised that changes in this release may represent a **breaking change** in this deployment strategy, for reasons outlined in the previous paragraph.
ss-info
ASNA Runtime Changes
Version 15.0 of the ASNA family of .NET products introduced two changes in some ASNA DLLs. If you are upgrading from a previous release ASNA family release the following may apply to you.
1. ASNA.VisualRPG.Runtime.DLL expands into three new DLLs
The first change is that ASNA.VisualRPG.Runtime.DLL expands into three new DLLS:
* ASNA.Runtime.DLL
* ASNA.Runtime.Support.DLL
* ASNA.Runtime.Monarch.DLL
This increased granularity was made to better match library improvements and DLL changes to the various ASNA products that use them. The details of this three-way split are shown below in Figure 1.
![](https://asna.com/media/images/version15.x-dll-changes-1.png?2)
Figure 1. Version 15.0's new DLL structure
In Figure 1 above the namespaces each DLL provides is shown prefixed with {}. You can see that although ASNA.VisualRPG.Runtime.dll has been split into three DLLs the same namespaces are provided in the new DLLs. The version 15.x DLLs also provided a few new additional namespaces beyond what's shown in Figure 1.
To maintain backwards compatibility of version 15.0 with previous versions we ship an ASNA.VisualRPG.Runtime.dll
library which forwards requests for any of the four original namespaces that where in that DLL to the corresponding new DLL. We will stop shipping the ASNA.VisualRPG.Runtime.dll
with the next major version of ASNA .NET products. This forwarding version of this DLL will be available as a separate download.
2. ASNA.VisualRPG.Common.Sgml.dll has been deprecated.
The second change is that ASNA.VisualRPG.Common.Sgml.dll
has been deprecated and its code has been moved to ASNA.Runtime.dll
. This change mostly affects customers using Mobile RPG and Wings.
Changes you need to make because of these DLL changes
There are no coding changes you need to make in your projects because of these changes. The only changes you need to make is adding and/or deleting references. For new 15.x projects the correct project references will already exist.
- For all project types:
- Remove references to
ASNA.VisualRPG.Common.Sgml.dll
In addition to removing that reference:
The ASNA.Runtime.* DLLS are located at:
C:\Program Files (x86)\Common Files\ASNA Shared\Client\16
For more details on the runtime changes click here.
dot-net-runtime-changes
Downloading with Microsoft Edge
If this software is downloaded via Edge you may receive a message stating that this file "is not commonly downloaded" when attempting to install it. In this event click the View Downloads button, select the ASNA product to install from that list, and confirm that you'd like to install it.
Similarly, attempting to install the software directly through Microsoft Windows may cause a "Windows protected your PC" message to appear. In this event click the small More Info
prompt on the left, and click Run Anyway
on the following window.
windows-installation-note
Changes Since Version: 17.0.31.0
Clients - DataGate
- Support DSS-style SQL instance host syntax in DG Linear. Requires SQL Browser support for multi-instance servers.
DataGate Server
- Case 21705. DG8_START timeouts can cause DG/400 service to end unexpectedly.
Serengeti - Code Generator Tools
- Case 21726. Nomad tools for refreshing file info generate bad workstation file paths.
Visual RPG IDE Project
- Case 21704. AVR Debugger Errors - Fix parsing of dotted expressions. Fix bug in getting types off assembly references.