4D v18 beta starts today

Beta testing for 4D v18, our most spectacular release yet, is starting today! And we couldn’t be more thrilled to share all the novelties we’ve prepared for you. More than +90 advances, including major enhancements to existing features, as well as new ones that were designed to ease your development journey and take your applications to new heights. And in case you want to have an overall idea on this release full potential, we’ve put together this extensive library of examples (HDIs).

Buckle up and let’s discover some of what 4D v18 Beta has to offer:


  • Project database – Version control: a solution for collaborative programming. Enabling you to store your code in a source control system (e.g., Github, Perforce, etc.) in plain text files.
  • Built-in encryption: protection at its finest with built-in data encryption on a per-table basis.
  • 4D for iOS: a product fully integrated into 4D to extend your business applications to mobile with ease.
  • ORDA: enhanced commands, enhanced performance … and then there is remote datastore.
  • 4D language: extra 4D commands to enlarge your programming capabilities.
  • 4D Write Pro: Style Sheets. Tables. Toolbar. Word Export. And much more.
  • 4D View Pro: Ribbon Toolbar. Excel import/export. And the list goes on.
  • And much more (see below).

Download 4D v18 now (Exclusive to 4D Partners)
Check out all 4D v18 examples

Project database – Version control


Imagine a way of working collaboratively, a way to work wherever you are in the world with a dispatched team and no questions where the latest version of a file or project is. A different way to test new features and roll them back if they didn’t work out, being able to choose a restore point from which you want to roll back instead of a full file backup. 4D v18 turned imagination into reality with project databases.

What is a project database?

A project database contains all the source code of a 4D database application: from the database structure to the user interface, including forms, menus, user settings, or any required resources. 

… And Why?

For starter, project databases consist of several text files that can be read by humans. If you want to exchange a form with a colleague or reuse it in another database, you simply copy the form folder, which contains the form description, method, and object methods. You can also store the project databases in a source control system and enjoy all its advantages, either as a single developer or a team member. If your application crashed today while everything was perfect yesterday, it’ll be easy to know what went wrong! Because you have a history of your code so you can compare different versions. Just to name a few perks.

Ok. How?

Simple. You can create a project database by either creating a new blank project database or exporting an existing structure database (.4db) to a project folder. To convert an existing database, just click the “File > Export > Structure to project” menu item. After that, a message is displayed to inform you that the conversion is successfully completed. 

NOTE: All the new features and the capabilities offered by the project databases will be detailed in future blog posts. Stay tuned! 


 Built-in encryption

File-level encryption is one of the most secure ways to protect your data from unauthorized access, and 4D v18 provides you with an out of the box solution to encrypt your customer’s data: built-in encryption on a per-table base. Fully transparent, safe, and fast. Get up and running with a single click. And if you prefer to do it manually, we’ve created commands to give you complete control over everything.

 4D for iOS

Extending your business applications to mobile is made easy with 4D for iOS. Fully integrated into 4D, and no prior expertise is needed to get up and running. 4D v18 provides all the needed features for creating mobile apps with the best user experience you can get: design your business logic with N to One and One to N relation support and build more engaging apps thanks to CRUD operations. 4D for iOS offers beautiful list and details forms that follow Apple guidelines, but in case ours don’t suite you, easily create your own. What about displaying a picture to visualize “paid” and “unpaid” invoices instead of a checkbox on iPhone devices? Data formatters are the answer, they allow you to define specific data types for your fields in order for the content to be displayed in the right format. And wouldn’t it be more convenient to limit the data to the invoices of last year, to the region a sales manager is responsible? Restricted queries are the solution. We’ve only scratched the surface of what 4D for iOS has to offer. Much more can be done.



Remote datastore

This feature opens new possibilities for client/server work. Rather than being limited to the current database and requiring a permanent network connection, an application can get data from another remote 4D database that’s exposed on a 4D server! Imagine organizing your applications to work offline and only synchronize local data when remote data is reachable. Or publishing your data on several servers and switching from one to the other as necessary. What about having your data distributed in different places yet accessible through a single 4D client code (project methods and form objects)? All of these scenarios are now possible with 4D v18!


Accessing large tables (especially those with relations) in Client/Server mode using ORDA has been greatly enhanced. You’ll see 2-3x improved LAN performance and up to 30x faster in WAN. And best of all – there’s no need to change anything in your code, it’s all automatic.

As for writing generic code for efficient code maintenance, 4D v18 offers two more features: placeholders for values in ORDA queries and placeholders for attribute paths (field names in tables).

Explore the upgraded query() method and see how you can use it to create more sophisticated search criteria. Besides the new function that helps you to order an entity selection using complex criteria in a project method or in a 4D expression, new ones are available to help you debug and optimize your ORDA code so you can gain a better understanding of sent requests. 4D v18 also provides you with many methods to help you when integrating ORDA step-by-step into your classic 4D code.

4D Language

