What's new in Genero Business Development Language, v 3.00

This topic lists features added for the 3.00 GA release of the Genero Business Development Language.

Important: Please read also:
Table 1. Core language
Overview Reference
The fglmkext command line tool can build your C Extension library. See fglmkext.
New fglcomp warning for invalid NULL usage in expressions like var==NULL. See Compiler warning -6636.
C Extension runtime stack introspection (parameter type and actual string value size in bytes). See Runtime stack functions.
Temporary file name creation with os.Path.makeTempName(). See os.Path.makeTempName.
Attach the debugger to a running program with fgldb -p process-id. See Attaching to a running program.
Improved compilation time (fglcomp and fglform) See Improved compilation time.
Datetime-related utility methods. See util.Datetime.getCurrentAsUTC, util.Datetime.format, util.Datetime.parse.
Date-related utility methods. See util.Date methods.
Interval-related utility methods. See util.Interval methods.
Table 2. User interface
Overview Reference
Autocompletion in text edit fields with the COMPLETER attribute. See Enabling autocompletion.
Centralization of icon definitions with the FGLIMAGEPATH environment variable. See Providing the image resource, FGLIMAGEPATH, Built-in front-end icons desupport.
Defining an action for IMAGE form items (clickable images). See Defining action views in forms, Defining actions on list columns with images, IMAGE item type.
Resizable SCROLLGRID containers (WANTFIXEDPAGESIZE=NO). See WANTFIXEDPAGESIZE attribute.
Detect window resizing or device orientation change with the windowresized predefined action. See Adapting to viewport changes.
Dialog methods to convert the program array row index to the visual index, and the opposite. See ui.Dialog.arrayToVisualIndex, ui.Dialog.visualToArrayIndex.
The ON SORT dialog control block can be used to execute code when the record list is re-ordered by the user. See List ordering, Populating a DISPLAY ARRAY, ON SORT block, ui.Dialog.getSortKey, ui.Dialog.isSortReverse.
ON TIMER trigger in dialogs, to execute a block of code at regular intervals. See Get program control on a regular (timed) basis.
Dynamic dialog creation. See Implementing dynamic dialogs.
Providing application image resources to Web Components with ui.Interface.filenameToURI(). See Using image resources with the gICAPI web component, ui.Interface.filenameToURI.
Binding structured ARRAYs in DISPLAY ARRAY and INPUT ARRAY. See Structured ARRAYs in list dialogs.
Table 3. SQL databases
Overview Reference
Support for PostgreSQL 9.4. See Database driver specification (driver).
Support for Sybase ASE 16.x. See Database driver specification (driver).
Support for SQL Server 2008, 2012 and 2014 with FreeTDS driver (using FreeTDS 0.95) See FreeTDS driver supports SQL Server 2008, 2012, 2014.
SQL interruption is now supported with MySQL. See SQL interruption.
MySQL VARCHAR(N) can be used when N is greater as 255. See MySQL VARCHAR size limit.
MySQL DATETIME can store fractional seconds. See MySQL DATETIME fractional seconds.
Maria DB support (V5.5 and V10): Use the dbmmys driver. See MariaDB support.
Dynamic cursor built-in class base.SqlHandle. See The SqlHandle class.
Native Oracle NUMBER type (without precision/scale) can be extracted by fgldbsch. See Oracle DB NUMBER type.
Serial emulation based on triggers and sequences with SQL Server 2012 and +. See SERIAL data types.
PostgreSQL connection string option specification in the source parameter. See Database source specification (source), Prepare the runtime environment - connecting to the database.
Table 4. Web Services
Overview Reference
Flushing immediately the response of a web service operation with com.WebServicesEngine.flush. See com.WebServiceEngine.Flush.
Base64 / Hexadecimal / Digest methods using a specific character set for string data. See security.Base64.FromStringWithCharset, security.Base64.ToStringWithCharset, security.HexBinary.FromStringWithCharset, security.HexBinary.ToStringWithCharset, security.Digest.AddStringDataWithCharset.
com.WebServiceEngine option server_readwritetimeout to define a server socket read/write timeout. See Web Services changes, WebServiceEngine options.
IPv6 support for Web Services clients. See Configure a WS client to use IPv6.
Specific APIs for Apple Push Notification Service support. See The APNS class, com.TCPRequest.setKeepConnection, com.TCPRequest.doDataRequest, com.TCPResponse.getDataResponse, Push notifications.
Methods to perform RESTful requests using files on disk. See com.HTTPServiceRequest.readFileRequest, com.HTTPServiceRequest.sendFileResponse, com.HTTPRequest.doFileRequest, com.HTTPResponse.getFileResponse, com.HTTPPart.getAttachment, com.HTTPPart.CreateAttachment.
FGLPROFILE entries to define XML Signature and XML Encrypted data prefix: xml.signature.prefix and xml.encrypted.prefix. See XML configuration.
SOAP fault handling works now when HTTP error 200 is returned by the server. See SOAP fault handling in client stub.
Client stub multipart supports now optional parts. See Optional multipart handling in client stub
Table 5. Mobile apps
Overview Reference
Starting remote applications from a mobile device with the runOnServer front call. See Running mobile apps on an application server.
Extended feInfo front call options for mobile devices (deviceModel, deviceId, freeStorageSpace, iccid, imei, ppi, windowSize, and so on). See feInfo.
New materialFABType and materialFABActionList style attributes for Window class, to control the FAB button on devices following material design guidelines. See Floating action button on Android devices.
Front call to display a box controlling debug settings on GMA. See showSettings (Android).
Push notification APIs for Google Cloud Messaging (GMA) and Apple Push Notification Service (GMI), with new predefined actions (notificationpushed). See Push notifications.
Command line tools to build mobile apps. See Building Android apps with Genero, Building iOS apps with Genero.
Automatic FGLAPPDIR environment variable (defining the path to the appdir), and automatic FGLDIR environment variable, when executing on mobile devices. See FGLAPPDIR, FGLDIR, Setting environment variables in FGLPROFILE (mobile).
Front calls to take or choose videos on mobile devices. See chooseVideo, takeVideo front calls.
Table 6. Experimental features
Overview Reference
Stacked form definition in .per files with the new STACK container, for mobile programming. See Stack-based layout, STACK container.