Release Notes
ASNA Wings®
Version: 11.0.35.0
Release date: 2024-08-01
Important notices
See the Software Requirements section below for platform support.
If you are upgrading from an earlier version of Wings, you may be effected by the changes to the ASNA Runtime (see ASNA Runtime Changes below).
Be sure to read about the IBM i System Value requirements below.
Special action required when updating .NET (aka .NET Core)
The following notice is for customers using Wings 11.0 to produce Razor pages. It does not apply to customers using Wings 11.0 with .NET Framework's WebForms.
If you update .NET (aka .NET Core) you need to uninstall/reinstall Encore 4.0, and Cocoon 11.4, and Wings 11.0 if they are installed. NET can be updated directly or through a Visual Studio update. We require this because in order for the SDK to resolve properly and the templates to be available to all users, we must install certain files to versioned
dotnet
directories (currently C:\Program Files\dotnet\sdk\[version]
and C:\Program Files\dotnet\templates\[version])
. When the repair is performed, we re-install these components to the updated version directories.
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
Software requirements
**Visual Studio Editions**
Platform support and product requirements, including Visual Studio, are detailed on our [Product Requirements page](https://asna.com/en/support/product-requirements)
**Platform support/product requirements**
Platform support and product requirements are detailed on our [Product Requirements page](https://asna.com/en/support/product-requirements)
**Supported Web browsers, smartphones, and tablets**
browser-mobile-client-support
Installation Notes
Only one installation of Visual RPG, Windows Deployment, or DataGate WebPak may be installed on a single machine. The Windows Deployment and WebPak components are subsets of what is
contained in the AVR installation package.
ASNA Wings is composed of several items, some of them are used exclusively at design time, others at design and run time, there are items installed on the Windows machines and there
are others installed on the IBM i.
These are the ASNA components used at design time:
- Wings Design Aid 10.0 (WDA). The WDA package includes DataGate client, Terminal Emulation support, Wings support and Visual RPG support.
- DataGate 16.0 for IBM i (includes the Wings Handler).
- ASNA Monarch Collector 3.1.
For run time, the ASNA components needed are:
- DataGate WebPak (includes DataGate client, Terminal Emulation support, Wings support and Visual RPG support)
- DataGate 17.0 for IBM i (includes the Wings Handler)
The download packages on this page include the components for WDA, Monarch Collector and WebPak. The downloadable package for DataGate 16.0 for IBM i can be found [here](https://asna.com/us/tech/downloads).
Installing Microsoft's latest service packs, high priority and optional software updates for Windows, the .NET Framework, and Visual Studio 2019 is highly recommended.
**Windows optional update KB3118401 is _required_ for correct operation of version 16.0. See [https://support.microsoft.com/en-us/kb/3118401](https://support.microsoft.com/en-us/kb/3118401) for more detail.**
The Wings Design Aid WDA has been tested on the following operating systems:
- Windows 8.1 Pro 32 and 64 bits
- Windows 10 32 and 64 bits
**Caution:** Ensure neither Visual Studio, its installation, nor any Visual Studio update is running at the time of Wings installation, as it may cause conflicts.
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
Considerations for 10.0/9.0 side-by-side installations
Wings 10.0 is able to coexist with Wings 9.0 but earlier versions are not supported. Installing Wings 10.0 on a machine with Wings 9.0 will upgrade the runtime components
(DG Client, Monarch Controls, AVR Runtime) to the level required by Wings 10.0. Both versions of Wings on the machine will remain usable for development purposes, but any
assembly created by either will **require** Wings 10.0 Deployment or WebPak when put into production.
To avoid potentially serious errors, be certain to update to the latest version of the older family before installing the newer family.
Silent Installation Process
Wings supports silent installations. See the Installation section of the [Readme](https://docs.asna.com/documentation/Help160/Readmes/Wings_100_Readme.htm) file for more detail.
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
Licenses Needed for ASNA Wings
ASNA Wings requires license keys on the Windows and IBM i machines.
On the developer Windows machine apply these license keys (Using the Registration Assistant):
- Wings Design Aid 10.0 (Look under Monarch on the Registration Assistant tree)
On the IBM i apply these license keys:
- DataGate 16.0 for IBM i [ use the ==> DG8installationLibrary/REGISTER LICENSE(*SRVR) command ]
- Wings Handler [ use the ==> DG8installationLibrary/REGISTER LICENSE(*WNGS) command ]
Limitations of 10.0
This version of Wings has the following limitations:
- Do not install ASNA Wings 10.0 on a machine which has installed AVR or DG versions of 6.2 or earlier. Wings 10.0 can coexist with versions in the 16.0/10.0 family.
Required IBM i configuration for Wings
Display files imported with the Wings Design Aid run in batch mode on the IBM i and require no specific SYSVAL settings. However, virtually all Wings installations will need to use the ASNA Terminal Emulator. Using the Emulator with Wings requires these IBM i SYSVAL settings:
- QMLTTHDACN: 1 or 2
- QRMTSIGN: *VERIFY
Limitations of IBM Rational Open Access - RPG Edition
The IBM i Open Access Handler limits language support ILE RPG (RPGIV) only. All other languages are excluded at this time, including CL.
An Open-Access file cannot be a program-described WORKSTN file.
For more details, please see Chapter 6 in the document link below:
https://www.ibm.com/developerworks/mydeveloperworks/wikis/form/anonymous/api/library/01071083a0-b012-4248-10d0c-33ef810a6c3dd/document/88ce10ecc-1e14-4044-10c50-fc107700371d7/attachment/18aba10c1-7253-4de4-a534-f28e486de2e3/media/open_access_rpg_edition_5733OAR_2010_08_23.pdf
Differences in Format Level Identifiers
There are several display file features that are handled differently in Wings than on the IBM i with respect to the layout of certain fields in record formats, this differences cause the Format Level Identifiers used in Level Checks to be different for files exported by Wings and those created directly from pure DDS. The normal development cycle for Wings ensures that these differences do not cause any problems. This cycle follows these steps:
- Import Display File DDS into Visual Studio
- Optionally make modifications to the ASPX file created
- Export the ASPX back to the IBM i onto a library for Wings exported Display Files
- Add the HANDLER keyword to the RPG ILE program that will use the new ASPX as a workstation file
- Compile the RPG ILE program ensuring the exported Display Files library is found first in the library list by the RPG compiler
Some of the DDS features that cause Wings to generate different Format Level Identifiers are:
- The usage of fields for row/col on the WINDOW keyword.
- Using a field for the WNDTITLE keyword.
- On Subfile Controller formats used on message subfiles, using the SFLPGMQ keyword on a field other than the first one of the format.
Changes Since Version: 11.0.32.0
Clients - DataGate
- Support DSS-style SQL instance host syntax in DG Linear. Requires SQL Browser support for multi-instance servers.
Monarch WebControls
- Fix Case 21727. Allow DdsDataFields (like DdsCharField and DdsDecField) to be placed within Repeaters and Gridviews.
Monarch Wings
- Case 21193. Wings creating not well formed MasterPage.
QSys - DataGate.Client 5.0.10 - Changes since version 5.0.0
- Use correct indirect framework references.
- Avoid clearing tail of Char Data Area
- Use correct database file name on CopyFromImport and show text line number if error occurs.
- Report "computed value columns" as INPUT-only.
- Add support for No-Lock reads to DG Linear.
- Add file def test for input-only fields.
- Bug fixes for *SQLCLIENT issues.
- Allow Logical File data ExportTo.
- Nullable class refs
- Allow Add Member to use *LIBL on File.
- Use Nestable Transaction when resolving library list.
- Fixed issues when renaming members of multi-member capable files.
QSys - Expo 5.0.16 - Changes since version 5.0.2
- Move position of '@' symbols in test cshtml.
QSys - Runtime 5.0.15 - Changes since version 5.0.1
- Made public a property in the class to retrieve the location of the IFS.
- Use *LDA length for DG Linear.
- When doing output operations from a DS, packed number conversions were wrong.
- Validate Module's containerProgram after construction.
- Raise exception when attempting to use a Key in a Non-Keyed file.
- Resolve DatabaseName for Connection.
- Set Logical Member Text after member has been created.
- Fix testing of existence of Output Queue.
- Synchronize socketStream access.
Serengeti - Code Generator Tools
- Case 21726. Nomad tools for refreshing file info generate bad workstation file paths.