Version history
===============

19.0 (2024-06-28):

- added: setting to add a river event on group ownership transfer
- changed: updated for Elgg 6

18.1.2 (2024-06-26):

- fixed: use correct type to edit auto join groups

18.1.1 (2024-04-24):

- fixed: correctly get stale group information

18.1 (2024-02-16):

- changed: removed old repair features and obsolete upgrades

18.0 (2023-11-30):

- changed: updated for Elgg 5.1
- fixed: throw correct exception

17.0.2 (2023-09-28):

- fixed: concept groups edit save buttons

17.0.1 (2023-07-26):

- fixed: buttons have a discernible text

17.0 (2023-06-02):

- changed: conflict with Elgg < 5.0
- changed: updated for Elgg 5

16.2 (2023-01-19):

- added: group membership widget sort options

16.1.1 (2022-11-16):

- fixed: OOM errors when editing large groups for admins

16.1 (2022-10-27):

- added: csv exporter support for group role during group member export
- removed: group member export

16.0.1 (2022-10-07):

- fixed: deadloop during sending of GroupMail
- fixed: group invite menu item availability

16.0 (2022-08-24):

- changed: registration with group invite
- changed: updated for Elgg 4.3

15.1.1 (2022-07-12):

- several small chores/fixes

15.1 (2022-06-22):

- changed: invite form now uses page/components/tabs
- fixed: correctly set sorting parent menu item
- fixed: only add managed group menu item if multiple admins are allowed
- fixed: removed unused setting for discussions menu item on groups menu

15.0 (2022-06-01):

- added: listing view introduced to list groups based on preset
- changed: updated for Elgg 4.2
- changed: updated sorting features for Elgg 4.2
- changed: use new functions for system messages

14.0.2 (2022-03-30):

- several small chores/fixes

14.0.1 (2022-03-11):

- several small chores/fixes

14.0 (2022-02-16):

- added: group notification preference status to welcome notification
- changed: updated code for Elgg 4.1 capabilities system

13.0.3 (2021-12-16):

- fixed: register upgrade to migrate plugin settings

13.0.2 (2021-10-27):

- fixed: supply correct number of params to message body

13.0.1 (2021-10-12):

- fixed: call to undefined function elgg_add_subscription
- fixed: duplicate salutation in a lot of notifications

13.0 (2021-09-27):

- changed: updated for Elgg 4.0
- fixed: adding group members directly didn't work
- fixed: show notification toggle link on group join
- fixed: simple access and tools initial selection
- removed: default group notification methods for group join

12.2.1 (2021-07-16):

- fixed: check for menu item in concept/approval cleanup

12.2 (2021-07-14):

- added: notification to group owner when admin approval is requested
- added: reason to group approval decline
- fixed: conflict with advanced notifications for concept groups
- fixed: don't show notification toggle to group owners

12.1 (2021-07-06):

- added: admins can enable group approval notifications personally
- added: concept groups
- added: group suggestions during creation
- added: plugin setting to require approval reasons during group creation
- fixed: add link to groups plugin settings

12.0.7 (2021-06-08):

- fixed: don't add empty profile fields in auto join configuration

12.0.6 (2020-11-24):

- fixed: no longer use dbprefix

12.0.5 (2020-10-13):

- fixed: if widget_manager is not active use single group selector

12.0.4 (2020-09-01):

- fixed: correctly validate group invite code

12.0.3 (2020-08-04):

- fixed: member of group listing popular sorting
- fixed: member selection on group mail page

12.0.2 (2020-06-23):

- fixed: groups listing sort menu parent item is no longer a link

12.0.1 (2020-06-09):

- fixed: removed left over debug code

12.0 (2020-05-26):

- changed: incerased minimal ELgg version to 3.3
- fixed: double filter menu on group edit page
- fixed: inviting all site members crashed the invite action
- fixed: use correct options for grouppicker in river widget

11.0.1 (2020-01-21):

- fixed: csv invite members file format

11.0 (2019-11-26):

- changed: group owner transfer uses core options
- changed: increased minimal Elgg requirement to 3.2
- changed: listing of e-mail invitations uses annotation view
- changed: membership requests use core functionality
- changed: site join events moved to user creation events
- fixed: admin approval of groups
- fixed: plugin priority issue with profile manager
- fixed: send custom text when adding users
- fixed: user e-mail invitation listing
- removed: default group content access
- removed: group invites page for roup admins

