Release notes for Model 204 version 8.0: Difference between revisions

From m204wiki
Jump to navigation Jump to search
Snehal (talk | contribs)
Rewrite 8.0 release notes: add highlights table, promote Imagine Transparency, document TLS 1.3/Janus SSH, list new commands, remove empty section headers
Line 3: Line 3:


==New in this release==
==New in this release==
The table below cites some highlights of Model 204 version 8.0. For a full list of features, refer to the Table of Contents.
<table>
<tr class="head"><th>Category</th>
<th>Feature</th></tr>


==Operating system and hardware requirements==
<tr>
<td nowrap>Data access</td>
<td>
<ul>
<li>[[#Imagine Transparency support|Imagine Transparency]] allows files in an <var class="product">Imagine</var> database to be accessed from <var class="product">Model&nbsp;204</var> as if they were native files, using the new [[JANUS DEFINE#IMAGINET|IMAGINET]] Janus port type.</li>
</ul>
</td></tr>


===Operating system requirements===
<tr>
<td nowrap>Security</td>
<td>
<ul>
<li>Janus SSL ports now support [[#TLS 1.3 support|TLS&nbsp;1.3]] (RFC&nbsp;8446) for both client and server connections, including client certificate authentication and post-handshake authentication.</li>
<li>The new [[#Janus SSH server|SSH]] Janus port type provides a built-in SSH server with trusted public-key login.</li>
</ul>
</td></tr>


===Hardware requirements===
<tr>
<td nowrap>Performance</td>
<td>
<ul>
<li>The SOUL compression functions now exploit [[#Hardware-accelerated deflate/inflate compression|IBM z15 DFLTCC hardware]] for deflate and inflate operations.</li>
</ul>
</td></tr>


===Connect&#9733; compatibility with Model 204===
<tr>
<td nowrap>New commands</td>
<td>
<ul>
<li>The <var>[[DISPLAY DSNAMES command|DISPLAY DSNAMES]]</var>, <var>[[VIEW FILEORG command|VIEW FILEORG]]</var>, <var>[[DISPLAY IMAGINESYNC command|DISPLAY IMAGINESYNC]]</var>, <var>[[IMAGINE command|IMAGINE]]</var>, and <var>SWITCH STREAM TCPLOG</var> commands. See [[#New and changed commands|New and changed commands]].</li>
</ul>
</td></tr>
</table>


==SOUL (User Language) enhancements==
==Imagine Transparency support==
A new facility called [[Imagine Transparency]] is now available to allow files in an <var class="product">Imagine</var> database to be accessed from <var class="product">Model 204</var> as if they were native files. Applications can issue ordinary SOUL <var>FIND</var>, <var>FOR EACH RECORD</var>, and update statements against a Transparency file, and <var class="product">Model 204</var> transparently retrieves and updates the underlying records through an <var class="product">Imagine</var> broker.


==External Call Facility enhancements==
A new port type, [[JANUS DEFINE#IMAGINET|IMAGINET]], is now available. It allows <var class="product">Model 204</var> files to be stored on an Imagine server rather than in operating system files. A new option on the <var>[[DEFINE DATASET command#IMAGINE|ALLOCATE]]</var> command indicates that a file is to be accessed via the <var>IMAGINET</var> port rather than from operating system files.


==System enhancements==
The following related features support Imagine Transparency:
 
<ul>
==Editor enhancements==
<li>The <var>[[IMAGINE command]]</var> controls Transparency operations, including <var>IMAGINE EXTRACT</var> (extract records into an Imagine file) and <var>IMAGINE SYNC</var> (synchronize an Imagine file with its underlying database).</li>
 
<li>The <var>[[DISPLAY IMAGINESYNC command]]</var> displays the status of outstanding Transparency synchronization requests. It replaces the earlier <var>IMAGINE LISTSYNC</var> command.</li>
==AUDIT204 enhancements==
<li>The <var>RELEASE IMAGINE RECORDS</var> statement releases records that are held for Transparency processing; an optional <var>CLEARLISTS</var> operand also clears associated <var class="term">$lists</var> and <var class="term">StringLists</var>.</li>
 
<li>The SOUL <var class="term">Imagine:Call</var> method invokes an Imagine broker request from an application, and accepts <var class="term">StringList</var> and <var class="term">DollarList</var> parameters and an optional <var class="term">apsySuffix</var> named parameter.</li>
==Recovery enhancements==
</ul>
 
==Security enhancements==


==Janus product enhancements==
==Janus product enhancements==
Line 63: Line 92:
the port.
the port.


===Imagine Transparency support===
===Janus SSH server===
A new facility called [[Imagine Transparency]] is now available to allow files in an <var class="product">Imagine</var> database to be accessed from <var class="product">Model 204</var> as if they were native files.
A new <var>SSH</var> Janus port type provides a built-in SSH (Secure Shell) server, allowing users to connect to a <var class="product">Model&nbsp;204</var> <var class="product">Online</var> from a standard SSH client over an encrypted connection. An SSH port is defined with the <var>[[JANUS DEFINE]]</var> command; for example:
JANUS DEFINE SSHPORT 5996 SSH 10 SSL PROFILE SSH.PKEY


A new port type, [[JANUS_DEFINE#IMAGINET|IMAGINET]], is now available. It allows <var class="product">Model 204</var> files to be stored on an Imagine server rather than in operating system files. A new parameter is now available on the [[DEFINE DATASET command#IMAGINE|ALLOCATE]] command to indicate that a file is to be accessed via the <var>IMAGINET</var> port rather than from operating system files.
In addition to password authentication, SSH ports support <em>trusted public-key login</em>, in which a user is authenticated by an SSH public key that has been registered with the port. The following commands manage trusted keys (see [[Janus SSH]] for full details):
<table>
<tr class="head"><th>Command</th>
<th>Description</th></tr>
<tr><td nowrap><var>JANUS TRUST</var> ''portname userid base64key''</td>
<td>Registers a trusted SSH public key for ''userid'' on the named SSH port.</td></tr>
<tr><td nowrap><var>JANUS DELTRUST</var> ''portname userid''</td>
<td>Removes the trusted key for ''userid'' on the named port.</td></tr>
<tr><td nowrap><var>JANUS DISPLAYTRUST</var> [''portname'']</td>
<td>Displays the trusted keys registered on a port (or on all ports).</td></tr>
<tr><td nowrap><var>JANUS DISTOFU</var> [''portname'']</td>
<td>Displays keys that were auto-registered by trust-on-first-use (TOFU).</td></tr>
<tr><td nowrap><var>JANUS SSHKEY</var></td>
<td>Displays the SSH public key of the current user.</td></tr>
</table>


==Debugger enhancements==
Trust-on-first-use (TOFU) can be enabled on an SSH port with the <var>TOFU</var> option on the <var>[[JANUS DEFINE]]</var> command. When enabled, a user's public key is automatically registered on first connection, up to a specified maximum number of keys.


==Performance enhancements==
==Performance enhancements==


===Hardware-accelerated deflate/inflate compression===
===Hardware-accelerated deflate/inflate compression===
The SOUL compression functions (<var>Deflate</var>, <var>Inflate</var>, <var>Gzip</var>, <var>Gunzip</var>, <var>Zip</var>, and <var>Unzip</var>) now exploit the IBM z15 (and above) DFLTCC (Deflate Conversion Call) hardware instruction when available. This provides significant performance improvement for compression and decompression of longstrings without any application code changes.
The SOUL compression functions (<var>[[Deflate (String function)|Deflate]]</var>, <var>Inflate</var>, <var>Gzip</var>, <var>Gunzip</var>, <var>Zip</var>, and <var>Unzip</var>) now exploit the IBM z15 (and above) DFLTCC (Deflate Conversion Call) hardware instruction when available. This provides significant performance improvement for compression and decompression of longstrings without any application code changes.


Hardware acceleration is used automatically when the processor supports it. On processors without DFLTCC support, the existing software implementation continues to be used transparently.
Hardware acceleration is used automatically when the processor supports it. On processors without DFLTCC support, the existing software implementation continues to be used transparently.
Line 80: Line 124:


==New and changed commands==
==New and changed commands==
<var>[[DISPLAY DSNAMES command]]</var>
<var>[[DISPLAY DSNAMES command|DISPLAY DSNAMES]]</var> [''pattern''] displays the data set names allocated to the run, including <var class="product">Model&nbsp;204</var> database files and [[In-memory files|in-memory]] files, optionally restricted to those matching ''pattern''.
 
<var>[[VIEW FILEORG command]]</var>
 
==New and changed parameters==
 
==New and changed statistics==


==Compatibility issues==
<var>[[VIEW FILEORG command|VIEW FILEORG]]</var> displays the file organization of the current file, including whether the file is an [[In-memory files|in-memory]] or <var class="product">Imagine</var> Transparency file.


==Notes for system manager and installer==
<var>[[DISPLAY IMAGINESYNC command|DISPLAY IMAGINESYNC]]</var> displays the status of outstanding [[Imagine Transparency]] synchronization requests. It replaces the earlier <var>IMAGINE LISTSYNC</var> command.


==New products==
<var>[[IMAGINE command|IMAGINE]]</var> controls [[Imagine Transparency]] operations, such as <var>IMAGINE EXTRACT</var> and <var>IMAGINE SYNC</var>.


==New and changed messages==
<var>SWITCH STREAM TCPLOG</var> switches the TCPLOG output stream, where TCPLOG is the DDNAME specified by the <var>DEFINE JANUS TCPLOG</var> command.


[[Category: Release notes]]
[[Category: Release notes]]

Revision as of 01:39, 27 August 2026

Overview

These release notes contain installation and features information for the Rocket Model 204 version 8.0 release. Before beginning your installation, please read through this information about product installation and changes.

New in this release

The table below cites some highlights of Model 204 version 8.0. For a full list of features, refer to the Table of Contents.

Category Feature
Data access
  • Imagine Transparency allows files in an Imagine database to be accessed from Model 204 as if they were native files, using the new IMAGINET Janus port type.
Security
  • Janus SSL ports now support TLS 1.3 (RFC 8446) for both client and server connections, including client certificate authentication and post-handshake authentication.
  • The new SSH Janus port type provides a built-in SSH server with trusted public-key login.
Performance
New commands

Imagine Transparency support

A new facility called Imagine Transparency is now available to allow files in an Imagine database to be accessed from Model 204 as if they were native files. Applications can issue ordinary SOUL FIND, FOR EACH RECORD, and update statements against a Transparency file, and Model 204 transparently retrieves and updates the underlying records through an Imagine broker.

A new port type, IMAGINET, is now available. It allows Model 204 files to be stored on an Imagine server rather than in operating system files. A new option on the ALLOCATE command indicates that a file is to be accessed via the IMAGINET port rather than from operating system files.

The following related features support Imagine Transparency:

  • The IMAGINE command controls Transparency operations, including IMAGINE EXTRACT (extract records into an Imagine file) and IMAGINE SYNC (synchronize an Imagine file with its underlying database).
  • The DISPLAY IMAGINESYNC command displays the status of outstanding Transparency synchronization requests. It replaces the earlier IMAGINE LISTSYNC command.
  • The RELEASE IMAGINE RECORDS statement releases records that are held for Transparency processing; an optional CLEARLISTS operand also clears associated $lists and StringLists.
  • The SOUL Imagine:Call method invokes an Imagine broker request from an application, and accepts StringList and DollarList parameters and an optional apsySuffix named parameter.

Janus product enhancements

TLS 1.3 support

Janus SSL ports now support TLS 1.3 (RFC 8446) for both client and server connections. TLS 1.3 provides improved security and performance over TLS 1.2, including a simplified handshake with fewer round trips, and the removal of legacy features such as renegotiation.

The following TLS 1.3 cipher suites are supported:

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384

Key exchange is performed using X25519 (Curve25519 Elliptic Curve Diffie-Hellman, per RFC 7748). Certificate authentication uses RSA-PSS signatures.

Key derivation uses the HKDF-based key schedule defined in RFC 8446, replacing the PRF-based approach of earlier TLS versions.

TLS 1.3 is enabled by default on ports that allow TLS 1.2. To restrict a port to earlier protocol versions, use the existing SSLVERSION parameter on the JANUS DEFINE command.

Client-side TLS 1.3 and post-handshake authentication

Janus client connections (for example, clients built with the $SOCK functions or the equivalent Socket class methods, and Janus Web Server outbound HTTPS requests) now negotiate and complete a full TLS 1.3 handshake as the client, including X25519 key exchange, the HKDF-based key schedule, and RSA-PSS certificate verification of the server.

Client certificate authentication is supported both during the initial handshake and after it completes. When a TLS 1.3 server sends a post-handshake CertificateRequest (RFC 8446 Section 4.6.2) — for example, when a server application requests a client certificate on a connection that did not originally require one — the Janus client automatically responds with its Certificate, CertificateVerify, and Finished messages, allowing the authenticated request to proceed without interrupting the connection.

No application changes are required. Post-handshake authentication is used automatically when a server requests it and a client certificate is available for the port.

Janus SSH server

A new SSH Janus port type provides a built-in SSH (Secure Shell) server, allowing users to connect to a Model 204 Online from a standard SSH client over an encrypted connection. An SSH port is defined with the JANUS DEFINE command; for example:

JANUS DEFINE SSHPORT 5996 SSH 10 SSL PROFILE SSH.PKEY

In addition to password authentication, SSH ports support trusted public-key login, in which a user is authenticated by an SSH public key that has been registered with the port. The following commands manage trusted keys (see Janus SSH for full details):

Command Description
JANUS TRUST portname userid base64key Registers a trusted SSH public key for userid on the named SSH port.
JANUS DELTRUST portname userid Removes the trusted key for userid on the named port.
JANUS DISPLAYTRUST [portname] Displays the trusted keys registered on a port (or on all ports).
JANUS DISTOFU [portname] Displays keys that were auto-registered by trust-on-first-use (TOFU).
JANUS SSHKEY Displays the SSH public key of the current user.

Trust-on-first-use (TOFU) can be enabled on an SSH port with the TOFU option on the JANUS DEFINE command. When enabled, a user's public key is automatically registered on first connection, up to a specified maximum number of keys.

Performance enhancements

Hardware-accelerated deflate/inflate compression

The SOUL compression functions (Deflate, Inflate, Gzip, Gunzip, Zip, and Unzip) now exploit the IBM z15 (and above) DFLTCC (Deflate Conversion Call) hardware instruction when available. This provides significant performance improvement for compression and decompression of longstrings without any application code changes.

Hardware acceleration is used automatically when the processor supports it. On processors without DFLTCC support, the existing software implementation continues to be used transparently.

The DFLTCC instruction handles both the deflate (compress) and inflate (expand) operations natively in hardware, including CRC-32 computation, providing throughput improvements that scale with data size.

New and changed commands

DISPLAY DSNAMES [pattern] displays the data set names allocated to the run, including Model 204 database files and in-memory files, optionally restricted to those matching pattern.

VIEW FILEORG displays the file organization of the current file, including whether the file is an in-memory or Imagine Transparency file.

DISPLAY IMAGINESYNC displays the status of outstanding Imagine Transparency synchronization requests. It replaces the earlier IMAGINE LISTSYNC command.

IMAGINE controls Imagine Transparency operations, such as IMAGINE EXTRACT and IMAGINE SYNC.

SWITCH STREAM TCPLOG switches the TCPLOG output stream, where TCPLOG is the DDNAME specified by the DEFINE JANUS TCPLOG command.