diff --git a/UPGRADING.md b/UPGRADING.md index c32fed5010781..a10d22b26bcdc 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -23,6 +23,13 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt This prevents display of the title in all layouts except `secure`. For more information see [MDL-75610](https://tracker.moodle.org/browse/MDL-75610) +- A new core\ip_utils::normalize_internet_address() method is created to sanitize an IP address, a range of IP addresses, a domain name or a wildcard domain matching pattern. + + Moodle previously allowed entries such as 192.168. or .moodle.org for certain variables (eg: $CFG->proxybypass). Since MDL-74289, these formats are no longer allowed. This method converts this informations into an authorized format. For example, 192.168. becomes 192.168.0.0/16 and .moodle.org becomes *.moodle.org. + + Also a new core\ip_utils::normalize_internet_address_list() method is created. Based on core\ip_utils::normalize_internet_address(), this method normalizes a string containing a series of Internet addresses. + + For more information see [MDL-79121](https://tracker.moodle.org/browse/MDL-79121) - The deprecated implementation in course/view.php, which uses the extern_server_course function to handle routing between internal and external courses, can be improved by utilizing the Hook API. This enhancement is essential for a project involving multiple universities, as the Hook API provides a more generalized and flexible approach to route users to external courses from within other plugins. For more information see [MDL-83473](https://tracker.moodle.org/browse/MDL-83473) @@ -32,6 +39,9 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - The {user_preferences}.value database field is now TEXT instead of CHAR. This means that any queries with a condition on this field in a WHERE or JOIN statement will need updating to use `$DB->sql_compare_text()`. See the `$newusers` query in `\core\task\send_new_users_password_task::execute` for an example. For more information see [MDL-46739](https://tracker.moodle.org/browse/MDL-46739) +- The `core_renderer::tag_list` function now has a new parameter named `displaylink`. When `displaylink` is set to `true`, the tag name will be displayed as a clickable hyperlink. Otherwise, it will be rendered as plain text. + + For more information see [MDL-75075](https://tracker.moodle.org/browse/MDL-75075) - All uses of the following PHPUnit methods have been removed as these methods are deprecated upstream without direct replacement: @@ -42,6 +52,24 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt Any plugin using these methods must update their uses. For more information see [MDL-81308](https://tracker.moodle.org/browse/MDL-81308) +- The Moodle subplugins.json format has been updated to accept a new `subplugintypes` object. + + This should have the same format as the current `plugintypes` format, except that the paths should be relative to the _plugin_ root instead of the Moodle document root. + + Both options can co-exist, but if both are present they must be kept in-sync. + + ```json + { + "subplugintypes": { + "tiny": "plugins" + }, + "plugintypes": { + "tiny": "lib/editor/tiny/plugins" + } + } + ``` + + For more information see [MDL-83705](https://tracker.moodle.org/browse/MDL-83705) #### Deprecated @@ -76,9 +104,15 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - moodle_process_email() has been deprecated with the removal of the unused and non-functioning admin/process_email.php. For more information see [MDL-61232](https://tracker.moodle.org/browse/MDL-61232) +- The method `site_registration_form::add_select_with_email()` has been finally deprecated and will now throw an exception if called. + + For more information see [MDL-71472](https://tracker.moodle.org/browse/MDL-71472) - Final deprecation of methods `task_base::is_blocking` and `task_base::set_blocking`. For more information see [MDL-81509](https://tracker.moodle.org/browse/MDL-81509) +- Support for `subplugins.php` files has been removed. All subplugin metadata must be created in a `subplugins.json` file. + + For more information see [MDL-83703](https://tracker.moodle.org/browse/MDL-83703) - set_alignment(), set_constraint() and do_not_enhance() functions have been fully removed from action_menu class. For more information see [MDL-83765](https://tracker.moodle.org/browse/MDL-83765) @@ -146,6 +180,14 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt ### core_question +#### Changed + +- The definition of the abstract `core_question\local\bank\condition` class has changed to make it clearer which methods are required in child classes. + The `get_filter_class` method is no longer declared as abstract, and will return `null` by default to use the base `core/datafilter/filtertype` class. If you have defined this method to return `null` in your own class, it will continue to work, but it is no longer necessary. + `build_query_from_filter` and `get_condition_key` are now declared as abstract, since all filter condition classes must define these (as well as existing abstract methods) to function. Again, exsiting child classes will continue to work if they did before, as they already needed these methods. + + For more information see [MDL-83859](https://tracker.moodle.org/browse/MDL-83859) + #### Deprecated - question_type::generate_test @@ -153,6 +195,9 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt No replacement, not used anywhere in core. For more information see [MDL-71378](https://tracker.moodle.org/browse/MDL-71378) +- Deprecated method `mod_quiz\question\bank\qbank_helper::get_version_options` in favour of `core_question\local\bank\version_options::get_version_options` so that the method is in core rather than a module, and can safely be used from anywhere as required. + + For more information see [MDL-77713](https://tracker.moodle.org/browse/MDL-77713) ### core_reportbuilder @@ -161,6 +206,15 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - New `get_deprecated_tables` method in base entity, to be overridden when an entity no longer uses a table (due to column/filter re-factoring, etc) in order to avoid breaking third-party reports For more information see [MDL-78118](https://tracker.moodle.org/browse/MDL-78118) +- The base aggregation class has a new `column_groupby` method, to be implemented in aggregation types to determime whether report tables should group by the fields of the aggregated column + + For more information see [MDL-83361](https://tracker.moodle.org/browse/MDL-83361) +- There is a new `date` aggregation type, that can be applied in custom and system reports + + For more information see [MDL-83361](https://tracker.moodle.org/browse/MDL-83361) +- The `core_reportbuilder_testcase` class has been moved to new autoloaded `core_reportbuilder\tests\core_reportbuilder_testcase` location, affected tests no longer have to manually require `/reportbuilder/tests/helpers.php` + + For more information see [MDL-84000](https://tracker.moodle.org/browse/MDL-84000) #### Changed @@ -191,6 +245,14 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt For more information see [MDL-80430](https://tracker.moodle.org/browse/MDL-80430) +### core_tag + +#### Changed + +- The `core_tag\taglist` class now includes a new property called `displaylink`, which has a default value of `true`. When `displaylink` is set to `true`, the tag name will be displayed as a clickable hyperlink. If `displaylink` is set to `false`, the tag name will be rendered as plain text instead. + + For more information see [MDL-75075](https://tracker.moodle.org/browse/MDL-75075) + ### block_site_main_menu #### Removed @@ -272,6 +334,9 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Changed +- The `quiz_question_tostring` method now includes a new boolean parameter, `displaytaglink`. This parameter specifies whether the tag name in the question bank should be displayed as a clickable hyperlink (`true`) or as plain text (`false`). + + For more information see [MDL-75075](https://tracker.moodle.org/browse/MDL-75075) - The `\mod_quiz\attempt_walkthrough_from_csv_test` unit test has been marked as final and should not be extended by other tests. All shared functionality has been moved to a new autoloadable test-case: @@ -326,6 +391,23 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt For more information see [MDL-82457](https://tracker.moodle.org/browse/MDL-82457) +### tool_mfa + +#### Added + +- The new factor management table uses `plugin_management_table`, so not only the functions that changed, but the file needs to be moved from `admin/tool/mfa/classes/local/admin_setting_managemfa.php` to `admin/tool/mfa/classes/table/admin_setting_managemfa.php` + + For more information see [MDL-83516](https://tracker.moodle.org/browse/MDL-83516) +- Introduce the new language string `settings:shortdescription`, which is mandatory for each factor. + + For more information see [MDL-83516](https://tracker.moodle.org/browse/MDL-83516) + +#### Deprecated + +- The two language strings in the tool_mfa plugin, namely `inputrequired` and `setuprequired`, are deprecated. + + For more information see [MDL-83516](https://tracker.moodle.org/browse/MDL-83516) + ### tool_mobile #### Removed diff --git a/admin/presets/UPGRADING.md b/admin/presets/UPGRADING.md index b51aa885b8de3..98b5dbe89b7e3 100644 --- a/admin/presets/UPGRADING.md +++ b/admin/presets/UPGRADING.md @@ -7,4 +7,3 @@ - Remove chat and survey from Adminpresets. For more information see [MDL-82457](https://tracker.moodle.org/browse/MDL-82457) - diff --git a/admin/tool/mfa/UPGRADING.md b/admin/tool/mfa/UPGRADING.md new file mode 100644 index 0000000000000..3c7892acdb708 --- /dev/null +++ b/admin/tool/mfa/UPGRADING.md @@ -0,0 +1,19 @@ +# tool_mfa Upgrade notes + +## 5.0dev + +### Added + +- The new factor management table uses `plugin_management_table`, so not only the functions that changed, but the file needs to be moved from `admin/tool/mfa/classes/local/admin_setting_managemfa.php` to `admin/tool/mfa/classes/table/admin_setting_managemfa.php` + + For more information see [MDL-83516](https://tracker.moodle.org/browse/MDL-83516) +- Introduce the new language string `settings:shortdescription`, which is mandatory for each factor. + + For more information see [MDL-83516](https://tracker.moodle.org/browse/MDL-83516) + +### Deprecated + +- The two language strings in the tool_mfa plugin, namely `inputrequired` and `setuprequired`, are deprecated. + + For more information see [MDL-83516](https://tracker.moodle.org/browse/MDL-83516) + diff --git a/admin/tool/mobile/UPGRADING.md b/admin/tool/mobile/UPGRADING.md index ecf0f1f966da2..77b120216fff3 100644 --- a/admin/tool/mobile/UPGRADING.md +++ b/admin/tool/mobile/UPGRADING.md @@ -7,4 +7,3 @@ - Remove chat and survey support from tool_mobile. For more information see [MDL-82457](https://tracker.moodle.org/browse/MDL-82457) - diff --git a/analytics/UPGRADING.md b/analytics/UPGRADING.md index 7fc823f4d0962..b0dab7c1463e9 100644 --- a/analytics/UPGRADING.md +++ b/analytics/UPGRADING.md @@ -7,4 +7,3 @@ - Remove chat and survey from core_analytics. For more information see [MDL-82457](https://tracker.moodle.org/browse/MDL-82457) - diff --git a/blocks/site_main_menu/UPGRADING.md b/blocks/site_main_menu/UPGRADING.md index 620882db02038..ad6bb2ea95ba0 100644 --- a/blocks/site_main_menu/UPGRADING.md +++ b/blocks/site_main_menu/UPGRADING.md @@ -7,4 +7,3 @@ - 'Activity' selector in site_main_menu block has been deleted. For more information see [MDL-83733](https://tracker.moodle.org/browse/MDL-83733) - diff --git a/blocks/social_activities/UPGRADING.md b/blocks/social_activities/UPGRADING.md index 4748233b205b9..a22cc6ce89321 100644 --- a/blocks/social_activities/UPGRADING.md +++ b/blocks/social_activities/UPGRADING.md @@ -7,4 +7,3 @@ - 'Activity' selector in social_activities block has been deleted. For more information see [MDL-83733](https://tracker.moodle.org/browse/MDL-83733) - diff --git a/lib/UPGRADING.md b/lib/UPGRADING.md index 51e986545ff76..392ecfd3a8cdd 100644 --- a/lib/UPGRADING.md +++ b/lib/UPGRADING.md @@ -15,6 +15,13 @@ This prevents display of the title in all layouts except `secure`. For more information see [MDL-75610](https://tracker.moodle.org/browse/MDL-75610) +- A new core\ip_utils::normalize_internet_address() method is created to sanitize an IP address, a range of IP addresses, a domain name or a wildcard domain matching pattern. + + Moodle previously allowed entries such as 192.168. or .moodle.org for certain variables (eg: $CFG->proxybypass). Since MDL-74289, these formats are no longer allowed. This method converts this informations into an authorized format. For example, 192.168. becomes 192.168.0.0/16 and .moodle.org becomes *.moodle.org. + + Also a new core\ip_utils::normalize_internet_address_list() method is created. Based on core\ip_utils::normalize_internet_address(), this method normalizes a string containing a series of Internet addresses. + + For more information see [MDL-79121](https://tracker.moodle.org/browse/MDL-79121) - The deprecated implementation in course/view.php, which uses the extern_server_course function to handle routing between internal and external courses, can be improved by utilizing the Hook API. This enhancement is essential for a project involving multiple universities, as the Hook API provides a more generalized and flexible approach to route users to external courses from within other plugins. For more information see [MDL-83473](https://tracker.moodle.org/browse/MDL-83473) @@ -24,6 +31,9 @@ - The {user_preferences}.value database field is now TEXT instead of CHAR. This means that any queries with a condition on this field in a WHERE or JOIN statement will need updating to use `$DB->sql_compare_text()`. See the `$newusers` query in `\core\task\send_new_users_password_task::execute` for an example. For more information see [MDL-46739](https://tracker.moodle.org/browse/MDL-46739) +- The `core_renderer::tag_list` function now has a new parameter named `displaylink`. When `displaylink` is set to `true`, the tag name will be displayed as a clickable hyperlink. Otherwise, it will be rendered as plain text. + + For more information see [MDL-75075](https://tracker.moodle.org/browse/MDL-75075) - All uses of the following PHPUnit methods have been removed as these methods are deprecated upstream without direct replacement: @@ -34,6 +44,24 @@ Any plugin using these methods must update their uses. For more information see [MDL-81308](https://tracker.moodle.org/browse/MDL-81308) +- The Moodle subplugins.json format has been updated to accept a new `subplugintypes` object. + + This should have the same format as the current `plugintypes` format, except that the paths should be relative to the _plugin_ root instead of the Moodle document root. + + Both options can co-exist, but if both are present they must be kept in-sync. + + ```json + { + "subplugintypes": { + "tiny": "plugins" + }, + "plugintypes": { + "tiny": "lib/editor/tiny/plugins" + } + } + ``` + + For more information see [MDL-83705](https://tracker.moodle.org/browse/MDL-83705) ### Deprecated @@ -68,9 +96,15 @@ - moodle_process_email() has been deprecated with the removal of the unused and non-functioning admin/process_email.php. For more information see [MDL-61232](https://tracker.moodle.org/browse/MDL-61232) +- The method `site_registration_form::add_select_with_email()` has been finally deprecated and will now throw an exception if called. + + For more information see [MDL-71472](https://tracker.moodle.org/browse/MDL-71472) - Final deprecation of methods `task_base::is_blocking` and `task_base::set_blocking`. For more information see [MDL-81509](https://tracker.moodle.org/browse/MDL-81509) +- Support for `subplugins.php` files has been removed. All subplugin metadata must be created in a `subplugins.json` file. + + For more information see [MDL-83703](https://tracker.moodle.org/browse/MDL-83703) - set_alignment(), set_constraint() and do_not_enhance() functions have been fully removed from action_menu class. For more information see [MDL-83765](https://tracker.moodle.org/browse/MDL-83765) diff --git a/mod/quiz/UPGRADING.md b/mod/quiz/UPGRADING.md index 1f23c3928c170..1459684c0b61c 100644 --- a/mod/quiz/UPGRADING.md +++ b/mod/quiz/UPGRADING.md @@ -4,6 +4,9 @@ ### Changed +- The `quiz_question_tostring` method now includes a new boolean parameter, `displaytaglink`. This parameter specifies whether the tag name in the question bank should be displayed as a clickable hyperlink (`true`) or as plain text (`false`). + + For more information see [MDL-75075](https://tracker.moodle.org/browse/MDL-75075) - The `\mod_quiz\attempt_walkthrough_from_csv_test` unit test has been marked as final and should not be extended by other tests. All shared functionality has been moved to a new autoloadable test-case: diff --git a/question/UPGRADING.md b/question/UPGRADING.md index 5f1503d10c21d..2ad6de938e055 100644 --- a/question/UPGRADING.md +++ b/question/UPGRADING.md @@ -2,6 +2,14 @@ ## 5.0dev +### Changed + +- The definition of the abstract `core_question\local\bank\condition` class has changed to make it clearer which methods are required in child classes. + The `get_filter_class` method is no longer declared as abstract, and will return `null` by default to use the base `core/datafilter/filtertype` class. If you have defined this method to return `null` in your own class, it will continue to work, but it is no longer necessary. + `build_query_from_filter` and `get_condition_key` are now declared as abstract, since all filter condition classes must define these (as well as existing abstract methods) to function. Again, exsiting child classes will continue to work if they did before, as they already needed these methods. + + For more information see [MDL-83859](https://tracker.moodle.org/browse/MDL-83859) + ### Deprecated - question_type::generate_test @@ -9,6 +17,9 @@ No replacement, not used anywhere in core. For more information see [MDL-71378](https://tracker.moodle.org/browse/MDL-71378) +- Deprecated method `mod_quiz\question\bank\qbank_helper::get_version_options` in favour of `core_question\local\bank\version_options::get_version_options` so that the method is in core rather than a module, and can safely be used from anywhere as required. + + For more information see [MDL-77713](https://tracker.moodle.org/browse/MDL-77713) ## 4.5 diff --git a/reportbuilder/UPGRADING.md b/reportbuilder/UPGRADING.md index a17aae72ce8f5..22969cbc15b20 100644 --- a/reportbuilder/UPGRADING.md +++ b/reportbuilder/UPGRADING.md @@ -7,6 +7,15 @@ - New `get_deprecated_tables` method in base entity, to be overridden when an entity no longer uses a table (due to column/filter re-factoring, etc) in order to avoid breaking third-party reports For more information see [MDL-78118](https://tracker.moodle.org/browse/MDL-78118) +- The base aggregation class has a new `column_groupby` method, to be implemented in aggregation types to determime whether report tables should group by the fields of the aggregated column + + For more information see [MDL-83361](https://tracker.moodle.org/browse/MDL-83361) +- There is a new `date` aggregation type, that can be applied in custom and system reports + + For more information see [MDL-83361](https://tracker.moodle.org/browse/MDL-83361) +- The `core_reportbuilder_testcase` class has been moved to new autoloaded `core_reportbuilder\tests\core_reportbuilder_testcase` location, affected tests no longer have to manually require `/reportbuilder/tests/helpers.php` + + For more information see [MDL-84000](https://tracker.moodle.org/browse/MDL-84000) ### Changed diff --git a/tag/UPGRADING.md b/tag/UPGRADING.md new file mode 100644 index 0000000000000..8d8f432d5bfce --- /dev/null +++ b/tag/UPGRADING.md @@ -0,0 +1,10 @@ +# core_tag (subsystem) Upgrade notes + +## 5.0dev + +### Changed + +- The `core_tag\taglist` class now includes a new property called `displaylink`, which has a default value of `true`. When `displaylink` is set to `true`, the tag name will be displayed as a clickable hyperlink. If `displaylink` is set to `false`, the tag name will be rendered as plain text instead. + + For more information see [MDL-75075](https://tracker.moodle.org/browse/MDL-75075) +