Microsoft 365 Integration
Versions
Current version
5.2.0 (2026042000)
5.2.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2026042000
Version release name: 5.2.0
Maturity: Stable
Supported Moodle versions: 5.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.2.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 5.2.0 release of the Microsoft 365 Moodle plugin suite for Moodle 5.2, version v20260707_m502#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20260707_m502
This is the initial release of the local_o365 plugin for Moodle 5.2.
The release is based on 5.1.2 release.
Changes included in this release:
- Fix Teams tab SSO broken by SameSite=Lax session cookies.
5.1.2 (2025100602)
5.1.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025100602
Version release name: 5.1.2
Maturity: Stable
Supported Moodle versions: 5.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.1.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 5.1.2 release of the Microsoft 365 Moodle plugin suite for Moodle 5.1, version v20260521_m501
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20260521_m501
Major feature in this release:
- Add ability to set custom Teams template.
- Site admins can choose to use one of the pre-defined templates, or enter a custom template ID.
- The pre-defined teams templates available depend on whether the Microsoft 365 tenant has education license.
- Using custom template ID requires a new Microsoft Graph application permission "TeamTemplates.Read.All" to be granted for the Azure app used for the integration.
Changes in this release:
- Make local_o365 plugin settings searchable.
- Use \core\context* classes to replace context_* classes, as per changes in core Moodle.
- Use \core\url class to replace moodle_url class.
- Fix error in function to get cohort members.
- Update user mapping record in local_o365_objects table on UPN update when "update Moodle username" setting is disabled.
- Remove group and cohort limit of 20 items on the manage cohort sync page.
- Remove referencing to local_o365 language strings from auth_oidc when local_o365 is not installed.
- Use DataTables library on course sync customisation page.
- Ensure not_found_since field exists before creating index.
- Add more details to photo sync task output, remove limit on photo sync.
- Fix bug in the logic to delete suspended accounts in user enabled status sync scheduled task.
- Add language string for cache definition of jwks.
- Fix occasional unit test failure in boundary conditions.
- Update Moodle Teams app schema version.
- Update README, SECURITY and CODE_OF_CONDUCT files.
5.0.6 (2025040830)
5.0.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025040830
Version release name: 5.0.6
Maturity: Stable
Supported Moodle versions: 5.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.0.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 5.0.6 release of the Microsoft 365 Moodle plugin suite for Moodle 5.0, version v20260521_m500
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20260521_m500
Major feature in this release:
- Add ability to set custom Teams template.
- Site admins can choose to use one of the pre-defined templates, or enter a custom template ID.
- The pre-defined teams templates available depend on whether the Microsoft 365 tenant has education license.
- Using custom template ID requires a new Microsoft Graph application permission "TeamTemplates.Read.All" to be granted for the Azure app used for the integration.
Changes in this release:
- Make local_o365 plugin settings searchable.
- Use \core\context* classes to replace context_* classes, as per changes in core Moodle.
- Use \core\url class to replace moodle_url class.
- Fix error in function to get cohort members.
- Update user mapping record in local_o365_objects table on UPN update when "update Moodle username" setting is disabled.
- Remove group and cohort limit of 20 items on the manage cohort sync page.
- Remove referencing to local_o365 language strings from auth_oidc when local_o365 is not installed.
- Use DataTables library on course sync customisation page.
- Ensure not_found_since field exists before creating index.
- Add more details to photo sync task output, remove limit on photo sync.
- Fix bug in the logic to delete suspended accounts in user enabled status sync scheduled task.
- Add language string for cache definition of jwks.
- Fix occasional unit test failure in boundary conditions.
- Update Moodle Teams app schema version.
- Update README, SECURITY and CODE_OF_CONDUCT files.
4.5.7 (2024100735)
4.5.7
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024100735
Version release name: 4.5.7
Maturity: Stable
Supported Moodle versions: 4.5
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.5.7
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.5.7 release of the Microsoft 365 Moodle plugin suite for Moodle 4.5, version v20260521_m405
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20260521_m405
Major feature in this release:
- Add ability to set custom Teams template.
- Site admins can choose to use one of the pre-defined templates, or enter a custom template ID.
- The pre-defined teams templates available depend on whether the Microsoft 365 tenant has education license.
- Using custom template ID requires a new Microsoft Graph application permission "TeamTemplates.Read.All" to be granted for the Azure app used for the integration.
Changes in this release:
- Make local_o365 plugin settings searchable.
- Use \core\context* classes to replace context_* classes, as per changes in core Moodle.
- Use \core\url class to replace moodle_url class.
- Fix error in function to get cohort members.
- Update user mapping record in local_o365_objects table on UPN update when "update Moodle username" setting is disabled.
- Remove group and cohort limit of 20 items on the manage cohort sync page.
- Remove referencing to local_o365 language strings from auth_oidc when local_o365 is not installed.
- Use DataTables library on course sync customisation page.
- Ensure not_found_since field exists before creating index.
- Add more details to photo sync task output, remove limit on photo sync.
- Fix bug in the logic to delete suspended accounts in user enabled status sync scheduled task.
- Add language string for cache definition of jwks.
- Fix occasional unit test failure in boundary conditions.
- Update Moodle Teams app schema version.
- Update README, SECURITY and CODE_OF_CONDUCT files.
5.1.1 (2025100601)
5.1.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025100601
Version release name: 5.1.1
Maturity: Stable
Supported Moodle versions: 5.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.1.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 5.1.1 release of the Microsoft 365 Moodle plugin suite for Moodle 5.1, version v20260423_m501
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20260423_m501
Security issue fixes:
Prevent OAuth token from being sent to unvalidated URL in local_o365 plugin:
The change addresses a vulnerability where OAuth Bearer tokens could be inadvertently sent to unvalidated, user-supplied URLs when downloading files. The fix works by deprecating the existing get_file_by_url() method (which passed the OAuth token) and introducing a new get_file_by_url_unauthenticated() method that first validates the URL against a whitelist of trusted Microsoft domains (graph.microsoft.com, *.sharepoint.com, etc.) before downloading using a plain cURL request without any auth token. In the repository plugin, the download flow for "trending around" files is also updated to first fetch the file's metadata from the Microsoft Graph API using a trusted file ID, then use the pre-authenticated @microsoft.graph.downloadUrl from the response — ensuring OAuth tokens are never exposed to unvalidated URLs.
Major changes in this release:
User sync task performance optimisation, funded by UCL | University College London (https://www.ucl.ac.uk/).
- Performance Improvements
- Rewrote the main user sync to process users in batches as they arrive, reducing memory usage.
- Replaced per-user DB queries with bulk queries throughout the sync process.
- Stripped unused fields from Microsoft Graph API list-users responses.
- Moved timezone and photo sync to bulk operations instead of per-user processing.
- Further refinements to the photo and timezone sync task after extraction.
- Suspend/Delete User Handling
- Replaced user_update_user() with set_field() for suspended users, reducing number of DB queries when suspending user.
- Used a temporary DB table to compare large sets of Moodle and Entra users, avoiding in-memory comparisons that could take hours on large tenants.
- Task Decomposition
- Extracted photo and timezone sync into its own dedicated scheduled task (photoandtimezonesync).
- Extracted user enabled/status sync into its own dedicated scheduled task (userenabledstatussync).
- The main usersync task is now leaner, with responsibilities split across three tasks.
- Bug Fixes & Security
- Fixed a DB injection vulnerability in user sync logic.
- Removed redundant logic and added manual event triggering.
- Fixed an edge case where timezone sync on login would fail for users with no Outlook timezone setting.
- Additional bug fixes to usersync/main.php and unified.php with a supporting DB schema upgrade in auth/oidc.
- Performance Improvements
Enhance SDS sync features.
- Course Creation & Categorisation
- Added support for course start/end dates sourced from SDS term data, with automatic updates when dates change in SDS.
- Added subject-based course categorisation — courses can optionally be placed in subject subcategories (extracted from externalName or classCode fields) under the school category, rather than directly under the school.
- Added filtering for expired courses, skippable by either a configurable prefix (e.g. Exp) or past end date.
- Settings Redesign
- Redesigned and rationalised the SDS sync settings page — removed confusing or redundant options, renamed and consolidated language strings for clarity.
- New Sync Options (Admin-Configurable)
- Two-way course sync toggle (sdsenablecoursesync): Administrators can now opt in to associating SDS classes with M365 groups for two-way Teams/course sync; previously this was always enabled.
- Suspend/resume enrolments (sdssuspendenrolments): Added option to suspend rather than remove enrolments when a user is removed from an SDS class.
- Cohort management (sdscreatecohorts): Added ability to create and sync Moodle cohorts from SDS classes, enabling site-wide grouping independent of course enrolment; teacher inclusion is separately configurable via sdscohortincludeteachers.
- Bug Fixes & Performance
- Fixed DB query issues and performance problems in the main SDS sync loop.
- Fixed subcategory creation when the subject-based categorisation feature is active.
- Fixed handling of re-enabling sync on a school that had previously been synced then disabled.
- Refined course name prefix check logic.
- Course Creation & Categorisation
Course sync and cohort sync task optimisation.
- Database Schema Consolidation
- Dropped the separate local_o365_teams_cache table and merged its data into local_o365_groups_cache.
- Extended local_o365_groups_cache with new fields: has_team, url, locked, team_details_last_attempted, lock_status_last_checked, plus supporting indexes.
- DB upgrade script migrates existing data from the old table into the unified one.
- Unified Cache Update Logic
- Rewrote utils::update_groups_cache() to handle both M365 groups and Teams in a single API pass, replacing two separate cache-update calls in the course sync task.
- Added 5-minute rate limiting to prevent excessive API calls; the cohort sync task now correctly proceeds (rather than aborting) when a rate-limit skip occurs.
- Team details (URL) are fetched lazily — only once — while lock status is re-checked every 7 days, reducing unnecessary API calls.
- Upsert & Demotion Behaviour
- When a group is promoted to a team, the existing group row is updated in place (has_team=1) rather than inserting a new row, preventing duplicates.
- When a team is no longer a team, the row is demoted (has_team=0, team fields cleared) rather than deleted, preserving the underlying group data.
- Deprecation & Cleanup
- update_teams_cache() in coursesync/main.php is deprecated (documented, no longer called by production code); all internal references updated to query local_o365_groups_cache with has_team=1.
- Admin UI and all other table references updated to use the unified cache table.
- Database Schema Consolidation
Other changes in this release:
- Improve processing of suspend/delete users feature.
- Sync transitive members instead of only direct members in cohort sync.
- Review riskbitmask for capabilities in local_o365 plugin.
- Create unit tests for a few files in local_o365 plugin.
- Allow syncing hidden courses and improve sync UI.
- Improvements in logic to delete invalid log entries.
- Cast cohortid to int to prevent TypeError.
- Bug fix in group creation API call where wrong group name is set.
- Teams SSO improvements.
- Prevent closure serialisation error in debug backtrace.
- Prevent unnecessary precision change in upgrade script.
- Move observer triggered team owner/member sync for individual users to ad-hoc tasks.
- Rename teams app to avoid validation error.
- Add cross platform support to PowerShell script to create Azure app.
- Upgrade Teams SDK to v2.47.2 and migrate from ADAL to MSAL v3.30.0.
- Update PowerShell script to set correct Application ID URI in the Azure app.
- Fix error in default $caller value in cohortsync get_unified_api() function.
- Fix typo.
5.0.5 (2025040825)
5.0.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025040825
Version release name: 5.0.5
Maturity: Stable
Supported Moodle versions: 5.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.0.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 5.0.5 release of the Microsoft 365 Moodle plugin suite for Moodle 5.0, version v20260423_m500
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20260423_m500
Security issue fixes:
Prevent OAuth token from being sent to unvalidated URL in local_o365 plugin:
The change addresses a vulnerability where OAuth Bearer tokens could be inadvertently sent to unvalidated, user-supplied URLs when downloading files. The fix works by deprecating the existing get_file_by_url() method (which passed the OAuth token) and introducing a new get_file_by_url_unauthenticated() method that first validates the URL against a whitelist of trusted Microsoft domains (graph.microsoft.com, *.sharepoint.com, etc.) before downloading using a plain cURL request without any auth token. In the repository plugin, the download flow for "trending around" files is also updated to first fetch the file's metadata from the Microsoft Graph API using a trusted file ID, then use the pre-authenticated @microsoft.graph.downloadUrl from the response — ensuring OAuth tokens are never exposed to unvalidated URLs.
Major changes in this release:
User sync task performance optimisation, funded by UCL | University College London (https://www.ucl.ac.uk/).
- Performance Improvements
- Rewrote the main user sync to process users in batches as they arrive, reducing memory usage.
- Replaced per-user DB queries with bulk queries throughout the sync process.
- Stripped unused fields from Microsoft Graph API list-users responses.
- Moved timezone and photo sync to bulk operations instead of per-user processing.
- Further refinements to the photo and timezone sync task after extraction.
- Suspend/Delete User Handling
- Replaced user_update_user() with set_field() for suspended users, reducing number of DB queries when suspending user.
- Used a temporary DB table to compare large sets of Moodle and Entra users, avoiding in-memory comparisons that could take hours on large tenants.
- Task Decomposition
- Extracted photo and timezone sync into its own dedicated scheduled task (photoandtimezonesync).
- Extracted user enabled/status sync into its own dedicated scheduled task (userenabledstatussync).
- The main usersync task is now leaner, with responsibilities split across three tasks.
- Bug Fixes & Security
- Fixed a DB injection vulnerability in user sync logic.
- Removed redundant logic and added manual event triggering.
- Fixed an edge case where timezone sync on login would fail for users with no Outlook timezone setting.
- Additional bug fixes to usersync/main.php and unified.php with a supporting DB schema upgrade in auth/oidc.
- Performance Improvements
Enhance SDS sync features.
- Course Creation & Categorisation
- Added support for course start/end dates sourced from SDS term data, with automatic updates when dates change in SDS.
- Added subject-based course categorisation — courses can optionally be placed in subject subcategories (extracted from externalName or classCode fields) under the school category, rather than directly under the school.
- Added filtering for expired courses, skippable by either a configurable prefix (e.g. Exp) or past end date.
- Settings Redesign
- Redesigned and rationalised the SDS sync settings page — removed confusing or redundant options, renamed and consolidated language strings for clarity.
- New Sync Options (Admin-Configurable)
- Two-way course sync toggle (sdsenablecoursesync): Administrators can now opt in to associating SDS classes with M365 groups for two-way Teams/course sync; previously this was always enabled.
- Suspend/resume enrolments (sdssuspendenrolments): Added option to suspend rather than remove enrolments when a user is removed from an SDS class.
- Cohort management (sdscreatecohorts): Added ability to create and sync Moodle cohorts from SDS classes, enabling site-wide grouping independent of course enrolment; teacher inclusion is separately configurable via sdscohortincludeteachers.
- Bug Fixes & Performance
- Fixed DB query issues and performance problems in the main SDS sync loop.
- Fixed subcategory creation when the subject-based categorisation feature is active.
- Fixed handling of re-enabling sync on a school that had previously been synced then disabled.
- Refined course name prefix check logic.
- Course Creation & Categorisation
Course sync and cohort sync task optimisation.
- Database Schema Consolidation
- Dropped the separate local_o365_teams_cache table and merged its data into local_o365_groups_cache.
- Extended local_o365_groups_cache with new fields: has_team, url, locked, team_details_last_attempted, lock_status_last_checked, plus supporting indexes.
- DB upgrade script migrates existing data from the old table into the unified one.
- Unified Cache Update Logic
- Rewrote utils::update_groups_cache() to handle both M365 groups and Teams in a single API pass, replacing two separate cache-update calls in the course sync task.
- Added 5-minute rate limiting to prevent excessive API calls; the cohort sync task now correctly proceeds (rather than aborting) when a rate-limit skip occurs.
- Team details (URL) are fetched lazily — only once — while lock status is re-checked every 7 days, reducing unnecessary API calls.
- Upsert & Demotion Behaviour
- When a group is promoted to a team, the existing group row is updated in place (has_team=1) rather than inserting a new row, preventing duplicates.
- When a team is no longer a team, the row is demoted (has_team=0, team fields cleared) rather than deleted, preserving the underlying group data.
- Deprecation & Cleanup
- update_teams_cache() in coursesync/main.php is deprecated (documented, no longer called by production code); all internal references updated to query local_o365_groups_cache with has_team=1.
- Admin UI and all other table references updated to use the unified cache table.
- Database Schema Consolidation
Other changes in this release:
- Improve processing of suspend/delete users feature.
- Sync transitive members instead of only direct members in cohort sync.
- Review riskbitmask for capabilities in local_o365 plugin.
- Create unit tests for a few files in local_o365 plugin.
- Update signature of local_o365/httpclient::put() to match with curl::put() following changes in MDL-86802.
- Allow syncing hidden courses and improve sync UI.
- Improvements in logic to delete invalid log entries.
- Cast cohortid to int to prevent TypeError.
- Bug fix in group creation API call where wrong group name is set.
- Teams SSO improvements.
- Prevent closure serialisation error in debug backtrace.
- Prevent unnecessary precision change in upgrade script.
- Move observer triggered team owner/member sync for individual users to ad-hoc tasks.
- Rename teams app to avoid validation error.
- Add cross platform support to PowerShell script to create Azure app.
- Upgrade Teams SDK to v2.47.2 and migrate from ADAL to MSAL v3.30.0.
- Update PowerShell script to set correct Application ID URI in the Azure app.
- Fix error in default $caller value in cohortsync get_unified_api() function.
- Fix Moodle 5.1+ compatibility for course request form.
- Fix typo.
4.5.6 (2024100730)
4.5.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024100730
Version release name: 4.5.6
Maturity: Stable
Supported Moodle versions: 4.5
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.5.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.5.6 release of the Microsoft 365 Moodle plugin suite for Moodle 4.5, version v20260423_m405
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20260423_m405
Security issue fixes:
Prevent OAuth token from being sent to unvalidated URL in local_o365 plugin:
The change addresses a vulnerability where OAuth Bearer tokens could be inadvertently sent to unvalidated, user-supplied URLs when downloading files. The fix works by deprecating the existing get_file_by_url() method (which passed the OAuth token) and introducing a new get_file_by_url_unauthenticated() method that first validates the URL against a whitelist of trusted Microsoft domains (graph.microsoft.com, *.sharepoint.com, etc.) before downloading using a plain cURL request without any auth token. In the repository plugin, the download flow for "trending around" files is also updated to first fetch the file's metadata from the Microsoft Graph API using a trusted file ID, then use the pre-authenticated @microsoft.graph.downloadUrl from the response — ensuring OAuth tokens are never exposed to unvalidated URLs.
Major changes in this release:
User sync task performance optimisation, funded by UCL | University College London (https://www.ucl.ac.uk/).
- Performance Improvements
- Rewrote the main user sync to process users in batches as they arrive, reducing memory usage.
- Replaced per-user DB queries with bulk queries throughout the sync process.
- Stripped unused fields from Microsoft Graph API list-users responses.
- Moved timezone and photo sync to bulk operations instead of per-user processing.
- Further refinements to the photo and timezone sync task after extraction.
- Suspend/Delete User Handling
- Replaced user_update_user() with set_field() for suspended users, reducing number of DB queries when suspending user.
- Used a temporary DB table to compare large sets of Moodle and Entra users, avoiding in-memory comparisons that could take hours on large tenants.
- Task Decomposition
- Extracted photo and timezone sync into its own dedicated scheduled task (photoandtimezonesync).
- Extracted user enabled/status sync into its own dedicated scheduled task (userenabledstatussync).
- The main usersync task is now leaner, with responsibilities split across three tasks.
- Bug Fixes & Security
- Fixed a DB injection vulnerability in user sync logic.
- Removed redundant logic and added manual event triggering.
- Fixed an edge case where timezone sync on login would fail for users with no Outlook timezone setting.
- Additional bug fixes to usersync/main.php and unified.php with a supporting DB schema upgrade in auth/oidc.
- Performance Improvements
Enhance SDS sync features.
- Course Creation & Categorisation
- Added support for course start/end dates sourced from SDS term data, with automatic updates when dates change in SDS.
- Added subject-based course categorisation — courses can optionally be placed in subject subcategories (extracted from externalName or classCode fields) under the school category, rather than directly under the school.
- Added filtering for expired courses, skippable by either a configurable prefix (e.g. Exp) or past end date.
- Settings Redesign
- Redesigned and rationalised the SDS sync settings page — removed confusing or redundant options, renamed and consolidated language strings for clarity.
- New Sync Options (Admin-Configurable)
- Two-way course sync toggle (sdsenablecoursesync): Administrators can now opt in to associating SDS classes with M365 groups for two-way Teams/course sync; previously this was always enabled.
- Suspend/resume enrolments (sdssuspendenrolments): Added option to suspend rather than remove enrolments when a user is removed from an SDS class.
- Cohort management (sdscreatecohorts): Added ability to create and sync Moodle cohorts from SDS classes, enabling site-wide grouping independent of course enrolment; teacher inclusion is separately configurable via sdscohortincludeteachers.
- Bug Fixes & Performance
- Fixed DB query issues and performance problems in the main SDS sync loop.
- Fixed subcategory creation when the subject-based categorisation feature is active.
- Fixed handling of re-enabling sync on a school that had previously been synced then disabled.
- Refined course name prefix check logic.
- Course Creation & Categorisation
Course sync and cohort sync task optimisation.
- Database Schema Consolidation
- Dropped the separate local_o365_teams_cache table and merged its data into local_o365_groups_cache.
- Extended local_o365_groups_cache with new fields: has_team, url, locked, team_details_last_attempted, lock_status_last_checked, plus supporting indexes.
- DB upgrade script migrates existing data from the old table into the unified one.
- Unified Cache Update Logic
- Rewrote utils::update_groups_cache() to handle both M365 groups and Teams in a single API pass, replacing two separate cache-update calls in the course sync task.
- Added 5-minute rate limiting to prevent excessive API calls; the cohort sync task now correctly proceeds (rather than aborting) when a rate-limit skip occurs.
- Team details (URL) are fetched lazily — only once — while lock status is re-checked every 7 days, reducing unnecessary API calls.
- Upsert & Demotion Behaviour
- When a group is promoted to a team, the existing group row is updated in place (has_team=1) rather than inserting a new row, preventing duplicates.
- When a team is no longer a team, the row is demoted (has_team=0, team fields cleared) rather than deleted, preserving the underlying group data.
- Deprecation & Cleanup
- update_teams_cache() in coursesync/main.php is deprecated (documented, no longer called by production code); all internal references updated to query local_o365_groups_cache with has_team=1.
- Admin UI and all other table references updated to use the unified cache table.
- Database Schema Consolidation
Other changes in this release:
- Improve processing of suspend/delete users feature.
- Sync transitive members instead of only direct members in cohort sync.
- Review riskbitmask for capabilities in local_o365 plugin.
- Create unit tests for a few files in local_o365 plugin.
- Update signature of local_o365/httpclient::put() to match with curl::put() following changes in MDL-86802.
- Allow syncing hidden courses and improve sync UI.
- Improvements in logic to delete invalid log entries.
- Cast cohortid to int to prevent TypeError.
- Bug fix in group creation API call where wrong group name is set.
- Teams SSO improvements.
- Prevent closure serialisation error in debug backtrace.
- Prevent unnecessary precision change in upgrade script.
- Move observer triggered team owner/member sync for individual users to ad-hoc tasks.
- Rename teams app to avoid validation error.
- Add cross platform support to PowerShell script to create Azure app.
- Upgrade Teams SDK to v2.47.2 and migrate from ADAL to MSAL v3.30.0.
- Update PowerShell script to set correct Application ID URI in the Azure app.
- Fix error in default $caller value in cohortsync get_unified_api() function.
- Fix Moodle 5.1+ compatibility for course request form.
- Fix typo.
5.1.0 (2025100600)
5.1.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025100600
Version release name: 5.1.0
Maturity: Stable
Supported Moodle versions: 5.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.1.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 5.1.0 release of the Microsoft 365 Moodle plugin suite for Moodle 5.1, version v20260210_m501#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20260210_m501
This is the initial release of the local_o365 plugin for Moodle 5.1.
The release is based on 5.0.4 release.
Changes included in this release:
- Update signature of local_o365/httpclient::put() to match with curl::put() following changes in MDL-86802.
- Fix Moodle 5.1+ compatibility for course request form.
5.0.4 (2025040820)
5.0.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025040820
Version release name: 5.0.4
Maturity: Stable
Supported Moodle versions: 5.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.0.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 5.0.4 release of the Microsoft 365 Moodle plugin suite for Moodle 5.0, version v20251223_m500#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251223_m500
Changes included in this release:
- Fix Moodle CI integration reported errors.
- Improve the logic for checking whether the Outlook calendar exists.
4.5.5 (2024100725)
4.5.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024100725
Version release name: 4.5.5
Maturity: Stable
Supported Moodle versions: 4.5
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.5.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.5.5 release of the Microsoft 365 Moodle plugin suite for Moodle 4.5, version v20251223_m405#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251223_m405
Changes included in this release:
- Fix Moodle CI integration reported errors.
- Improve the logic for checking whether the Outlook calendar exists.
4.4.6 (2024042230)
4.4.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024042230
Version release name: 4.4.6
Maturity: Stable
Supported Moodle versions: 4.4
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.4.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.4.6 release of the Microsoft 365 Moodle plugin suite for Moodle 4.4, version v20251223_m404#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251223_m404
Changes included in this release:
- Improve the logic for checking whether the Outlook calendar exists.
4.1.14 (2022112865)
4.1.14
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112865
Version release name: 4.1.14
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.14
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.14 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20251223_m401#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251223_m401
Changes included in this release:
- Improve the logic for checking whether the Outlook calendar exists.
5.0.3 (2025040815)
5.0.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025040815
Version release name: 5.0.3
Maturity: Stable
Supported Moodle versions: 5.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.0.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 5.0.3 release of the Microsoft 365 Moodle plugin suite for Moodle 5.0, version v20251211_m500#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251211_m500
Changes included in this release:
- Move the logic to clean up invalid config log entries from upgrade script to tasks.
4.5.4 (2024100720)
4.5.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024100720
Version release name: 4.5.4
Maturity: Stable
Supported Moodle versions: 4.5
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.5.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.5.4 release of the Microsoft 365 Moodle plugin suite for Moodle 4.5, version v20251211_m405#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251211_m405
Changes included in this release:
- Move the logic to clean up invalid config log entries from upgrade script to tasks.
4.4.5 (2024042225)
4.4.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024042225
Version release name: 4.4.5
Maturity: Stable
Supported Moodle versions: 4.4
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.4.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.4.5 release of the Microsoft 365 Moodle plugin suite for Moodle 4.4, version v20251211_m404#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251211_m404
Changes included in this release:
- Move the logic to clean up invalid config log entries from upgrade script to tasks.
4.1.13 (2022112860)
4.1.13
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112860
Version release name: 4.1.13
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.13
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.13 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20251211_m401#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251211_m401
Changes included in this release:
- Move the logic to clean up invalid config log entries from upgrade script to tasks.
5.0.2 (2025040810)
5.0.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025040810
Version release name: 5.0.2
Maturity: Stable
Supported Moodle versions: 5.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.0.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 5.0.2 release of the Microsoft 365 Moodle plugin suite for Moodle 5.0, version v20251209_m500#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251209_m500
Changes included in this release:
- Avoid creating unnecessary config log entries, and delete entries that were created incorrectly.
- Optimise memory use in long array processing.
- Fix a big where teams name longer than 254 characters causes DB error when creating courses during SDS sync.
- Fix DeviceCode authentication error when using the PowerShell script to create Azure app.
- Remove Microsoft 365-imported Moodle events if not subscribed inbound.
- Fix: group event is not being created.
- Error when clicking Outlook Calendar Sync Settings link.
- The value of oidcusername in auth_oidc_token does not change when using the feature support UPN change.
- Exception - Object of class __PHP_Incomplete_Class could not be converted to string.
- Add "Link to the file" and "Create an access controlled link to the file" options when adding files using repository_office365 plugin.
- Improve error handling in cohort sync and course sync scheduled tasks.
- Add a note next to the option for deleting an account from Moodle when it has been deleted from Microsoft to avoid confusion.
4.5.3 (2024100715)
4.5.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024100715
Version release name: 4.5.3
Maturity: Stable
Supported Moodle versions: 4.5
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.5.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.5.3 release of the Microsoft 365 Moodle plugin suite for Moodle 4.5, version v20251209_m405#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251209_m405
Changes included in this release:
- Check for M365 group owner existence before trying to create team from group.
- Update documentation about update group cache function.
- Optimise user sync task - only run task if needed; add more task output to photo and timezone sync.
- Remove use for dynamic variables for PHP 8.2 compatibility.
- Avoid creating unnecessary config log entries, and delete entries that were created incorrectly.
- Fix error in PowerShell script to create Azure app if Moodle domain isn't from a tenant verified URI.
- Add lazy AJAX autocomplete for groups and cohorts in cohortsync form.
- Restructure user sync options.
- Optimise memory use in long array processing.
- Fix a big where teams name longer than 254 characters causes DB error when creating courses during SDS sync.
- Fix DeviceCode authentication error when using the PowerShell script to create Azure app.
- Remove Microsoft 365-imported Moodle events if not subscribed inbound.
- Fix: group event is not being created.
- Error when clicking Outlook Calendar Sync Settings link.
- The value of oidcusername in auth_oidc_token does not change when using the feature support UPN change.
- Exception - Object of class __PHP_Incomplete_Class could not be converted to string.
- Add "Link to the file" and "Create an access controlled link to the file" options when adding files using repository_office365 plugin.
- Improve error handling in cohort sync and course sync scheduled tasks.
- Add a note next to the option for deleting an account from Moodle when it has been deleted from Microsoft to avoid confusion.
4.4.4 (2024042220)
4.4.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024042220
Version release name: 4.4.4
Maturity: Stable
Supported Moodle versions: 4.4
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.4.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.4.4 release of the Microsoft 365 Moodle plugin suite for Moodle 4.4, version v20251209_m404#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251209_m404
Changes included in this release:
- Check for M365 group owner existence before trying to create team from group.
- Update documentation about update group cache function.
- Optimise user sync task - only run task if needed; add more task output to photo and timezone sync.
- Remove use for dynamic variables for PHP 8.2 compatibility.
- Avoid creating unnecessary config log entries, and delete entries that were created incorrectly.
- Fix error in PowerShell script to create Azure app if Moodle domain isn't from a tenant verified URI.
- Add lazy AJAX autocomplete for groups and cohorts in cohortsync form.
- Restructure user sync options.
- Optimise memory use in long array processing.
- Fix a big where teams name longer than 254 characters causes DB error when creating courses during SDS sync.
- Fix DeviceCode authentication error when using the PowerShell script to create Azure app.
- Remove Microsoft 365-imported Moodle events if not subscribed inbound.
- Fix: group event is not being created.
- Error when clicking Outlook Calendar Sync Settings link.
- The value of oidcusername in auth_oidc_token does not change when using the feature support UPN change.
- Exception - Object of class __PHP_Incomplete_Class could not be converted to string.
- Add "Link to the file" and "Create an access controlled link to the file" options when adding files using repository_office365 plugin.
- Improve error handling in cohort sync and course sync scheduled tasks.
- Add a note next to the option for deleting an account from Moodle when it has been deleted from Microsoft to avoid confusion.
4.1.12 (2022112855)
4.1.12
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112855
Version release name: 4.1.12
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.12
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.12 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20251209_m401#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251209_m401
Changes included in this release:
- Check for M365 group owner existence before trying to create team from group.
- Update documentation about update group cache function.
- Optimise user sync task - only run task if needed; add more task output to photo and timezone sync.
- Remove use for dynamic variables for PHP 8.2 compatibility.
- Avoid creating unnecessary config log entries, and delete entries that were created incorrectly.
- Fix error in PowerShell script to create Azure app if Moodle domain isn't from a tenant verified URI.
- Add lazy AJAX autocomplete for groups and cohorts in cohortsync form.
- Restructure user sync options.
- Optimise memory use in long array processing.
- Fix a big where teams name longer than 254 characters causes DB error when creating courses during SDS sync.
- Fix DeviceCode authentication error when using the PowerShell script to create Azure app.
- Remove Microsoft 365-imported Moodle events if not subscribed inbound.
- Fix: group event is not being created.
- Error when clicking Outlook Calendar Sync Settings link.
- The value of oidcusername in auth_oidc_token does not change when using the feature support UPN change.
- Exception - Object of class __PHP_Incomplete_Class could not be converted to string.
- Add "Link to the file" and "Create an access controlled link to the file" options when adding files using repository_office365 plugin.
- Improve error handling in cohort sync and course sync scheduled tasks.
- Add a note next to the option for deleting an account from Moodle when it has been deleted from Microsoft to avoid confusion.
- o365 plugin throw issue in Webservice Test Client.
5.0.1 (2025040805)
5.0.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025040805
Version release name: 5.0.1
Maturity: Stable
Supported Moodle versions: 5.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.0.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 5.0.1 release of the Microsoft 365 Moodle plugin suite for Moodle 5.0, version v20251001_m500#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20251001_m500
Changes included in this release:
- Fix delete query to avoid PostgreSQL parameter limit.
5.0.0 (2025040800)
5.0.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2025040800
Version release name: 5.0.0
Maturity: Stable
Supported Moodle versions: 5.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v5.0.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 5.0.0 release of the Microsoft 365 Moodle plugin suite for Moodle 5.0, version v20250929_m500#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250929_m500
This is the initial release of the local_o365 plugin for Moodle 5.0.
The release is based on 4.5.2 release.
Changes included in this release:
- Fix error in PowerShell script to create Azure app if Moodle domain isn't from a tenant verified URI.
- Optimise user sync task - only run task if needed; add more task output to photo and timezone sync.
- Remove use for dynamic variables for PHP 8.2 compatibility.
- Add lazy AJAX autocomplete for groups and cohorts in cohortsync form.
- Restructure user sync options.
- Update documentation about update group cache function.
- Check for M365 group owner existence before trying to create a team from the group.
- Avoid creating unnecessary config log entries, and delete entries that were created incorrectly.
4.5.2 (2024100710)
4.5.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024100710
Version release name: 4.5.2
Maturity: Stable
Supported Moodle versions: 4.5
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.5.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.5.2 release of the Microsoft 365 Moodle plugin suite for Moodle 4.5, version v20250303_m405#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250303_m405
Changes included in this release:
- Fix an issue that causes excessive memory usage in auth_oidc upgrade script.
4.4.3 (2024042215)
4.4.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024042215
Version release name: 4.4.3
Maturity: Stable
Supported Moodle versions: 4.4
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.4.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.4.3 release of the Microsoft 365 Moodle plugin suite for Moodle 4.4, version v20250303_m404#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250303_m404
Changes included in this release:
- Fix an issue that causes excessive memory usage in auth_oidc upgrade script.
4.3.8 (2023100935)
4.3.8
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100935
Version release name: 4.3.8
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.8
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.3.8 release of the Microsoft 365 Moodle plugin suite for Moodle 4.3, version v20250303_m403#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250303_m403
Changes included in this release:
- Fix an issue that causes excessive memory usage in auth_oidc upgrade script.
4.1.11 (2022112850)
4.1.11
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112850
Version release name: 4.1.11
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.11
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.11 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20250303_m401#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250303_m401
Changes included in this release:
- Fix an issue that causes excessive memory usage in auth_oidc upgrade script.
4.5.1 (2024100705)
4.5.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024100705
Version release name: 4.5.1
Maturity: Stable
Supported Moodle versions: 4.5
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.5.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.5.1 release of the Microsoft 365 Moodle plugin suite for Moodle 4.5, version v20250226_m405#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250226_m405
Changes included in this release:
- Fix Moodle plugin CI warnings and errors.
- Add GitHub and GitLab Moodle plugin CI integration to individual plugin repos.
- Update individual plugin repo pull request template.
- Add missing German language strings to user sync configurations in local_o365.
- Handle case-insensitive Authorization header in Teams SSO.
- Bug fix in storing application token expiry when using Microsoft identity platform (v2.0) IdP.
- Update PowerShell script to be compatible with PowerShell 7.x.
- Fix a bug where function get_in_or_equal does not accept empty arrays in local_o365 mode_maintenance_resyncgroupusers function.
- Bug fix in function to clean up teams connections on invalid or deleted teams.
- Bug fix in handling country profile field mapping.
- Optimize course description truncation to respect 1024-byte limit.
- Fix missing spaces between elements in Calendar Sync settings.
- Allow cohort sync scheduled task to fail silently when auth_oidc is not configured.
- Show more specific error message for providing admin consent error when using Microsoft identity platform (v2.0) IdP.
4.4.2 (2024042210)
4.4.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024042210
Version release name: 4.4.2
Maturity: Stable
Supported Moodle versions: 4.4
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.4.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.4.2 release of the Microsoft 365 Moodle plugin suite for Moodle 4.4, version v20250226_m404#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250226_m404
Changes included in this release:
- Fix Moodle plugin CI warnings and errors.
- Add GitHub and GitLab Moodle plugin CI integration to individual plugin repos.
- Update individual plugin repo pull request template.
- Add missing German language strings to user sync configurations in local_o365.
- Handle case-insensitive Authorization header in Teams SSO.
- Bug fix in storing application token expiry when using Microsoft identity platform (v2.0) IdP.
- Update PowerShell script to be compatible with PowerShell 7.x.
- Fix a bug where function get_in_or_equal does not accept empty arrays in local_o365 mode_maintenance_resyncgroupusers function.
- Bug fix in function to clean up teams connections on invalid or deleted teams.
- Bug fix in handling country profile field mapping.
- Optimize course description truncation to respect 1024-byte limit.
- Fix missing spaces between elements in Calendar Sync settings.
- Allow cohort sync scheduled task to fail silently when auth_oidc is not configured.
- Show more specific error message for providing admin consent error when using Microsoft identity platform (v2.0) IdP.
4.3.7 (2023100930)
4.3.7
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100930
Version release name: 4.3.7
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.7
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.3.7 release of the Microsoft 365 Moodle plugin suite for Moodle 4.3, version v20250226_m403#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250226_m403
Changes included in this release:
- Fix Moodle plugin CI warnings and errors.
- Add GitHub and GitLab Moodle plugin CI integration to individual plugin repos.
- Update individual plugin repo pull request template.
- Add missing German language strings to user sync configurations in local_o365.
- Handle case-insensitive Authorization header in Teams SSO.
- Bug fix in storing application token expiry when using Microsoft identity platform (v2.0) IdP.
- Update PowerShell script to be compatible with PowerShell 7.x.
- Fix a bug where function get_in_or_equal does not accept empty arrays in local_o365 mode_maintenance_resyncgroupusers function.
- Bug fix in function to clean up teams connections on invalid or deleted teams.
- Bug fix in handling country profile field mapping.
- Optimize course description truncation to respect 1024-byte limit.
- Fix missing spaces between elements in Calendar Sync settings.
- Allow cohort sync scheduled task to fail silently when auth_oidc is not configured.
- Show more specific error message for providing admin consent error when using Microsoft identity platform (v2.0) IdP.
4.1.10 (2022112845)
4.1.10
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112845
Version release name: 4.1.10
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.10
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.10 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20250226_m401#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20250226_m401
Changes included in this release:
- Fix Moodle plugin CI warnings and errors.
- Add GitHub and GitLab Moodle plugin CI integration to individual plugin repos.
- Update individual plugin repo pull request template.
- Add missing German language strings to user sync configurations in local_o365.
- Handle case-insensitive Authorization header in Teams SSO.
- Bug fix in storing application token expiry when using Microsoft identity platform (v2.0) IdP.
- Update PowerShell script to be compatible with PowerShell 7.x.
- Fix a bug where function get_in_or_equal does not accept empty arrays in local_o365 mode_maintenance_resyncgroupusers function.
- Bug fix in function to clean up teams connections on invalid or deleted teams.
- Bug fix in handling country profile field mapping.
- Optimize course description truncation to respect 1024-byte limit.
- Fix missing spaces between elements in Calendar Sync settings.
- Allow cohort sync scheduled task to fail silently when auth_oidc is not configured.
- Show more specific error message for providing admin consent error when using Microsoft identity platform (v2.0) IdP.
4.5.0 (2024100700)
4.5.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024100700
Version release name: 4.5.0
Maturity: Stable
Supported Moodle versions: 4.5
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.5.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.5.0 release of the Microsoft 365 Moodle plugin suite for Moodle 4.5, version v20241125_m405#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20241125_m405
This is the initial release of the local_o365 plugin for Moodle 4.5.
The release is based on 4.4.1 release.
4.4.1 (2024042205)
4.4.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024042205
Version release name: 4.4.1
Maturity: Stable
Supported Moodle versions: 4.4
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.4.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.4.1 release of the Microsoft 365 Moodle plugin suite for Moodle 4.4, version v20241017_m404#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20241017_m404
The main feature included this release is supporting binding username token claim
- This feature allows Moodle site administrators to select the ID/access token claim to be used as Moodle username.
- This feature supports both Microsoft Entra ID and other OpenID Connect IdPs.
- Tools are provided to migrate existing Moodle accounts to use a different binding username token claim.
- The feature is sponsored by University College London (UCL) (https://ucl.ac.uk/).
Other changes included in this release:
- Improve how course sync scheduled task handles missing resources.
- Bug fix in group ownership check when user role change from teacher to student.
- Bug fix in getting list of courses with sync enabled.
- Update group and team cache tables name column precision.
- Fix link to outdated documentation.
- Set home page URL of Azure app to be Moodle URL when creating Azure app using the Windows PowerShell script.
- Read custom course sync status from DB to avoid caching issue when updating customised course sync settings.
- Create config changes log entries when updating configurations.
- Remove deprecated API functions from event classes.
4.3.6 (2023100925)
4.3.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100925
Version release name: 4.3.6
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.3.6 release of the Microsoft 365 Moodle plugin suite for Moodle 4.3, version v20241017_m403#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20241017_m403
The main feature included this release is supporting binding username token claim
- This feature allows Moodle site administrators to select the ID/access token claim to be used as Moodle username.
- This feature supports both Microsoft Entra ID and other OpenID Connect IdPs.
- Tools are provided to migrate existing Moodle accounts to use a different binding username token claim.
- The feature is sponsored by University College London (UCL) (https://ucl.ac.uk/).
Other changes included in this release:
- Improve how course sync scheduled task handles missing resources.
- Bug fix in group ownership check when user role change from teacher to student.
- Bug fix in getting list of courses with sync enabled.
- Update group and team cache tables name column precision.
- Fix link to outdated documentation.
- Set home page URL of Azure app to be Moodle URL when creating Azure app using the Windows PowerShell script.
- Avoid setting UPN as Moodle user idnumber when creating new accounts in user sync task.
- Bug fix where clicking the "Check Moodle settings" button on Teams integration configuration page doesn't update Moodle settings.
- Bug fix in Teams app manifest file creation.
- Read custom course sync status from DB to avoid caching issue when updating customised course sync settings.
- Create config changes log entries when updating configurations.
- Remove deprecated API functions from event classes.
- Avoid using dynamic property since it's deprecated in PHP 8.2+.
4.2.8 (2023042435)
4.2.8
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023042435
Version release name: 4.2.8
Maturity: Stable
Supported Moodle versions: 4.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.2.8
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.2.8 release of the Microsoft 365 Moodle plugin suite for Moodle 4.2, version v20241017_m402#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20241017_m402
This is the final release for Moodle 4.2 since feature and security support for Moodle 4.2 in core Moodle has stopped.
The main feature included this release is supporting binding username token claim
- This feature allows Moodle site administrators to select the ID/access token claim to be used as Moodle username.
- This feature supports both Microsoft Entra ID and other OpenID Connect IdPs.
- Tools are provided to migrate existing Moodle accounts to use a different binding username token claim.
- The feature is sponsored by University College London (UCL) (https://ucl.ac.uk/).
Other changes included in this release:
- Improve how course sync scheduled task handles missing resources.
- Bug fix in group ownership check when user role change from teacher to student.
- Bug fix in getting list of courses with sync enabled.
- Update group and team cache tables name column precision.
- Fix link to outdated documentation.
- Set home page URL of Azure app to be Moodle URL when creating Azure app using the Windows PowerShell script.
- Avoid setting UPN as Moodle user idnumber when creating new accounts in user sync task.
- Bug fix where clicking the "Check Moodle settings" button on Teams integration configuration page doesn't update Moodle settings.
- Bug fix in Teams app manifest file creation.
- Read custom course sync status from DB to avoid caching issue when updating customised course sync settings.
- Create config changes log entries when updating configurations.
- Remove deprecated API functions from event classes.
- Avoid using dynamic property since it's deprecated in PHP 8.2+.
4.1.9 (2022112840)
4.1.9
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112840
Version release name: 4.1.9
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.9
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.9 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20241017_m401#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20241017_m401
The main feature included this release is supporting binding username token claim
- This feature allows Moodle site administrators to select the ID/access token claim to be used as Moodle username.
- This feature supports both Microsoft Entra ID and other OpenID Connect IdPs.
- Tools are provided to migrate existing Moodle accounts to use a different binding username token claim.
- The feature is sponsored by University College London (UCL) (https://ucl.ac.uk/).
Other changes included in this release:
- Improve how course sync scheduled task handles missing resources.
- Bug fix in group ownership check when user role change from teacher to student.
- Bug fix in getting list of courses with sync enabled.
- Update group and team cache tables name column precision.
- Fix link to outdated documentation.
- Set home page URL of Azure app to be Moodle URL when creating Azure app using the Windows PowerShell script.
- Avoid setting UPN as Moodle user idnumber when creating new accounts in user sync task.
- Bug fix where clicking the "Check Moodle settings" button on Teams integration configuration page doesn't update Moodle settings.
- Bug fix in Teams app manifest file creation.
- Read custom course sync status from DB to avoid caching issue when updating customised course sync settings.
- Create config changes log entries when updating configurations.
- Remove deprecated API functions from event classes.
4.4.0 (2024042200)
4.4.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2024042200
Version release name: 4.4.0
Maturity: Stable
Supported Moodle versions: 4.4
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.4.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.4.0 release of the Microsoft 365 Moodle plugin suite for Moodle 4.4, version v20240722_m404#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240722_m404
This is the initial release of the local_o365 plugin for Moodle 4.4.
The release is based on 4.3.5 release, with some bug fixes.
Bug fixes in this release
- Fix a bug in Teams app manifest file creation.
- Avoid setting UPN as Moodle user idnumber when creating new accounts in user sync task.
- Fix a bug where clicking the "Check Moodle settings" button on Teams integration configuration page doesn't update Moodle settings.
- Fix a bug where clicking OIDC login button doesn't show Microsoft login page when silent login is turned on.
4.3.5 (2023100921)
4.3.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100921
Version release name: 4.3.5
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is a bug fix release to 4.3.4#
The release fixes a PostgreSQL DB compatibility issue introduced in the 4.3.4 release.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240703_m403
The following release notes are taken from the 4.3.4 release.
Changes included in this release are:
- Fix bug in local_o365 unit test.
- Fix a bug where only the first 25 cohorts are shown as options in cohort and Microsoft group sync config page.
- Avoid sending skiptoken and deltatoken in the same call in user sync task.
- Move Moodle Teams tab name from a language string to a setting.
- Fix a bug in which calendar sync last run time is saved with wrong value.
- Fix bugs in course sync that may result in invalid or duplicate course connection records.
- Remove creation of dynamic properties that is deprecated in PHP 8.2
4.2.7 (2023042431)
4.2.7
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023042431
Version release name: 4.2.7
Maturity: Stable
Supported Moodle versions: 4.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.2.7
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is a bug fix release to 4.2.6#
The release fixes a PostgreSQL DB compatibility issue introduced in the 4.2.6 release.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240703_m402
The following release notes are taken from the 4.2.6 release.
Changes included in this release are:
- Fix bug in local_o365 unit test.
- Fix a bug where only the first 25 cohorts are shown as options in cohort and Microsoft group sync config page.
- Avoid sending skiptoken and deltatoken in the same call in user sync task.
- Move Moodle Teams tab name from a language string to a setting.
- Fix a bug in which calendar sync last run time is saved with wrong value.
- Fix bugs in course sync that may result in invalid or duplicate course connection records.
- Remove creation of dynamic properties that is deprecated in PHP 8.2
4.1.8 (2022112836)
4.1.8
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112836
Version release name: 4.1.8
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.8
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is a bug fix release to 4.1.7#
The release fixes a PostgreSQL DB compatibility issue introduced in the 4.1.7 release.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240703_m401
The following release notes are taken from the 4.1.7 release.
Changes included in this release are:
- Fix bug in local_o365 unit test.
- Fix a bug where only the first 25 cohorts are shown as options in cohort and Microsoft group sync config page.
- Avoid sending skiptoken and deltatoken in the same call in user sync task.
- Move Moodle Teams tab name from a language string to a setting.
- Fix a bug in which calendar sync last run time is saved with wrong value.
- Fix bugs in course sync that may result in invalid or duplicate course connection records.
4.3.4 (2023100920)
4.3.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100920
Version release name: 4.3.4
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.3.4 release of the Microsoft 365 Moodle plugin suite for Moodle 4.3, version v20240702_m403#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240702_m403
Changes included in this release are:
- Fix bug in local_o365 unit test.
- Fix a bug where only the first 25 cohorts are shown as options in cohort and Microsoft group sync config page.
- Avoid sending skiptoken and deltatoken in the same call in user sync task.
- Move Moodle Teams tab name from a language string to a setting.
- Fix a bug in which calendar sync last run time is saved with wrong value.
- Fix bugs in course sync that may result in invalid or duplicate course connection records.
- Remove creation of dynamic properties that is deprecated in PHP 8.2
4.2.6 (2023042430)
4.2.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023042430
Version release name: 4.2.6
Maturity: Stable
Supported Moodle versions: 4.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.2.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.2.6 release of the Microsoft 365 Moodle plugin suite for Moodle 4.2, version v20240702_m402#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240702_m402
Changes included in this release are:
- Fix bug in local_o365 unit test.
- Fix a bug where only the first 25 cohorts are shown as options in cohort and Microsoft group sync config page.
- Avoid sending skiptoken and deltatoken in the same call in user sync task.
- Move Moodle Teams tab name from a language string to a setting.
- Fix a bug in which calendar sync last run time is saved with wrong value.
- Fix bugs in course sync that may result in invalid or duplicate course connection records.
- Remove creation of dynamic properties that is deprecated in PHP 8.2
4.1.7 (2022112835)
4.1.7
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112835
Version release name: 4.1.7
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.7
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.1.7 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20240702_m401#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240702_m401
Changes included in this release are:
- Fix bug in local_o365 unit test.
- Fix a bug where only the first 25 cohorts are shown as options in cohort and Microsoft group sync config page.
- Avoid sending skiptoken and deltatoken in the same call in user sync task.
- Move Moodle Teams tab name from a language string to a setting.
- Fix a bug in which calendar sync last run time is saved with wrong value.
- Fix bugs in course sync that may result in invalid or duplicate course connection records.
4.3.3 (2023100915)
4.3.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100915
Version release name: 4.3.3
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.3.3 release of the Microsoft 365 Moodle plugin suite for Moodle 4.3, version v20240412_m403.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240412_m403
Changes included in this release are:
- Avoid removing group membership unnecessarily.
4.2.5 (2023042425)
4.2.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023042425
Version release name: 4.2.5
Maturity: Stable
Supported Moodle versions: 4.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.2.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.2.5 release of the Microsoft 365 Moodle plugin suite for Moodle 4.2, version v20240412_m402.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240412_m402
Changes included in this release are:
- Avoid removing group membership unnecessarily.
4.1.6 (2022112830)
4.1.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112830
Version release name: 4.1.6
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.1.6 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20240412_m401.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240412_m401
Changes included in this release are:
- Avoid removing group membership unnecessarily.
4.3.2 (2023100911)
4.3.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100911
Version release name: 4.3.2
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.3.2 release of the Microsoft 365 Moodle plugin suite for Moodle 4.3, version v20240313_m403.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240313_m403
This is a follow-up release of 4.3.1, which contains the fix to an issue in the installation script / DB definition file that prevents new installation.
The following release note is from 4.3.1.
The major features / changes included in this release of the local_o365 plugin are:
- Synchronise Microsoft Groups with Moodle system context cohorts. See https://docs.moodle.org/403/en/Microsoft_365#Synchronise_Microsoft_Groups_with_Moodle_system_context_cohorts.
- Two direction sync of Microsoft Team ownership/membership with Moodle course enrolments. See https://docs.moodle.org/403/en/Microsoft_365#Synchronisation_of_Moodle_course_enrolments_based_on_membership_in_the_Microsoft_team.
- Moodle course request from existing Microsoft Team.
- Deprecate use of system admin user connection method.
- Deprecate Bot integration feature.
- Rename Azure AD to Microsoft Entra ID.
Other changes in the local_o365 plugin in this release include:
- Refactor Graph API calls that uses pagination.
- Use unified API for profile photo and timezone sync in user sync task.
- Update description of "Support Microsoft account UPN change" setting to highlight a known issue of potentially unexpected username change.
- Fix a bug where UPN change support can't handle uppercase UPN.
- Remove calls to deprecated function print_error().
- Consider IdP type when determining whether local_o365 is fully configured.
- Allow user creation restriction by Microsoft group ID in user sync.
- Fix a bug where numeric array keys mass up array merge in user sync.
- Delete local_o365_objects entry when deleting tokens.
- Avoid PHP warning on preg_split() and unserialize() functions.
- When determining if a Microsoft UPN is changed, check if the original and new usernames are the same.
- Avoid number of query parameters error for PostgreSQL DB in upgrade script.
- Handle oauth2 v2.0 token that don't have "resource" and "expires_on" attributes.
- Prevent getting team owners and members on deleted teams break Moodle tasks.
- Optimise SDS configuration page.
- Add extensionAttributes to "User creation restriction" configuration.
- Treat empty value as an expected response for Graph API call to get user Outlook timezone.
- Debug logging function improvement.
- Allow empty response in some Graph API call.
- Handle "Etc/GMT" timezones in timezone sync.
- Handle error in Graph API calls to get user details and get profile photo.
- Clean up and unify exceptions usage across the plugins.
4.2.4 (2023042421)
4.2.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023042421
Version release name: 4.2.4
Maturity: Stable
Supported Moodle versions: 4.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.2.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.2.4 release of the Microsoft 365 Moodle plugin suite for Moodle 4.2, version v20240313_m402.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240313_m402
This is a follow-up release of 4.2.3, which contains the fix to an issue in the installation script / DB definition file that prevents new installation.
The following release note is from 4.2.3.
The major features / changes included in this release of the local_o365 plugin are:
- Synchronise Microsoft Groups with Moodle system context cohorts. See https://docs.moodle.org/403/en/Microsoft_365#Synchronise_Microsoft_Groups_with_Moodle_system_context_cohorts.
- Two direction sync of Microsoft Team ownership/membership with Moodle course enrolments. See https://docs.moodle.org/403/en/Microsoft_365#Synchronisation_of_Moodle_course_enrolments_based_on_membership_in_the_Microsoft_team.
- Moodle course request from existing Microsoft Team.
- Deprecate use of system admin user connection method.
- Deprecate Bot integration feature.
- Rename Azure AD to Microsoft Entra ID.
Other changes in the local_o365 plugin in this release include:
- Refactor Graph API calls that uses pagination.
- Use unified API for profile photo and timezone sync in user sync task.
- Update description of "Support Microsoft account UPN change" setting to highlight a known issue of potentially unexpected username change.
- Fix a bug where UPN change support can't handle uppercase UPN.
- Remove calls to deprecated function print_error().
- Consider IdP type when determining whether local_o365 is fully configured.
- Allow user creation restriction by Microsoft group ID in user sync.
- Fix a bug where numeric array keys mass up array merge in user sync.
- Delete local_o365_objects entry when deleting tokens.
- Avoid PHP warning on preg_split() and unserialize() functions.
- When determining if a Microsoft UPN is changed, check if the original and new usernames are the same.
- Avoid number of query parameters error for PostgreSQL DB in upgrade script.
- Handle oauth2 v2.0 token that don't have "resource" and "expires_on" attributes.
- Prevent getting team owners and members on deleted teams break Moodle tasks.
- Optimise SDS configuration page.
- Add extensionAttributes to "User creation restriction" configuration.
- Treat empty value as an expected response for Graph API call to get user Outlook timezone.
- Debug logging function improvement.
- Allow empty response in some Graph API call.
- Handle "Etc/GMT" timezones in timezone sync.
- Handle error in Graph API calls to get user details and get profile photo.
- Clean up and unify exceptions usage across the plugins.
4.1.5 (2022112826)
4.1.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112826
Version release name: 4.1.5
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.1.5 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20240313_m401.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240313_m401
This is a follow-up release of 4.1.4, which contains the fix to an issue in the installation script / DB definition file that prevents new installation.
The following release note is from 4.1.4.
The major features / changes included in this release of the local_o365 plugin are:
- Synchronise Microsoft Groups with Moodle system context cohorts. See https://docs.moodle.org/403/en/Microsoft_365#Synchronise_Microsoft_Groups_with_Moodle_system_context_cohorts.
- Two direction sync of Microsoft Team ownership/membership with Moodle course enrolments. See https://docs.moodle.org/403/en/Microsoft_365#Synchronisation_of_Moodle_course_enrolments_based_on_membership_in_the_Microsoft_team.
- Moodle course request from existing Microsoft Team.
- Deprecate use of system admin user connection method.
- Deprecate Bot integration feature.
- Rename Azure AD to Microsoft Entra ID.
Other changes in the local_o365 plugin in this release include:
- Refactor Graph API calls that uses pagination.
- Use unified API for profile photo and timezone sync in user sync task.
- Update description of "Support Microsoft account UPN change" setting to highlight a known issue of potentially unexpected username change.
- Fix a bug where UPN change support can't handle uppercase UPN.
- Remove calls to deprecated function print_error().
- Consider IdP type when determining whether local_o365 is fully configured.
- Allow user creation restriction by Microsoft group ID in user sync.
- Fix a bug where numeric array keys mass up array merge in user sync.
- Delete local_o365_objects entry when deleting tokens.
- Avoid PHP warning on preg_split() and unserialize() functions.
- When determining if a Microsoft UPN is changed, check if the original and new usernames are the same.
- Avoid number of query parameters error for PostgreSQL DB in upgrade script.
- Handle oauth2 v2.0 token that don't have "resource" and "expires_on" attributes.
- Prevent getting team owners and members on deleted teams break Moodle tasks.
- Optimise SDS configuration page.
- Add extensionAttributes to "User creation restriction" configuration.
- Treat empty value as an expected response for Graph API call to get user Outlook timezone.
- Debug logging function improvement.
- Allow empty response in some Graph API call.
- Handle "Etc/GMT" timezones in timezone sync.
- Handle error in Graph API calls to get user details and get profile photo.
- Clean up and unify exceptions usage across the plugins.
4.3.1 (2023100910)
4.3.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100910
Version release name: 4.3.1
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.3.1 release of the Microsoft 365 Moodle plugin suite for Moodle 4.3, version v20240311_m403.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240311_m403
The major features / changes included in this release of the local_o365 plugin are:
- Synchronise Microsoft Groups with Moodle system context cohorts. See https://docs.moodle.org/403/en/Microsoft_365#Synchronise_Microsoft_Groups_with_Moodle_system_context_cohorts.
- Two direction sync of Microsoft Team ownership/membership with Moodle course enrolments. See https://docs.moodle.org/403/en/Microsoft_365#Synchronisation_of_Moodle_course_enrolments_based_on_membership_in_the_Microsoft_team.
- Moodle course request from existing Microsoft Team.
- Deprecate use of system admin user connection method.
- Deprecate Bot integration feature.
- Rename Azure AD to Microsoft Entra ID.
Other changes in the local_o365 plugin in this release include:
- Refactor Graph API calls that uses pagination.
- Use unified API for profile photo and timezone sync in user sync task.
- Update description of "Support Microsoft account UPN change" setting to highlight a known issue of potentially unexpected username change.
- Fix a bug where UPN change support can't handle uppercase UPN.
- Remove calls to deprecated function print_error().
- Consider IdP type when determining whether local_o365 is fully configured.
- Allow user creation restriction by Microsoft group ID in user sync.
- Fix a bug where numeric array keys mass up array merge in user sync.
- Delete local_o365_objects entry when deleting tokens.
- Avoid PHP warning on preg_split() and unserialize() functions.
- When determining if a Microsoft UPN is changed, check if the original and new usernames are the same.
- Avoid number of query parameters error for PostgreSQL DB in upgrade script.
- Handle oauth2 v2.0 token that don't have "resource" and "expires_on" attributes.
- Prevent getting team owners and members on deleted teams break Moodle tasks.
- Optimise SDS configuration page.
- Add extensionAttributes to "User creation restriction" configuration.
- Treat empty value as an expected response for Graph API call to get user Outlook timezone.
- Debug logging function improvement.
- Allow empty response in some Graph API call.
- Handle "Etc/GMT" timezones in timezone sync.
- Handle error in Graph API calls to get user details and get profile photo.
- Clean up and unify exceptions usage across the plugins.
4.2.3 (2023042420)
4.2.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023042420
Version release name: 4.2.3
Maturity: Stable
Supported Moodle versions: 4.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.2.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.2.3 release of the Microsoft 365 Moodle plugin suite for Moodle 4.2, version v20240311_m402.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240311_m402
The major features / changes included in this release of the local_o365 plugin are:
- Synchronise Microsoft Groups with Moodle system context cohorts. See https://docs.moodle.org/403/en/Microsoft_365#Synchronise_Microsoft_Groups_with_Moodle_system_context_cohorts.
- Two direction sync of Microsoft Team ownership/membership with Moodle course enrolments. See https://docs.moodle.org/403/en/Microsoft_365#Synchronisation_of_Moodle_course_enrolments_based_on_membership_in_the_Microsoft_team.
- Moodle course request from existing Microsoft Team.
- Deprecate use of system admin user connection method.
- Deprecate Bot integration feature.
- Rename Azure AD to Microsoft Entra ID.
Other changes in the local_o365 plugin in this release include:
- Refactor Graph API calls that uses pagination.
- Use unified API for profile photo and timezone sync in user sync task.
- Update description of "Support Microsoft account UPN change" setting to highlight a known issue of potentially unexpected username change.
- Fix a bug where UPN change support can't handle uppercase UPN.
- Remove calls to deprecated function print_error().
- Consider IdP type when determining whether local_o365 is fully configured.
- Allow user creation restriction by Microsoft group ID in user sync.
- Fix a bug where numeric array keys mass up array merge in user sync.
- Delete local_o365_objects entry when deleting tokens.
- Avoid PHP warning on preg_split() and unserialize() functions.
- When determining if a Microsoft UPN is changed, check if the original and new usernames are the same.
- Avoid number of query parameters error for PostgreSQL DB in upgrade script.
- Handle oauth2 v2.0 token that don't have "resource" and "expires_on" attributes.
- Prevent getting team owners and members on deleted teams break Moodle tasks.
- Optimise SDS configuration page.
- Add extensionAttributes to "User creation restriction" configuration.
- Treat empty value as an expected response for Graph API call to get user Outlook timezone.
- Debug logging function improvement.
- Allow empty response in some Graph API call.
- Handle "Etc/GMT" timezones in timezone sync.
- Handle error in Graph API calls to get user details and get profile photo.
- Clean up and unify exceptions usage across the plugins.
4.1.4 (2022112825)
4.1.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112825
Version release name: 4.1.4
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
#This is part of the 4.1.4 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20240311_m401.#
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20240311_m401
The major features / changes included in this release of the local_o365 plugin are:
- Synchronise Microsoft Groups with Moodle system context cohorts. See https://docs.moodle.org/403/en/Microsoft_365#Synchronise_Microsoft_Groups_with_Moodle_system_context_cohorts.
- Two direction sync of Microsoft Team ownership/membership with Moodle course enrolments. See https://docs.moodle.org/403/en/Microsoft_365#Synchronisation_of_Moodle_course_enrolments_based_on_membership_in_the_Microsoft_team.
- Moodle course request from existing Microsoft Team.
- Deprecate use of system admin user connection method.
- Deprecate Bot integration feature.
- Rename Azure AD to Microsoft Entra ID.
Other changes in the local_o365 plugin in this release include:
- Refactor Graph API calls that uses pagination.
- Use unified API for profile photo and timezone sync in user sync task.
- Update description of "Support Microsoft account UPN change" setting to highlight a known issue of potentially unexpected username change.
- Fix a bug where UPN change support can't handle uppercase UPN.
- Remove calls to deprecated function print_error().
- Consider IdP type when determining whether local_o365 is fully configured.
- Allow user creation restriction by Microsoft group ID in user sync.
- Fix a bug where numeric array keys mass up array merge in user sync.
- Delete local_o365_objects entry when deleting tokens.
- Avoid PHP warning on preg_split() and unserialize() functions.
- When determining if a Microsoft UPN is changed, check if the original and new usernames are the same.
- Avoid number of query parameters error for PostgreSQL DB in upgrade script.
- Handle oauth2 v2.0 token that don't have "resource" and "expires_on" attributes.
- Prevent getting team owners and members on deleted teams break Moodle tasks.
- Optimise SDS configuration page.
- Add extensionAttributes to "User creation restriction" configuration.
- Treat empty value as an expected response for Graph API call to get user Outlook timezone.
- Debug logging function improvement.
- Allow empty response in some Graph API call.
- Handle "Etc/GMT" timezones in timezone sync.
- Handle error in Graph API calls to get user details and get profile photo.
- Clean up and unify exceptions usage across the plugins.
4.3.0 (2023100900)
4.3.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023100900
Version release name: 4.3.0
Maturity: Stable
Supported Moodle versions: 4.3
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.3.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.3.0 release of the Microsoft 365 Moodle plugin suite for Moodle 4.3, version v20231218_m403.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20231218_m403
This is the initial release of the plugin for Moodle 4.3.
4.2.2 (2023042410)
4.2.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023042410
Version release name: 4.2.2
Maturity: Stable
Supported Moodle versions: 4.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.2.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.2.2 release of the Microsoft 365 Moodle plugin suite for Moodle 4.2, version v20231010_m402.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20231010_m402
The main feature introduced in this release is the support to Microsoft account UPN changes. The feature is described at https://docs.moodle.org/402/en/Microsoft_365#Support_Microsoft_account_UPN_changes.
Other changes in the local_o365 plugin in this release include:
- Support samaccountname in field mapping.
- Fix a performance issue on getting users with duplicate email address.
- Ensure "Secure cookies only" setting is enabled when checking Teams integration settings.
- Update check on file mime type when uploading user matching files.
- Reduce notification observer function debugging messages.
- Fix a bug in the user sync feature where it ignores the "create" option.
- Avoid unnecessary cleanup of SDS sync records.
- Avoid class "external_api" not found error.
- Avoid invalid Graph API call in calendar sync feature.
- Add missing configuration setting language string.
- Automatically unset system API user token if application access is enabled.
- Bug fix in upgrade script in processing system API user token.
4.1.3 (2022112815)
4.1.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112815
Version release name: 4.1.3
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.3 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20231010_m401.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20231010_m401
The main feature introduced in this release is the support to Microsoft account UPN changes. The feature is described at https://docs.moodle.org/402/en/Microsoft_365#Support_Microsoft_account_UPN_changes.
Other changes in the local_o365 plugin in this release include:
- Support samaccountname in field mapping.
- Fix a performance issue on getting users with duplicate email address.
- Ensure "Secure cookies only" setting is enabled when checking Teams integration settings.
- Update check on file mime type when uploading user matching files.
- Reduce notification observer function debugging messages.
- Fix a bug in the user sync feature where it ignores the "create" option.
- Avoid unnecessary cleanup of SDS sync records.
- Avoid invalid Graph API call in calendar sync feature.
- Add missing configuration setting language string.
- Automatically unset system API user token if application access is enabled.
- Bug fix in upgrade script in processing system API user token.
4.0.5 (2022041925)
4.0.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022041925
Version release name: 4.0.5
Maturity: Stable
Supported Moodle versions: 4.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.0.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.0.5 release of the Microsoft 365 Moodle plugin suite for Moodle 4.0, version v20231010_m400.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20231010_m400
The main feature introduced in this release is the support to Microsoft account UPN changes. The feature is described at https://docs.moodle.org/402/en/Microsoft_365#Support_Microsoft_account_UPN_changes.
Other changes in the local_o365 plugin in this release include:
- Support samaccountname in field mapping.
- Fix a performance issue on getting users with duplicate email address.
- Ensure "Secure cookies only" setting is enabled when checking Teams integration settings.
- Update check on file mime type when uploading user matching files.
- Reduce notification observer function debugging messages.
- Fix a bug in the user sync feature where it ignores the "create" option.
- Avoid unnecessary cleanup of SDS sync records.
- Avoid invalid Graph API call in calendar sync feature.
- Add missing configuration setting language string.
- Bug fix in upgrade script in processing system API user token.
4.0.4 (2022041920)
4.0.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022041920
Version release name: 4.0.4
Maturity: Stable
Supported Moodle versions: 4.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.0.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.0.4 release of the Microsoft 365 Moodle plugin suite for Moodle 4.0, version v20230628_m400.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20230628_m400
Changes in the local_o365 plugin in this release include:
- Support Microsoft user UPN changes.
- Support samaccountname in field mapping.
- Fix a performance issue on getting users with duplicate email address.
- Ensure "Secure cookies only" setting is enabled when checking Teams integration settings.
- Update check on file mime type when uploading user matching files.
- Reduce notification observer function debugging messages.
4.2.0 (2023042400)
4.2.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2023042400
Version release name: 4.2.0
Maturity: Stable
Supported Moodle versions: 4.2
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.2.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.2.0 release of the Microsoft 365 Moodle plugin suite for Moodle 4.2, version v20230525_m402.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20230525_m402
Changes in the local_o365 plugin in this release include:
- Reduce debugging message from observer functions on notification sent event.
- Avoid PHP warning on calls to preg_split() and unserialize() functions.
4.1.1 (2022112805)
4.1.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112805
Version release name: 4.1.1
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.1 release of the Microsoft 365 Moodle plugin suite for Moodle 4.0, version v20230228_m401.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20230228_m401
Changes in the local_o365 plugin in this release include:
- Only purge caches when update plugin configurations if necessary.
- Improve how language sync is handled in user sync to support more language variants (e.g. en_us) and workplace language packs (e.g. en_wp).
- Fix a bug in which user connection record in local_o365_objects table is not created on auth_oidc user login.
4.0.3 (2022041915)
4.0.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022041915
Version release name: 4.0.3
Maturity: Stable
Supported Moodle versions: 4.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.0.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.0.3 release of the Microsoft 365 Moodle plugin suite for Moodle 4.0, version v20230228_m400.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20230228_m400
Changes in the local_o365 plugin in this release include:
- Support sync of "manager email" field.
- Fix an issue where users created from auth_oidc login doesn't obey "allow accounts with same email".
- Fix typos.
- Only purge caches when update plugin configurations if necessary.
- Improve how language sync is handled in user sync to support more language variants (e.g. en_us) and workplace language packs (e.g. en_wp).
- Bug fix in course sync task when a user has both teamowner and teammember cap from multiple roles.
- Fix unexpected MS account connection created regardless of user sync option.
- Bug fix syncing all day events for users with timezone set to "server default".
- Fix a bug in which user connection record in local_o365_objects table is not created on auth_oidc user login.
- Bug fix unhandled exception when trying to call Graph API to update events.
3.11.6 (2021051735)
3.11.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2021051735
Version release name: 3.11.6
Maturity: Stable
Supported Moodle versions: 3.11
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.11.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.11.6 release of the Microsoft 365 Moodle plugin suite for Moodle 3.11, version v20230228_m311.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20230228_m311
This is the final release of the Microsoft plugins for Moodle 3.11 since support for Moodle 3.11 has ended. No bug fix or feature updates will be made to this version.
Changes in the local_o365 plugin in this release include:
- Support sync of "manager email" field.
- Fix an issue where users created from auth_oidc login doesn't obey "allow accounts with same email".
- Fix typos.
- Only purge caches when update plugin configurations if necessary.
- Improve how language sync is handled in user sync to support more language variants (e.g. en_us) and workplace language packs (e.g. en_wp).
- Bug fix in course sync task when a user has both teamowner and teammember cap from multiple roles.
- Fix unexpected MS account connection created regardless of user sync option.
- Bug fix syncing all day events for users with timezone set to "server default".
- Fix a bug in which user connection record in local_o365_objects table is not created on auth_oidc user login.
- Bug fix unhandled exception when trying to call Graph API to update events.
4.1.0 (2022112800)
4.1.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022112800
Version release name: 4.1.0
Maturity: Stable
Supported Moodle versions: 4.1
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.1.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.1.0 release of the Microsoft 365 Moodle plugin suite for Moodle 4.1, version v20221128_m41.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20221128_m41
Changes in the local_o365 plugin in this release include:
- Improve how language sync is handled in user sync.
- Bug fix in course sync task when a user has both teamowner and teammember cap from multiple roles.
- Support sync of "manager email" field.
- Fix unexpected MS account connection created regardless of user sync option.
- Bug fix syncing all day events for users with timezone set to "server default".
- Bug fix unhandled exception when trying to call Graph API to update events.
4.0.2 (2022041910)
4.0.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022041910
Version release name: 4.0.2
Maturity: Stable
Supported Moodle versions: 4.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.0.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.0.2 release of the Microsoft 365 Moodle plugin suite for Moodle 4.0, version v20221012_m40.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20221012_m40
Changes in the local_o365 plugin in this release include:
- Support Microsoft Identity Platform (oauth2 v2.0) and certificate authentication
- Send notification to site administrator on secret expiry
- Add missing language string for cache definition.
- Hide error message in behat test.
- Consider course enrolments, besides role assignments, when finding team owners/members.
- Remove use of legacy APIs.
- Improve how match users by emails are handled.
- Fix multiple database errors specific to PostgreSQL.
- Fix a bug in course reset observer function to check if the user exists before creating events.
- Fix a bug in the sync of "roles" remote field.
- Avoid PHP warning messages when syncing manually connected users in the user sync task.
- Fix a bug in DB query to check if there are existing users with duplicate emails.
- Bug fix in processing adding additional tenant.
- Update check on mailNickname length when creating group from course.
- Update observer functions to delete outdated records when local_o365 configurations are updated.
- Add Microsoft SECURITY.MD.
3.11.5 (2021051730)
3.11.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2021051730
Version release name: 3.11.5
Maturity: Stable
Supported Moodle versions: 3.11
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.11.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.11.5 release of the Microsoft 365 Moodle plugin suite for Moodle 3.11, version v20221012_m311.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20221012_m311
Changes in the local_o365 plugin in this release include:
- Support Microsoft Identity Platform (oauth2 v2.0) and certificate authentication
- Send notification to site administrator on secret expiry
- Add missing language string for cache definition.
- Hide error message in behat test.
- Consider course enrolments, besides role assignments, when finding team owners/members.
- Remove use of legacy APIs.
- Improve how match users by emails are handled.
- Fix multiple database errors specific to PostgreSQL.
- Fix a bug in course reset observer function to check if the user exists before creating events.
- Fix a bug in the sync of "roles" remote field.
- Avoid PHP warning messages when syncing manually connected users in the user sync task.
- Fix a bug in DB query to check if there are existing users with duplicate emails.
- Bug fix in processing adding additional tenant.
- Update check on mailNickname length when creating group from course.
- Update observer functions to delete outdated records when local_o365 configurations are updated.
- Add Microsoft SECURITY.MD.
3.10.8 (2020110945)
3.10.8
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110945
Version release name: 3.10.8
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.8
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.10.8 release of the Microsoft 365 Moodle plugin suite for Moodle 3.10, version v20221006_m310.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20221006_m310
Changes in the local_o365 plugin in this release include:
- Consider course enrolments, besides role assignments, when finding team owners/members.
- Improve how match users by emails are handled.
- Fix multiple database errors specific to PostgreSQL.
- Fix a bug in course reset observer function to check if the user exists before creating events.
- Fix a bug in the sync of "roles" remote field.
- Avoid PHP warning messages when syncing manually connected users in the user sync task.
- Fix a bug in DB query to check if there are existing users with duplicate emails.
- Bug fix in processing adding additional tenant.
- Update check on mailNickname length when creating group from course.
- Update observer functions to delete outdated records when local_o365 configurations are updated.
3.9.11 (2020071560)
3.9.11
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071560
Version release name: 3.9.11
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.11
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.9.11 release of the Microsoft 365 Moodle plugin suite for Moodle 3.9, version v20221006_m39.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20221006_m39
Changes in the local_o365 plugin in this release include:
- Consider course enrolments, besides role assignments, when finding team owners/members.
- Improve how match users by emails are handled.
- Fix multiple database errors specific to PostgreSQL.
- Fix a bug in course reset observer function to check if the user exists before creating events.
- Fix a bug in the sync of "roles" remote field.
- Avoid PHP warning messages when syncing manually connected users in the user sync task.
- Fix a bug in DB query to check if there are existing users with duplicate emails.
- Bug fix in processing adding additional tenant.
- Update check on mailNickname length when creating group from course.
- Update observer functions to delete outdated records when local_o365 configurations are updated.
4.0.1 (2022041905)
4.0.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022041905
Version release name: 4.0.1
Maturity: Stable
Supported Moodle versions: 4.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.0.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.0.1 release of the Microsoft 365 Moodle plugin suite for Moodle 4.0, version v20220621_m40.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20220621_m40
Changes in the local_o365 plugin in this release include:
- Improved support for matching users by email in the user sync task.
- Bug fix to prevent unexpected user suspension when full user sync fails.
- More flexible schedule options to run user suspension/deletion part of the user sync task.
- Add missing delegated permissions required to configure multi-tenancy to PowerShell script and permission check.
3.11.4 (2021051725)
3.11.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2021051725
Version release name: 3.11.4
Maturity: Stable
Supported Moodle versions: 3.11
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.11.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.11.4 release of the Microsoft 365 Moodle plugin suite for Moodle 3.11, version v20220621_m311.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20220621_m311
Changes in the local_o365 plugin in this release include:
- Improved support for matching users by email in the user sync task.
- Bug fix to prevent unexpected user suspension when full user sync fails.
- More flexible schedule options to run user suspension/deletion part of the user sync task.
- Bug fix on whether profile photo sync needs to run in the user sync task.
- Fix broken unit tests.
- Bug fix in observer definition.
- Remove Teams app ID detection dependancy on course sync enable status.
- Add missing delegated permissions required to configure multi-tenancy to PowerShell script and permission check.
- Update SDS sync feature to work with incomplete Graph API responses in user profile sync.
- Add help text about Teams app provisioning when bot feature is enabled.
- Move deploying bot button image to image folder of local_o365 from external sources.
3.10.7 (2020110940)
3.10.7
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110940
Version release name: 3.10.7
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.7
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.10.7 release of the Microsoft 365 Moodle plugin suite for Moodle 3.10, version v20220621_m310.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20220621_m310
Changes in the local_o365 plugin in this release include:
- Improved support for matching users by email in the user sync task.
- Bug fix to prevent unexpected user suspension when full user sync fails.
- More flexible schedule options to run user suspension/deletion part of the user sync task.
- Bug fix on whether profile photo sync needs to run in the user sync task.
- Fix broken unit tests.
- Bug fix in observer definition.
- Remove Teams app ID detection dependancy on course sync enable status.
- Add missing delegated permissions required to configure multi-tenancy to PowerShell script and permission check.
- Update SDS sync feature to work with incomplete Graph API responses in user profile sync.
- Add help text about Teams app provisioning when bot feature is enabled.
- Move deploying bot button image to image folder of local_o365 from external sources.
3.9.10 (2020071555)
3.9.10
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071555
Version release name: 3.9.10
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.10
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.9.10 release of the Microsoft 365 Moodle plugin suite for Moodle 3.9, version v20220621_m39.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20220621_m39
Changes in the local_o365 plugin in this release include:
- Improved support for matching users by email in the user sync task.
- Bug fix to prevent unexpected user suspension when full user sync fails.
- More flexible schedule options to run user suspension/deletion part of the user sync task.
- Bug fix on whether profile photo sync needs to run in the user sync task.
- Fix broken unit tests.
- Add missing delegated permissions required to configure multi-tenancy to PowerShell script and permission check.
- Update SDS sync feature to work with incomplete Graph API responses in user profile sync.
- Move deploying bot button image to image folder of local_o365 from external sources.
4.0.0 (2022041900)
4.0.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2022041900
Version release name: 4.0.0
Maturity: Stable
Supported Moodle versions: 4.0
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v4.0.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 4.0.0 release of the Microsoft 365 Moodle plugin suite for Moodle 4.0, version v20220512_m40.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20220512_m40
Changes in the local_o365 plugin in this release include:
- Fix broken unit tests.
- Improvements in user profile photo sync.
- Fix invalid observer function definition.
- Fix broken bot deployment button on the integration configuration page.
- Remove unnecessary dependency on Teams APP ID detection function on the Teams integration configuration page.
3.11.3 (2021051723)
3.11.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2021051723
Version release name: 3.11.3
Maturity: Stable
Supported Moodle versions: 3.11
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.11.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.11.3 release of the Microsoft 365 Moodle plugin suite for Moodle 3.11, version v20220411_m311.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20220411_m311
NOTE - This is a major upgrade of the plugins, and requires Azure app changes. Refer to this page for Azure app change details.
Changes in the local_o365 plugin in this release include:
- Teams Classes LTI app support: Major change in the Moodle course and Microsoft Teams integration feature to support Teams Classes LTI.
- Drop "System API user" connection method: The only connection method supported going forward is application access.
- Multi-tenant SSO alternative domain name support: Support login of additional tenant users whose UPN contains non-initial domain names.
- Other bug fixes and small changes.
Teams Classes LTI app support
This release contains a complete rewrite of the course sync feature in the plugins. The main changes include:
- Renamed the "Create user groups in Microsoft 365" (\local_o365\task\groupcreate) scheduled task to "Sync Moodle courses to Microsoft Teams" (\local_o365\task\coursesync).
- The option to sync a Moodle course to groups only but not Teams is removed. If a sync of a course is enabled, it will always sync to a group, and a Team if a suitable owner is found.
- The decision whether to create a standard team or a class team is controlled by whether the hosting tenant has an education license, rather than configuration setting made by Moodle site admin. The check to determine whether the hosting tenant has an education license is performed automatically by the plugin using Graph API calls.
- The Graph APIs used to create/update/archive/delete groups/teams connected to Moodle courses, as well as those used to manage initial and subsequent group/team ownership/membership changes, are all updated according to LMS integration guidelines provided by Microsoft. Notably, the integration will always create a group first, and try to create a Team from the group when appropriate Team owner is found.
- If the hosting tenant has an education license, additional education specific attributes will be stamped in the group created, which will allow Moodle users use the Teams Classes LTI app by adding the Team as an external tool in the course using mod_lti.
NOTE this requires several configuration changes in both local_o365 settings and Azure app permissions. Refer to this page for Azure app change details.
Drop "System API user" connection method
The support for "System API user" connection method has officially ended since this release. The decision was made for two main reasons:
- Increasing number of Graph APIs used in the integration support only application permissions, which effectively means the feature cannot be achieved if "System API user" connection is selected, which would depend on delegated permissions.
- Using the "System API user" connections for Teams integration has the unexpected outcomes that the system API user is added as owner of all Teams created.
Most Moodle site should be using "Application access" connection method now, which are unaffected by this change. For those sites currently using "System API user" connection method, site admins will be given the chance to make the change. Changes in Azure app permissions may be required as part of the migration.
Multi-tenant SSO alternative domain name support
Previously SSO integration for additional tenants stores only the original domain name of the additional tenants (the one used when creating the tenant), and if users from the additional tenants are created using UPN other than the original domain name, the users are not being recognised in the multi-tenant SSO process.
This release introduces a change to save the ID of the additional tenant, along with all registered domains, so that users from additional tenants can be recognised regardless the domain name in their UPN.
NOTE this requires Moodle site admins updating multi-tenant configurations.
Bug fixes and small changes
- Improvement in handling sync of Outlook calendar all day events into Moodle.
- Fix error output on the SDS sync configuration page when Moodle and Microsoft 365 integration is not fully configured.
- Update the logic used to allow only one run of user suspension/deletion part in the user sync task.
- Prevent duplicate user mapping records being create.
- Bug fix in the Graph API call to list teams.
- Bug fix in the observer function to delete group/team when the connected Moodle course is deleted.
- Bug fix in database queries handling empty return values in SDS and user sync features.
- Fix broken upgrade script in the local_o365 plugin.
- Move profile photo sync and timezone sync from block_microsoft to observer functions in local_o365.
- Bug fix in handling response in some Graph API calls that paginate response values using skip tokens.
- Force a user sync task run after the Azure application ID site configuration is updated, in order to rebuild user connection records.
- Prevent various local_o365 scheduled tasks from failing when the Moodle and Microsoft 365 integration is not fully configured.
- Update PowerShell script to create new Azure app with required permissions.
- Update validation of the sync of language profile fields in user sync.
- Clean up old SDS schools disabled for sync.
- Remove hardcoded role checks in bot question implementations.
- Add missing delegated permission check required by the calendar sync.
- Fix UI for the "Provide admin consent" button on local_o365 configuration page.
3.10.6 (2020110938)
3.10.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110938
Version release name: 3.10.6
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.10.6 release of the Microsoft 365 Moodle plugin suite for Moodle 3.10, version v20220411_m310.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20220411_m310
NOTE - This is a major upgrade of the plugins, and requires Azure app changes. Refer to this page for Azure app change details.
Changes in the local_o365 plugin in this release include:
- Teams Classes LTI app support: Major change in the Moodle course and Microsoft Teams integration feature to support Teams Classes LTI.
- Drop "System API user" connection method: The only connection method supported going forward is application access.
- Multi-tenant SSO alternative domain name support: Support login of additional tenant users whose UPN contains non-initial domain names.
- Other bug fixes and small changes.
Teams Classes LTI app support
This release contains a complete rewrite of the course sync feature in the plugins. The main changes include:
- Renamed the "Create user groups in Microsoft 365" (\local_o365\task\groupcreate) scheduled task to "Sync Moodle courses to Microsoft Teams" (\local_o365\task\coursesync).
- The option to sync a Moodle course to groups only but not Teams is removed. If a sync of a course is enabled, it will always sync to a group, and a Team if a suitable owner is found.
- The decision whether to create a standard team or a class team is controlled by whether the hosting tenant has an education license, rather than configuration setting made by Moodle site admin. The check to determine whether the hosting tenant has an education license is performed automatically by the plugin using Graph API calls.
- The Graph APIs used to create/update/archive/delete groups/teams connected to Moodle courses, as well as those used to manage initial and subsequent group/team ownership/membership changes, are all updated according to LMS integration guidelines provided by Microsoft. Notably, the integration will always create a group first, and try to create a Team from the group when appropriate Team owner is found.
- If the hosting tenant has an education license, additional education specific attributes will be stamped in the group created, which will allow Moodle users use the Teams Classes LTI app by adding the Team as an external tool in the course using mod_lti.
NOTE this requires several configuration changes in both local_o365 settings and Azure app permissions. Refer to this page for Azure app change details.
Drop "System API user" connection method
The support for "System API user" connection method has officially ended since this release. The decision was made for two main reasons:
- Increasing number of Graph APIs used in the integration support only application permissions, which effectively means the feature cannot be achieved if "System API user" connection is selected, which would depend on delegated permissions.
- Using the "System API user" connections for Teams integration has the unexpected outcomes that the system API user is added as owner of all Teams created.
Most Moodle site should be using "Application access" connection method now, which are unaffected by this change. For those sites currently using "System API user" connection method, site admins will be given the chance to make the change. Changes in Azure app permissions may be required as part of the migration.
Multi-tenant SSO alternative domain name support
Previously SSO integration for additional tenants stores only the original domain name of the additional tenants (the one used when creating the tenant), and if users from the additional tenants are created using UPN other than the original domain name, the users are not being recognised in the multi-tenant SSO process.
This release introduces a change to save the ID of the additional tenant, along with all registered domains, so that users from additional tenants can be recognised regardless the domain name in their UPN.
NOTE this requires Moodle site admins updating multi-tenant configurations.
Bug fixes and small changes
- Improvement in handling sync of Outlook calendar all day events into Moodle.
- Fix error output on the SDS sync configuration page when Moodle and Microsoft 365 integration is not fully configured.
- Update the logic used to allow only one run of user suspension/deletion part in the user sync task.
- Prevent duplicate user mapping records being create.
- Bug fix in the Graph API call to list teams.
- Bug fix in the observer function to delete group/team when the connected Moodle course is deleted.
- Bug fix in database queries handling empty return values in SDS and user sync features.
- Fix broken upgrade script in the local_o365 plugin.
- Move profile photo sync and timezone sync from block_microsoft to observer functions in local_o365.
- Bug fix in handling response in some Graph API calls that paginate response values using skip tokens.
- Force a user sync task run after the Azure application ID site configuration is updated, in order to rebuild user connection records.
- Prevent various local_o365 scheduled tasks from failing when the Moodle and Microsoft 365 integration is not fully configured.
- Update PowerShell script to create new Azure app with required permissions.
- Update validation of the sync of language profile fields in user sync.
- Clean up old SDS schools disabled for sync.
- Remove hardcoded role checks in bot question implementations.
- Add missing delegated permission check required by the calendar sync.
- Fix UI for the "Provide admin consent" button on local_o365 configuration page.
3.9.9 (2020071553)
3.9.9
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071553
Version release name: 3.9.9
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.9
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.9.9 release of the Microsoft 365 Moodle plugin suite for Moodle 3.9, version v20220411_m39.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20220411_m39
NOTE - Azure app changes is required in this release. Refer to this page for Azure app change details.
This release contains:
- Multi-tenant SSO alternative domain name support: Support login of additional tenant users whose UPN contains non-initial domain names.
- Other bug fixes and small changes.
Multi-tenant SSO alternative domain name support
Previously SSO integration for additional tenants stores only the original domain name of the additional tenants (the one used when creating the tenant), and if users from the additional tenants are created using UPN other than the original domain name, the users are not being recognised in the multi-tenant SSO process.
This release introduces a change to save the ID of the additional tenant, along with all registered domains, so that users from additional tenants can be recognised regardless the domain name in their UPN.
NOTE this requires Moodle site admins updating multi-tenant configurations.
Bug fixes and small changes
- Improvement in handling sync of Outlook calendar all day events into Moodle.
- Fix error output on the SDS sync configuration page when Moodle and Microsoft 365 integration is not fully configured.
- Update the logic used to allow only one run of user suspension/deletion part in the user sync task.
- Prevent duplicate user mapping records being create.
- Bug fix in the Graph API call to list teams.
- Bug fix in applying user field mappings for installations with only auth_oidc and not local_o365.
- Bug fix in the observer function to delete group/team when the connected Moodle course is deleted.
- Bug fix in database queries handling empty return values in SDS and user sync features.
- Fix broken upgrade script in the local_o365 plugin.
- Force a user sync task run after the Azure application ID site configuration is updated, in order to rebuild user connection records.
- Prevent various local_o365 scheduled tasks from failing when the Moodle and Microsoft 365 integration is not fully configured.
- Update PowerShell script to create new Azure app with required permissions in future versions.
- Bug fix in handling response in some Graph API calls that paginate response values using skip tokens.
- Update validation of the sync of language profile fields in user sync.
- Clean up old SDS schools disabled for sync.
- Remove hardcoded role checks in bot question implementations.
- Add missing delegated permission check required by the calendar sync.
- Fix UI for the "Provide admin consent" button on local_o365 configuration page.
3.11.2 (2021051711)
3.11.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2021051711
Version release name: 3.11.2
Maturity: Stable
Supported Moodle versions: 3.11
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.11.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.11.2 release of the Microsoft 365 Moodle plugin suite for Moodle 3.11, version v20211207_m311.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20211207_m311
Changes in local_o365 plugin in this release include:
- Fix SDS sync feature to use Graph API (Azure app permission change required).
- Fix errors on multi tenants configuration page.
- Update calls to list objects Graph APIs to handle pagination in API response.
- Add back the feature to enable sync on all courses in the customize course sync page.
- Add missing delegated permissions in permission check.
- Display missing permission name as well as description.
- Fix broken unit tests.
- General cleanup.
3.10.5 (2020110926)
3.10.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110926
Version release name: 3.10.5
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.10.5 release of the Microsoft 365 Moodle plugin suite for Moodle 3.10, version v20211207_m310.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20211207_m310
Changes in local_o365 plugin in this release include:
- Fix SDS sync feature to use Graph API (Azure app permission change required).
- Fix errors on multi tenants configuration page.
- Update calls to list objects Graph APIs to handle pagination in API response.
- Add back the feature to enable sync on all courses in the customize course sync page.
- Add missing delegated permissions in permission check.
- Display missing permission name as well as description.
- Fix broken unit tests.
- General cleanup.
3.9.8 (2020071541)
3.9.8
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071541
Version release name: 3.9.8
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.8
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is the final feature and general bug release for the plugin for Moodle 3.9.
Bug fixes for security issues for Moodle 3.9 versions will continue until 8 May 2023.
This is part of the 3.9.8 release of the Microsoft 365 Moodle plugin suite for Moodle 3.9, version v20211207_m39.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20211207_m39
Changes in local_o365 plugin in this release include:
- Fix SDS sync feature to use Graph API (Azure app permission change required).
- Fix errors on multi tenants configuration page.
- Update calls to list objects Graph APIs to handle pagination in API response.
- Add back the feature to enable sync on all courses in the customize course sync page.
- Add missing delegated permissions in permission check.
- Display missing permission name as well as description.
- Fix broken unit tests.
- General cleanup.
3.11.2 (2021051710)
3.11.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2021051710
Version release name: 3.11.2
Maturity: Release Candidate
Supported Moodle versions: 3.11
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.11.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.11.2 release of the Microsoft 365 Moodle plugin suite for Moodle 3.11, version v20211207_m311.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20211207_m311
Changes in local_o365 plugin in this release include:
- Fix SDS sync feature to use Graph API (Azure app permission change required).
- Fix errors on multi tenants configuration page.
- Update calls to list objects Graph APIs to handle pagination in API response.
- Add back the feature to enable sync on all courses in the customize course sync page.
- Add missing delegated permissions in permission check.
- Fix broken unit tests.
- General cleanup.
3.10.5 (2020110925)
3.10.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110925
Version release name: 3.10.5
Maturity: Release Candidate
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.10.5 release of the Microsoft 365 Moodle plugin suite for Moodle 3.10, version v20211207_m310.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20211207_m310
Changes in local_o365 plugin in this release include:
- Fix SDS sync feature to use Graph API (Azure app permission change required).
- Fix errors on multi tenants configuration page.
- Update calls to list objects Graph APIs to handle pagination in API response.
- Add back the feature to enable sync on all courses in the customize course sync page.
- Add missing delegated permissions in permission check.
- Fix broken unit tests.
- General cleanup.
3.9.8 (2020071540)
3.9.8
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071540
Version release name: 3.9.8
Maturity: Release Candidate
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.8
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is the final feature and general bug release for the plugin for Moodle 3.9.
Bug fixes for security issues for Moodle 3.9 versions will continue until 8 May 2023.
This is part of the 3.9.8 release of the Microsoft 365 Moodle plugin suite for Moodle 3.9, version v20211207_m39.
Complete Release Note: https://github.com/microsoft/o365-moodle/releases/tag/v20211207_m39
Changes in local_o365 plugin in this release include:
- Fix SDS sync feature to use Graph API (Azure app permission change required).
- Fix errors on multi tenants configuration page.
- Update calls to list objects Graph APIs to handle pagination in API response.
- Add back the feature to enable sync on all courses in the customize course sync page.
- Add missing delegated permissions in permission check.
- Fix broken unit tests.
- General cleanup.
3.11.1 (2021051705)
3.11.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2021051705
Version release name: 3.11.1
Maturity: Stable
Supported Moodle versions: 3.11
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.11.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.11.1 release of the Microsoft 365 Moodle plugin suite for Moodle 3.11 version v20211026_m311.
Complete Release Note
The most significant change in this release is moving the user field mapping feature from the local_o365 plugin to the auth_oidc plugin, and integrate it with the Moodle default field mapping feature.
- All previous settings are automatically migrated.
- The remote fields available for mapping depend on whether the local_o365 plugin is configured on the Moodle site - if it's not configured, only profile fields available in user ID token can be mapped; otherwise many other fields returned in Graph API calls can be mapped.
- After the move, some native Moodle user profile mapping features, such as field locking, can be applied.
Other changes include:
- Add option to reset group/team without creating new ones when resetting a Moodle course connected to group/team.
- Fix a bug in checking user creation conditions on group membership where indirect group memberships are not recognised.
- Fix a bug in which user sync attempts to create duplicate users sometimes.
- Fix a bug in user sync where guest users are synced regardless of the status of the guest user sync option setting.
- Improve handling of Microsoft account upn changes.
- Fix a bug in conflicts between user sync options.
- Fix a bug where incorrect Shared Moodle Secret is generated when deploying Teams bot.
- Improve handling of error "Mismatch between usernames and userids" in user login.
- Reduce the number of DB query parameters when processing user sync batches to avoid DB error.
- Skip mandatory authentication method change for Moodle users using other auth methods who manually created connection with Microsoft account.
- Apply "sync new course by default" settings to restored courses.
- Improve error handling syncing timezone in user sync.
- Raise memory limit in user sync.
- Fix a bug in syncing office phone number profile field.
- Fix a bug in syncing preferred name profile field.
- Fix a bug in processing user sync task when email match is used and duplicate email address exists.
- Handle delay in provisioning Moodle Teams app when creating a Team for a connected course.
- Fix a bug in which the local_o365 configuration tab parameter is added to the URL of other admin configuration pages.
- Update Moodle Teams app icon to comply with Teams app icon requirements.
3.10.4 (2020110920)
3.10.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110920
Version release name: 3.10.4
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.10.4 release of the Microsoft 365 Moodle plugin suite for Moodle 3.10, version v20211026_m310.
Complete Release Note
The most significant change in this release is moving the user field mapping feature from the local_o365 plugin to the auth_oidc plugin, and integrate it with the Moodle default field mapping feature.
- All previous settings are automatically migrated.
- The remote fields available for mapping depend on whether the local_o365 plugin is configured on the Moodle site - if it's not configured, only profile fields available in user ID token can be mapped; otherwise many other fields returned in Graph API calls can be mapped.
- After the move, some native Moodle user profile mapping features, such as field locking, can be applied.
Other changes include:
- Add option to reset group/team without creating new ones when resetting a Moodle course connected to group/team.
- Fix a bug in checking user creation conditions on group membership where indirect group memberships are not recognised.
- Fix a bug in which user sync attempts to create duplicate users sometimes.
- Fix a bug in user sync where guest users are synced regardless of the status of the guest user sync option setting.
- Improve handling of Microsoft account upn changes.
- Fix a bug in conflicts between user sync options.
- Fix a bug where incorrect Shared Moodle Secret is generated when deploying Teams bot.
- Improve handling of error "Mismatch between usernames and userids" in user login.
- Reduce the number of DB query parameters when processing user sync batches to avoid DB error.
- Skip mandatory authentication method change for Moodle users using other auth methods who manually created connection with Microsoft account.
- Apply "sync new course by default" settings to restored courses.
- Improve error handling syncing timezone in user sync.
- Raise memory limit in user sync.
- Fix a bug in syncing office phone number profile field.
- Fix a bug in syncing preferred name profile field.
- Fix a bug in processing user sync task when email match is used and duplicate email address exists.
- Handle delay in provisioning Moodle Teams app when creating a Team for a connected course.
- Fix a bug in which the local_o365 configuration tab parameter is added to the URL of other admin configuration pages.
- Update Moodle Teams app icon to comply with Teams app icon requirements.
3.9.7 (2020071535)
3.9.7
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071535
Version release name: 3.9.7
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.7
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the 3.9.7 release of the Microsoft 365 Moodle plugin suite for Moodle 3.9, version v20211026_m39.
Complete Release Note
The most significant change in this release is moving the user field mapping feature from the local_o365 plugin to the auth_oidc plugin, and integrate it with the Moodle default field mapping feature.
- All previous settings are automatically migrated.
- The remote fields available for mapping depend on whether the local_o365 plugin is configured on the Moodle site - if it's not configured, only profile fields available in user ID token can be mapped; otherwise many other fields returned in Graph API calls can be mapped.
- After the move, some native Moodle user profile mapping features, such as field locking, can be applied.
Other changes include:
- Add option to reset group/team without creating new ones when resetting a Moodle course connected to group/team.
- Fix a bug in checking user creation conditions on group membership where indirect group memberships are not recognised.
- Fix a bug in which user sync attempts to create duplicate users sometimes.
- Fix a bug in user sync where guest users are synced regardless of the status of the guest user sync option setting.
- Improve handling of Microsoft account upn changes.
- Fix a bug in conflicts between user sync options.
- Fix a bug where incorrect Shared Moodle Secret is generated when deploying Teams bot.
- Improve handling of error "Mismatch between usernames and userids" in user login.
- Reduce the number of DB query parameters when processing user sync batches to avoid DB error.
- Skip mandatory authentication method change for Moodle users using other auth methods who manually created connection with Microsoft account.
- Apply "sync new course by default" settings to restored courses.
- Improve error handling syncing timezone in user sync.
- Raise memory limit in user sync.
- Fix a bug in syncing office phone number profile field.
- Fix a bug in syncing preferred name profile field.
- Fix a bug in processing user sync task when email match is used and duplicate email address exists.
- Handle delay in provisioning Moodle Teams app when creating a Team for a connected course.
- Fix a bug in which the local_o365 configuration tab parameter is added to the URL of other admin configuration pages.
- Update Moodle Teams app icon to comply with Teams app icon requirements.
3.11.0 (2021051700)
3.11.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2021051700
Version release name: 3.11.0
Maturity: Stable
Supported Moodle versions: 3.11
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.11.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This release is part of the Office 365 Moodle plugin suite for Moodle 3.10, version v20210629_m310
Complete Release Note
3.10.3 (2020110904)
3.10.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110904
Version release name: 3.10.3
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is an emergency release to fix some bugs in 3.10.2 release:
- Microsoft 365 Group Membership user creation restrictions was broken in the 3.10.2 release.
- The feature to sync guest users cannot process guest users with email addresses with uppercase letters after the initial user creation.
3.9.6 (2020071509)
3.9.6
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071509
Version release name: 3.9.6
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.6
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is the final feature and general bug release for the plugin for Moodle 3.9.
Bug fixes for security issues for Moodle 3.9 versions will continue until 8 May 2023.
This is an emergency release to fix some bugs in 3.9.5 release:
- Microsoft 365 Group Membership user creation restrictions was broken in the 3.19.5 release.
- The feature to sync guest users cannot process guest users with email addresses with uppercase letters after the initial user creation.
3.10.2 (2020110903)
3.10.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110903
Version release name: 3.10.2
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This release is part of the Office 365 Moodle plugin suite for Moodle 3.10, version v20210629_m310
Complete Release Note
3.9.5 (2020071508)
3.9.5
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071508
Version release name: 3.9.5
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.5
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is the final feature and general bug release for the plugin for Moodle 3.9.
Bug fixes for security issues for Moodle 3.9 versions will continue until 8 May 2023.
This release is part of the Office 365 Moodle plugin suite for Moodle 3.9, version v20210629_m39
Complete Release Note
3.10.1 (2020110901)
3.10.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110901
Version release name: 3.10.1
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This release is part of the Office 365 Moodle plugin suite for Moodle 3.10, version v20210326_m310
Complete Release Note
Please note this version cannot be upgraded directly from 3.8.0.1 release (version 2020020301) or earlier. If you have a version of the plugin prior this it, please upgrade to the 3.8.0.1 or 3.10.0 first, before upgrading to this release.
3.9.4 (2020071506)
3.9.4
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071506
Version release name: 3.9.4
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.4
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This release is part of the Office 365 Moodle plugin suite for Moodle 3.9, version v20210326_m39
Complete Release Note
Please note this version cannot be upgraded directly from 3.8.0.1 release (version 2020020301) or earlier. If you have a version of the plugin prior this it, please upgrade to the 3.8.0.1 or 3.9.0 first, before upgrading to this release.
3.10.0 (2020110900)
3.10.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020110900
Version release name: 3.10.0
Maturity: Stable
Supported Moodle versions: 3.10
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.10.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This release is part of the Office 365 Moodle plugin suite for Moodle 3.10, version v20210128_m310
Complete Release Note
3.9.3 (2020071505)
3.9.3
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071505
Version release name: 3.9.3
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.3
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This release is part of the Office 365 Moodle plugin suite for Moodle 3.9, version v20210128_m39
Complete Release Note
3.9.2 (2020071504)
3.9.2
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071504
Version release name: 3.9.2
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.2
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
Office 365 and Azure Active Directory Plugins for Moodle
o365 Local Plugin
This plugin provides libraries and services and power other Office 365 plugins. In addition to providing implementations of Office 365 apis, this plugin handles a wide variety of Moodle events to fully integrate Office 365 into a Moodle installation.
This is part of the suite of Office 365 plugins for Moodle.
This repository is updated with stable releases. To follow active development, see: https://github.com/Microsoft/o365-moodle
Installation
- Unpack the plugin into /local/o365 within your Moodle install.
- From the Moodle Administration block, expand Site Administration and click "Notifications".
- Follow the on-screen instuctions to install the plugin.
For more documentation, visit https://docs.moodle.org/34/en/Office365
For more information including support and instructions on how to contribute, please see: https://github.com/Microsoft/o365-moodle/blob/master/README.md
Issues and Contributing
Please post issues for this plugin to: https://github.com/Microsoft/o365-moodle/issues/
Pull requests for this plugin should be submitted against our main repository: https://github.com/Microsoft/o365-moodle
Copyright
© Microsoft, Inc. Code for this plugin is licensed under the GPLv3 license.
Any Microsoft trademarks and logos included in these plugins are property of Microsoft and should not be reused, redistributed, modified, repurposed, or otherwise altered or used outside of this plugin.
3.9.1 (2020071502)
3.9.1
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071502
Version release name: 3.9.1
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.1
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This is part of the Office 365 Moodle plugin suite for Moodle 3.9, version v20200929_m39
This release contains major changes in Teams SSO, and require action if Moodle and Teams integration is used. Details are at https://docs.moodle.org/38/en/Office365#3.8.0.4_and_3.9.1_release.
This release also contains a major change on how Teams owners and members are determined. Two new capabilities are introduced for owners and members respectively. The default setting matches the current situation, with editingteacher role having owner capability, and student role having member capability, but this can be customised.
Note:
- Bug fixes for general bugs for 3.9.x versions (for Moodle 3.9.x) will end 10 May 2021.
- Bug fixes for security issues in 3.9.x versions (for Moodle 3.9.x) will end 8 May 2023.
3.9.0 (2020071500)
3.9.0
Plugin type: Local plugins
Frankenstyle component name: local_o365
Version build number: 2020071500
Version release name: 3.9.0
Maturity: Stable
Supported Moodle versions: 3.9
Repository URL (Git): https://github.com/Microsoft/moodle-local_o365
Repository branch:
Repository tag: v3.9.0
Issue/bug tracker URL: https://github.com/Microsoft/o365-moodle/issues
This release is part of the Office 365 Moodle plugin suite for Moodle 3.9, version v20200716_m39
Note:
- Bug fixes for general bugs for 3.9.x versions (for Moodle 3.9.x) will end 10 May 2021.
- Bug fixes for security issues in 3.9.x versions (for Moodle 3.9.x) will end 8 May 2023.