TYPO3 v9.4.0 released

Categories: Development Created by Michael Schams
One small step for a Sprint Release, but one giant leap towards the new LTS version! Today, we are excited to announce the release of TYPO3 version 9.4, which is the last planned Sprint Release before the Long Term Support (LTS) release.

Read on to learn more about some of the changes and improvements for editors, integrators and developers in this release. We will also give you a glimpse into what we are working on for the upcoming LTS version in October this year.

Page-based URL Handling

Native URL routing has been on our agenda for a long time. Third-party extensions like RealURL, CoolURI and SimulateStatic convert an URI such as “index.php?id=123” to a human-readable URI, typically based on the page title, for example “/team/about-us”.

As discussed in the article “TYPO3 v9 Roadmap” in December 2017, we plan to let the TYPO3 core handle this feature and to eliminate some disadvantages which cannot be tackled by extensions. We have kept our promise and are very happy that a page-based URL handling is now part of TYPO3 version 9.4 out of the box.

Page records in TYPO3 have a field called “URL Segment” now, which contains the website frontend path to the page. The field is shown when editing page records in the backend and is resolved to the page UID in the frontend if a “Site Configuration” has been set up properly.

The URL handling offers some great opportunities to be optimized and extended in the future. Our main focus for the TYPO3 v9 LTS release is to stabilize the API and to create proper entry points for link generation.


Admin Panel

The foundation for a new Admin Panel was set up with TYPO3 version 9.2 (see release announcement). With the new version 9.4, the Admin Panel has now received a complete overhaul regarding its design as well as the underlying code and architecture.

The look 'n feel has been sharpened and modernized to make more convenient to access information by separating them into logical modules and submodules. The most important details of the system are shown at a quick glance with the option to show extended information as required. Ajax requests are used to store updated configuration options, which results in a modern, smooth usability.

Besides the visual appearance, the available modules and options can be configured for backend users and/or user groups (e.g. editors) by User TSConfig.

On top of that all, the Admin Panel has never been as flexible and extensible before. Extension authors can write their own modules or add submodules to existing modules to their heart’s content.

Mathias Schreiber (TYPO3 GmbH) presents the new Admin Panel in a video on YouTube. A must-see for editors, integrators and developers alike to get an idea about the new features.


TYPO3 without a Database Server

TYPO3 now supports “SQLite” and offers users the choice of this DBMS during the web-based installation process. Even if you have not heard about SQLite before or just vaguely recall that you came across this name, chances are very high that you use this database management system (DBMS) somewhere. SQLite is not a traditional client-server database engine like MySQL, MariaDB or PostgreSQL, but it is a popular choice as an embedded database solution for application software such as web browsers.

Supporting SQLite makes perfect sense for relatively small TYPO3 sites or for test and development instances for example. The database is stored in a single file and TYPO3 does not require any external services. This means, TYPO3 instances can now run natively in PHP, including the data storage, which is built-in as a lightweight database engine.

It should be noted that the PHP module “pdo_sqlite” must be installed and enabled for this feature; most standard Linux distributions contain this module by default. It is also important that system administrators take appropriate actions to protect the *.sqlite file from unauthorized access.

Relevant Site Languages

One of TYPO3’s outstanding features is the management of languages for multi-language sites. One niggling problem in previous versions of TYPO3 was that all of the languages, which were configured in the installation, were also visible and selectable by backend users. However, it is quite a common scenario, that not all languages should be available, e.g. because they are not ready for production yet.

The list of languages in the backend of TYPO3 version 9.4 is now restricted to the languages defined in the site module (under “Site Management”). This applies for example to the page module language selector when records are edited, and in the list module.

As a result of this new feature, it is much easier for backend users to work with different languages in the backend. TYPO3 websites without a site configuration will continue to work as before. However, it is recommended to leverage the benefits and therefore to migrate to a setup with a site configuration.


Conditional Variants for Form Elements

Speaking of TYPO3 backend improvements worth mentioning: More and more websites use the “form” extension (also known as the “form framework”), which is shipped with the TYPO3 core since version 8.5 (December 2016). This system extension received another magnificent new feature with version 9.4: conditional variants.

Variants can contain conditions and allow changing properties of a form element. This way, it becomes possible to manipulate form element values, validator and finisher options, etc. based on conditions. Some typical use cases are:

  • Translate form element values depending on the current frontend language.
  • Set and remove validators depending on the value of another form element.
  • Set finisher values depending on the value of a form element.
  • Hide a form element in certain finishers and on the summary page.
  • Hide entire pages in the workflow depending on the value of a form element.
  • And many more.

The comprehensive documentation contains further details and examples.

Toggle Core Features

We introduced an API class “Features” in TYPO3 version 9.1. This class provides an easy way to add new features in parallel to their legacy version. The backend module “ADMIN TOOLS → Settings” has be extended by a new function “Feature Toggles”, which allows users to enable and disable core features. By using this function, TYPO3 integrators and site administrators have full control, if and when to switch to a new feature.

A great example are project updates: Site managers are now able to gradually introduce new features as appropriate, rather than in one big switch.


Developers’ Heaven

Every TYPO3 version in the past included some candy for developers and the same goes for TYPO3 version 9.4. The change log contains a number of valuable improvements and new features for developers. A brand new, useful component in version 9.4 is the “Context API” for example.

The main goal of this concept is to centralize global variables. Up until now, a lot of data from various parts of the system were scattered about. The Context API aims to replace these globally available objects (e.g. TSFE, sys_page, BE_USER) and to make them available at any time of the application/request lifecycle in a common, structured and logical way. Instead of exposing a full object (e.g. the BE_USER object), “aspects” only contain properties, which are relevant and required.

The technical documentation provides further details and examples of how to use the Context API.

Download

TYPO3 can be installed in various ways. For example the traditional way by using the source package at get.typo3.org or the modern way by setting up a project using composer. Detailed installation instructions are available at get.typo3.org/version/9 and in the Installation and Upgrade Guide.

What's Next

To learn more about the new features, changes and improvements of TYPO3 version 9.4, have a look at the TYPO3 What’s New Slides or the detailed technical change log.

Final Steps to the LTS Version

TYPO3 version 9.4 is the last intermediate version on our road to the next major LTS release. Version 9.5 (scheduled to be released on 2nd of October 2018) will mark the final version of the TYPO3 v9 series and will be published as a LTS release (Long Term Support). Please see the release agenda in the TYPO3 Roadmap for further details.

Until then, we would like to encourage you to download TYPO3 version 9.4 to check out all new features and improvements and share your thoughts and report issues you may come across.

Version 9.4 is mainly feature-complete. Now our focus will be on stabilization and clean-up to ensure that the LTS release will be as robust, reliable and secure as all previous major versions of TYPO3 were. That’s why TYPO3 deserves to be called enterprise content management system!

LTS Release Parties

Last, but not least: with the release of TYPO3 version 9.4, now is the perfect time to start planning your release party! No matter where you live in the world, let’s celebrate another marvelous milestone in the history of TYPO3. The Wiki page on wiki.typo3.org lists parties in Germany, the Netherlands, Switzerland, Sweden and India already. Please add your event to the list and use hashtag #TYPO3LTS in your social media channels.