4D v20 R2 Beta Starts Today

We are pleased to announce the launch of beta testing for 4D v20 R2! 

Following the successful release of 4D v20 LTS, this new version comes with even more enhancements and exciting additional features you wouldn’t want to overlook!

Let’s uncover all that 4D v20 R2 Beta has to offer:




  • Introducing the 4D Write Pro Table Wizard, an intuitive tool designed for end-users, enabling them to leverage developer-provided templates tailored to their business requirements.
  • Experience elevated error management capabilities that enhance user feedback by providing comprehensive and timely information directly within your interfaces.
  • Embrace the new .sjs file format in 4D View Pro, specifically designed to address performance challenges encountered when working with larger files.
  • Explore the new functionality to send emails via the Gmail API, expanding your communication capabilities.
  • Discover the latest addition of a Visual Studio Code extension feature that enables code formatting.
  • And that’s not all —Much more awaits you!

Download 4D v20 R2 now (Exclusive to 4D Partners)

 4D Write Pro Tables

Table wizard

4D v20 R2 comes with a powerful solution – the table wizard – designed to make life easier and accelerates the creation of 4D Write Pro documents containing tables.

By leveraging this wizard, end-users can enjoy a range of benefits tailored to their specific needs and business requirements.

The table wizard grants access to a collection of templates crafted by developers, ensuring they align perfectly with users’ use cases. Through the wizard’s intuitive interface, they can effortlessly configure these templates to suit their preferences. 

Here’s a video to demonstrate the possibilities:


Cells Merging

Whether you need to highlight specific information or create more visually engaging presentations, the ability to merge cells empowers you to achieve your desired outcomes with ease.

With the ability to merge cells, you can now achieve better organization and presentation of your data. You have the flexibility to merge cells horizontally, either on an entire row or a specific part of it. Likewise, vertical cell merging allows you to combine cells across an entire column or a designated section. Additionally, you can create blocks of cells, opening up even more possibilities for structuring your data effectively.





4D v20 R2 brings a new capability: the ability to throw errors in your 4D code. This feature operates similarly to any other 4D error, enabling you to trigger an error dialog or handle it through an ON ERR CALL method. The key to unlocking this functionality lies in the new throw command.

By harnessing the power of throwing errors, you can elevate the level of user feedback you provide within your interfaces. As errors are detected in real-time, you can promptly deliver comprehensive and precise information to end users. This enhanced feedback empowers users to better understand the nature of the error and take appropriate actions, resulting in an improved overall user experience. Additionally, you can implement more effective error logging; by capturing detailed error information at the point of occurrence, you can gather valuable insights for debugging and troubleshooting purposes.


With the introduction of 4D v20, you gain the ability to create a websocket server using the powerful 4D.WebSocketServer class. This provides a full-duplex communication channel between a server and a client.

Building upon this feature, in 4D v20 R2, we bring you the 4D.WebSocket class, which takes things a step further. With this class, you can now create a websocket client to connect to your server. This means you can establish bidirectional communication channels between your client applications and the server, enabling real-time data transfer and updates.

Note: If you’re interested in knowing more about the subject, don’t miss out on Thomas Maul’s session on the WebSocket Server, organized by 4DMethod.



4D Netkit


In a previous 4D version, connecting your application to the Microsoft Graph API through OAuth 2.0 has become incredibly convenient using 4D NetKit. Building on this, in 4D v20 R2, we’ve expanded the capabilities to obtain an OAuth 2.0 token for Google API and other OAuth 2.0 servers.

To enhance the integration of this authentication process into your application, we’ve introduced a new feature. Now, once the token is received, you can seamlessly display your HTML page directly within your web browser, which will provide you with clear information about the success or failure of your authentication.


At 4D, we understand the importance of seamless email communication and the frequent need to send emails within modern applications. We’ve taken note of the valuable feedback from Gmail users who expressed the desire for a simplified way to send emails through the Gmail API. As a response to this feedback, we are excited to introduce the “send email” command as our initial implementation in 4D v20 R2.



 4D View Pro


We know the performance challenges of working with large 4D View Pro files. To address this, we have introduced a new file format called .sjs.

The .sjs format is designed as a compressed file that consists of multiple smaller JSON files, following a structure similar to Excel XML. This innovative format has been developed to improve performance and optimize the handling of these files, particularly for scenarios involving complex 4D View Pro files.





 Visual Studio Code


With the release of 4D V20 R2, the VS Code extension has introduced a new feature: code formatting!

If you’ve been using VS Code to edit 4D methods or classes, you might have noticed that the code formatting didn’t match the style used in 4D. However, now you can format your code like 4D does. This means the VS Code extension behaves consistently with other programming languages regarding code formatting.




Improved Network Communication (QUIC)

Introducing the new QUIC network layer in the 4D v20 beta was an exciting development. However, as we continue to refine and enhance this feature, we made the decision to deactivate it for the LTS final release. Rest assured, the QUIC layer will be available in future feature releases, and we encourage you to actively participate in its development and improvement.

In 4D v20, switching network layers was limited to interpreted applications, necessitating a new build for engined applications. But with the launch of 4D v20 R2, we have introduced a significant improvement. Now, you have the flexibility to change network layers in compiled/build applications via the Structure, User, and Database Settings.

This enhancement allows you to easily switch network layers for testing purposes, even in production environments, eliminating the need for time-consuming application rebuilds.



Need more technical details? Take a look at the 4D v20 R2 Beta documentation on 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 yet a partner? Don’t miss out on the opportunity to become a 4D Partner and engage in meaningful discussions. Join us today and be part of 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.