Elgg 4.0.0-beta.1 has been released

Finally after nearly 3 years of development (since 3.0) Elgg 4.0 is almost ready for public release. You can find the v4.0.0-beta.1 download in the download section.

Please keep in mind this is a beta release, it's not yet ready for production without extensive testing.

If you find any bugs please report them on GitHub.

We'd like to thank everybody who contributed to making Elgg 4.0 happen, notable contributors are:

  • Jeroen Dalsem with 193 commits
  • Jerôme Bakker with 144 commits


When v4.0 gets released as a stable release the Long Term Support (LTS) will change from v2.3 to v3.3. This means no more patches on v2.3 and a limited amount of time for support on v3.3

For more information about the support scheme, please check out the documentation.

Major changes

Listing the complete changelog here wouldn't make for a readable blog post, if you're interested in the changelog check it out on GitHub. Another great resource to read before upgrading to the new version are the upgrade notes.

  • Cleaning up

There were always a lot of different ways of doing things in Elgg as developers. In this release we tried to reduce and prevent the older/legacy ways of doing things. This should make it easier for developers to understand how things work and also reduces the technical debt of the project. This cleanup also results in more consistency in the layout of various pages.

  • PHP 8

Elgg now fully supports PHP 8. So if you like to use the latest and the greatest, this is the time. We also bumped the minimal PHP requirement to v7.4.

  • Notifications

A lot changed around notifications. You can now configure in more detail which notifications you want to receive. You can also delay notifications so you will only receive notifications once a day or once a week by mail. Email notifications are now wrapped in a HTML template by default so you can easily style your email notifications.

  • Javascript

In order to reduce some of the bulkiness of jQuery we have decided to split jQuery-UI into separate components. If you need jQuery-UI features you will need to explicitly require these features. This will speed up downloads of your site as there are only components download that are actually being used.

  • Fancy pagination

If you navigate through lists on your site these list will load the next or previous page without reloading the site. It is also possible to configure the behaviour to auto load the next page if you are scrolling down.

  • Plugin configuration

It has been made easier for plugin developers to configure all kinds of configuration for their plugin in a single centralized plugin file.


With this new release a lot of new or changed translations have been introduced in the system. If you want to help with these translations take a look at this guide.

Jeroen Dalsem

Owner of ColdTrick IT Solutions, developing social networking sites for the dutch market

Latest comments