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.
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).
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.
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
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
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.
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
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