BDL 6.00 new features

Features added in 6.00 releases of the Genero Business Development Language.

Important:

This page covers only those new features introduced with the Genero BDL version specified in the page title. Check prior new features pages if you migrate from an earlier version. Make sure to also read the upgrade guide corresponding to this Genero version.

Corresponding upgrade guide: BDL 6.00 upgrade guide.

Previous new features page: BDL 5.01 new features.

Table 1. Core language
Overview Reference
The sqlca.sqlerrd[1-6] base type is now BIGINT for Informix 15 support. See sqlca.sqlerrd[1-6] as BIGINT.
Server TCP socket APIs and tools support hostname in addition to IPv4 addresses. See base.Channel.openServerSocket and Syntax 3: Starting the debug-server.
Starting at 6.00.03
String to INTERVAL and util.JSON parser accepts ISO 8601 formatted durations. See Character string to date time types, JSON to BDL type conversion rules
util.JSON serialization of DATETIME as RFC 3339. See util.JSON.setDatetimeSerializationMode.
util.JSON serialization of INTERVAL as ISO 8601. See util.JSON.setIntervalSerializationMode.
Related upgrade notes
Table 2. User interface (language features)
Overview Reference
Multiple column sorting in list dialogs, with new APIs to get sort specification. See Sorting rows in a list.
New method to reset the sort specification in list dialogs. See resetSort().
Starting at 6.00.02
Define the initial window container size with GDC. See ui.Interface.setSize, Initial window size (GDC/desktop).
Starting at 6.00.03
CONSTRUCT allows combination of | (pipe) with * and ? for multiple pattern-based character type search. See Query operators in CONSTRUCT.
Simplified dialog error message translation with .str localized strings. See Runtime system messages.
Related upgrade notes
Table 3. User interface (front-end features)
Overview Reference
New UX for window containers (SideBarRail, SideBarDrawer, Application List, etc) See Containers for program windows.
Multiple column sorting with ALT-CLICK in table column headers. See Sorting rows in a list.
Back button in chromebar, when an action with the name back is defined and active. See Implementing the back action.
The chromebar is now hidden by default on GDC/UR desktop. It can be enabled with a GBC theme variable. See Containers for program windows and GBC documentation.

Phone number edit field with the new customWidget phoneEdit style attribute.

See New customWidget value phoneEdit, Phone number fields.

Tag edit field with the new customWidget tagEdit style attribute. See New customWidget value tagEdit, Multi-valued fields.
Front calls to control the browser URL # anchors, with new applicationstatechanged special action. See Controlling web application state (#anchor), Browser front calls, Front calls changes.
Front calls to manage local notifications on non-mobile front end hosts. See standard.createNotification, Front calls changes.
Presentation style attribute for rounder border on images: imageBorderRadius. See New imageBorderRadius style attribute
The applicationListPosition style attribute for UserInterface, to display the application list in the ChromeBar. See New applicationListPosition style attribute.
AI writing assistant with new aiWritingAssistant style attribute for TEXTEDIT fields. See New aiWritingAssistant style attribute.
New customWidget style attribute for COMBOBOX. See New customWidget style attribute for COMBOBOX
DATEEDIT and DATETIMEEDIT field support showCurrentMonthOnly style attribute. See showCurrentMonthOnly for DATEEDIT/DATETIMEEDIT
Related upgrade notes
Table 4. SQL databases
Overview Reference
Support for Informix® 15.0, using CSDK 15 with the dbmifx_15 ODI driver. See New ODI driver for Informix CSDK 15.
Support for PostgreSQL 18. See Database driver specification (driver), PostgreSQL.
Starting at 6.00.02
Support for MariaDB 12. See Database driver specification (driver), Oracle MySQL / MariaDB.
Support for SQL Server 2025. See Database driver specification (driver), Microsoft SQL Server
Support for SQL Server 2025 JSON data type. See SQL Server JSON data type.
Support for SQL Server 2025 VECTOR data type. See SQL Server VECTOR data type
Starting at 6.00.03
Support for MySQL 9.7 LTS. See Database driver specification (driver), Oracle MySQL / MariaDB.
Support for MySQL 9 VECTOR data type. See MySQL/MariaDB VECTOR data type.
PostgreSQL TSVECTOR and TSQUERY types for full text search. See PostgreSQL TSVECTOR/TSQUERY data types.
PostgreSQL pgvector extension support for vector similarity search. See PostgreSQL pgvector extension data types.
Related upgrade notes
Table 5. Tools
Overview Reference
The Prometheus library has been added. This library provides classes and methods for collecting and storing metrics for integration with a monitoring platform such as Prometheus. See The prometheus package.
Debugger-server (debuggee proxy) for VS Code extension. See Using the debug-server, fglrun.
New fglcomp -W keywords warning option. See fglcomp -W keywords warning option
Starting at 6.00.02
New VS Code extension version 0.0.28. Install the new extension file genero-fgl-0.0.28.vsix into VS Code. See Installing Genero BDL extension into VS Code.
No-configuration debugging with VS Code extension. See No-configuration debugging.
Automatic TCP port selection with debug-server. See Automatic port allocation (--da-listen 0).
New fglcomp -W shadow warning option. See fglcomp -W shadow warning option
VS Code extension: Parameter name inlay hints. See Visual Studio Code extension.
Starting at 6.00.03
[DESCRIBE] DATABASE schema specification detected by fglcomp -W stdsql. See [DESCRIBE] DATABASE detected by -W stdsql.
New fglcomp -W fragile-cursor warning option to detect risky SQL cursor usage. See Compiler warning for risky SQL cursor usage.
Related upgrade notes
Table 6. Web Services
Overview Reference
The JSONAllOf attribute defines a type to merge the properties of several record types. See JSONAllOf
The JSONEnum defines a typed list of acceptable values in a field. It maps to the enum keyword in the JSON Schema specification. See JSONEnum
The JSONPattern attribute defines regular expressions that string values must match. See JSONPattern
The --no-merge-allof option of fglrestful disables the merging of properties in schemas where the JSONAllOf attribute is applied. See fglrestful and JSONAllOf
The xml.CryptoKey class now supports Elliptic Curve Digital Signature Algorithm (ECDSA) keys for creating digital signatures. See Supported kind of keys
New methods in xml.CryptoKey for ECDSA key management:
  • getEllipticCurveName()
  • generateEllipticCurveKey()
  • loadEllipticCurve()