10.4 (2019-09-18):

- changed: inviting users to group now finds all users but shows message

10.3.1 (2019-09-04):

- several small chores/fixes

10.3 (2019-08-22):

- changed: hook and event callbacks use new coding style

10.2.1 (2019-07-11):

- fixed: fatal exception during group member export
- fixed: incorrect query for stale group notifications

10.2 (2019-06-12):

- added: remove user from group to user entity menu
- fixed: don't find banned users in autocomplete

10.1 (2019-05-29):

- changed: split group invitations/requests in tabs
- fixed: deprecated function call
- fixed: deprecated route hook for register
- fixed: deprecated where clause
- fixed: export group members not available
- fixed: group access could be private
- fixed: layout issues in group membership requests
- fixed: only cleanup title menu for admin approve if enabled

10.0.1 (2019-04-17):

- fixed: auto join hidden groups during login
- fixed: wrap simplified options on smaller screens

10.0 (2019-03-27):

- added: group admins tab on group members page
- added: group creation dropdown has some wrapper text around preset title
- added: group membership and managed tabs
- added: group status title menu button now shows group admin status
- added: group tool preset input field type
- added: group tool preset set from group add button
- added: preset description set as title on create preset title menu item
- added: related group plugin setting
- added: simplified group tool preset selection
- added: support for core removal of group icon
- changed: cleanup of entity menu
- changed: control availability of sorting menu through menu view var
- changed: group all listing rework
- changed: group mail rewrite
- changed: invite user now uses userpicker
- changed: moved featured and suggested admin list to own admin page
- changed: moved group membership requests to correct route registration
- changed: moved plugin init into elgg-plugin and bootstrap
- changed: moved related groups to a correct route definition
- changed: moved repair actions to its own admin page
- changed: moved some helper functions to inline checks
- changed: moved special state form actions to entity menu
- changed: no longer provide a custom view and style for suggested groups
- changed: related groups now uses a grouppicker
- changed: replaced custom autocomplete features
- changed: rewrite group sidebar/profile cleanup
- changed: set minimal requirement to Elgg 3
- changed: updated action responses
- changed: use elgg_view_message for stale info
- fixed: call correct group join function
- fixed: database queries
- fixed: database query error in suggested groups
- fixed: fatal exception when showing group admins
- fixed: group activity widget works again
- fixed: group invite issues
- fixed: group mail notifications listen to correct event
- fixed: group member page
- fixed: group members listing not in alphabetical order
- fixed: group members search not working correctly
- fixed: group owner transfer not scalable
- fixed: group permissions taken away
- fixed: group tool preset doesn't hide tools on tabbed creation
- fixed: lots of query deprecated notices
- fixed: moved deprecated action handles to correct hooks
- fixed: only quick return on member search ajax call
- fixed: typos in English translation
- fixed: unable to disable tabs on group listing page
- fixed: user hover menu itme sections
- removed: callback functions for rows replaced with anonymous func
- removed: custom featured group sidebar view
- removed: grouppicker functionality has been moved to core
- removed: group sidebar cleanup features have been removed
- removed: group_news widget is no longer provided
- removed: migrateListingSettings upgrade
- removed: no longer support old routes to group profile
- removed: setting to control if status is shown on ownerblock and profile
- removed: widget settings to control visibility of membership count

9.4 (2018-04-19):

- added: allow grouppicker to match on title only

9.3 (2018-03-08):

- added: admins can set default group notification settings per group

9.2.2 (2018-01-11):

