---
title: "What\'s new in Joomla 5.1?"
date: 2024-04-14
author: "Jeroen Moolenschot"
intro_image: "https://www.joomill.com/images/blog/joomla51.png"
---

# What's new in Joomla 5.1?

![What\'s new in Joomla 5.1?](https://www.joomill.com/images/blog/joomla51.png)

On 16 April 2024, Joomla 5.1 was released. If you have a website running Joomla version 4.x or 5.x, then you can update your Joomla website with the click of a button.

 This release brings many small (code) improvements and a number of options and features will be added. In this article, I will show you the most important changes.

 For a complete list of all changes, check [Joomla's public Github repository](https://github.com/joomla/joomla-cms/milestone/110?closed=1).

 
## Secure Joomla updates with TUF

 The Joomla! Project takes security vulnerabilities seriously. As such, the Joomla! Security Strike Team (JSST) monitors the project's security issues and follows a number of specific procedures in addressing them.

 Sometimes critical issues come to light and are then resolved by this team. For example, this happened with this release of [Joomla 4.2.8](https://www.joomla.org/announcements/release-news/5877-joomla-4-2-8-important-security-announcement-patch-available-soon.html). Within hours of releasing this version, the team saw attacks on websites that had not been updated.

 The problem is that you have to *manually* install a new Joomla version and not everyone is aware of this. Of course, I take care of these updates for all customers with a [maintenance subscription.](https://www.joomill.com/index.php?Itemid=2757) They don't need to worry, but if you don't maintain your website properly, you therefore run a considerable risk. It would be great if the Joomla! Security Strike Team could update a release Joomla automatically so that all websites are immediately secured.

 Before we can think about automatic updates, we need to make sure the update system is secure and 100% reliable. With the release of Joomla 5.1,[The Update Framework (TUF)](https://theupdateframework.io/) marks an important milestone in ensuring the integrity and security of Joomla installations worldwide.

 TUF uses a range of cryptographic techniques such as digital signatures, metadata verification and role-based access control to establish a secure and transparent update process. By incorporating these techniques, TUF significantly reduces the attack surface and improves the overall security posture of software update mechanisms. A super important feature that you probably won't notice at all ;)

 
## Welcome to Joomla tour

 [Since Joomla 4.3,](https://www.joomill.com/index.php?option=com_content&view=article&id=293&catid=8%3Ablog&Itemid=2774) it has been possible to view different tours.  
From now on, when you install a new Joomla version, you will get to see a "Welcome to Joomla!" tour. In 6 steps, this tour gives a quick overview of how to get started with Joomla! Handy for new users! Although, at the moment, a new user will not see this tour automatically.

 ![Welkom bij Joomla rondleiding](https://www.joomill.com/images/blog/joomla51-tour.png)

 
## Improved dark mode

 In [Joomla 5.0](https://www.joomill.com/index.php?option=com_content&view=article&id=291&catid=8%3Ablog&Itemid=2774), the dark mode of the admin area was introduced. I personally wasn't a fan of the display. It didn't look very nice in my eyes. But that will change with the release of Joomla 5.1. There is a big hit with this view.

 Just a comparison:  
This is what it looked like in Joomla 5.0

 ![joomla50 donkeremodus](https://www.joomill.com/images/blog/joomla50-donkeremodus.png)

 In Joomla 5.1, this is:

 ![joomla51 donkeremodus](https://www.joomill.com/images/blog/joomla51-donkeremodus.png)

 
### Choose your own light or dark mode

 The dark mode in Joomla 5.0 automatically adapted to your device or browser settings. It was not possible within Joomla itself to choose light or dark mode. In Joomla 5.1, this option is added and in several places.

 1) In the user menu comes an additional option to switch modes. This choice is saved in your browser's cookies.

 ![joomla51 modusschakelaar](https://www.joomill.com/images/blog/joomla51-modusschakelaar.png)

 2) You can also save this choice to a user, this way this setting is carried over in different browsers. However, this option will be overridden if you choose a different mode than your default choice via the above method.

 ![joomla51 donkere modus gebruiker](https://www.joomill.com/images/blog/joomla51-donkeremodus-gebruiker.png)

 3) You can also make this choice on the template itself via: System > Manage template styles > Colour settings, then these options apply to all users unless they make a different choice in their profile or in the user menu.

 ![joomla51 donkeremodus template](https://www.joomill.com/images/blog/joomla51-donkeremodus-template.png)

 
## New SEO options in Joomla 5.1

 
### **Strict handling of index.php**

 This option can be found in the plugin "System - SEF".

 ![joomla51 indexphp](https://www.joomill.com/images/blog/joomla51-indexphp.png)

 Ever since the beginning of Joomla, we have known the "Use URL rewrite" option in the general settings. This option allows you to reach a page even without index.php, for example: website.co.uk/index.php/blog then becomes website.co.uk/blog. However, the page with index.php can then still be accessed. This officially creates duplicate content according to Google.

 This new option enables stricter treatment of 'index.php' in URLs when 'Use URL rewriting' is enabled in the general settings. It will remove 'index.php' if a URL still contains it and redirect incoming requests with 'index.php' to the version without the 'index.php'.

 By default, this option is off (on both updates and new installations). It is recommended to turn this option on.

 
### Back-slash for URLs

 This option can be found in the "System - SEF" plugin.

 ![joomla51 slash](https://www.joomill.com/images/blog/joomla51-slash.png)

 Force Joomla to use only URLs with or without Back-slash. If enabled, this will force the correct URL with redirects and be applied only when 'add suffix to URL' is disabled.

 If you have a website with this URL structure: website.nl/blog/ then the last slash will be removed if you choose this option and you will get website.nl/blog . I personally encounter this with websites that have migrated from WordPress to Joomla, for example.

 
### Notification in the general configuration

 To alert users to these options, a new notification has been added to the general configuration (SEO options) where a reference has been made to the "system - SEF plugin".

 
## New shortcuts

 To quickly move from one screen to another, new buttons have been added on various pages.

 In Manage extensions, you will now find a button to go to extension updates.

 ![joomla51 knopupdates](https://www.joomill.com/images/blog/joomla51-knopupdates.png)

 In extension updates, you will now find a button to go to extension management.

 ![joomla51 knopupdates](https://www.joomill.com/images/blog/joomla51-knopbeheer.png)

 In language management, a button has been added to install languages.

 ![joomla51 knop installeer talen](https://www.joomill.com/images/blog/joomla51-knop-installeer-talen.png)

 In installing languages, a button has been added with a link to content languages.

 ![joomla51 knop inhoudstalen](https://www.joomill.com/images/blog/joomla51-knop-inhoudstalen.png)

 
## New options in the tours

 
- Add support for checkbox/radio/selection target element for interactive field types  
![joomla51 rondleidingen selectievakje](https://www.joomill.com/images/blog/joomla51-rondleidingen-selectievakje.png)
- Add support for textarea target element in addition to input text type targets
- Allow fields that are not 'mandatory' in the DOM to be mandatory in the field e.g. for tours related to search where the input field is mandatory for the tours but not by Joomla or the active page component
- Allow the tour to insist on a specific required value (translatable) so that the context of the tours can be maintained as it progresses, e.g. search for a specific text value.  
![joomla51 rondleidingen specifiekewaarde](https://www.joomill.com/images/blog/joomla51-rondleidingen-specifiekewaarde.png)

 
## Adjustments in the Accessibility checker

 Some adjustments have been made in this plugin. For instance, it no longer uses a special Joomla version, but the standard sa11y package. This also offers more options that you can set in the plugin.

 ![joomla51 toegankelijkheidscontroleur](https://www.joomill.com/images/blog/joomla51-toegankelijkheidscontroleur.png)

 
## List field customisation

 The list custom field is extended with a header. This text is used to select no value.

 ![joomla51 custom field select header](https://www.joomill.com/images/blog/joomla51-custom-field-select-header.png)

  
## New API capabilities

 The API now allows filtering by search.

 {{base_path}}/api/index.php/v1/tags?filter[search]=text  
{{base_path}}/api/index.php/v1/content/categories?filter[search]=text

 
## New CLI features

 New commands are available for those using Joomla's Command Line Interface (CLI).

 
### Updating the Joomla database structure via CLI

 Via the command: `php cli/joomla.php maintenance:database`

 ![joomla51 cli database](https://www.joomill.com/images/blog/joomla51-cli-database.png)

 
### Joomla extension update control via CLI

 Via the command: php `cli/joomla.php update:extensions:check`

 ![joomla51 cli extensions](https://www.joomill.com/images/blog/joomla51-cli-extensions.png)

 
### Manage Joomla core update channel via CLI

 e.g. change the update channel to Joomla next via the command: `php cli/joomla.php core:update:channel next`

 
## Time zone Fancy select field

 The field to select the time zone in the general configuration is now a "fancy select field". The advantage of this is that it has a search function that allows you to find the right time zone faster.

 ![joomla51 timezone fancy](https://www.joomill.com/images/blog/joomla51-timezone-fancy.png)

  
## Moving subforms via up/down arrows

 Subforms can be moved by drag and drop. Now 2 arrows have been added so you can also move the subform fields to a different position with a click.

 ![joomla51 subform verplaatsen](https://www.joomill.com/images/blog/joomla51-subform-verplaatsen.png)

 
## Add new article via blog view

 A button to add a new article now appears in the blog view of Joomla 5.1 (obviously only if you have the rights to add an article to this category via the frontend of the website)

 ![joomla51 new article](https://www.joomill.com/images/blog/joomla51-new-article.png)

 
## Article schema.org plugin

 A new plugin has been added that supports basic content options.

 ![joomla51 schemaorg](https://www.joomill.com/images/blog/joomla51-schemaorg.png)

 
## General schema.org plugin

 In Joomla 5.0, the schema.org tab has been introduced. Now a general field is also added on this page.

 This allows you to create a custom schema.org JSON-LD.

 
## Form validation with regex.

 The base class for Form validation rules has implemented validation with regular expression, but no way to enter a regular expression via the form definition. You have to build your own validation rule class, register it in Joomla and then use it. That seems too complex for this purpose, so Joomla 5.1 adds a rule to add regular expression validation.

 For your field, add validate="regex" to your form definition and regular expression via validate_regex="". The value of the field is then validated server-side using the specified regex. You should make sure to properly escape the regex when adding it to the validate_regex attribute.

 for example:  
`"validate="regex"validate_regex="^([A-Za-z0-9_-]+:)?[A-Za-z0-9-][A-Za-z0-9-]*$"`

 
## SVG images in mod_banners

 In the ad module, it is now also possible to show SVG images.

 
## Images in com_mails

 When sending html mails created with com_mails, it is possible to add images.  
The function convertRelativeToAbsoluteUrls ensures that the images have absolute references so that they are loaded into the e-mail. However, if the image is added to the email using the media manager, loading="lazy" and data-path= are stripped.

 <img src="images/9.webp" width="1141" height="720" loading="lazy" data-path="local-images:/9.webp">  
is converted to:  
<img src="https://www.website.nl/images/9.webp" width="1141" height="720">

 
## Rebuilding in Tags

 If an issue has arisen with invalid lft and rgt values in the tags table, you can now easily fix it using the "rebuild" button on the tags page.

 ![joomla51 tag opnieuw opbouwen](https://www.joomill.com/images/blog/joomla51-tag-opnieuw-opbouwen.png)

 
## Code modifications

 
- All modules have been converted to the new "service provider" codestyle.
- The banner module now uses JLayout joomla.html.image instead of a hard-coded image.
- The assocciations component now consists only of vanilla JS and no longer needs JQuery.
- Added <main> element to the error.php page.
- New modal dialog in several places.

 
## Miscellaneous Updates

 
- FontAwesome has been updated to version 6.5.1
- TinyMCE has been updated to version 6.8.3[(changelog](https://github.com/joomla/joomla-cms/pull/42930))


## Custom Fields

**Call2Action Titel:** Joomla continues to evolve, but are you getting the most out of your website?

**Call2Action Tekst:**  I am happy to help you make the latest features and improvements actually work for you.

