Pre-release
Pre-release

@jeabakker jeabakker released this Jul 24, 2018 · 78 commits to 3.x since this release

Assets 2

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)

@jeabakker jeabakker released this Jul 20, 2018

Assets 2

Contributors

  • Jerôme Bakker (4)

Documentation

  • install: updated installation requirements (48de11e1)
  • web_services: removed outdated webservices documentation (6372fa8b)

Bug Fixes

  • core: revert original libxml_use_internal_errors value after use (#12008) (69c422c9)

@jeabakker jeabakker released this May 25, 2018 · 9 commits to 2.3 since this release

Assets 2

Contributors

  • Jerôme Bakker (6)
  • Ismayil Khayredinov (1)

Bug Fixes

  • developers: set correct link to simpletest suite (b2b9c0b4)
  • friends: check friendship relationship before change (ccd6fbbb)
  • pages: order of parent page selector reflects tree (1e22a581)
  • views: prevent unwanted information on user listing elements (2c74c2ac)

@jeabakker jeabakker released this Mar 27, 2018 · 24 commits to 2.3 since this release

Assets 2

Contributors

  • Jerôme Bakker (5)
  • Jeroen Dalsem (1)

Bug Fixes

  • config: control bootdata plugin cache (60b15b76)
  • db: correctly default subtypes to prevent PHP warning (c10a6a4f)
  • memcache: use correct Memcache class (8b073aad)
  • rss: correctly list comments (892672cf)
  • views: listing of entities and river no longer count if not needed (ee6a043e)
  • walled_garden: register plugin hook during init (f9880cbf)
Pre-release
Pre-release

@jeabakker jeabakker released this Mar 8, 2018

Assets 2

Contributors

  • Jeroen Dalsem (38)
  • Ismayil Khayredinov (29)
  • Jerôme Bakker (14)

Features

  • actions:
    • it is possible to return a response in the action hook (562eb031)
    • individual actions are now routes, support controllers (32a07bc0)
  • ajax: add support for FormData and multipart form data requests (46590359)
  • cache: added api to remove single item from systemcache (7da2f561)
  • di:
    • add config to public services (6d1bd17b)
    • add system messages to public services (65b8140f)
    • add hooks and events to public services (a9fbebca)
    • add translator to public services (b46e11f1)
    • make gatekeeper a public service (8d19fc42)
    • make session a public service (5ca2ff8b)
  • forms: added not-allowed cursor to disable input elements (cc09c77d)
  • input: longtext editor opts now store required status (fae01474)
  • plugins: added a settings field that triggers cache flush (d18c0310)
  • profile: the user profile page now uses a regular title menu (57efaa5f)
  • route: add support for handling routes using files (c4fafb3b)
  • router: add support for controllers (11f84355)
  • routes:
    • elgg_generate_url returns false for unknown routes (6421c422)
    • add support for route middleware (0f199324)
  • system_log: refactor system log API into a service (c5846aa8)
  • widgets: ElggWidget now has getDisplayName instead of getTitle (12455356)

Bug Fixes

  • actions:
    • fixes error message on missing action file (554c2e2e)
    • defining controller in static config works again (2622fd1e)
  • admin: correctly set action path for settings forms (5a021d7d)
  • core:
    • canComment now returns false for ElggSite entities (6f2a2edb)
    • directly call EventsService in shutdown function (48d74a65)
    • make sure minusername and passwordlength are always in config (ec3b4e94)
  • css:
    • make sure jquery positioning has correct information (290aeee3)
    • correct behaviour of elgg-level in all browsers (258e9d36)
    • walled garden background correctly positioned in IE (a527ebdd)
    • set correct margin on admin content layout (5accfeaf)
    • only apply module header font color to first level elements (c180b203)
    • correct alignment of pageheader and module header elements (5fe78207)
  • email:
    • add sender to Zend mail message envelope (58c1fdea)
    • always default to site email (23ffef3d)
  • embed: make embed route pattern greedy (4346ea9b)
  • forms:
    • switched styled checkbox without label now is clickable (2d2c79c5)
    • select alues are now correctly selected with array elements (d2dcb978)
    • userpicker works again when friends constraint is set (a4d80c58, closes #11697)
  • groups:
    • show group dropdown at correct position (a781f1dc)
    • only show toggle indicator if there is a submenu (6aa05764)
  • js:
    • ajaxed login form now correctly returns to REFERER (605089af)
    • close system messages when opening a lightbox (67ed9a1e)
  • navigation: metadata and river menu sections are positioned inline (30b90d00)
  • notifications: set correct subtype for user notifications (6e30ceac)
  • profile: custom profile fields can be saved again (2d773027)
  • river: core should register the river/delete action (0a4956a4)
  • system_log: correctly extend login_history view to settings (1543c201)
  • views: numentities statistics view correctly gets user entity (3de7dca2)
Pre-release
Pre-release

@jeabakker jeabakker released this Jan 31, 2018 · 647 commits to 3.x since this release

Assets 2

Contributors

  • Jerôme Bakker (5)
  • Ismayil Khayredinov (2)

Features

  • db: use public service container for database operations (4015b8ce)
  • di: plugins now have access to DI container (8cdff630)

Documentation

  • release: updated release docs (d035c9d6)

Bug Fixes

  • activity: use correct route name for owner_block menu item (989eb5b2)
  • cli: correcly load Elgg in cli (aecd6df7)
  • views: correctly register core views (82423b30)
Pre-release
Pre-release

@jeabakker jeabakker released this Jan 29, 2018 · 574 commits to master since this release

Assets 2

Contributors

  • Jeroen Dalsem (268)
  • Ismayil Khayredinov (180)
  • Jerôme Bakker (133)
  • Steve Clay (123)
  • jdalsem (56)
  • Juho Jaakkola (7)
  • Ismayil Khayredinov (3)
  • iionly (2)
  • Juho Jaakkola (1)
  • Phanoix (1)
  • Wouter van Os (1)
  • Yaco (1)
  • piet0024 (1)
  • raghukul01 (1)
  • sebz (1)

Features

  • access:
  • account: allow admins to change usernames of users (2bcecfd0)
  • acl: added subtype to access collections (450aaa4c)
  • actions:
    • added $CONFIG->action_time_limit to set a custom execution timeout for all actions #7204 (3682a3c6)
    • user login action now is ajaxed (82d40345)
    • added the ability to configure actions in elgg-plugin.php (299df3cd)
  • activity:
    • moved group related pages into the activity plugin (f8f2ebd3)
    • options for river filter can now be provided as view_var (04888ae4, closes #9918)
  • admin:
  • blog:
    • use best practices in rendering resources (55f8d95b)
    • archive sidebar is now using a menu to show archive links (06e7c499)
  • bookmarks: update bookmarks plugin to comply with best practices (49e4c7ff)
  • cache:
  • ckeditor:
    • updated to full ckeditor v4.7.3 using composer (dbedc19b)
    • changed style of editor to be more minimalistic (5c19b59e)
  • cli:
    • allow to set dbhost with CLI installer (b452f750)
    • adds elgg-cli seed and unseed commands (ded471f1)
    • adds elgg-cli command line tool (65007269, closes #6612)
  • collections: rewrite friends collections, friendspicker (ec40d1a5, closes #9092, #9026)
  • comments:
    • comments are configurable per entity (c407af05)
    • submitting comments is now ajaxed (c875b2ce)
    • offloaded comment creation notification (78a60a62)
  • components: a menu can now be added to module header (cd7ea08a)
  • core:
    • only show language selection if more than 1 option (4eb7ab36)
    • elgg_get_config supports a default value if config not set (6693b8ad)
    • added config to disable RSS feeds and Elgg branding (e6ae6056)
    • normalized system messages using elgg_view_message (1c64d898)
    • added API for temporary ElggFile (89071ffe)
    • orientation of uploaded images will be fixed if possible (a80306f4)
    • added the ability to use Imagick as the image processor (a6629ec3)
    • add phpinfo page (e8e45afa)
    • autoregister simplecache views for elgg_load_js/css (57c29b6e)
    • reworked the walledgarden layout (d73e59fa)
  • cron: adds cron service (8941965d)
  • css:
    • switch to using variables in css files (d189a199)
    • CSS is pre-processed by css-crush, all /cache output is filterable (e5ac8842, closes #10625)
  • dashboard: only show blurb if there are no widgets (8a45cee7)
  • database: plugins can now register their own database seeds (e167092d, closes #11129)
  • db:
    • rewrite metadata and annotation getters with QueryBuilder (74174e7f)
    • rewrite elgg_get_entities* using QueryBuilder (1b80a963, closes #5071, #6798)
    • database migrations are now managed by phinx (55236d98, closes #7947, #5442)
    • new installations use utf8mb4 and longtext columns (5e75e7cf, closes #10863)
  • developers:
    • add route inspector (38372e26)
    • theme sandbox now users core layout elements (b2af689a)
    • added settings to block or forward email notifications (#11265) (5063d9db)
  • discussion: replies have been moved to comments (9549d7e8)
  • discussions: update reply form to latest forms API (98a6aaec)
  • email:
    • email address helper class for formatting (972a8906)
    • support e-mail attachments (f6f9a025)
    • more granular API for handling system emails (43709e79)
    • adds a plugin hook to alter the contents of an email (c5642515)
    • recipient and sender email address formatted (9c48ccc0)
  • entities: denormalize entity subtypes (ed318565)
  • events: Adds new handler API available for events and hooks (5f334783)
  • file:
    • remove elgg:file library (c54b88a6)
    • default icon sizes are now available for new image thumbs (cb19affe)
  • files:
    • add download permission checks (fb8c3e04)
    • update file plugin to new file serving API (1e736aeb)
  • forms:
    • fields can now render custom html (171e1b32, closes #10090)
    • allow specifying a custom view for fields (ecfe4ac7)
    • pass all vars prefixed with # to field view (99bb2d07)
    • add time input, support DateTime values (25ddb36c, closes #11227, #7476, #4506)
    • form_vars and body_vars are now available in the footer (b823e609)
    • input/radio and input/checkboxes support options_values (908972c0, closes #6043, #3483)
    • forms without a body will no longer output a form element (d29ce0b3, closes #8459)
    • input/select now support optgroups (10bb273a)
    • input/checkbox view support 'switch' styling (9be6f53f)
    • input/longtext now support editor variations (5f3d6b05)
    • buttons are now rendered with a tag (fc680658)
  • gatekeeper: implement stricter banned user checks (d0deb646)
  • groups:
    • improved group title menu and reorganized group stats (d611eeb5)
    • clearer join/owner status and less prominent leave button (41fb03ea, closes #8872)
    • added topbar menu item for pending invitations (82c60c99)
    • added generic ElggGroup functions for tool availability (246db29f)
    • consolidate API for joining groups (8d57dfd3, closes #10659)
    • allow group invitations to be resend (7206894b)
    • validate container permissions when creating a new group (8a3a8787)
    • group metadata ownership in now in sync with group ownership (62a14f27)
    • group ACL name is now always in sync with the group name (e758ef62)
    • transfer icon files to a new location (adbc5198, closes #4683)
    • update group listings to new layout API (22658ee5)
  • htmlawed:
    • now using htmlawed v1.2 with html5 support (43cf04cd)
    • Expose plugin hook for spec parameter (9aebac50)
  • i18n:
    • added a function to retrieve available languages (8f9c1092)
    • core triggers an event after translations are reloaded (56812eff, closes #8119)
  • icons:
    • large icons are now default upscaled and square (86c3a8ee)
    • lazy generate entity icons on demand (29e92b67)
    • make it easier to replace default entity icons (b1efd68f)
  • input:
    • show default help text about upload limit on input/file (a15a7ecf)
    • Adds function to get HTML-escaped input (f1819935)
  • install: installation changes (57ac75ec, closes #5871)
  • js:
    • added ability to register toggleable menu items server side (e974f3a7)
    • all core js is now part of the views system (761a4bf5)
    • lightbox href calls now uses elgg/Ajax (888969b7)
  • labels: adopt entity and collection labelling convention (da1c1054)
  • layout:
    • alt sidebar width is now fluid (47a5e79a)
    • alt sidebar no longer depends on sidebar (d20f2d9a)
  • layouts: decompose and centralize layout views (2e52ed91)
  • lib:
  • lightbox: add responsive imageless lightbox theme (02b4a142)
  • likes:
    • like annotation access is no longer linked to entity access (ab7336b2)
    • show likes in river for logged out users (10ef9b53, closes #10897)
    • updates are page-wide and can come from any ajax response (96207369, closes #9698)
  • listing: move access info from menu to byline (9f31969b)
  • lists: list component view now handles all data types (7b7d3349)
  • members:
    • added admin link to create new user on members listing (1e6b6a68)
    • added members tabs to member search page (27274acd)
    • use filter menu and resource views for the pages (f4b780ab)
  • menus:
    • set default menu order to priority (8b355878)
    • standardized usage of entity menu and added a social menu (f7e881db)
    • added icons to user hover menu items (ffa267d0)
    • consolidate child menu behavior and UI (24218e39)
    • anchors now support icons and badges (0af43627)
  • messages: message presentation uses standard summary/full views (87a8e834)
  • messaging: improves admin notices and system messages (28d297f1, closes #10917)
  • navigation:
    • added view vars to toggle entity/social menu (07b87da0)
    • added icon to generic add title menu item (239f65ee)
    • breadcrumbs is now a menu (b6ba0435)
  • notifications:
    • target URLs for notifications are now set explicitly (1b73ed89)
    • rewrite notification settings interface (22afc923)
  • output:
    • passing href false sets href to javascript:void(0) (951d5239)
    • inline rendering of tags (12af7270)
  • pages:
    • use best practices in pages plugin (3040b569)
    • migrate page_top subtype into pag (e88b5707)
    • replaces inline js with an AMD module (362855d6)
    • some improvements to resource and form views (cb4f2733)
    • Combine search results output of top pages and subpages (109923ef)
  • permissions: permissions for admin users or with ignored access are now universal (d5c9fdf7, closes #7999)
  • php: require PHP 7.0 (7aa2b370)
  • plugins:
    • use elgg-plugin for entity class and search registration (4e088246)
    • widgets can be added using elgg-plugin.php (a26c5d5a, closes #10348)
    • set default (user)plugin settings in elgg-plugin.php (a8779635)
    • autoload plugin composer autoloader (ff63f9b8)
    • plugins no longer require a start file (8a8a0283)
    • moves UI of friends and activity to plugins (1a923804)
  • profile:
  • river:
    • remove type/subtype and access columns from river table (861c20d3, closes #11346)
    • creating a river item defaults subject_guid to current user (6426cdd0)
    • elgg_view_river_item has a fallback logic for view (1c91f716)
    • elgg_delete_river checks permissions and fires events (892cbee3)
  • router: adds routing based on URL templates (9fbd4a84, closes #4820)
  • routes:
    • adds gatekeeper service (dbff5bc8)
    • use named routes in web_services (f7a27b62)
    • use named routes in embed (bf333ee6)
    • use named routes in uservalidationbyemail (065e80fc)
    • use named routes in thewire (cd1cb11f)
    • use named routes in tagcload (10d6d5a4)
    • use named routes in site_notifications (b69e5cbe)
    • use named routes in search (6f085cd8)
    • use named routes in pages (3abd9cd2)
    • use named routes for notifications (60daa1d4)
    • use named routes for messages (6073279d)
    • use named routes in messageboard (11ee1ed6)
    • use named routes in members (e7d970a9)
    • use named routes in invitefriends (c07ddf27)
    • use named routes in groups (adc4d1ab)
    • use named routes in friends_collections (ba3880ea)
    • use named routes in friends (821b4a29)
    • use named routes in expages (63c5d7a8)
    • use named routes in developers (486f0906)
    • use named routes in dashboard (effdd372)
    • use named routes in bookmarks (64075726)
    • add utilities for setting breadcrumbs (18e9aecc, closes #10818)
    • use named routes in core (f04c3925, closes #9126)
  • search:
  • security: add security settings page (a7ab8ecb)
  • site: added class function to get site email address (fe005ba5)
  • standards:
    • apply new coding standards to entire code base (5a63b3ca)
    • update to new Elgg coding standards (582e0458, closes #10825)
  • system_log: move system log to its own plugin (39401bee)
  • tests:
    • travis now also test on PHP 7.2 (5089dcb7)
    • migrate simpletest suite to phpunit integration tests (0c2c756f)
    • adds integration and plugin testing bootstrap (471de772)
    • adds elgg-cli simpletest command (7b2d459b)
  • theme:
  • ui: new layout of user hover menu contents (6fe6b2ad)
  • upgrades: Introduces a new upgrading feature (6e221f0e)
  • users:
    • added generic unvalidated users page/actions (faa8fe1c)
    • added a default page handler for viewing users (962b3a4a)
    • trigger events for user (in)validation (3b4fcbb2, closes #10576)
  • vendor: jquery-treeview is now bundled in core (a3cf8272)
  • views:
    • output/date & output/time are now wrapped in a time element (3d348429, closes #11576)
    • friendly time switches to date format after a few days (85abca36, closes #9897)
    • object/elements/imprint/time now support a href on the time (7db48117)
    • added a default hook callback to prevent view output (3ede3073)
    • view extensions are handled as normal views (f35b6118)
    • added a generic entity navigation view for full views (ccb9a74f)
    • added option to hide the owner_block menu (bb7b31c6)
    • a more flexible extendable html page shell (550aeb89)
    • make layout header responsive (f3109ec4)
    • add attachments and responses to full object listing (7808db76)
    • input/password only populates value if explicitely set (cde67a2c)
  • walledgarden: router now respects walled garden policies (e71784d2, closes #7235, #9881)
  • widgets:
    • using input/number to select number of displayed items in widget edit views (a60da40a)
    • widget titles are linkable (8a850486)
    • adding widgets now opens in a lightbox with more info (dc1e84fe)

Performance

  • config: removes config "siteemail" value (05184ae2, closes #9096)
  • entities: no count query if no pagination in elgg_list_entities (dae5566a, closes #9403)
  • metadata: memcache most metadata (01074610)

Documentation

  • i18n:
    • Adds instructions for setting up Transifex for new major Elgg version (803bd5ad)
    • Adds instructions for pulling translations from Transifex (a18f24a8)
  • plugins: describe the steps to move a plugin to own repo (9b3a8ee7)

Bug Fixes

  • cache: remove trailing slashes in cache symlink paths (1e05f24e)
  • ckeditor: fixes basepath issues on some systems (a5097efc, closes #10724)
  • core:
    • get_registered_entity_types now returns empty array for type (cc14cb0e)
    • clear entity temp_metadata before setting a new value (8bd1b296)
    • unsetting metadata from unsaved entity now works (67203cc1)
    • elgg_http_add_url_query_elements keeps '//' protocol intact (c53d5c6d, closes #9874)
    • error pages respect walled garden pageshell (0312852a)
    • favicon.ico page handler now serves an icon (d8ce2235)
    • gatekeepers now forward with a 403 reason (94ca91f2)
  • cron:
    • cron/run endpoint calls intervals reliably (9c37d927)
    • log correct completed time in cron monitor (e4a66193)
  • css: elgg-body elements no longer clip form and positioned elements (afb99a20, closes #5197)
  • db: add missing subtype index to river table (61747836, closes #10896)
  • developers: exclude view wrapping for results from the cachehandler (d8ff5c39)
  • discussions: fix comments URL fragment (c2a781f2)
  • embed: correct replace icon size with a non thumbnail size (f0616d8e)
  • entities: memcache no longer returns disabled entities (78d20ac2, closes #10970)
  • expages: don't log notice if pages aren't created (cdc28968)
  • file: display owner icon in file summary of the full listing (42898271)
  • forms: input/checkbox now applies disabled to hidden default value (d3ea2025)
  • groups: ensure that user has sufficient permissions to update group_acl (49fed9b6)
  • http: Use Symfony to parse PATH_INFO (822696b9, closes #10608)
  • i18n:
    • fallback to site language before English (e9f5d9d3)
    • set language via GET var works for client-side translation (ee023ef1)
  • input: better handling of invalid UTF-8 characters (2283a289, closes #5790)
  • install: don't block install if can't make internal requests (591c2806)
  • installer:
    • sanitize dataroot before writing to settings file (0eeb141d)
    • fix installer and add tests (baa7040d, closes #11433)
  • js:
    • popup showing in wrong location in Opera (164ae44c, closes #6452)
    • hook trigger calls handlers in expected priority order (1b0cc64d)
  • menu: load AMD dependencies for the user_hover menu on load (39d2ef20)
  • menus:
    • allow rendering entity menu without a dropdown (ff791563)
    • menu items will always output an anchor (cba37560)
    • provide admin link in case JS fails (948e3bd6)
  • metadata: warn devs when saving data longer than column holds (eef89d26, closes #10861)
  • navigation:
    • assume default filter if filter value is set without id (38df55f0)
    • correct container set on title menu button (77c8f001)
  • notifications:
    • pass correct params to Email class (a5ef05ad)
    • fixes banned user notification language/name (065b8496)
    • no notifications about private content (075d2615)
  • plugins:
    • load elgg-plugin.php after classes and translations (0397c91b)
    • start.php is now only required once, other plugin files included as requested (875ff66c)
    • unfreeze plugin list after (de)activate no plugins (939adff4)
  • river: populate type and subtype of the river object (101d0b74)
  • search:
    • validate comment ownership in format hook (b39bbc2c)
    • search fields are now reset for typeless search (4f305de0, closes #11483)
  • upload: only prepare files if uploaded (3c6c8f76)
  • uservalidationbyemail: email sent page respects walledgarden shell (b972b0d2)
  • views:
    • clean up of class attribute usage (6b3edaf2, closes #11468)
    • do not wrap tabs in a heading (fb80a68a, closes #10764)
    • output/tag shows text if there is no href present (e7dfa2a0)
    • owner links in by line now always point to user (2a70902b)

Deprecations

  • breadcrumbs: breadcrumbs now use href instead of link (6e7235a2, closes #10345)
  • core:
    • the use of the function create_metadata is deprecated (a60ed182)
    • the use of the update_metadata function is deprecated (fb97d13a)
    • removed the site_guid entity attribute from datamodel (45b2dcc4)
  • metadata: removed independent metadata functions (#11086) (d82b9e1d, closes #11075)
  • plugins: no longer use getFriendlyName in ElggPlugin (69976069)

Breaking Changes

  • The legacy_urls plugin is no comes bundled with Elgg, if you need it
    load it as a composer dependency.

fixes #11097 (a3cf1141)

  • The pagehandler for reportedcontent has been removed in favour of using
    an Ajax form view. This can cause problems when loading JS is slow. (8edbceb1)
  • dropped the expages page handler (63c5d7a8)
  • If you extended the usersettings form by extending the view
    'forms/account/save' you should update to extend
    'forms/usersettings/save' (5c0b8e5e)
  • The unvalidated users page and some actions have been
    moved to core and are no longer present in the uservalidationbyemail
    plugin.

fixes #4561 (faa8fe1c)

  • The elgg:bookmarks PHP library and bookmarklet GIF were removed.
    (5d4d66f4)
  • reverse_order_by in $options is ignored. (f1555502)
  • HTML of system messages have been changed so they are reusable as inline
    message boxes. (1c64d898)
  • The groups specific function 'groups_get_group_tool_options' has been
    replaced with the generic 'elgg_get_group_tool_options' function. (246db29f)
  • The view object/widget/edit/num_display now uses an input/number field instead of an input/select field to set the number of displayed items. Widget edit views might need to be updated if a custom max number (higher than default_limit or 20) is used or if a custom stepsize of selectable item numbers is wanted.
    (a60da40a)

The subtype 'page_top' has been removed from the pages plugin. All top
pages are migrated to the subtype 'page'. Related views and helper
functions have been dropped.

fixes: #11329 (e88b5707)

  • The group metadata has been removed in favor of a access collection
    subtype. (450aaa4c)
  • use the upgrade, system event instead

ref: #3655 (eeb21271)
*
The create_metadata_from_array function is no longer available. Use your
own foreach loop to create multiple metadata fields. (caf22201)

  • The users_entity table no longer exists. Update your queries if
    needed. (3d5901a4)
  • The elgg_get_entities_from_attributes function is no longer usable to
    get entities based on attributes. (2483b670)
  • The objects_entity table no longer exists. Update your queries if
    needed. (19926b38)
  • The groups_entity table no longer exists. Update your queries if needed. (67eaae29)
  • icons are no longer generated buring upload, but on
    demand. On demand generated icons are based on master not on an original
    file. (29e92b67)
  • The sites_entity table no longer exists. Update your queries if needed. (74663893)
  • The file_delete function is no longer available. Take a look at
    ElggFile->deleteIcon for an alternative. (55352578)
  • Switch to PSR-0 registration of classes or use composer autoload to
    register classes.

Fixes #9753 (5b8beafa)

  • The groups:my_status menu is no longer available. Register your menu
    items somewhere else. (68e4eec7)
  • The twitter_api plugin has been moved to a separate repository which can
    be found at https://github.com/Elgg/twitter_api The plugin will no
    longer be actively maintained by the Elgg core team.

fixes: #5927 (a1c5a1bf)

  • Admin menu items and some admin menu item views are no longer present or
    have been moved to other locations. Update usage accordingly. (0809709c)
  • The extras menu is no longer used. Register your menu items to other
    menus.

Fixes #7729
Fixes #8718 (b62d6247)

  • The profile/status view is no longer called. You can extend/prepend the
    profile/fields view if you need a similar feature. Thewire is no longer
    adding the last wirepost to the profile. A wire widget could offer
    similar features. (47741728)
  • As widget edit forms could not be on the current page it is a bad
    practice to rely on widget config values to be always available. This PR
    corrects this behaviour. If you override core widget content views you
    may need to update these views.

Fixes #10244 (98c96b60)

  • Instead of a span with class elgg-non-link now a regular anchor will be
    outputted with the class elgg-non-link (cba37560)
  • $CONFIG->input is no longer set or read. Use set_input/get_input. (1e7192b8)
  • elgg_get_admin_notices() accepts only an array. (28d297f1)
  • Plugins can no longer rely on Elgg to "hide" metadata in queries. All metadata is
    assumed to be public. Plugins that read user profile fields in metadata will see
    all fields every time, and plugins that write user profile fields in metadata will
    have no effect. These plugins should instead access fields via annotations; see
    the profile edit actions and forms for reference.
    (2567640d)
  • View river/item is removed. Use elgg_view_river_item(). (313585a0)
  • .elgg-body elements by default no longer stretch to fill available space in
    a block context. They still clear floats and allow breaking words to wrap text.

Elements matching .elgg-module, .elgg-head, and .elgg-menu-hover no longer
hide overflowing content. and those matching .elgg-image, #profile-owner-block,
and elgg-sidebar (inside layouts) no longer float, but are now positioned with
flexbox. (afb99a20)

  • Entities no longer have an isFullyLoaded() method. (231be2aa)
  • User icons no longer include a hover-menu icon that's displayed on
    mouseover. The click event is bound to the surrounding anchor.
    (7601f863)
  • elgg_format_url() has been removed. Use elgg_format_element() or the
    "output/text" view for HTML escaping. (db746843)
  • The view invitefriends/form no longer exists (d322bbb6)
  • Metadata and annotations name and values are no longer normalized.
    Metastrings related functions have been removed. (53fec72e)
  • The datalists table functionality has been merged into the config table.
    Related datalist functions have been replace by their config equals. (adcc4974)
  • Because of the removal of the multisite concept in entities, this
    relationship makes no sense.

Fixes #10473 (41ffbd9f)

  • To be able to still provide support for MySQL 5.5 combined with InnoDB
    the FULLTEXT indices have been dropped. This effects how search works
    internally. (44d987a5)
  • This breaks a lot of site_guid related features, like all the
    elgg_get_entities functions. Entities will no longer have a site_guid
    attribute.

See http://learn.elgg.org/upgrading#Elgg3.0 for more details on all the
deprecated features regarding this change (45b2dcc4)

  • If you were relying on group entities attribute 'username' you need to
    update your code, as this attribute will no longer be magically returned
    as 'group:<group_guid>'. (d562efbf)
  • If you rely on a class check for your content, please use the PHP
    instanceof type operator (ca56d46d)
  • This function can no longer be used. Use Elgg\Upgrade\Batch interface
    instead. (39455bd9)
  • Stock Elgg does not need these files. If you need them, you have to
    adapt the config accordingly. (1f65142e)
  • The event login, user is removed. (461e5e76)
  • You can no longer use the system, pagesetup event (353d522a)
  • This change applies the best practice to not populate password fields.
    If you really need to set the value of a password field, you need to set
    $vars['always_empty'] to false. (cde67a2c)
  • htmlawed is no longer a plugin. See docs/guides/upgrading.rst.
    (da14997a)
  • messageboard.js and elgg.messageboard are removed. The
    elgg/messageboard module is no longer inlined on every page. (4c8c7b68)
  • likes.js and elgg.ui.likesPopupHandler are removed. The elgg/likes module
    is no longer inlined on every page, but is required by its menu items.
    (0121cee7)
  • The password and hash columns are emptied in the users_entity table
    and no longer used. The attributes are removed from ElggUser. The function
    generate_new_password is also removed. (200cf6e7)
  • In elgg()->getDb() (the public DB API), method getTablePrefix() is no longer
    available. Read the prefix property instead. (a69ecc03)
  • Elgg no longer serves views via the endpoints js/ and css/. Use
    elgg_get_simplecache_url() to generate static view URLs. (6b0a4b89)
  • elgg_get_config('siteemail') no longer returns the site email address.
    (05184ae2)
  • $CONFIG is no longer available as a local variable inside plugin start.php files.
    (c2cd81d9)
  • $SESSION is removed. Use the API given by elgg_get_session() (99048a39)
  • If you registered a hook on the forward you need to update your code if
    you checked for the 'admin' and/or 'login' reason (94ca91f2)
  • To ensure your handler is called last, you must give it the highest priority
    of all matching handlers. To ensure your handler is called first, you must
    give it the lowest priority of all matching handlers. Registering with the
    keyword all no longer has any effect on calling order. (1b0cc64d)
  • The pages plugin no longer renders the input/write_access view.
    (8075fdea)
  • Removes ElggFile::setFilestore, ElggFile::size, get_default_filestore,
    set_default_filestore, ElggDiskFilestore::makeFileMatrix, and the global
    var $DEFAULT_FILE_STORE.
    (618c79d3)
  • The resources/file/download view is no longer used. (1e736aeb)

@jeabakker jeabakker released this Dec 6, 2017 · 45 commits to 2.3 since this release

Assets 2

Contributors

  • Jerôme Bakker (7)

Bug Fixes

  • tests:
    • correct validation of action path (232a87b8)
    • correct registration of view path (950da0dc)
    • incorrect filename for test registration (9af357be)
    • moved incorrect registered test to correct location (ba7c894d)

@jeabakker jeabakker released this Sep 21, 2017 · 57 commits to 2.3 since this release

Assets 2

Contributors

  • Jerôme Bakker (17)
  • Ismayil Khayredinov (5)
  • Steve Clay (2)
  • jdalsem (2)

Documentation

  • composer: explain how dependencies are managed in Elgg (f6b30d45)
  • icon: use correct functions for saving entity icon (2e1b6a47)
  • install: bootstrapping Elgg in Laravel Homestead (84399394)

Bug Fixes

  • composer: no longer use deprecated class (d5e8acbf)
  • core: correctly manipulate ini setting to return readable bytes (bc61a3b9)
  • developers: incorrect header title link in theme sandbox (583badbe)
  • email: improved formatting of email headers (cc590e6a)
  • entities: batch count now works when $options already count set to false (62ecabed, closes #10992)
  • groups:
    • group delete button no longer misaligned (4bdf92d9)
    • check for existence of custom icon before generating url (e6270945)
  • plugins:
    • only include plugin files once (49d4ce50)
    • issue error about saving array values at correct location (ef753ebf)
  • profile: now able to remove the first custom profile field (3d7258ec)
  • river: comments no longer show full text in river (e0669219)
  • simplecache: expires and symlinking cache works on nginx (fe220126, closes #9054)

@jeabakker jeabakker released this Sep 21, 2017 · 3 commits to 1.12 since this release

Assets 2

Contributors

  • Jerôme Bakker (3)
  • Brett Profitt (1)
  • Steve Clay (1)

Bug Fixes

  • likes: listing limit no longer breaks likes counts (abbe2715, closes #11160)