BDL 4.01 new features
Features added in 4.01 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 4.01 upgrade guide.
Previous new features page: BDL 4.00 new features.
Overview | Reference |
---|---|
The ARRAY[n] , DYNAMIC ARRAY and
DICTIONARY definitions accept now another array or dictionary, as type for the
OF clause. |
See ARRAY syntax
and DICTIONARY syntax. |
Starting at 4.01.02 | |
Module aliases with IMPORT FGL path AS
alias-name |
See IMPORT FGL. |
Starting at 4.01.03 | |
New os.Path methods
getAccessTime()/setAccessTime() ,
getModificationTime()/setModificationTime() , isSameFile() ,
describeLastError() |
See os.Path methods. |
New ARRAY method
sortByComparisonFunction() . |
See ARRAY.sortByComparisonFunction() . |
New util.String methods to compare strings. |
See util.Strings.collate() , util.Strings.collateNumeric() . |
LOAD/UNLOAD and base.Channel support
semicolon separator with "DSV=;" |
See LOAD , UNLOAD , base.Channel.setDelimiter. |
base.Channel utilities to wait for activity on a set of TCP
sockets. |
See util.Channels methods. |
Related upgrade notes |
Overview | Reference |
---|---|
The KEYBOARDHINT form item attribute gets new options
DECIMAL , NUMERIC , TEXT , SEARCH
and NONE , for better control of the virtual keyboard on mobile devices. |
See KEYBOARDHINT attribute. |
New rendering for ROWBOUND actions with three-dots button in
TABLE , TREE and SCROLLGRID . |
See Actions bound to the current row, Binding action views to a table row, Binding action views to a treeview row, Binding action views to a scrollgrid row. |
The standard.playSound front call gets a new
"wait" option, to define if the front call must immediately return while the
sound continues playing. |
See standard.playSound. |
New presentation style attributes topmenuDesktopRendering and
topmenuMobileRendering for Window. |
See New Window.topmenuDesktopRendering and Window.topmenuMobileRendering style attributes |
The defaultTTFColor style attribute applies to any kind of
form element. |
See defaultTTFColor applies to any type of form element |
Starting at 4.01.03 | |
New ui.Dialog method
setColumnComparisonFunction() to implement custom sort in list dialogs. |
See ui.Dialog.setColumnComparisonFunction . |
New ui.Dialog method setGroupBy() to define
the grouping column in list dialogs. |
See ui.Dialog.setGroupBy . |
STRING -typed parameters in fglsvgcanvas API. |
See fglsvgcanvas: STRING-typed parameters. |
New fglsvgcanvas API function to define symbols. | See symbol(). |
New fglsvgcanvas API function for @media styling. | See mediaQuery(). |
Form and combobox default initializer as function reference. | See ui.Form.setDefaultInitializerFunction, ui.ComboBox.setDefaultInitializerFunction. |
Starting at 4.01.04 | |
The packed style attribute for HBOX and
VBOX . |
See packed attribute for HBOX and VBOX. |
Starting at 4.01.05 | |
The modalOnLargeScreen value for the
windowType style. |
See New windowType value modalOnLargeScreen. |
Related upgrade notes | |
Upgrade notes for presentation style. | See Presentation styles changes. |
Overview | Reference |
---|---|
Support for Microsoft® ODBC driver 18 for SQL Server with
dbmsnc_18 ODI driver. |
See Database driver specification (driver). |
Starting at 4.01.02 | |
The fgldbsch tool can extract PostgreSQL OID columns as BIGINT. | See fgldbsch type conversion option. |
Starting at 4.01.03 | |
Support for Microsoft SQL Server 2022. | See Microsoft SQL Server. |
Support for PostgreSQL 15. | See PostgreSQL. |
Related upgrade notes | |
Upgrade notes for database drivers. | See Database drivers changes. |
Overview | Reference |
---|---|
fglcomp -W unused option warns for PREPARE and DECLARE
CURSOR statements with no corresponding usage, and for unused imported modules. |
See fglcomp -W option. |
fglform -k / --keep-going option continues compilation of forms after error. | See fglform -k option. |
fglcomp -k / --keep-going option continues compilation of sources after error. | See fglcomp -k option. |
fglcomp -W form-field-name option to produce warnings for
invalid field names in INPUT BY NAME and CONSTRUCT BY NAME
dialogs. |
See fglcomp -W option. |
Starting at 4.01.02 | |
Code completer can find modules from FGLLDPATH, to complete IMPORT
FGL . |
See Source code completion. |
Starting at 4.01.03 | |
Command-line debugger improvements (expression evaluation, in-line editing, completion, command history, list range of lines on stop) | See Understanding the debugger, Expressions in debugger commands. |
Microsoft Visual Studio Code extension for Genero BDL. | See Visual Studio Code extension. |
VIM edition enhancements: Go to definition (gd ) and BDL
language tags (CTRL-] ). |
See Configure VIM for Genero BDL. |
fglgar run --pid-file option writes fglgar process-ids to file. |
See options table for fglgar run. |
Related upgrade notes |
Overview | Reference |
---|---|
There is support for the HTTP specification allowing a message body with the HTTP verb DELETE. A message body is supported on client and server Web services using the REST low-level framework. | See com.HttpRequest methods and com.HttpServiceRequest methods |
For REST Web services using the high-level REST framework, the
WSParam and WSQuery attributes support complex types, such as
records and arrays in operation parameters. This enhancement is based on the OpenAPI specification
for serialization. It supports default methods for delimiting values and handling items of arrays or
records in paths and queries. |
See WSParam and WSQuery |
The fglrestful tool has options to allow HTTP and proxy
authentication when requesting OpenAPI documentation. |
See fglrestful |
The fglwsdl -xmlname option is added to generate variables
named with XMLName attributes in stubs. |
See fglwsdl |
The REST engine WSContext variable has a
RequestURL entry that you can use to get the URL (base URL, resource path, and
query) from the client app. |
See WSContext |
The REST engine WSAttachment attribute has been enhanced with
an optional regular expression (regex) type value to validate the names of incoming files. |
See WSAttachment |
Starting at 4.01.02 | |
The GWS OpenID Connect service has enhancements to how scopes are exchanged. The Genero Identity Provider (GIP) follows the standard RFC 8693 as the default method when creating OAuth ID and access tokens with the scope parameter. |
See Support for RFC 8693 in the Genero Identity Provider (GIP) creation of OAuth ID and access tokens with scopes |
Starting at 4.01.04 | |
The GWS OpenID Connect service configuration has a new entry
(oidc.accesstoken.decode ) added to decode roles and scopes in the access
token. |
See New option oidc.accesstoken.decode for decoding access tokens with roles and scopes |
Related upgrade notes | |
Upgrade notes for web services. | See Web Services changes |
Overview | Reference |
---|---|
Starting at GMA-4.01.02 | |
New gmabuildtool option to enable data collection for analytics, when using Firebase Cloud Messaging. | See Controlling Firebase data collection for analytics |
The standard.playSound front call supports http/https
URLs. |
See GMA 4.01 changes topic. |
Starting at GMA-4.01.04 | |
Default keystore type generated by gmabuildtool is now of type PKCS12. | See GMA 4.01 changes topic. |
New mobile.isEmulator front call. |
See New front-calls. |
Support GBC theming for app colors. | See Using GBC theme to define app colors. |
Starting at GMA-4.01.06 | |
Local notification management. | See mobile.createNotification. |
New gmabuildtool options to control the manifest file. | See The app manifest file. |
New gmabuildtool options to set the path to the program
files: --main-app-path and --root-path . |
See Changes to gmabuildtool command arguments |
gmabuildtool supports @argfile syntax to
specify a list of options in one or several files. |
See Changes to gmabuildtool command arguments |
Permissions summary in gmabuildtool output. | See Permissions summary in gmabuildtool output |
Starting at GMI-4.01.04 | |
New gmibuildtool option to update the app installed on a simulator. | See New option --update for gmibuildtool. |
Local notification management. | See mobile.createNotification. |
New mobile.isEmulator front call. |
See New front-calls. |
Related upgrade notes | |
Upgrade notes for GMA. | See Genero Mobile for Android (GMA) 4.01 changes. |