Elgg 2.2.0, 2.1.3, and 1.12.12 released

A fresh batch of Elgg releases are now available. The new 2.2.0 has some handy, new developer features.

Though I made a 2.1.3 release, 2.1 releases are no longer supported. Users should upgrade to 2.2.0 as soon as possible.

1.12.12 is also released for 1.12 users.

Changelog for 2.2


  • Juho Jaakkola (3)
  • jdalsem (8)
  • Ismayil Khayredinov (43)
  • Steve Clay (40)
  • Jeroen Dalsem (22)
  • Wouter van Os (2)
  • Brett Profitt (1)
  • Jerôme Bakker (1)
  • V. Lehkonen (1)
  • lehkonev (1)


  • iconservice: it is possible to save unaltered version of an image (7157a33f, closes #9970)

Bug Fixes

  • js:
    • add missing elgg/lightbox#resize method (4f6a0174)
    • correctly report success in admin profile field reorder action (b63396a7)


  • ajax:
    • better elgg/Ajax handling of form data and URLs (8795b9f4, closes #9534, #9564)
    • Ajax service now loads required AMD modules (292dc391)
  • avatar: user avatars are now served by serve-file handler (a55d746a)
  • cache:
    • allow admin to attempt an automatic symlink to cache (b06a1cb3, closes #8639, #8638)
    • allows specifying cache directory in settings.php (4b2ed514)
  • ckeditor:
    • improved elgg/ckeditor AMD module (a0ff70ec)
    • added editor autogrow plugin (771abac8)
    • allowed resizing of editor window (f43a6565)
  • core:
    • added a CONFIG flag to control auto-disabling plugins (17363a50)
    • added a new function to check if system_cache is enabled (f3bbff32)
  • cron: improved cron logging (5305b60d, closes #9474)
  • db:
    • access sql parts are named in the clauses array (50ffcf24)
    • allows using parameterized queries in core DB functions (a9e51682)
  • developers: add view_vars hook to views inspector (41e9e1ef)
  • discussions:
    • added a site menu item for discussion/all (79809b78)
    • allow plugins to use custom discussion reply object class (ac55f8f4)
  • embed:
  • entities: adds user capabilities service (81f05058)
  • file:
    • adds ElggFile::transfer() for reliable renaming of files (bf50c5d0)
    • more consistency in mime and simple type values (3e09fa15, closes #9614)
  • files: update file plugin to new file serving API (a9d409ee)
  • filestore:
    • bootstrap default filestore early in the boot sequence (c85fa0ee, closes #9873)
    • adds API to reliably set file modification time (476b6d29)
  • forms:
    • Add new user now has an option to autogenerate the password (ee4758d3)
    • input/checkbox is now usable with elgg_view_input() (82bbf49b, closes #9808)
  • gatekeeper: entity gatekeeper result can now be filtered (75af2fd5)
  • groups:
    • group icons are now handled by the new icon service (e809f5fd)
    • introduced a hook to influence group tool options (b6617e5e)
    • allow the group river to be filtered by content type (0d8f9364)
    • group avatars now use serve-file handler (ac57e990)
  • html:
    • allows cleaner elgg_format_element usage (425f57d7, closes #9766)
    • moves favicon registration to a hook (a4a35362)
  • http: allow use of X-Sendfile/X-Accel web server feature (a88db207, closes #4898)
  • icons:
    • udpate file plugin to use new icon service (2c9f5c0a)
    • user avatars are now handled by the icon service (36c8b465)
    • adds a service for handling entity icons (72b8a2c7)
  • js:
    • Adds hooks to pass site and page-level data client-side (cec6b42b, closes #8997)
    • elgg/Ajax users get more access to underlying resources (39a3fbce, closes #9767)
    • elgg/spinner now supports optional text to be displayed (da5c5b06)
    • adds elgg/lightbox AMD module, loaded on all pages (9135ad26, closes #7895, #8309, #6991)
    • user hover menu now uses elgg/popup module (d0dffca6)
    • adds elgg/popup AMD module (fd75da60)
    • requiresConfirmation now returns false if not confirmed (cac5c0fd)
  • menus:
    • elgg_register_title_button() can now check entity type and subtype (a0c118ad)
    • required AMD modules can now be defined at item registration (46c3ead8)
    • adds menu service for more orderly menu construction (38ecfc6b, closes #9508)
  • reportedcontent: only load javascript when needed (29c39cd7)
  • river: convert river JS to AMD modules (790a1a00)
  • thewire: allow multiple add forms to exist on the same page (9f72e287)
  • ui: Allows modifying system messages/errors (eee183c5)
  • views:
    • view_vars handlers can preset view output (68fde7b6)
    • elgg_get_excerpt output now comes from a view (4d6ec3f2)
    • allows changing relative URLs in CSS files (70d3aab7)
    • allow multiple paths in views.php files (7672d754)
  • web_services: allows API function to be given an associative array (cd80863a, closes #9411)
  • widgets:
    • widget types can now be extended with a hook (3c76194c)
    • widget title and description can be autodetected (3c61e2f0)
    • added a helper class and factory for defining widgets (bc56fafd)
    • widget layout owner can now be set explicitly (b3bd2a84, closes #7023)
    • added isset on \ElggWidget objects to check settings (7b095208)
    • added unset on \ElggWidget objects to remove settings (f99e4f5d)


  • db: improved session write db query for InnoDB (3b55226d)
  • reportedcontent: only load JS if menu item is rendered (ececa98d)


  • core: fixes docs for ElggFilestore::seek return value (fe310c31)
  • faqs: fixed typo in IDE section (a1ed1305)
  • tutorials: updated Hello world (dc5a4ade, closes #9875)
  • widgets: updated the widget registration documentation (3410e1ec)

Bug Fixes

  • avatars: avatars are no longer served with public URLs in a walled garden mode (4c8a7ced)
  • core:
    • get class from subclass instead of base (8b3e17fa)
    • allows ElggFile to append files not yet existing (ac0ba3f2)
  • file: ElggFile::delete() now removes target files if filename is a symlink (facc13fe)
  • files: use actual file modification time as an etag value (17c5dcaf)
  • js: ui bindings now wait for system init event to fire (5794e027)
  • mime: fall back to detection based on extension for octet-stream (0b1f4539)
  • reportedcontent: forward to address if not submitted in lightbox (ee63b1d8)
  • views: elgg_view_form now accepts class to be an array in form_vars (4133b516)


  • db: deprecates many methods on the Application::getDb object (2ba9a876)
  • entities:
    • adds entityCache service and deprecates old global (9fa45b62)
    • deprecate can_write_to_container (ee473b37)
  • file: new file service deprecates file download and thumbnail handlers (90925fab)
  • groups:
    • groups/js view deprecated by groups/navigation AMD module (975014bb)
    • new file service deprecated avatar/view resource (5c535271)
    • new file service deprecated groupicon page handler (0721023b)

Latest comments