Skip to main content
Version: Next

Release Notes

4D 20 R8

Read What’s new in 4D 20 R8, the blog post that lists all new features and enhancements in 4D 20 R8.

Highlights

Behavior changes

  • Because of their new architecture, components built with 4D 20 R8 and higher cannot be installed in previous 4D releases.

4D 20 R7

Read What’s new in 4D 20 R7, the blog post that lists all new features and enhancements in 4D 20 R7.

Highlights

Behavior changes

  • Documentations for 4D Language and 4D Write Pro Language are now fully available on developer.4d.com. Find out about all the new features and changes concerning these documentations in this release note.
  • The File command (as well as 4D.File.new()) is stricter when it comes to checking the syntax of the path supplied as a parameter.
  • The describe action permission has been removed from available actions. Access to /rest/$catalog urls is no longer controlled. Session describe privileges are now ignored.

4D 20 R6

Read What’s new in 4D 20 R6, the blog post that lists all new features and enhancements in 4D 20 R6.

Highlights

Behavior changes

  • Support of scroll chaining in forms: parent subforms now scroll automatically when embedded scrollable objects (vertically or horizontally) have reached their boundaries and the user keeps scrolling using the mouse or trackpad (overscrolling).
  • The $catalog REST API now returns singletons (if any).

4D 20 R5

Read What’s new in 4D 20 R5, the blog post that lists all new features and enhancements in 4D 20 R5.

Highlights

Behavior changes

  • The plug-ins 4D Internet Commands and 4D for OCI are no longer included in 4D installers. To get these plug-ins, you need to connect to the 4D Product Download portal.
  • Changes made in the Structure editor regarding graphical appearance of tables and fields (color, position, order...) are now saved in a separate file named catalog_editor.json stored in the project's Sources folder.

4D 20 R4

Read What’s new in 4D 20 R4, the blog post that lists all new features and enhancements in 4D 20 R4.

Highlights

Behavior changes

  • Using a legacy syntax for declaring parameters (e.g. C_TEXT($1) or var $1 : Text) is now deprecated and generates warnings at code typing, syntax checking, and compilation steps.
  • Selections are now kept consistent after some records have been deleted and others records created (see this blog post.
  • In the updated OpenSSL library, the default SSL/TLS security level has been changed from 1 to 2. RSA, DSA and DH keys of 1024 bits and above and less than 2048 bits as well as ECC keys of 160 bits and above and less than 224 bits are now no longer allowed. By default, TLS compression was already disabled in previous OpenSSL versions. At security level 2 it cannot be enabled.
  • In order to allow password verification when the 4D user directory uses the bcrypt algorithm, the "password" value in the connectionInfo parameter of the Open datastore command is now sent in clear form by default. Make sure your "On REST authentication" database method can handle passwords in clear form (third parameter is then False) and that Open datastore encrypts your connection by passing the "tls" option to True in connectionInfo. In specific cases, a new "passwordAlgorithm" option can also be used for compatibility (see Open datastore command).

4D 20 R3

Read What’s new in 4D 20 R3, the blog post that lists all new features and enhancements in 4D 20 R3.

Highlights

Behavior changes

  • Some errors were catchable by your error handling method in interpreted mode only. A fix has been done, so that the following errors will now be caught also in compiled mode: Indice out of range, Type incompatible, and Dereferencing a Null pointer. However, for such errors on Intel processors, the procedure is still interrupted as before, whereas on Apple Silicon processors the procedure is only interrupted if you call the ABORT command.
  • 4D no longer includes an internal PHP interpreter. You need to set up and run your own PHP interpreter to use PHP commands.

4D 20 R2

Read What’s new in 4D 20 R2, the blog post that lists all new features and enhancements in 4D 20 R2.

Security Note

If your 4D applications use TLS connections, it is recommended that you upgrade to 4D 20 R2 HF1 build 100440 or higher. For more information, refer to this Security bulletin.

Highlights

Behavior changes

  • Warning: The starting offset value of 4D.FileHandle objects was incorrectly set to 1 instead of 0. A fix has been made in 4D as of versions 20.1 HF1 and 20 R2 and the value is now 0.

4D 20.x LTS

See Release Notes for 4D 20.x LTS.

Library table

LibraryCurrent versionUpdated in 4DComment
BoringSSL0aa300b20 R6Used for QUIC
CEF12120 R5Chromium 6167
Hunspell1.7.220Used for spell checking in 4D forms and 4D Write Pro
ICU73.220This major upgrade forces an automatic rebuild of alphanumeric, text and object indexes.
libldap2.6.720 R6
libsasl2.1.2820
Libuv1.4820 R6Used for QUIC
libZip1.9.220Used by zip class, 4D Write Pro, svg and serverNet components
LZMA5.4.120
OpenSSL3.3.220 R7Default TLS/SSL security level has been upgraded. See Behavior changes for release 20 R4
PDFWriter4.320FreeType dependency in 12.2.1
PHP8.2.420
SpreadJS17.1.020 R7See this blog post for an overview of the new features
webKitWKWebView19
Zlib1.2.1320