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.
| 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 | |
| Overview | Reference |
|---|---|
| Multiple column sorting in list dialogs, with new APIs to get sort specification. | See Sorting rows in a list. New
ui.Dialog methods: |
| 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 | |
| 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 |
|
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 | |
| 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 | |
| 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 | |
| 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:
|
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, " |
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 |
| 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. |
| 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 |