See:
Starting at 6.00.01
The WSTags attribute maps to the tags keyword in the OpenAPI specification and categorizes and groups REST operations. See WSTags
The WSSummary attribute maps to the summary keyword in the OpenAPI specification and provides a short, human-readable summary for a REST operation. See WSSummary
REST functions now require a RETURNS() clause; use an empty RETURNS() to indicate no return value (previously RETURNS clauses were optional). See REST functions must include a RETURNS() clause
Starting at 6.00.02
WSTags values are now collected and generated once in the OpenAPI document’s global tags section. See Global tags generation.
Retrieve all available versions of the service via the ?version.json / ?version.yaml query parameter. See Get available versions of a service
The function com.WebServiceEngine.HandleRequest now restores the previous behavior for query‑only requests targeting the REST service root path, allowing them to fall back to low‑level handling when no REST operation matches. See Restored HandleRequest() behavior for root-level query-only requests and com.WebServiceEngine.HandleRequest
The WSOperationId attribute maps to the operationId keyword in the OpenAPI specification and defines a unique identifier for a REST operation. See WSOperationId
The new RegisterRestOpenAPIHandler() method registers a callback function that is invoked when a client requests the OpenAPI documentation for a REST service, allowing dynamic modification of the OpenAPI JSON before it is returned to the client. See com.WebServiceEngine.RegisterRestOpenAPIHandler

A new context key, "HTTPProcessingErrorMsg", lets you provide a custom HTTP error message in WSPreprocessing and WSPostProcessing callbacks.

See Enhanced control of HTTP error messages in preprocessing and postprocessing
Starting at 6.00.03
The fglrestful tool now recognizes all +json media types in OpenAPI content sections (RFC 6839). See fglrestful now recognizes +json media types (RFC 6839)
A CHAR(n) field exposed by a REST service now outputs maxLength: n in the generated OpenAPI specification, like VARCHAR(n). See OpenAPI types mapping: BDL and CHAR(n) fields now include maxLength in the OpenAPI schema.
The fglrestful tool now detects the text/event-stream (Server-Sent Events) response content type and excludes it from response-body type selection and from the generated Accept header. See fglrestful now detects text/event-stream (SSE) responses
The xml.CryptoKey class now supports the sha256-rsa-MGF1 key type for RSA signatures requiring SHA-256 and RSA-PSS padding. See Supported kind of keys.
json.Serializer and json.JSONWriter serialization of DATETIME as RFC 3339. See datetimeSerializationMode.
json.Serializer and json.JSONWriter serialization of INTERVAL as ISO 8601. See intervalSerializationMode.
fglrestful generates INTERVAL variables for OpenAPI duration properties (format: duration); the new --interval option overrides the qualifier or restores the previous STRING mapping. See Date-time and duration options.
fglrestful generates client stubs that can send DATETIME in RFC 3339 and INTERVAL as ISO 8601 durations in JSON request bodies, with the new --datetime-interval-format option. See fglrestful options.
The GWS generates a qualifier-aware format keyword for DATETIME and INTERVAL in the OpenAPI document. See OpenAPI types mapping: BDL.
The xml.CryptoKey class now supports the DSA-SHA256 signature key (http://www.w3.org/2009/xmldsig11#dsa-sha256). SHA-1 is deprecated. See Supported kind of keys.
High-level REST services are now listed in an RFC 9727 API catalog at GET /.well-known/api-catalog, with a link to each service's OpenAPI description. See REST API catalog.
Related upgrade notes
Upgrade notes for web services. See Web Services changes
Table 7. Mobile apps (GMA 6.00 and GMI 6.00)
Overview Reference
The gmibuildtool option --deploy can be used to install an app .ipa file on a device. See Installing the app on a device.
Related upgrade notes
Upgrade notes for GMA. See Genero Mobile for Android (GMA) 6.00 changes.
Upgrade notes for GMI. See Genero Mobile for iOS (GMI) 6.00 changes.
Table 8. Web apps (GWA 6.00)
Overview Reference
Internationalize your application in different languages with localized strings. See Internationalize your app.
The GWA_TARGET environment variable defines the target platform or environment for the GWA app. See GWA_TARGET.
Related upgrade notes
Upgrade notes for GWA. See Genero for Web Applications (GWA) 6.00 changes