Elgg 3.3 released

A new feature release for Elgg 3.3 is now available in the download section.

A lot has been added and changed in this feature release. Below you can find the highlights.

For users:

  • It has been prevented to (accidentally) create content in groups where the related group tool has been disabled
  • If you reach a list page without content, there now is a way back to the start of the list
  • The risk of reaching a "You can't access ajax views directly" page has been reduced

For site administrators:

  • It is now possible to configure the allowed languages in the site settings. This will prevent users from changing to a language that you are not supporting.
  • The CLI commands have been extended with the ability to run specific (system) upgrades
  • In the site settings you can now set the default sort order for comments
  • You can now enable a site wide discussion feature, so there is no requirement anymore for discussion to be created in groups
  • You can now configure your site to use SMTP for sending email
  • You can reset all plugin settings for a specific plugin

For developers:

  • A public mimetype detection service is added so you can use some file related helper functions regarding mimetype detection
  • Every entity menu now contains a link to inspect the entity in the Entity Explorer functionality of the developers plugin
  • Forms can be configured to prevent double submit
  • elgg-plugin.php has been extended to allow the configuration of theme variables, cli commands and view (un)extensions
  • You can pass (default) layout vars directly to the elgg_view_page function
  • It is no longer recommended to use a start.php in plugins

We specially thank Josh Santos (https://github.com/NerdsvilleCEO) for his Pull Request for adding SMTP support to Elgg.

Elgg 4

As of now work will also start on the master branch of Elgg where we will work on changes for Elgg 4. In the next week we will probably kickstart this by cleaning up Elgg. We also plan to move a lot code around to organize everything more logical. For Elgg 4 we also wan't to replace jQuery with a newer (better maintained / lightweight) JS framework. Upgrading plugins from Elgg 2.3 to 3.x is relatively easy and some plugins even worked without any changes, however this will not be the case for Elgg 4. We will no longer use the manifest.xml and start.php in plugins and will replace this with the plugin Bootstrap Class and elgg-plugin.php. It is not possible to do this in a way where there is a deprecation path, so this will require some effort on the side of the plugin developers. A lot of other changes are already put on the milestone (https://github.com/Elgg/Elgg/milestone/93) so everyone that is willing to help is welcome. We expect to release Elgg 4 somewhere around the summer holidays.

Full release notes for Elgg 3.3.0


  • Jeroen Dalsem (58)
  • Jerôme Bakker (34)
  • Josh Santos (1)


  • access: added generic container logic check for group tool option (eb129203)
  • admin:
    • plugin list is default filtered by active state (e3adc687)
    • added site setting to control allowed languages (663fb447)
  • annotations: added generic annotation delete action (1ebeafb4)
  • cache: added more cache interactions (8dbc51ce)
  • cli:
    • added upgrade:list command to list all upgrades in the system (364d0016)
    • added command to execute a single upgrade (ed14adf0)
    • added option to set language for cli command (d11d0581)
    • all core cli commands use translation keys (5355f270)
    • question defaults are automatically added to question (b2cdf54a)
  • core:
    • you can now configure the default sort order of comments (573d416d)
    • added mimetype detection service (54e2574b)
    • container last_action is updated when entities are created (9f0a706b)
  • css: walledgarden background image can be set as a css variable (939bf26e)
  • developers: added entity explorer link to every entity (0c580432)
  • discussions:
    • add page to view discussions in my groups (81c1cab0)
    • added setting to allow site wide discussions (5f4dc826)
  • github: added codeclimate coverage action (e695efe5)
  • i18n: added user agent language detection (e5778f5d)
  • input:
    • forms now have the ability to prevent double submit (f4e21fd2)
    • added confirm option to input/submit (60a67b55)
  • list: we provide a way back if you reach a page without content (b3ee54c5)
  • mail: add smtp support (ada8bb7d, closes #12938)
  • notifications: unregister specific notification action (19f3571b)
  • plugins:
    • you can change/add theme variables in elgg-plugin.php (f698d00a)
    • added the ability to (un)extend views in elgg-plugin.php (d16fb845)
    • add ability to remove all plugin settings (28cb247d)
    • cli commands can now be registered in elgg-plugin.php (d0858cc8)
  • tests: added MySQL 8 test job (63235d90)
  • views:
    • added site setting to control if comment box collapses (043d6789)
    • info type added to elgg_view_message (006151fa)
    • separate annotation view into subparts (b080fd25)
    • input/button now supports icon_alt (18425695)
    • added ability to elgg_view_page to pass layout vars (002ba980)


  • js: refresh_token now uses a partial boot of the engine (23846134)


  • views: rewrite of the page structure guide (a5272a66)

Bug Fixes

  • blog: no longer validate container permissions on existing blogs (e3b1c6c6)
  • cli: improved error handling during command execution (c548e95b)
  • core: no longer default to client file mime type (73f44c03)
  • http: prevent content type sniffing by browsers (62743b8f)
  • js: prevent clicks until related js is loaded (9e638c9e)
  • views: moved user element to correct subviews (2a96a19a)


  • core:
    • function generate_action_token is deprecated (11020308)
    • functions to get ordered event/hook handlers (3a47f381)
    • various functions have been deprecated (0f47534e)
  • plugins:
    • using a start.php in your plugin is deprecated (b744960f)
    • function elgg_unset_all_plugin_settings() (36aa2e41)
  • views:
    • the function elgg_view_entity_annotations (5f2b1bf3)
    • deprecated the usage of some old layout names (79a373dd)

Jeroen Dalsem

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

Latest comments