Elgg v3.0.0-rc.1 Release Notes

Release Date: 2018-07-24 // over 5 years ago
  • Contributors

    • Ismayil Khayredinov (102)
    • Jeroen Dalsem (84)
    • JerΓ΄me Bakker (74)
    • Hao.Chen (1)
    • Ismayil Khayredinov (1)

    πŸ”‹ Features

    • accounts: adds new account registration service (022e26fa)
    • actions:
      • controllers/middleware can now share parameter validation state (deb8e3e6)
      • adds API to easily ajaxify form submission (8ca2698c)
      • register, user hook now includes all request data (f0161ae4)
      • deprecate action hook in favor of action:validate hook (428d6669)
    • ajax: adds elgg/Ajax#forward method (7fd6e577)
    • app: consistent handling of requests and responses (af785ffc)
    • 🍱 assets: composer asset plugin no longer required (884379e3)
    • blog: added archive sidebar to friends listing (866e5ab4)
    • caches: add Redis statistics to the admin UI (3e6f804a)
    • cli:
    • comments: the comments form is collapsed if there are comments (c168a45d)
    • core:
      • added a private settings preloader (eefdcd0d)
      • persistent login table records get removed after expiration (9d13932e)
      • added easy way to add default notfound text to listings (64aabbb8)
    • cron: log cron output to file (114890f1)
    • css:
      • centralized z-index css rules (6575fd2b)
      • set body background color via CSS variables (6f4823f5)
    • data: normalize data exports and serialization (4e70b843, closes #8708)
    • db: query builder now supports EXISTS comparison clause (eebaaeb2)
    • developers:
      • screen logging is now written to file (12644880, closes #10787)
      • add Services inspector (f2544321)
      • allow extending theme sandbox form preview (b3fd5bc1)
    • entities: get_entity_dates support all ege options (57ab421b)
    • forms:
      • option to not show 'Only friends' in userpicker (e06372ea)
      • default all POST forms to multipart/form-data encoding (6f95cc1d)
    • friends: added add/remove friend action to title menu (b0069a6f)
    • groups:
      • edit/delete links now show in group entity menu (f860a2a5)
      • improve usability of group tools (aa3f36f7)
      • replaced group owner transfer with userpicker (e8814f89)
    • hooks: added elgg_trigger_deprecated_plugin_hook (8ee35234)
    • icons:
      • allow use_cookie param to be passed through getIconURL (abc2f342)
      • upgrade FontAwesome library to 5.x series (d679f4ea)
      • replace ajax gif loader with css animations (c3d12615)
    • πŸ–¨ imprint: allow passing additional imprint elements to summary view (6d8906ad)
    • input: added input/objectpicker and input/grouppicker (3f32c53b)
    • logger:
    • menus: wrap menu items as collections (5e96d864)
    • messages: add helper functions to get sender/recipient (14fe0bdc)
    • navbar: properly handle second and third level child menus (4a7d2088)
    • navigation:
      • entity_navigation menu items now are aware of entity (b609be0f)
      • added icons to site menu items (1ddb25f5)
    • output: adds HTML formatting service (5d1d94a4)
    • πŸ”Œ plugins: plugins can now define a bootstrap class (20180468)
    • request: add public API to retrieve all request parameters (6494dd92)
    • router: allow HttpException to have context (3aeecd08)
    • πŸ‘€ seeder: seeders can now use progress bar helper (3845cd55)
    • session: delay session boot until all plugins are loaded (dd81b847)
    • simplecache: allow specifying custom simplecache path (f0c47749)
    • ⬆️ upgrade: upgrade service now uses promises (aa85cf99, closes #11888, #11825)
    • πŸ‘‰ user: remove persistent cookie data when removing user (be055496)
    • util: adds API for managing collections of items (efbdf71b)
    • views:
      • simplefied redering object summary in full view (6d15b06a)
      • added ability to control layout attributes via view vars (54278764)
    • widgets: control widget availability by setting a required plugin (3335b30b)

    🐎 Performance

    • core: load plugin data cache before requesting plugin data (03383bca)
    • entities: entity preloader now correctly fetches entities (c379dcd1)
    • πŸ“‡ metadata: also store entities without metadata in metadata cache (b291c149)
    • migrations: improved performance of migrations (4f00e31e)
    • privatesettings: getting a single settings uses cached data (21be3e89)

    πŸ“š Documentation

    • composer: document Elgg installation using composer (62c7cdf6)
    • core: updated function docs to mention metadata casts bool (437a152b)
    • i18n: added instruction for translating special docs syntax (2e544f60)
    • πŸ”Œ plugins: explain Composer support for plugin development (bfc1d64d)

    πŸ› Bug Fixes

    • actions:
      • registration failure no longer leaves behind partial users (2548a709)
      • invokable classes can now be used as action controllers (4d586960)
    • ajax: correctly report HTTP errors (b0f48470, closes #11911)
    • blog: auto save draft refactored to use Ajax API (00ab2a3f)
    • bootdata: correctly order plugins when loaded from bootcache (e59c80f6)
    • cache:
      • do not mutate config on temporary system/simple cache disable (fd6edf1f, closes #11954)
      • refuse to cache unsaved entities (742e28fd)
    • caches:
    • ckeditor: site background should not affect the editor (7902eb99)
    • core: delay setting last action for users (a6ebfe03)
    • css:
      • don't let elgg-badge influence text alignment (b22cfc8c)
      • added margin to elgg-menu-hz items (6c7689c1)
      • lightbox loader now matches ajax loader (0f155247)
      • reset fieldset min-width (62b13352)
      • apply hover-card menu section styling consistently (f32cf115)
      • added bottom margin to fieldsets with a legend (a69a35c8)
    • db:
      • default ordering of entities relies less on internals of MySQL (16682c2c)
      • query counter also counts QueryBuilder queries (054b4af8)
    • developers:
      • prevent missing language key notice recursion (a46ddce0)
      • prevent 'view not found' deadloops (7846efac)
      • register custom logger only in default viewtype (a79f8dbe)
      • leave system logging intact (5ea40d7a)
    • forms: improve appearance of file input with value (7ff6f165)
    • group_tools: getting all tools is also passed through hook (080a8ed8)
    • groups:
      • correctly resolve tools when populating form vars (1b7a755e, closes #12049)
      • respect subtype specific permissions in group modules (3bd90073)
      • don't allow content access outside of group scope (435d237c)
      • entity gatekeeper should respect entity access (94402127)
      • correctly register site menu item route (77062a27)
      • remove excessive info from group listing imprint (a7d6f17c)
    • i18n: correctly load plugin translations when caches are off (4a561903, closes #11916)
    • icons:
      • also check default view if subtype icon is not present (e7f36c54, closes #11908)
      • align use of hyperlinks in nentity icon views (d3a2b548)
    • installer:
    • js:
      • userpicker now works in lightboxes (797d69fb)
      • prevent event bubbling up when requiring confirmation (c6fa5de2)
    • layouts: filter part of the layout can be disabled (a4840f6c)
    • longtext: do not render empty tag if there is not output (d58e0cdc)
    • members: correctly add menu items to filter tabs (83789995)
    • menu: correctly auto-detect selected menu items (7a02a600)
    • menus:
      • remove extraneous margin from site menu (ad1e17af)
      • consistent handling of child menus across navigation system (1793f51b)
    • output: only escape values that are strings (11d3e207)
    • perm: allow ownership if editing is allowed (c5bfb6de, closes #11213)
    • πŸ”Œ plugins:
      • fetch priority directly from private settings (67bc0ca5)
      • dependency notice was missing some text (df21f777)
      • avoid multiple executions of runtime logic in plugin files (7a54ef6d, closes #11946)
    • profile: set page_owner_guid if no username is set (30365150)
    • qb:
      • search_name_value_pairs now work as expected (a490255b, closes #12068)
      • correctly normalize private settings prefix (7c12b629, closes #11739)
      • use correct aliases in query predicates (d6c3a5bf)
      • set table alias when querying entities table (fe8ccc62)
      • preserve 0 guid when normalizing query options (85d8023a, closes #11992)
    • router: correctly detect if request body has been truncated (6bde4f9e)
    • routes: defer route and action registration until plugins are loaded (2a2c1e46)
    • search: consistent behaviour for search (57f67578)
    • βœ… tests: corrected return value in getAllForEntity mock (e26c5b71)
    • theme_sandbox: make sure dummy users have usernames (95052728)
    • thewire: corrected delete actions (7a5991d0)
    • ⬆️ upgrades:
    • πŸ‘‰ users:
      • correctly register user as searchable (1f582ed6)
      • avatar menu js is no longer blocking link only avatar icons (a2ef492a)
      • get user by username or email is case-insensitive (00747e8c)
    • views:
      • boot core views before plugins are loaded (5bd26442)
      • allow scalar values in output/text (13d7656e, closes #12081)
      • correctly handle text input for output/url (af8a2736)
      • online users now show no results text if noone online (2c472596)
      • make sure the AMD ViewFilter is always applied (1d7905cc)
      • do not render empty listing navigation (3365d51d)
      • do not render image block if object summary is empty (0ccfb8bd)
    • widgets: show a no results text if there are no banned users (5c503eca)

    πŸ—„ Deprecations

    • core:
      • get_entity_dates replaced by elgg_get_entity_dates (2e8b0530)
      • elgg_list_registered_entities is deprecated (86c13cef)