What’s new in 4D v19 R2

GO Mobile with 4D

4D for Android

4D for Android is available with 4D v19 R2. Our no-code development platform for Android devices.

From now on, the same mobile project can generate both native iOS and native Android apps. For those of you who already use 4D for iOS, you only need to open your existing mobile project and click Build to get the Android version of your app.

We are providing very similar user experiences on both platforms while still taking care of their standards. Many features are already available for our Android users. And with each new release, we will enrich the possibilities to have a complete equivalence with 4D for iOS. Meanwhile, here is what’s new on both platforms:

Custom Data Formatters for Light & Dark Appearances

You can already create your own custom data formatters and convert strings, booleans, or integers to images in your generated app.  Starting with 4D v19 R2, you can take full advantage of those formatters for iOS and Android and make sure images look good in both light and dark appearances. Three different options are available:

  • using black and white colors,
  • using different pictures depending on the active mode,
  • mixing the above two options.

Colorize your apps without a struggle

When you create a mobile project, a default 4D icon is used in the General section. By default, the dominant color of this icon is used to colorize various elements of your mobile app automatically, such as the navigation bar or the buttons, for example. Starting with 4D v19 R2, you can easily define the main color of your iOS and Android apps by selecting it from a color picker that is fully integrated into the project editor. 


UPdate 4D for iOS Pending tasks that got rejected

The offline action feature has been available for some time now. While users are offline, user actions are put in a queue and automatically processed as soon as the connection to the 4D server is available again. With 4D v19 R2, we provide a way for users to edit and retry sending the pending tasks that failed. 


4D for iOS: Sort the content of a List form

Several predefined actions are available from the Action section, such as “Add,” “Edit,” “Delete,” and “Share.” They help your app users manage their content. 4D v19 R2 introduces a new one: you can now create Sort actions to sort local app data.


Programming-related features

Create a bloB attribute in an object

With the introduction of classes, the need for storing data in objects has increased, especially data in the form of blobs. For this reason, 4D v19 R2 supports the encapsulation of blobs in objects.

Beyond the storage aspect, since the blob object is a reference type, your memory usage will lower, and your speed performance will be greatly enhanced.


Byte Order Mark (BOM) and End of Line (EOL) management

With 4D v19 R2, 4D has evolved smoothly to follow best practices regarding managing certain invisible characters in text files. That’s why from now on, 4D writes text files without a BOM. And on macOS, 4D uses LF as an EOL character. This is completely automatic for all files written by 4D, such as 4DSettings, 4dm, 4DForm, and so on.

As for compatibility settings, new options are available allowing TEXT TO DOCUMENT and File.setText() to generate files without a BOM and use LF as EOL character on macOS when the optional “charSet” and “breakMode” parameters are missing. For more details, check out the documentation.


default .gitignore file in new projects

Project mode allows you to easily track changes with Git (version control system), but often you don’t want to track your project files in the Git repository. 4D v19 R2 lets you define what not to track in a new project by automatically adding a default .gitignore file in the project folder with a list of default files and folders to exclude.


Automatic components Signing on mac

With 4D v19 R2 and on Mac, 4D automatically signs built components using the certificates defined by the user or an Adhoc signature if no certificate is specified. This allows component developers to distribute signed components, so end users don’t have to sign them before using them.

Show online documentation directly from the code editor

With 4D v19 R2, you can access the details of a class function without having to search on the documentation site. Simply press the F1 key or click the Goto definition… item in the contextual menu.

4D Write Pro

New image display options

Starting with 4D v19 R2, inline as well as anchored images inside 4D Write Pro documents benefit from seven new formatting types thanks to the new wk image display mode attribute:

  • Scaled to fit (by default)
  • Truncated
  • Truncated centered
  • Proportional
  • Proportional centered
  • Replicated
  • Replicated centered

We’ve also made it easier to format the images used as background documents, sections, paragraphs, etc., thanks to the new attribute: wk background display mode.

4D View Pro

Pivot tables with SpreadJS v14.1

4D v19 R2 comes with a new version of SpreadJS that introduces pivot tables. If your users include people from sales and marketing, this feature is worth a try, as it allows you to easily summarize and analyze data directly from the 4D View Pro ribbon.

CSV: New import/export format

4D v19 R2 allows you to import and export CSV files. CSV is a common data exchange format widely supported by many applications. For example, you can display the data of a CSV file that comes from another information system using VP Import document and VP Export document. These commands support delimited text files formats such as CSV.

Sheet management

 4D v19 R2 lets you manage the sheets in your 4D View Pro documents by programming. You can create, rename, hide or remove a sheet, or simply check which sheet the user is currently on, using the following commands:

  • VP SET SHEET COUNT: define at once the number of sheets you need
  • VP ADD SHEET: insert a sheet (with a custom name) at a specific index
  • VP SET SHEET NAME: guide your users by giving relevant names to your sheets
  • VP SET CURRENT SHEET: change the selected sheet 
  • VP SET SHEET OPTIONS: hide sheets, for example, those that contain only information for calculation

Manage page breakS FROM THE UI

With 4D v19 R2, managing page breaks from the user interface is now possible thanks to new entries in the contextual menu: “Add page break” and “Remove page break.”  You can also show or hide the print lines using the new commands, VP SET SHOW PRINT LINES and VP Get show print lines.

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