A new way to send mails

4D v18 introduces a new way to create and send emails. Easy to use – and as more powerful as the previous way using 4D Internet Commands. Sending eye-catching emails based on HTML, with images, videos, and attachments can be done with just a few lines of code. And in case there’s a problem delivering emails, let’s say when you deploy to the customer, then logging your SMTP conversations to discover where the failure occurs, is possible.

Headless 4D applications

Do you need to simulate Windows behavior on macOS, or having the Windows service behavior without using the service manager? What about opening up to new opportunities such as developing bots with 4D? All is possible, because 4D v18 allows you to develop applications without a graphical user interface (GUI), otherwise known as headless applications.

Custom remote connection dialog

What if you could – for instance – help first-time users to find the correct server or to handle error messages (e.g., server not responding, etc.)? Yes, with 4D v18 you can use a merged single-user application to build your own connection dialog for a merged server.

Enable debugger in compiled mode for PROCESS 4D TAGS

4D v18 allows you to use the 4D debugger in compiled mode for PROCESS 4D TAGS using the TRACE command. Now you can debug your code even in production environments knowing exactly where liability lies.

NEw variant data type

A new variant data type has been introduced, the variant data type can be used to represent any other data type (except arrays). It drastically improves generic coding, such as allowing a method to receive a parameter either text or blob, without needing to wrap it using a pointer.

Zip commands

New commands that take advantage of the power of object notation to handle files and folders are available. Creating, modifying or deleting files and folders on your disk became must easier and intuitive. Speaking of files and folders, 4D v18 allows you to compress and uncompress your files by code without calling any external libraries or tools.

Disable thread-safety check

Enable using methods with both thread-safe and not thread-safe calls is now possible with a flag that lets you disable this check. 

4D comment blocks

Beginning with 4D v18, your programming experience is enhanced with the addition of comment blocks! Now instead of having many lines prefixed with //, you can simply use /* at the beginning of comment and */ at the end to comment an entire block. You can also collapse and expand them. Also, the comments can be added to any part of a line, even inside an if condition or a loop.


No more headaches trying to figure out who’s who, a new command and selectors are available so you can set the 4D user identity by defining a custom name to use  Also, with 4D v18, several improvements have been made to help you analyze debug logs. And that’s not all, in case you ever felt lost when trying to debug code with nested methods, 4D v18 gives you an insight into the executed code. What about a tool to help you monitor process execution? Here you go

4D v18 has more, now you can connect several clients from the same machine to multiple servers on different machines. No need for any special configuration, just run the clients and it’ll work. And in case you need to access external records via ODBC or read 4D object fields, 4D v18 allows you to do so with the updated ODBC driver and SQL engine.

More good news with the 4D v18, the list of commands that give you the ability to create your own administration interfaces as dialogs on the server, client, or even as HTML pages for web access, is completed. And more information about web processes to better identify requests that might be slowing down or blocking your server is available besides detailed information about the activity and network configuration of your active database.

4D Write Pro

Style sheets

4D v18 brings good news: the arrival of style sheets. Now, you can manage your own style sheets for paragraphs or characters. 

Resize column width

An out of the box feature is provided to enable end-users resizing the width of the columns. Do we really need to say more?

Managing rows and columns

4D Write Pro advances a step further with four new commands to managing insertion and deletions of rows and columns.

Fixed height for headers and footers

Sometimes, it’s more practical to set the heights of headers and footers to constant values even if their content may be truncated and no longer be fully visible. And that’s exactly what this feature allows you to do.


4D Write Pro features set has grown: A new toolbar is available to help you with the document creation process. Besides, 4D Write Pro documents can now be exported in Microsoft Word (docx) format. Also, in order to help you create clean and appealing documents, new attributes to avoid widows, orphans, and page breaks are available. While others are there to help you define the page size, orientation, margins, and sections with code. Several commands are simplified, making them more flexible, allowing passing as a parameter not only ranges, but also other document parts (such as headers, footers, or even full documents). Also to avoid confusion about how to set tabs, these commands are reworked too.


4D View Pro


A powerful, ribbon-style toolbar to enhance the 4D View Pro user interface is available with 4D v18, and all it takes is one click to be activated. Plus, your 4D business applications are taken one step further, toward better integration with the MS Office environment thanks to the possibility of working with Microsoft Excel (.xlsx) documents using 4D View Pro. 4D v18 also introduces printing and PDF export, allows you to customize the style of your 4D View Pro documents, and introduces new concepts and commands. For instance, command to convert a sheet or part of a sheet to SVG, a set of commands to help you set and get the active cell or selection(s) in your documents, another set to fill your documents via programming, plus extra methods to allow you read a large number of different values or formulas at the same time via collections. Your database security is enhanced as you now have even more control over the data you choose to make available to your end-users. And your methods can be more informative and descriptive to end-users.



Need more technical details? Take a look at the 4D v18 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.