What’s new in 4D v19 R8


Handle users permissions

In addition to the ability to expose or not expose a dataclass and some of its attributes as a REST resource — which was a convenient way to restrict access to your data, 4D goes a step further to deliver a powerful and fully customizable system to protect your data from unauthorized users. A system to protect your data depends on who is accessing it and which data is accessed.

This new feature is based on ORDA concepts and scalable web sessions. It covers all web processes, such as REST requests, requests received on a remote datastore, and web processes like 4DACTION or 4D tags.



Error Handling

4D v19 R8 is bringing new possibilities to error handling. From now on, you can define a global error handler that will be efficient for all execution contexts (processes, workers, ORDA computed attributes, ORDA functions, etc.). If you miss defining a local error handler in a new process/worker, the global error handler will be invoked automatically. This means no more error dialog displayed on the server and no more uncaught errors.

Microsoft 365


emails Management

As you might know by now, 4D NetKit is a built-in 4D component that allows you to interact with third-party web services and their APIs, such as Microsoft Graph. Starting with 4D v19 R8, we added new commands to this component to allow you to manage your emails through the Microsoft Graph API. Commands to:

  • receive emails and list your mailbox folders
  • move an email from one folder to another,
  • reply to an email and create a conversation,
  • create a draft email and save it in the folder of your choice,
  • and delete an email.


Automatic Row Heights in Collection Based List Boxes

Automatic row heights were already possible for array-based list boxes, allowing them to automatically adapt the height of each row to its content. 4D v19 R8 is bringing this possibility to list boxes based on collections and entity selections.



Build your Compiled Structure or Component with Build4D

With the introduction of the project mode, it’s pretty easy to manipulate the components of your projects. In the last few feature releases, we have added several functionalities that allow you to create your own build chain adapted to your team, your working methods, and your needs.

To help you create your own build chain or integrate 4D into a continuous integration tool, we have developed a component named Build4D, available on GitHub with the sources. For this first step, Build4D allows you to create a compiled structure and a component. We will continue to enrich it to enable you to manage a single-user, client, or server application.


4D Write Pro

Text boxes 

With every feature release, the list of 4D Write Pro features is growing bigger, making the product an advanced template-based document generator.

And this time, 4D v19 R8 is bringing text boxes to 4D Write Pro.

A text box is a floating text area of any size containing text, images, or tables! They can be used in very different ways, for example, to position an address at a specific place on the paper so that it appears clearly in the envelope window.

4D View Pro

Tables style customization

Tables are an integral part of 4D View Pro documents. As such, we have provided many table-related advances over the different releases. 4D v19 R8 adds a new feature related to styling those tables to fit perfectly with the rest of your document.

From now on, the VP Set table theme provides a way to apply by programming one of the over 60 predefined table styles. If none of these styles meet your need, you can define your own theme and apply it to your table.


SDI Windows

Test Windows SDI Application

It’s been a long time since you could provide your customers with merged applications in SDI mode. That was a huge step forward for Windows applications UX.

4D v19 R8 makes testing an SDI application easy: you can view the result of your application without the need to build your standalone or client application.

4D for Mobile

4D for Android sections

In a data list, the results are usually sorted according to a relevant field to help the user find the desired data quickly and easily. Another trick to further enhance the readability is to group the results by adding sections (e.g., Contacts app).

New in 4d for Android

With every release, the list of 4D for Android features is growing bigger. And this feature release is no exception:

    • Create a choice list from a table field or a JSON file.
    • Use input control with code to retrieve, for example, GPS coordinates or phone numbers in the Contact application.
    • Add a section in list form to group data by the company, for example.
    • Use a custom login form.
    • Improvement of the bottom navigation bar to display more than four tables and follow the Android guideline.

 Learn more and find examples in the blog post >

4D Extensions

VS Code Extension: Code Completion

4D brought external source code editors support (e.g., Visual Studio Code), allowing them to handle 4D code and provide them with standard functionalities such as syntax highlighting, Go To Definition and Signature Help.

4Dv19 R8 brings a new capability: Code completion.

Want to know more? Read all the blog posts about 4D v19 R8