GENERO 3.20 Early Access Program (EAP) NOW OPEN

Irving, Texas – December, 18th 2018 Four Js is pleased to announce the Early Access Program (EAP) for Genero 3.20. This release has new features and improvements in all product areas. While this announcement highlights the major new features in each product area, it is recommended you review the list at the start of each User Guide. New features may also be added during EAP.

See “How to subscribe” for details on subscribing to this EAP.

New features

The Universal Rendering Mode

“Universal Rendering mode” is the flagship feature in the 3.20 release. Currently we maintain four different GUI clients: Genero Desktop Client (GDC), Genero Browser Client (GBC), Genero Mobile for iOS (GMI), and Genero Mobile for Android (GMA). Native rendering on each of these clients introduces inconsistencies between the appearance of the same screen. Implementing four independent native renderers also creates a considerable amount of redundant engineering effort.

The new Universal Rendering mode gives you the ability to render the same screen identically across all four clients. At the same time it maintains your ability to access the individual GUI API’s via existing front-calls if need be. Below is a series of screenshots showing the same screen rendered in GDC, GBC, GMI, GMA.

More Screenshots

There are no significant code changes required for Universal Rendering mode. This is because each of the four clients uses the Genero Browser Client rendering engine . In the future we anticipate Universal Rendering mode becoming our default GUI, whether you are rendering to a desktop, browser, or mobile device.

Genero Desktop Client –  Genero Mobile for Android and IOS Clients

Universal Rendering mode is supported with all graphical clients : Genero Desktop Client, Genero Mobile for Android and Genero Mobile for IOS in order to reconcile all clients.

Genero Browser Client

To allow mobile applications to run using Universal Rendering, the Genero Browser client will support the mobile UI patterns such as mobile action panel, parallel dialog and rowbound actions.


The language syntax has been extended to include concepts seen in other languages. These will improve the functionality, the readability of your code, and make it easier to transition to Genero from other languages.

These concepts include:

  • Named parameter calls : When calling a function, values can be preceded by the parameter name.
    e.g. CALL func(param1: value, param2: value)
  • Variable initializers: The DEFINE instruction supports a clause to initialize the variables.
    e.g. DEFINE flag CHAR(1) = “Y”
  • (EAP 2) Passing variable by reference to functions (INOUT)
    e.g. CALL foo(bar INOUT)
  • (EAP 2) Method declaration, to define functions acting on a user-defined type
  • (EAP 2) INTERFACE type, to group common methods for a type
  • (EAP 2) Reflection API, to introspect language elements dynamically
  • Additional language features (for generic programming) are under construction and will be available in upcoming EAP releases.

SQL Databases

Support for recently released database servers Oracle 18c and PostgreSQL 11

New Tools

  • A code beautifier tool to reformat .4gl source modules and improve the readability and consistency of your .4gl sources. It will include functionality for case, indentation, qualifying imports, and white-space.
  • Refactoring tool to rename symbols in the source code.

