Skip to content

Releases: jeanlucio/moodle-mod_playergroup

v1.3.3

Choose a tag to compare

@github-actions github-actions released this 22 Aug 15:18

Fixed

  • Activity icon on the course page and activity chooser is no longer recoloured to a flat purpose colour, so it now shows its own authored colour on both Moodle 4.5 and 5.x
  • Action buttons (invite/edit/leave) on a group's card no longer wrap across rows and detach the participant-count button from the card's bottom edge when all three appear together

v1.3.2

Choose a tag to compare

@github-actions github-actions released this 13 Aug 19:42

Security

  • The password field in the join, create, and edit group modals no longer offers to autofill the browser's saved site password

Fixed

  • Pressing Enter in the join/create/edit group password field no longer crashes the page; it now submits exactly like clicking Save

v1.3.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 12:32

Added

  • Declared the activity's chooser purpose (collaboration + assessment), so it now appears under its category tabs in "Add an activity or resource" instead of only under "All"

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 01:15

Added

  • Students can view the full member list of any group in the activity, not just their own, through a "View Members" button on each group card; mirrored in the Moodle mobile app, with the leader marked
  • Teacher "Groups and Members" composition report: one row per member across every group (group, privacy, role, member name), with its own CSV/Excel export, alongside the existing activity-log report
  • Member lists (web and mobile) now show the group leader first, then the rest alphabetically, instead of join order

Security

  • Invite picker (web and mobile) and the send_invite web service now consistently gate on moodle/course:viewparticipants and exclude suspended/expired enrolments, so a professor who hid the course participant list from students can no longer be bypassed by calling the service directly
  • Group join, create, and accept-invite operations are now serialised per activity instance with a lock, closing a race that could let a student join two groups at once or push a group over its member cap
  • join_group, accept_invite, and create_group now check the return value of Moodle's groups_add_member() instead of assuming success; a caller who is not actually enrolled in the course no longer receives a grade, completion state, or a group with no real member
  • Group descriptions rendered in the mobile app now go through the same sanitisation as the web view
  • Group name is no longer used unsanitised as the "View Members" modal title
  • Export format is now validated against installed dataformat plugins instead of being passed straight through
  • Deleting the activity no longer destroys groups that already existed in the same grouping before the activity was added to the course

Changed

  • Simplified the plugin icon SVG
  • Failed group actions (join, leave, edit, create, invite) now show a plain message instead of Moodle's generic developer error dialog with a stack trace
  • Edit Group and Leave Group buttons now show their label next to the icon instead of icon-only

Fixed

  • playergroup_cm_info_view() no longer queries the database on every course page render; the activity's opening/closing time now travels in the modinfo cache

v1.2.4

Choose a tag to compare

@github-actions github-actions released this 23 Jun 16:07

Added

  • New public API method group_info::get_badges_for_groups() returns the badge of several groups in a single query, letting other plugins (e.g. block_playerhud) display group badges in a list without per-group queries. Groups managed by PlayerGroup but without a configured badge fall back to the default shield emoji, matching get_player_group_in_course()

v1.2.3

Choose a tag to compare

@github-actions github-actions released this 17 Jun 15:30

Security

  • send_invite now verifies the recipient is enrolled in the course before creating the invite and sending the notification, preventing cross-context notification spam
  • Activity open/close window is now enforced in create_group, edit_group, and accept_invite (previously only join_group enforced it)

Fixed

  • Group name and description no longer double-encode HTML entities on edit; rawname/rawdescription now pass the raw database value and let Mustache handle the single HTML-attribute escaping, preventing progressive corruption of names containing &, <, >, ", or '
  • Export now streams log entries row-by-row via a recordset instead of loading the full result into memory, preventing potential memory spikes on large activity logs
  • Password column (playergroup_meta.password) widened from char(64) to char(255) so future PHP PASSWORD_DEFAULT algorithm changes cannot silently truncate stored hashes

Removed

  • Dropped the legacy playergroup_get_completion_state() callback (dead code since Moodle no longer invokes it on 4.5+); completion is handled solely by the custom_completion class, whose coverage moved to a dedicated test