4D v18 R5 Beta Starts Today

Beta testing for 4D v18 R5 is starting today and we couldn’t be more excited!

From ORDA, the Form editor, 4D for iOS, 4D Write Pro, and 4D View Pro, to advanced programming and deployment related-features. This feature release has it all, including a feature that was the highest and fastest voted feature request ever in our feature request forum:


  • Beautifying your applications has never been easier thanks to the ability to preview the final CSS rendering in the Form editor.
  • Macros are available in the Form editor to help you to get more done in less time! 
  • ORDA is still bringing new features and this feature release is no exception: shareable entity selections are available and more control over function availability is granted.
  • More advanced features are at your disposal, including the ability to name your parameters and results when declaring functions and methods, the ability to debug code running on the server using your client, customized 4D cache for merged 4D server, and 4D clients … just to name a few.
  • 4D for iOS has two new advances available: the data synchronization process has been optimized, giving you up to 25 times faster data sync and deep linking to help improve the user experience.
  • New IMAP commands are available for search, copy, move and delete. More IMAP features are in our pipeline.
  • 4D Write Pro is also packed with new features and 4D View Pro is making writing your code easier with a new command.
  • And much more (see below).

Download 4D v18 R5 now (Exclusive to 4D Partners) 


New keywords to manage functions Scope

With 4D v18 R5, we’re bringing more features to help you optimize and organize your code. New keywords are available so you can choose to execute some functions on the client or on the server and you have the power to choose which functions to publish (or not ) as APIs for REST clients.

Shareable entity selections

Gone are the days when you would build a list of primary keys to move a selection of entities to another process, because starting with 4D v18 R5, an entity selection can be shareable. This could be useful, for example, when you’re performing a complex query to find all overdue invoices: You can allow end users to select some (or all) of the invoices, and send a payment reminder via email. Sending emails is best done in another process to avoid blocking the user. 




 The Form editor

CSS preview in the form editor

You can now preview the final CSS rendering in the Form editor. A new icon is available in the toolbar allowing you to view your form with or without the CSS rendering, even showing how it would look with specific CSS rendering on macOS or Windows.

FORm macros

Starting with 4D v18 R5, macros are available in the Form editor allowing you to automate repetitive tasks and help you get more done in less time.

Their use cases are numerous. For example, they can be used to create a CSS class from a form object to use as a template, display a modal dialog to enter a parameter on the fly, calculate the ideal position of form objects and move them … just to name a few.

Interested in seeing them in action? We’ve made some examples available on GitHub which you can integrate into your applications as components to test them … and why not share your macros with us?



 Deployment-related features


Sometimes when your machine hosts a merged server application in parallel built with different 4D versions, you may encounter problems due to the shared 4D structure folder. In order to avoid sharing this system folder between the merged server applications, 4D v18 R5 now allows you to define the folder name during the build application process.


Do you use the same server application multiple times and connect your client to one server or another? This results in having multiple cache folders on the client. This could be time, volume, and network consuming! Starting with 4D v18 R5, you have the ability to share the same local resource folder between all identical servers.

skip non-critical errors

When running 4D Server in production, everything should be fully automatic without requiring an administrator. This is especially important with Auto Update and operating in Headless mode. After a power loss or crash, minor errors in the journal might stop an automatically restarted 4D Server. A new option now allows suppressing non-critical error messages (but still reporting them in a log), reducing system downtime.



Search and download emails

4D v18 R5 adds IMAP search functionality to allow retrieving a list of messages based on criteria such as all unread emails or all emails from a specific person within a specific time range. A new command returns a collection of mail IDs, which can be used directly by the new getMails method to download them.

Copy, move, and delete

Three new functions have been added to the IMAP transporter performing exactly what their name suggests: copy()move(), and delete().


 4D for iOS

Optimized data synchronization

4D v18 R5 optimizes the 4D for iOS data synchronization process, giving you up to 25 times faster data sync!

If you’re wondering how this could be useful for you and your final users, try imagining that you’ve come back from vacation to find a thousand invoices requiring your attention, meaning a thousand of records to retrieve. With the new data synchronization enhancement, your data can be pulled instantaneously!

Deep linking

4D for iOS provides a very exciting feature to help you improve the user experience and increase user retention and engagement: Deep linking.

At the touch of a finger, seamlessly share a URL that will open a specific record in your 4D for iOS app. In combination with push notifications, you can inform, for example, salespeople about a new quote or insurance agents about a new case.




 Programming-related features

Coder-friendly syntax for class functions and methods

The 4D language keeps getting better with every feature release and with 4D v18 R5, we have good news: there’s no need to go through an intermediate variable. You can now name your parameters and results when declaring: project methods, triggers, database methods, form methods, class constructors, and class functions.

Remote debugger

As a developer working on a client/server project, sometimes you need to switch between the client-side and the server-side to look at your server debugger or error window. To make your life easier, we’ve added a new option to let you decide where you want to debug your server code.


 List boxes

type ahead made easy

If you’re interested in the user interface, you may have already used the On before keystroke and On after keystroke events. You’ll certainly be happy to know that the handling of these events has been greatly enhanced in 4D v18 R5. They now support system help dialogs to select diacriticals such as éä, or Asian characters. The event is delayed until the end user selects the final characters. There’s no need to handle this yourself.

BONUS: A new command has been created to determine if there is ongoing input when the On before keystroke event is generated!



4D Write Pro

Comma or decimal point?

If you have documents from various sources, numbers may not be correctly formatted for your needs. With 4D v18 R5, 4D Write Pro lets you specify this setting for each document. You can choose to align numbers either to the point, comma, the first separator found, or the separator defined in the operating system.

Easily manage SOFT HYPHENS

The insertion of soft-hyphens has been simplified by providing new standard actions, as well as new buttons in the 4D Write Pro Interface widgets in both the toolbar widget and the sidebar widget.

Best of all? The source code is available on GitHub. Feel free to adapt it to suit your needs!

TO SHOW or not to show?

For some of your applications, not all of the widget pages are necessary. For example, you use 4D Write Pro to format your emails so you only want to display a few pages to simplify the interface and make the user’s work easier. That’s why, starting with 4D v18 R5, the 4D Write Pro interface widget provides the ability to select which pages to display, allowing to reduce the available feature set and make it simpler for the end user!



4D View Pro


4D v18 R5 introduces a new command to simplify writing your code. It creates custom functions in 4D View Pro which execute 4D formulas.

A use case perhaps? Well, there’s no need to create a method to use a simple variable in 4D View Pro, just pass it as a parameter to your Formula!


Need more technical details? Take a look at the 4D v18 R5 Beta documentation in the 4D Doc Center.

Your feedback is greatly appreciated and will help us improve our product quality and better serve your needs. We’d love to hear your thoughts about any of the features above. Contribute to our “beta” forum (accessible for all 4D Partners). And don’t hesitate to tell us about your needs, we take votes very seriously

Not a partner yet? Become a 4D Partner and join the conversation!

• Product Marketing Manager • Intissar joined 4D in 2017 as a Product Marketing Manager. She works closely with the product, marketing, engineering, and technical support teams to highlight the ‘why’, the ‘how’, and the ‘what’ of new and updated features to different audiences. This close proximity allows her to craft messaging frameworks and write in-depth content and code samples for the 4D blog and website. After graduating with an engineer's degree in Computer Science from VINCI university, Intissar worked in several startups as a software engineer. Her hands-on experience includes software specification, design, and development, user training and support, and team management.