You can refer to the “What’s new in 3.20” and “Upgrading” section of the documentation to get more detailed information about these functionalities and others.


  • REST high level services
    The Genero Web Service engine has been enhanced with a mechanism to ease development of a high level REST web service. You can implement REST Web services using function attributes.
  • Genero Identity Provider
    In Genero 3.20, we will also introduce an Identity Provider integrated to the GAS and ready to use with minimal settings. This will bring authentication and authorization mechanism to your apps.


  • The OAuth2 SSO authentication is now supported as it is used by identity providers.
  • You now have an autologout of the authentication server when a Web application is closed.
  • A new element called END_URL has been added to the APPLICATION element to specify an URL that the user agent redirects to at end of the Web application.


  • GGC is now a centralized backend to provide better load testing.
    In Genero 3.20, we reviewed the GGC design to make this use case more efficient. BDL scenarios will no more instantiate directly GGC through the Java bridge but will connect to a GGC backend using channels.
  • New client features available in your test scenarios
    • Drag ’n’ drop
    • Table column reordering
    • Multi row selection
    • Scrollgrid and matrix
  • Network load is now simulated by loading all images attached to the AUI Tree.


  • Remote development with local sources.
    Genero Studio 3.20 provides a new remote development architecture, where sources are local to the workstation and synchronized to the server for compiling and run. This architecture provides better performances when working remotely on slow networks.
  • Code quality tools
    New quality control tools help teams to keep their code as ‘state-of-the-art’, consistent and error free by providing compile time checks directly while coding. Each developer will be able to maintain good coding practices defined by the team. The tool will:

    • Enforce coding conventions : naming rules …
    • Detect potentials errors
    • Detect deprecated syntax
    • Guide during migration process
  • New Business Application Modeling templates
    New BAM templates include enhanced data modelling for reporting data with the addition of aggregates, advanced parameter passing, column aliases, number of occurrences, ordering of data sources and the ability to enter custom SQL.
    It also provides a ‘new events’ mechanism as an alternative to defining custom code inline of the source code by and . These new events isolate the custom source code in a separate file making it less dependent on the generated code and more readable.
  • Stack Layout support : new STACK container
    As the STACK layout has now been promoted from experimental to a supported feature and is now available on the desktop and the web in Universal Rendering mode, the form designer introduces a new STACK container as well. The STACK container can contain FOLDER, GROUP or TABLE containers. Existing text forms (.PER) can of course be imported to the form design to switch to graphical design.
  • New Dark theme
    As dark themes gain popularity with the Windows 10 October release and its introduction in macOs 10.14, Genero Studio adds a new dark theme as well for the comfort of your eyes.
  • Form Designer improvements
    • Select All selects only records and excludes forms
    • Supports for Fontawesome images in FGLIMAGEPATH


  • Data Designer enhancements: The data designer permits using custom SQL to enter advanced SQL queries.
  • Multiple REPORTs in one design: When gathering data for reports, the REPORT instruction permits splitting the code into reports and sub-reports. This is to take advantage of the integrated sorting and grouping of the REPORT instruction. However, this introduces a constraint in the report design: each REPORT instruction requires a separate graphical design. With the multiple REPORT feature, the user now has the choice of designing all in a single report design and hence provide a better overall view of the document.
  • WYSIWYG Excel: The production of Excel documents has been reviewed to optionally provide a better WYSIWYG rendering of the document. The layout is now closer to the PDF and displays borders, background colors and could eventually be printed with a better visual aspect, even though is it not the recommended format for printing.
  • Ergonomics enhancements : The report designer benefits from a few but important enhancements to make the use of the design view more intuitive.
    • In the design view, only containers where drag ‘n’ drop is possible are highlighted
    • Sizing handles were simplified by getting rid of the 2 modes and directly provide handles to resize either by keeping the aspect ratio or not.
    • Table Control has been enhanced to be able to select the table from the design view. It permits direct access to table properties and adds new actions to insert new columns and rows directly from the design view.
    • Header/Footer design has been made clearer by displaying only one of the page types (first, odd, even, any, last…) at the time as headers and footers
  • Paragraph and rich text : A new paragraph container provides simplifications in the layout, permitting the use of new line, non-breakable spaces and auto-wrap of text without the need of sub-containers as layout nodes. Also, the text now allows rich text (fonts, colors, bold, italic, underline…) in a single text object.
  • New DateFormatBox object: In order to improve the date formatting options, the Report Writer introduces a new DateFormatBox drawable object in the designer and new RTL expression classes to manage dates and calendars. Also, when producing Excel documents, the DateFormatBox provides a better export of dates as they are now recognized as cells of Date type in Excel with the appropriate formatting

How to subscribe

If you want to subscribe to the Early Access Program  you must have a Four Js web site account (“My Account”) that enables access to privileged technical information.

Four Js will send you an acknowledgment of your subscription within 24 hours (Monday -> Friday).

Upon approval, you will get access to the download section and the associated mailing list.

We appreciate your interest in pre-release access to our products, and value your feedback. Thank you for your participation in this important phase of our product development.

Best Regards,
The Four Js Development Team