For over 36 years, our main goal has been to enhance our product while ensuring the compatibility of your 4D applications. This, of course, brings change, and change can be frustrating. With this in mind, we always aim to minimize the impact on your businesses with timely announcements, and most importantly, an improved alternative to the deprecated or removed functionality to ensure a smooth transition.
What is a deprecated feature?
When a 4D feature is deprecated, it means that we recommend stopping using it, either because it has been replaced or because it is no longer considered efficient or safe. This gives users time to migrate to a replacement since, in future versions, deprecated features might be removed altogether.
Why 4D deprecateS features
OS Changes
Sometimes 4D deprecates features to ensure compatibility with operating systems. For instance, starting with 4D v16 R6, we deprecated Mac OS 9-based APIs for files and folders. These APIs had already been deprecated for a long time by Apple.
As another example, starting with macOS Catalina, 32-bit apps are no longer compatible with macOS, so we had to deprecate 32-bit architecture in 4D v17 R5.
Modernized and improved functionalities
Computers, Operating Systems, and their usage change over the years. As result, our feature sets need to change as well.
Take data grids, for example. In the 90’s, 4D allowed displaying arrays as “grouped scrollable area”. 4D developers loved that feature and quickly asked for more. 4D answered with the list box, a feature set enhanced in every major version since 2004. The old grouped scrollable area was deprecated, and it has now been removed.
Another example is the 4D Internet Commands, launched in the 90s with the emergence of the Internet. Since then, the usage of the Internet has changed drastically. HTML emails, Unicode, and enhanced security and authentication protocols such as OAUTH2 came with technical limitations for the 4D Internet Commands.
Technical limitations aside, using the commands properly was sometimes difficult. Over the past few years, we rewrote this feature set, step-by-step. The arrival of the HTTP Client, Email Send, Receive, Decoding, and more, led to us deprecating the 4D Internet Commands, and replacing them with features that are easier to use.
How 4D communicates on deprecated AND removed features
We understand that you need time to prepare for any changes in your 4D application, so we provide deprecation warnings at least one or two releases in advance.
Here’s where you can learn about our deprecated features:
- 4D’s documentation website: This is the most complete resource you can find to learn about 4D feature releases and deprecations. Always keep an eye on it.
- The 4D forum: we use the 4D Forum on a daily basis. It facilitates communication between 4D developers and our teams.
- The 4D blog: The Product Team posts regularly on the 4D blog. It’s a great place to learn about the latest 4D news, feature releases, and important changes in the products.
Final thought
Although feature deprecation is an inevitable part of software development, maintaining features is a prime commitment for us. This made it possible for our community to keep their code running for years while following 4D upgrades and that’s great.
Often we enhance existing features in a way that you do not need to change a single line in your code. Buttons are a simple example, we rewrote their code several times in the last 30 years and nothing changed at all for you! However whatever difficulties you have, please contact us and we’ll help you along the way, there will be always a middle ground.
For any questions, you can reach us on the 4D Forum.