4D v17 R5 Beta starts today

We’re pleased to announce the launch of beta testing for 4D v17 R5.

4D v17 R5 is one of the most feature-rich R-releases ever delivered, and we couldn’t be happier to share all the advances we’ve added to the ever-growing list of 4D features:


  • New built-in data encryption for your 4D databases is available, adding another level of security that is completely transparent, safe, and fast. 
  • Actions, incremental data synchronization, and N to one relations are now available for 4D for iOS.
  • The SQL engine has been updated to allow reading 4D objects.
  • More email features: Logging SMTP conversations, custom mail headers, and legacy charset support are ready and waiting for you. 
  • Additional advances in the 4D language and ORDA for better readability, efficient code maintenance, and optimized performance.
  • In addition to commands being extended or renamed, you can also invoke a method from your 4D application, thanks to the power of 4D Write Pro
  • A powerful new ribbon-style toolbar to enhance the 4D View Pro user interface is at your disposal. 
  • And much more (see below).

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

 Built-in Encryption

4D v17 R5 provides a built-in solution to encrypt your customer’s data, for all tables or only selected tables. Data can be encrypted via code or the user interface. File-level encryption is one of the most secure ways to protect your data from unauthorized access. Completely transparent, safe, and fast … 4D does all the hard work for you (and your customers).

Important to note: If you lose the encryption key, there is NO workaround. The data will be locked forever. 

4D for iOS – Preview 



Set tasks to be completed or finished or mark events to be checked, with just the swipe of a finger or by selecting an action from a menu. It’s as simple as that.

Incremental data synchronization

Rather than continuously sending the entire data set to a device, 4D now automatically keeps track of updated or deleted records and only sends this data to the device. Scroll to the top of the screen and slide your finger down for your app content to be updated.

N to one relations

N to one relations are here. You can use descriptive relation names and simplify defining your project structure. Change a related fields’ short and long names, choose its icon, and apply queries on it.

Sending Emails

Log SMTP conversations

Sometimes everything works fine during development, but a problem delivering emails occurs when you deploy to the customer. Now, there’s no more headaches figuring out what went wrong! Simply start the SMTP log in your application and easily analyze the communications with the SMTP server – in plain, non-encrypted text

Custom mail headers

Do you need to add some information that may not be supported with standard properties? 4D not only provides a set of predefined headers, we’re even giving you a way to declare customized headers to the mail object.

Legacy Charset support

For those who are still communicating with old devices that don’t support Unicode, you now have to the option to send emails in legacy encodings: ISO-2022-JP for Japanese or ISO-8859-1 for Western European.



Named placeholders for values

ORDA has it share of features with 4D v17 R5. In this R-release, we’re helping you to easily write generic queries for efficient code maintenance thanks placeholders for values in ORDA queries!

Named placeholders for attribute paths

What about using placeholders for attribute paths (fields names in tables)? Yes, you can! We’re even providing two types: indexed (:paramIndex, e.g. :1, :2… with an increment of 1) and named (:paramName).

Performance optimization in Client/Server mode

Accessing large tables (especially those with relations) in Client/Server mode using ORDA has been greatly enhanced. When using entity selections in list boxes or in code loops (e.g., While or For each) ,the fields used will automatically be analyzed to optimize the network transfer. And best of all – there’s no need to change anything in your code, it’s all automatic. 


Significant Improvements

Enhanced performance

For those with a heavy process load on their 4D Server, 4D v17 R5 brings good news! 4D’s internal architecture has been enhanced and now processor usage is fully optimizedopens in a new tab) in preemptive mode and simultaneous read/write accesses. As a result, you might see performance 4 to 8xs faster.

Multi-client instances

We know you’ve been waiting for this feature in order to run multiple clients on the same computer AND simultaneously connect them to the same 4D Server. 4D v17 R5 gives you even more. Now you can also connect several clients from the same machine to multiple servers on different machines. There’s no need for any special configuration, just run the clients and it’ll work.

Librairies update

4D v17 R5 is 64-bit only. Focusing exclusively on 64-bit systems makes it possible for us to incorporate more modern technologies and feature sets, as well as update several libraries: Hunspell v.1.7.0 (spell checker), PHP v7.3.1, CEF 3626 (Chrome Foundation, internal web area), OpenSSL v1.1.1 (next LTS version, allowing the support of TLS 1.3), and ICU 63.1 (new Unicode versions). This change brings new opportunities in addition to having a positive impact on your 4D applications.

Enhanced UI in Quick Report

4D v17 R5 provides UI improvements for a better user experience for Quick Report: a new “Save / Save as” button and a tooltip to help you view the sorting direction (ascending or descending).


4D Language

Read 4D object fields with SQL Engine

In case you need to access external records via ODBC or read 4D object fields, now you can with the updated ODBC driver and SQL engine.

Object notation to handle files and folders

Objects are awesomely powerful! They can make your code more generic, flexible, easier, and faster.  Now this power is extended to files and folders so you can to retrieve the attributes of a file/folder rather than calling several commands and storing the information in several variables. So much easier!

More information about web processes

You asked for more information about web processes to better identify requests that might be slowing down or blocking your server. We heard you and in 4D v17 R5, we’ve added information about the URL used by web processes. 

Who’s who with set user alias

With 4D v17 R5, a new command and selectors are available so you can set the 4D user identity by defining a custom name to use instead of the current 4D user account name. No more headaches trying to figure out who’s who.

Debug log improvements 

It’s highly likely that you’ve already activated the debug log to troubleshoot problems. With 4D v17 R5, we’re pleased to announce that severam improvements have been made to help you analyze these files. Now you have the ability to log only specific processes, as well as logging calls to member functions (collection or object methods).



4D Write Pro

Links to 4D methods

What if links could offer more than provide easy transitions from one place (e.g., a 4D Write Pro document) to another (typically a website)? What if they could launch the execution of 4D code or simply move the cursor to a different area in the same document? With 4D v17 R5, they can!

Tab settings

Setting tabs is now easier than ever … with a collection of strings, numeric values, or even a collection of objects! And that’s not all! If you only need to modify the default tab values, you can use an object with new constants (added specially for this purpose).

Handle view properties by programming

In page mode and want to hide both vertical and horizontal rulers, but need to keep headers and footers visible? Now you can! Thirteen new viewing options (e.g. zoom, spell checking, page frames, etc) can now be set and get by programming.

More targets and renamed commands

Several commands, that previously only accepted ranges, have been extended to accept almost any kind of target (ranges, elements, sections, documents, etc.). Code is now easier to read and write. And that’s not all! Six commands have been renamed with shorter names, so they’re easier to remember.


4D View Pro

Ribbon-style toolbar

A powerful and feature-rich ribbon for 4D View Pro is available. It organizes features into a set of tabs in order to increase the discoverability of functions and enable quick access to different commands. The ribbon also comes with PDF and CSV export options.

Manage selections and active cell

Whether you need to identify which cell in your 4D View Pro document is being worked with and where data will be entered or you need to select several cells and perform an action on them (e.g., formatting or entering values), 4D v17 R5 has got you covered with a set of commands to help you manage selections and the active cell. 



Need more technical details? Take a look at the 4D v17 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 version” forum (accessible for all 4D Partners).

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.