- changed: email invite accept form location
- changed: moved auto join groups to login:after event
- fixed: delete email invitation error
- fixed: email invite accept action not defined correctly
- fixed: support longer TLDs (#124)

9.2.1 (2017-09-06):

- fixed: my groups tab not usable for logged out users
- fixed: notify_user not always has mail params

9.2 (2017-08-09):

- added: option to remain a group admin after owner transfer
- added: plugin setting to automatically accept membership requests
- fixed: group transfer not allowed when no friends and no members

9.1.1 (2017-07-12):

- fixed: stale group notifcations not sent for non public groups

9.1 (2017-05-11):

- added: hook to change object subtypes for stale group check
- changed: consolidated admin pages in the same section
- changed: moved auto join group management to admin section
- changed: rewritten the auto join logic, now profiles can be created
- fixed: grouppicker styling issues
- fixed: stale group notification also includes empty groups in period
- fixed: use time_updated in cron, same as on group profile page

9.0 (2017-02-28):

- added: notification to group owner when group becomes stale
- added: option to allow only admins to control hidden groups
- added: plugin setting for stale groups
- added: simplified group access for new groups
- added: simplified group create form setting
- added: stale information to csv exporter
- adds Spanish translation
- changed: increased Elgg version requirement to 2.3
- fixed: check for logged in user when transferring owner

8.0 (2016-10-06):

- changed: get group tool options using the new helper function
- changed: group sidebar cleanup reworked
- changed: moved different autojoin groups to own functions
- changed: moved unregister widget from ready to init event
- changed: required Elgg version set to 2.2
- fixed: check correct plugin setting for group creation
- fixed: deprecated notice when transfering group ownership
- fixed: force notification settings don't apply
- removed: custom icon serving handling

7.3 (2016-09-21):

- added: group mail members allowed for group members
- added: new groups require admin approval (plugin setting)
- added: option to disable friends invite tab
- added: plugin/group setting to require motivation on group join
- added: plugin setting to disable matching email addresses to users
- changed: group invites also sent to site notifications
- fixed: contain status string withing image block body
- fixed: double encoding in grouppicker
- fixed: group mail only to verified group members
- fixed: membership requests don't get removed from the list on decline
- fixed: my status sidebar has incorrect group join link/text
- fixed: prevent ENTER in autocomplete from submitting the form

7.2 (2016-05-26):

- added: banned and role column to group member export
- added: group admins can be exported by CSV Exporter
- added: option to export the user is an admin of for CSV Exporter
- added: sorting options to the group listing pages
- added: styling for the group sort feature
- fixed: default routing for /groups
- fixed: exporting names group admin names with special chars
- fixed: group members listing pagination doesn't jump to top of the list
- fixed: group owner transfer doesn't move icon
- fixed: grouppicker now correctly loads js and displays items
- fixed: missing header column for displayname

7.1 (2016-05-04):

- added: option to allow users to directly change notification settings on group join
- changed: system message content on group notification toggle

7.0 (2016-04-14):

- changed: layout of group invite autocomplete results
- changed: moved pagesetup logic to views/hooks
- fixed: call to private Elgg function
- fixed: group invites submitted to much data
- fixed: incorrect namespaced class
- fixed: php warning in member export
- fixed: unable to select/unselect all group members on mail page
- fixed: user actions don't show up in group member listing

7.0-rc.2 (2016-03-17):

- changed: don't use distinct in river query
- fixed: correctly check for logged in user
- fixed: group admins can't edit group
- fixed: group mail now saves subject and body
- fixed: incorrect header in group thumbnail
- fixed: replaced .live jquery usage with .on

7.0-rc.1 (2016-03-03):

- changed: Elgg requirement to 2.0
- changed: moved all group extend to resource view
- changed: moved gorup_invite_autocomplete to resource view
- changed: moved group mail page to resource view
- changed: moved membership request management to resource views
- changed: moved overrle of group activity page to resource view
- changed: moved overrule of group search page to resource view
- changed: moved related groups to resource view
- changed: moved suggested groups to resource view
- changed: overrule group invite page by resource view
- changed: overrule group members page by resource
- changed: user group invitations page
- fixed: duplicate breadcrumb
- fixed: group autocomplete javascript not working
- fixed: group icon not loading
- fixed: group listing filter menu
- fixed: group status indicator javascript errors
- fixed: styling issue on group invite results
- removed: discussion object view
- removed: discussions quick status toggle
- removed: discussions tool option description
- removed: discussions widget
- removed: group_forum_topic widget
- removed: start_discussion widget

6.0 (2016-03-02):

- added: featured groups can now be selected as a filter tab
- added: you can now search for group members on the group members page
- changed: always return user in group invite autocomplete
- changed: group membership decline from prompt to lightbox
- changed: offloaded group mail sending #65
- changed: tool preset button has title
- fixed: deprecated use of class var in menuitem factory
- fixed: group default access can be more public than content access
- fixed: group edit visual flickering on load
- fixed: group invite all friends button styling
- fixed: group invite text is now sticky
- fixed: index widget for groups used wrong url
- fixed: js module not loading
- fixed: language key usage
- fixed: not using variable for group check
- fixed: syntax errors
- fixed: user gets notification when removing own group membership request
- js: refactors a lot of js into amd
- removed: show widgets on closed groups
- removed: unused language keys

5.0 (2015-07-08):

- changes for Elgg 1.11
- added: option to give a reason for declining group membership request
- fixed: group tool presets lost on failed save #73

4.0 (2015-07-08):

- added: composer support
- fixed: group thumbnails not loading in Elgg 1.10 #78
- fixed: wrong checks on group default access (thanks to https://community.elgg.org/profile/Josh.Henly)
- fixed: using output/url instead of output/confirmlink (deprecated) #83
- fixed: deprecated message for editing a group #84
- fixed: group icons not showing for older groups #82

3.1 (2014-02-18):

- added: bulk group delete admin page
- fixed: group invite registration failed when site registration is disabled (#72)
- fixed: deprecated function usage
- changed: moved some functions to amd loaded components
- changed: moved group news to amd loaded module

3.0 (2014-11-17):

- changes for Elgg 1.9
- added: group tool presets
- added: grouppicker autocomplete
- added: filter to group activity page
- added: option for group admins to export the members to CSV (admin enabled option)
- added: support for widget_manager group tool based widgets
- added: user menu items in group member listing
- fixed: PHP fatal exceptions when using group admins on group join
- fixed: problem with some tabs shown when logged out
- fixed: adding pagination to prevent long loading times with large lists #71
- fixed: hide my status join link depending on cleanup setting #60 
- fixed: group visibility options in walled garden
- fixed: problem with some tabs shown when logged out
- changed: more efficient annotation query for email invitations (thanks to Matt Beckett)
- changed: improved group thumbnail loading

2.10 (2014-05-15):

- added: users can register if registration is disabled but they have a valid group invite code
- fixed: no groups to select in groups_river_widget
- fixed: error during saving of special states
- fixed: if trying to access a hidden group when logged out, correctly forward after login
- fixed: the action URL for user membership killrequest (#57)

2.9.1 (2014-03-14):

- removed: debug code which caused errors to appear on screen

2.9 (2014-03-11):

- added: plugin setting to indicate if a group is hidden
- added: option to configure a group welcome message (#41)
- added: listing of the email invitations for groups (#42)
- added: option to join groups based on email domain (#43)
- added: option to relate groups (#44)
- fixed: layout issue in plugin settings
- fixed: you can no join groups you were invited for on the group profile page
- fixed: misleading translation for a group cleanup setting (#22)
- fixed: create group button showing up on some pages when setting was disabled (#35)

2.8 (2013-10-31):

- added: option to allow group members to invite more members
- added: Portuguese-Brazilian translation (thanks to brunovb)
- added: tags to quickstart discussion widget
- added: suggested groups (based on profile information)
- added: group admins are notified upon membership request #31 (thanks to Matt Beckett)
- fixed: crash when listing a forum topic of a hidden group
- fixed: email invites are not cleaned up on register
- fixed: group owner should not be group admin #26
- changed: better group selection in quickstart discussion widget
- changed: showing group status (open/closed) is a plugin setting #3
- changed: group index widget to include popular groups option #28

2.7 (2013-06-27):

- added: status icon when discussion is closed and fast action to close/open a topic
- added: a widget to quickly start a discussion (index, dashboard and group context)
- fixed: no tab selected in group listing when group_tools is first activated
- fixed: group admin transfer no longer working for non admins
- changed: performance improvement in group admin transfer
- changed: discussion list now shows in which group the discussion takes place (if not already clear)

2.6 (2013-05-06):

- added: option to hide the My Status sidebar
- fixed: using new cache functions
- changed: index groups widget now optionally respects group ordering

2.5 (2013-04-05):

- added: auto join groups based on email invitation when joining the site
- added: different group ACL fixes
- fixed: problem with email invites from hidden groups
- fixed: in some cases email invites weren't saved
- changed: auto notifications now listen to $NOTIFICATION_HANDLERS
- changed: handling of invitations page
- changed: layout of actions
- removed: group creation limited to admins (Elgg core now offers this option)

2.4 (2012-11-06):

- added: filter groups based on a tag field in index_group widget
- fixed: problem with group invite autocomplete on subfolder Elgg installations (thanks to Bruno Grossmann http://community.elgg.org/profile/bruno)
- fixed: unable to edit a group as a normal user when limiting group creation (thanks to buraddo http://community.elgg.org/profile/buraddo)
- changed: group invitations (and add) no always goto mail
- changed: some logic when (re)inviting for better system messages to the users 
- changed: discussion dasboard widget ordering to be inline with default Elgg
- changed: layout of start.php to be more inline with Elgg

2.3 (2012-07-31):

- added: discussion widget from widget manager
- added: group_forum_topics widget from widget manager
- added: group_news widget from widget manager
- added: index_groups widget from widget manager
- added: group sidebar cleanup feature
- added: group profile fallback handling (error on old group profile link & redirect)
- added: group default access (if https://github.com/Elgg/Elgg/pull/253 is applied)
- added: admin action to enable/disable group notifications
- added: option to show the group members in the group related index widgets
- removed: index_discussions widget
- fixed: deprecated notice in invitations overview
- fixed: url error in invitation
- fixed: PHP wanring in group_river_widget
- fixed: pagination in group members sidebar
- fixed: invite autocomplete not using default autocomplete features
- fixed: forum topics widget ordering
- changed: plugin settings layout

2.2 (2012-05-07):

- added: featured group widget
- added: a index widget (for Widget Manager) to show the latest discussions
- added: widget title link for group membership (in combination with Widget Manager)
- added: option to invite all friends or all site members (admin only)
- fixed: outstanding invitations and membership request not always cleaned up
- fixed: incorrect widget title for group members
- fixed: deprecated notices in combination with widget_manager
- fixed: pagination in group members widget
- fixed: wrong action link in remove invitation
- fixed: bug with creating group invitations
- fixed: PHP notices and warnings
- changed: sending of group invite e-mails to be more generic
- changed: restored limited functionality of group activity river

2.1 (2012-04-16):

- added: option to limit group creation to site administrators
- fixed: language error in group sorting (thanks to LeeUK)
- fixed: depricated notice getOwner() => getOwnerGUID()

2.0 BETA 1 (2012-01-17):

- changed: migrated the plugin to Elgg 1.8

1.9 (2011-12-05):

- added: option for group admins to show group widgets to non members in case of a closed group
- changed: activity filter in group river widget (now more advanced)
- changed: group status (open/closed) CSS
- changed: moved changelog to CHANGES.txt in preperation for Elgg 1.8
- changed: plugin information to README.txt in preperation for Elgg 1.8

1.8 (2011-11-11):

- added: activity filter in group river widget
- added: group listing filter: open and closed
- added: group status (open/closed) in owner_block and group stats
- changed: group search listing

1.7 (2011-10-17):

- added: option to make all site users a member of an auto join group
- changed: moved some functions
- changed: transfer group ownership now show members alphabeticly
- changed: group edit now has tabs

1.6 (2011-10-05):

- added: option to resend invites to already invited users
- changed: name of robots view to be less generic

1.5.1 (2011-09-28):

- changed: group mail form to support member selection

1.5 (2011-09-23):

- added: admin option to manage if closed groups are indexed by search engines (default no)
- added: admin option to automaticly enable group notifications on group join
- added: option to mark a group for auto join (on registration of a new user)

1.4 (2011-07-27):

- added: notification on group transfer to the new owner
- fixed: transfer pulldown showing up empty in some cases
- fixed: transfer pulldown not showing for admins in some cases

1.3 (2011-07-11):

- added: dutch translation
- added: option to invite users by CVS upload
- fixed: some errors in engish translation
- fixed: invite from CSV now check hidden entities
- fixed: when adding a user to a group, the user wasn't added to the acl is some cases 
- fixed: when transfering group ownership the new owner wasn't added to the group acl in some cases
- fixed: when removing a member from a group the user wasn't removed from the group acl is some cases  
- changed: moved some code from action to functions for reusability

1.2 (2011-06-27):

- added: alfabetical group sorting
- added: plugin setting which group listing is default (admin option)
- added: option to invite users to a group by e-mail address (admin option)
- changed: banned users no longer show in in group invite

1.1 (2011-06-17):

- added: group activity widget: support for more groups
- fixed: accept membership request link
- fixed: manage membership approval always visible

1.0 (2011-06-10):
- initial version
