From 3a6640c461b7870df1c878485f6d030dda54c6fe Mon Sep 17 00:00:00 2001 From: Huong Nguyen Date: Fri, 4 Oct 2024 21:03:11 +0700 Subject: [PATCH] NOBUG: Add upgrade notes --- UPGRADING.md | 758 ++++++++++---------- admin/roles/UPGRADING.md | 14 +- admin/tool/UPGRADING.md | 2 +- admin/tool/behat/UPGRADING.md | 2 +- admin/tool/mfa/factor/sms/UPGRADING.md | 7 +- admin/tool/oauth2/UPGRADING.md | 4 +- availability/UPGRADING.md | 4 +- availability/condition/UPGRADING.md | 4 +- backup/util/ui/UPGRADING.md | 14 +- badges/UPGRADING.md | 16 +- cache/UPGRADING.md | 69 +- communication/UPGRADING.md | 4 +- completion/UPGRADING.md | 4 +- course/UPGRADING.md | 28 +- course/format/UPGRADING.md | 18 +- customfield/UPGRADING.md | 4 +- customfield/field/number/UPGRADING.md | 10 +- customfield/field/select/UPGRADING.md | 4 +- files/UPGRADING.md | 2 +- filter/UPGRADING.md | 4 +- grade/UPGRADING.md | 14 +- grade/report/grader/UPGRADING.md | 2 +- grade/report/singleview/UPGRADING.md | 2 +- grade/report/user/UPGRADING.md | 2 +- lib/UPGRADING.md | 343 ++++----- lib/editor/tiny/UPGRADING.md | 4 +- lib/external/UPGRADING.md | 2 +- lib/form/UPGRADING.md | 6 +- lib/table/UPGRADING.md | 7 +- message/UPGRADING.md | 8 +- mod/UPGRADING.md | 2 +- mod/assign/UPGRADING.md | 28 +- mod/bigbluebuttonbn/UPGRADING.md | 6 +- mod/data/UPGRADING.md | 6 +- mod/feedback/UPGRADING.md | 6 +- mod/quiz/UPGRADING.md | 12 + question/UPGRADING.md | 8 +- question/bank/managecategories/UPGRADING.md | 28 +- report/UPGRADING.md | 18 +- report/eventlist/UPGRADING.md | 6 +- report/log/UPGRADING.md | 4 +- reportbuilder/UPGRADING.md | 46 +- repository/onedrive/UPGRADING.md | 6 +- sms/UPGRADING.md | 4 +- theme/UPGRADING.md | 9 +- theme/boost/UPGRADING.md | 7 +- user/UPGRADING.md | 14 +- 47 files changed, 834 insertions(+), 738 deletions(-) create mode 100644 mod/quiz/UPGRADING.md diff --git a/UPGRADING.md b/UPGRADING.md index 10531f5b89f..5bed427b1de 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -6,21 +6,21 @@ More detailed information on key changes can be found in the [Developer update n The format of this change log follows the advice given at [Keep a CHANGELOG](https://keepachangelog.com). -## 4.5rc1 +## 4.5rc2 ### core #### Added -- Add `\core_user::get_name_placeholders()` to return an array of user name fields. +- A new method, `\core_user::get_name_placeholders()`, has been added to return an array of user name fields. For more information see [MDL-64148](https://tracker.moodle.org/browse/MDL-64148) - The following classes have been renamed and now support autoloading. Existing classes are currently unaffected. - | Old class name | New class name | - | --- | --- | - | `\core_component` | `\core\component` | + | Old class name | New class name | + | --- | --- | + | `\core_component` | `\core\component` | For more information see [MDL-66903](https://tracker.moodle.org/browse/MDL-66903) - Added the ability for unit tests to autoload classes in the `\[component]\tests\` @@ -40,16 +40,16 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - Added stored progress bars For more information see [MDL-70854](https://tracker.moodle.org/browse/MDL-70854) -- Two new functions have been introduced in the \moodle_database class: - - `get_counted_records_sql()` - - `get_counted_recordset_sql()` +- Two new functions have been introduced in the `\moodle_database` class: + - `\moodle_database::get_counted_records_sql()` + - `\moodle_database::get_counted_recordset_sql()` These methods are compatible with all databases. - They will check the current running database engine and apply the COUNT window function if it is supported, - otherwise, they will use the usual COUNT function. + They will check the current running database engine and apply the `COUNT` window function if it is supported, + otherwise, they will use the usual `COUNT` function. - The COUNT window function optimization is applied to the following databases: + The `COUNT` window function optimization is applied to the following databases: - PostgreSQL - MariaDB - Oracle @@ -61,30 +61,27 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - The `after_config()` callback has been converted to a hook, `\core\hook\after_config`. For more information see [MDL-79011](https://tracker.moodle.org/browse/MDL-79011) -- The `\core\output\select_menu` widget now supports rendering dividers between menu options. Empty elements (null or empty strings) within the array of options are considered and rendered as dividers in the dropdown menu. +- The `\core\output\select_menu` widget now supports rendering dividers between menu options. Empty elements (`null` or empty strings) within the array of options are considered and rendered as dividers in the dropdown menu. For more information see [MDL-80747](https://tracker.moodle.org/browse/MDL-80747) -- The `core\output\select_menu` widget now supports a new feature: inline labels. You can render the label inside the combobox widget by passing `true` to the `$inlinelabel` parameter when calling the `->set_label()` method. +- The `\core\output\select_menu` widget now supports a new feature: inline labels. You can render the label inside the combobox widget by passing `true` to the `$inlinelabel` parameter when calling the `->set_label()` method. For more information see [MDL-80747](https://tracker.moodle.org/browse/MDL-80747) -- A new hook called `core\hook\output\after_http_headers` has been created. This hook allow plugins to modify the content after headers are sent. +- A new hook called `\core\hook\output\after_http_headers` has been created. This hook allow plugins to modify the content after headers are sent. For more information see [MDL-80890](https://tracker.moodle.org/browse/MDL-80890) - The following classes have been renamed. Existing classes are currently unaffected. - | Old class name | New class name | - | --- | --- | - | `\core_user` | `\core\user` | + | Old class name | New class name | + | --- | --- | + | `\core_user` | `\core\user` | For more information see [MDL-81031](https://tracker.moodle.org/browse/MDL-81031) -- New DML constant `SQL_INT_MAX` to define the size of a large integer with cross database platform support +- New DML constant `SQL_INT_MAX` to define the size of a large integer with cross database platform support. For more information see [MDL-81282](https://tracker.moodle.org/browse/MDL-81282) -- The function `update_display_mode` will update the eye icon (enabled/disabled) in the availability. The `$pluginname` is represented to the plugin need to update. The `$displaymode` is represented to the eye icon. Whether it enabled or disabled. - - For more information see [MDL-81533](https://tracker.moodle.org/browse/MDL-81533) -- Added an `exception` L2 Namespace to APIs +- Added a new `exception` L2 Namespace to APIs. For more information see [MDL-81903](https://tracker.moodle.org/browse/MDL-81903) - Added a mechanism to support autoloading of legacy class files. @@ -106,129 +103,141 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - `\webservice_parameter_exception` For more information see [MDL-81919](https://tracker.moodle.org/browse/MDL-81919) -- The following classes have been moved into the `\core` namespace and now support autoloading: +- The following classes are now also available in the `\core\` namespace and support autoloading: - - `emoticon_manager` - - `lang_string` + | Old class name | New class name | + | --- | --- | + | `\emoticon_manager` | `\core\emoticon_manager` | + | `\lang_string` | `\core\lang_string` | For more information see [MDL-81920](https://tracker.moodle.org/browse/MDL-81920) -- The following classes have been renamed and now support autoloading. Existing classes are currently unaffected. - | Old class name | New class name | - | --- | --- | - | `\moodle_url` | `\core\url` | - | `\progress_trace` | `\core\output\progress_trace` | - | `\combined_progress_trace` | `\core\output\progress_trace\combined_progress_trace` | - | `\error_log_progress_trace` | `\core\output\progress_trace\error_log_progress_trace` | - | `\html_list_progress_trace` | `\core\output\progress_trace\html_list_progress_trace` | - | `\html_progress_trace` | `\core\output\progress_trace\html_progress_trace` | - | `\null_progress_trace` | `\core\output\progress_trace\null_progress_trace` | - | `\progress_trace_buffer` | `\core\output\progress_trace\progress_trace_buffer` | - | `\text_progress_trace` | `\core\output\progress_trace\text_progress_trace` | +- The following classes have been renamed and now support autoloading. + Existing classes are currently unaffected. + + | Old class name | New class name | + | --- | --- | + | `\moodle_url` | `\core\url` | + | `\progress_trace` | `\core\output\progress_trace` | + | `\combined_progress_trace` | `\core\output\progress_trace\combined_progress_trace` | + | `\error_log_progress_trace` | `\core\output\progress_trace\error_log_progress_trace` | + | `\html_list_progress_trace` | `\core\output\progress_trace\html_list_progress_trace` | + | `\html_progress_trace` | `\core\output\progress_trace\html_progress_trace` | + | `\null_progress_trace` | `\core\output\progress_trace\null_progress_trace` | + | `\progress_trace_buffer` | `\core\output\progress_trace\progress_trace_buffer` | + | `\text_progress_trace` | `\core\output\progress_trace\text_progress_trace` | For more information see [MDL-81960](https://tracker.moodle.org/browse/MDL-81960) -- The following classes are now also available in the following new locations. They will continue to work in their old locations: - | Old classname | New classname | - | --- | --- | - | `\action_link` | `\core\output\action_link` | - | `\action_menu_filler` | `\core\output\action_menu\filler` | - | `\action_menu_link_primary` | `\core\output\action_menu\link_primary` | - | `\action_menu_link_secondary` | `\core\output\action_menu\link_secondary` | - | `\action_menu_link` | `\core\output\action_menu\link` | - | `\action_menu` | `\core\output\action_menu` | - | `\block_contents` | `\core_block\output\block_contents` | - | `\block_move_target` | `\core_block\output\block_move_target` | - | `\component_action` | `\core\output\actions\component_action` | - | `\confirm_action` | `\core\output\actions\confirm_action` | - | `\context_header` | `\core\output\context_header` | - | `\core\output\local\action_menu\subpanel` | `\core\output\action_menu\subpanel` | - | `\core_renderer_ajax` | `\core\output\core_renderer_ajax` | - | `\core_renderer_cli` | `\core\output\core_renderer_cli` | - | `\core_renderer_maintenance` | `\core\output\core_renderer_maintenance` | - | `\core_renderer` | `\core\output\core_renderer` | - | `\custom_menu_item` | `\core\output\custom_menu_item` | - | `\custom_menu` | `\core\output\custom_menu` | - | `\file_picker` | `\core\output\file_picker` | - | `\flexible_table` | `\core_table\flexible_table` | - | `\fragment_requirements_manager` | `\core\output\requirements\fragment_requirements_manager` | - | `\help_icon` | `\core\output\help_icon` | - | `\html_table_cell` | `\core_table\output\html_table_cell` | - | `\html_table_row` | `\core_table\output\html_table_row` | - | `\html_table` | `\core_table\output\html_table` | - | `\html_writer` | `\core\output\html_writer` | - | `\image_icon` | `\core\output\image_icon` | - | `\initials_bar` | `\core\output\initials_bar` | - | `\js_writer` | `\core\output\js_writer` | - | `\page_requirements_manager` | `\core\output\requirements\page_requirements_manager` | - | `\paging_bar` | `\core\output\paging_bar` | - | `\pix_emoticon` | `\core\output\pix_emoticon` | - | `\pix_icon_font` | `\core\output\pix_icon_font` | - | `\pix_icon_fontawesome` | `\core\output\pix_icon_fontawesome` | - | `\pix_icon` | `\core\output\pix_icon` | - | `\plugin_renderer_base` | `\core\output\plugin_renderer_base` | - | `\popup_action` | `\core\output\actions\popup_action` | - | `\preferences_group` | `\core\output\preferences_group` | - | `\preferences_groups` | `\core\output\preferences_groups` | - | `\progress_bar` | `\core\output\progress_bar` | - | `\renderable` | `\core\output\renderable` | - | `\renderer_base` | `\core\output\renderer_base` | - | `\renderer_factory_base` | `\core\output\renderer_factory\renderer_factory_base` | - | `\renderer_factory` | `\core\output\renderer_factory\renderer_factory_interface` | - | `\single_button` | `\core\output\single_button` | - | `\single_select` | `\core\output\single_select` | - | `\standard_renderer_factory` | `\core\output\renderer_factory\standard_renderer_factory` | - | `\table_dataformat_export_format` | `\core_table\dataformat_export_format` | - | `\table_default_export_format_parent` | `\core_table\base_export_format` | - | `\table_sql` | `\core_table\sql_table` | - | `\tabobject` | `\core\output\tabobject` | - | `\tabtree` | `\core\output\tabtree` | - | `\templatable` | `\core\output\templatable` | - | `\theme_config` | `\core\output\theme_config` | - | `\theme_overridden_renderer_factory` | `\core\output\renderer_factory\theme_overridden_renderer_factory` | - | `\url_select` | `\core\output\url_select` | - | `\user_picture` | `\core\output\user_picture` | - | `\xhtml_container_stack` | `\core\output\xhtml_container_stack` | - | `\YUI_config` | `\core\output\requirements\yui` | +- The following classes are now also available in the following new + locations. They will continue to work in their old locations: + + | Old classname | New classname | + | --- | --- | + | `\action_link` | `\core\output\action_link` | + | `\action_menu_filler` | `\core\output\action_menu\filler` | + | `\action_menu_link_primary` | `\core\output\action_menu\link_primary` | + | `\action_menu_link_secondary` | `\core\output\action_menu\link_secondary` | + | `\action_menu_link` | `\core\output\action_menu\link` | + | `\action_menu` | `\core\output\action_menu` | + | `\block_contents` | `\core_block\output\block_contents` | + | `\block_move_target` | `\core_block\output\block_move_target` | + | `\component_action` | `\core\output\actions\component_action` | + | `\confirm_action` | `\core\output\actions\confirm_action` | + | `\context_header` | `\core\output\context_header` | + | `\core\output\local\action_menu\subpanel` | `\core\output\action_menu\subpanel` | + | `\core_renderer_ajax` | `\core\output\core_renderer_ajax` | + | `\core_renderer_cli` | `\core\output\core_renderer_cli` | + | `\core_renderer_maintenance` | `\core\output\core_renderer_maintenance` | + | `\core_renderer` | `\core\output\core_renderer` | + | `\custom_menu_item` | `\core\output\custom_menu_item` | + | `\custom_menu` | `\core\output\custom_menu` | + | `\file_picker` | `\core\output\file_picker` | + | `\flexible_table` | `\core_table\flexible_table` | + | `\fragment_requirements_manager` | `\core\output\requirements\fragment_requirements_manager` | + | `\help_icon` | `\core\output\help_icon` | + | `\html_table_cell` | `\core_table\output\html_table_cell` | + | `\html_table_row` | `\core_table\output\html_table_row` | + | `\html_table` | `\core_table\output\html_table` | + | `\html_writer` | `\core\output\html_writer` | + | `\image_icon` | `\core\output\image_icon` | + | `\initials_bar` | `\core\output\initials_bar` | + | `\js_writer` | `\core\output\js_writer` | + | `\page_requirements_manager` | `\core\output\requirements\page_requirements_manager` | + | `\paging_bar` | `\core\output\paging_bar` | + | `\pix_emoticon` | `\core\output\pix_emoticon` | + | `\pix_icon_font` | `\core\output\pix_icon_font` | + | `\pix_icon_fontawesome` | `\core\output\pix_icon_fontawesome` | + | `\pix_icon` | `\core\output\pix_icon` | + | `\plugin_renderer_base` | `\core\output\plugin_renderer_base` | + | `\popup_action` | `\core\output\actions\popup_action` | + | `\preferences_group` | `\core\output\preferences_group` | + | `\preferences_groups` | `\core\output\preferences_groups` | + | `\progress_bar` | `\core\output\progress_bar` | + | `\renderable` | `\core\output\renderable` | + | `\renderer_base` | `\core\output\renderer_base` | + | `\renderer_factory_base` | `\core\output\renderer_factory\renderer_factory_base` | + | `\renderer_factory` | `\core\output\renderer_factory\renderer_factory_interface` | + | `\single_button` | `\core\output\single_button` | + | `\single_select` | `\core\output\single_select` | + | `\standard_renderer_factory` | `\core\output\renderer_factory\standard_renderer_factory` | + | `\table_dataformat_export_format` | `\core_table\dataformat_export_format` | + | `\table_default_export_format_parent` | `\core_table\base_export_format` | + | `\table_sql` | `\core_table\sql_table` | + | `\tabobject` | `\core\output\tabobject` | + | `\tabtree` | `\core\output\tabtree` | + | `\templatable` | `\core\output\templatable` | + | `\theme_config` | `\core\output\theme_config` | + | `\theme_overridden_renderer_factory` | `\core\output\renderer_factory\theme_overridden_renderer_factory` | + | `\url_select` | `\core\output\url_select` | + | `\user_picture` | `\core\output\user_picture` | + | `\xhtml_container_stack` | `\core\output\xhtml_container_stack` | + | `\YUI_config` | `\core\output\requirements\yui` | For more information see [MDL-82183](https://tracker.moodle.org/browse/MDL-82183) -- A new method, `get_deprecated_icons()`, has been added to the icon_system class. All deprecated icons should be registered through this method. +- A new method, `\core\output\::get_deprecated_icons()`, has been added to the `icon_system` class. All deprecated icons should be registered through this method. Plugins can implement a callback to `pluginname_get_deprecated_icons()` to register their deprecated icons too. When `$CFG->debugpageinfo` is enabled, a console message will display a list of the deprecated icons. For more information see [MDL-82212](https://tracker.moodle.org/browse/MDL-82212) -- Add optional icon and title to notification. Two parameters have been added to the `core\output\notification` so when creating a notification you can pass an icon and a title. +- Two new optional parameters have been added to the `\core\output\notification` constructor: + - `null|string $title` - `null|string $icon` For more information see [MDL-82297](https://tracker.moodle.org/browse/MDL-82297) -- Add `set_disabled_option` method to `url_select` to enable or disable an option from its url (the key for the option). +- A new method, `\url_select::set_disabled_option()`, has been added to enable or disable an option from its url (the key for the option). For more information see [MDL-82490](https://tracker.moodle.org/browse/MDL-82490) -- There is a new method called `get_fixture_path()` that supports getting the path to the fixture +- A new static method, `\advanced_testcase::get_fixture_path()`, has been added to enable unit tests to fetch the path to a fixture. For more information see [MDL-82627](https://tracker.moodle.org/browse/MDL-82627) -- There is a new method called `get_mocked_http_client()` that supports mocking the `http_client` +- A new static method, `\advanced_testcase::get_mocked_http_client()`, has been added to allow unit tests to mock the `\core\http_client` and update the DI container. For more information see [MDL-82627](https://tracker.moodle.org/browse/MDL-82627) - The Moodle autoloader should now be registered using `\core\component::register_autoloader` rather than manually doing so in any exceptional location which requires it. - Note: It is not normally necessaryto include the autoloader manually, as it is registered automatically when the Moodle environment is bootstrapped. + Note: It is not normally necessary to include the autoloader manually, as it is registered automatically when the Moodle environment is bootstrapped. For more information see [MDL-82747](https://tracker.moodle.org/browse/MDL-82747) - A new JS module for interacting with the Routed REST API has been introduced. For more information see the documentation in the `core/fetch` module. For more information see [MDL-82778](https://tracker.moodle.org/browse/MDL-82778) -- The `section_info` class now includes a new method called `get_sequence_cm_infos` that retrieves all `cm_info` instances associated with the course section. +- The `\section_info` class now includes a new method `\section_info::get_sequence_cm_infos()` that retrieves all `\cm_info` instances associated with the course section. For more information see [MDL-82845](https://tracker.moodle.org/browse/MDL-82845) -- When rendering a renderable located within a namespace, the namespace will now be included in the renderer method name with double-underscores separating the namespace parts. +- When rendering a renderable located within a namespace, the namespace + will now be included in the renderer method name with double-underscores + separating the namespace parts. - Note: Only those renderables within an `output` namespace will be considered, for example `\core\output\action_menu\link` and only the parts of the namespace after `output` will be included. + Note: Only those renderables within an `output` namespace will be + considered, for example `\core\output\action_menu\link` and only the + parts of the namespace after `output` will be included. The following are examples of the new behaviour: - | Renderable name | Renderer method name | - | --- | --- | - | `\core\output\action_menu\link` | `render_action_menu__link` | - | `\core\output\action_menu\link_primary` | `render_action_menu__link_primary` | - | `\core\output\action\menu\link` | `render_action__menu__link` | - | `\core\output\user_menu\link` | `render_user_menu__link` | + + | Renderable name | Renderer method name | + | --- | --- | + | `\core\output\action_menu\link` | `render_action_menu__link` | + | `\core\output\action_menu\link_primary` | `render_action_menu__link_primary` | + | `\core\output\action\menu\link` | `render_action__menu__link` | + | `\core\output\user_menu\link` | `render_user_menu__link` | For more information see [MDL-83164](https://tracker.moodle.org/browse/MDL-83164) @@ -242,54 +251,48 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt Autoloaded classes are now available to scripts using the `ABORT_AFTER_CONFIG` constant. For more information see [MDL-80275](https://tracker.moodle.org/browse/MDL-80275) -- The `\core\dataformat::get_format_instance` method is now public, and can be used to retrieve a writer instance for a given dataformat +- The `\core\dataformat::get_format_instance()` method is now public, and can be used to retrieve a writer instance for a given dataformat. For more information see [MDL-81781](https://tracker.moodle.org/browse/MDL-81781) -- The `get_home_page()` method can now return new constant `HOMEPAGE_URL`, applicable when a third-party hook has extended the default homepage options for the site +- The `\get_home_page()` function can now return new constant `HOMEPAGE_URL`, applicable when a third-party hook has extended the default homepage options for the site. - A new method, `get_default_home_page_url()` has been added which will return the correct URL when this constant is returned + A new function, `\get_default_home_page_url()` has been added which will return the correct URL when this constant is returned. For more information see [MDL-82066](https://tracker.moodle.org/browse/MDL-82066) #### Deprecated -- The code that is associated with the slashargument option has been deprecated. Here is the detail: - - The parameter $support of the \url::set_slashargument(). - - The parameter $includeslashargument of the \url::get_path(). - - The $CFG->yuislasharguments configuration. - - For more information see [MDL-62640](https://tracker.moodle.org/browse/MDL-62640) -- Due to the removal of the slashargument configuration, the server check page will no longer inspect the slash argument, - therefore, the function check_slasharguments() is deprecated because it is no longer used. - - For more information see [MDL-62640](https://tracker.moodle.org/browse/MDL-62640) - The following method has been deprecated and should no longer be used: `reset_password_and_mail`. Please consider using `setnew_password_and_mail` as a replacement. For more information see [MDL-64148](https://tracker.moodle.org/browse/MDL-64148) -- - Final deprecation and removal of the following functions: - - `plagiarism_plugin::get_configs()` - - `plagiarism_plugin::get_file_results()` - - `plagiarism_plugin::update_status()`, please use `{plugin name}_before_standard_top_of_body_html` instead. - - Final deprecation and removal of `plagiarism_get_file_results()`. Please use `plagiarism_get_links()` instead. - Final deprecation and removal of `plagiarism_update_status()`. Please use `{plugin name}_before_standard_top_of_body_html()` instead. +- - The following methods have been finally deprecated and removed: + - `\plagiarism_plugin::get_configs()` + - `\plagiarism_plugin::get_file_results()` + - `\plagiarism_plugin::update_status()`, please use `{plugin name}_before_standard_top_of_body_html` instead. + - Final deprecation and removal of `\plagiarism_get_file_results()`. Please use `\plagiarism_get_links()` instead. + - Final deprecation and removal of `\plagiarism_update_status()`. Please use `\{plugin name}_before_standard_top_of_body_html()` instead. For more information see [MDL-71326](https://tracker.moodle.org/browse/MDL-71326) -- `moodle_list` and `list_item` were only used by `qbank_managecategories`, and these usages have been removed, so these classes (and thus all of listlib.php) are now deprecated. This method was the only usage of the `QUESTION_PAGE_LENGTH` constant, which was defined in `question_category_object.php`, and so is also now deprecated. +- `\moodle_list` and `\list_item` were only used by `qbank_managecategories`, and these usages have been removed, so these classes, and the `lib/listlib.php` file have now been deprecated. This method was the only usage of the `QUESTION_PAGE_LENGTH` constant, which was defined in `question_category_object.php`, and so is also now deprecated. For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) -- The `$timeout` property of the `navigation_cache` class has been deprecated. +- The `$timeout` property of the `\navigation_cache` class has been deprecated. For more information see [MDL-79628](https://tracker.moodle.org/browse/MDL-79628) -- The following classes are deprecated as they are handled by core_sms API and smsgateway_aws plugin: - admin_settings_aws_region (lib/classes/aws/admin_settings_aws_region.php) - aws_helper (lib/classes/aws/aws_helper.php) - client_factory (lib/classes/aws/client_factory.php) +- The following classes are deprecated as they are handled by core_sms API and smsgateway_aws plugin: + - `\core\aws\admin_settings_aws_region` + - `\core\aws\aws_helper` + - `\core\aws\client_factory` For more information see [MDL-80962](https://tracker.moodle.org/browse/MDL-80962) -- The following methods have been deprecated, existing usage should switch to secure `\core\encryption` library: +- The following methods have been deprecated, existing usage should switch to use the secure `\core\encryption::encrypt()` and `\core\encryption::decrypt()` static methods: - - `rc4encrypt` - - `rc4decrypt` - - `endecrypt` + - `\rc4encrypt()` + - `\rc4decrypt()` + - `\endecrypt()` For more information see [MDL-81940](https://tracker.moodle.org/browse/MDL-81940) -- The following method has been deprecated and should not be used any longer: `print_grade_menu`. +- The following method has been deprecated and should not be used any longer: `\print_grade_menu()`. For more information see [MDL-82157](https://tracker.moodle.org/browse/MDL-82157) - The following files and their contents have been deprecated: @@ -298,39 +301,40 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - `lib/tokeniserlib.php` For more information see [MDL-82191](https://tracker.moodle.org/browse/MDL-82191) -- The following methods have been formally deprecated: +- The following functions have been initially deprecated: - - `get_core_subsystems` - - `get_plugin_types` - - `get_plugin_list` - - `get_plugin_list_with_class` - - `get_plugin_directory` - - `normalize_component` - - `get_component_directory` - - `get_context_instance` + - `\get_core_subsystems()` + - `\get_plugin_types()` + - `\get_plugin_list()` + - `\get_plugin_list_with_class()` + - `\get_plugin_directory()` + - `\normalize_component()` + - `\get_component_directory()` + - `\get_context_instance()` Note: These methods have been deprecated for a long time, but previously did not emit any deprecation notice. For more information see [MDL-82287](https://tracker.moodle.org/browse/MDL-82287) - The following methods have been finally deprecated and will now throw an exception if called: - - `get_context_instance` - - `can_use_rotated_text` - - `get_system_context` - - `print_arrow` + - `\get_context_instance()` + - `\can_use_rotated_text()` + - `\get_system_context()` + - `\print_arrow()` For more information see [MDL-82287](https://tracker.moodle.org/browse/MDL-82287) - The `global_navigation::load_section_activities` method is now deprecated and replaced by `global_navigation::load_section_activities_navigation`. For more information see [MDL-82845](https://tracker.moodle.org/browse/MDL-82845) -- The following renderer methods have been deprecated from the core renderer: +- The following renderer methods have been deprecated from the core + renderer: - | method | replacement | - | --- | --- | - | `render_action_menu_link` | `render_action_menu__link` | - | `render_action_menu_link_primary` | `render_action_menu__link_primary` | - | `render_action_menu_link_secondary` | `render_action_menu__link_secondary` | - | `render_action_menu_filler` | `render_action_menu__filler` | + | method | replacement | + | --- | --- | + | `render_action_menu_link` | `render_action_menu__link` | + | `render_action_menu_link_primary` | `render_action_menu__link_primary` | + | `render_action_menu_link_secondary` | `render_action_menu__link_secondary` | + | `render_action_menu_filler` | `render_action_menu__filler` | For more information see [MDL-83164](https://tracker.moodle.org/browse/MDL-83164) @@ -339,35 +343,32 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - The previously deprecated function `search_generate_text_SQL` has been removed and can no longer be used. For more information see [MDL-48940](https://tracker.moodle.org/browse/MDL-48940) -- The previously deprecated function `core_text::reset_caches()` has been removed and can no longer be used. +- The previously deprecated function `\core_text::reset_caches()` has been removed and can no longer be used. For more information see [MDL-71748](https://tracker.moodle.org/browse/MDL-71748) - The following previously deprecated methods have been removed and can no longer be used: - - `renderer_base::should_display_main_logo` + - `\renderer_base::should_display_main_logo()` For more information see [MDL-73165](https://tracker.moodle.org/browse/MDL-73165) -- Final deprecation of `print_error()`. Use `moodle_exception` instead. +- Final deprecation of `\print_error()`. Please use the `\moodle_exception` class instead. For more information see [MDL-74484](https://tracker.moodle.org/browse/MDL-74484) -- Final deprecation of `\core\task\manager::ensure_adhoc_task_qos()` +- Final deprecation of `\core\task\manager::ensure_adhoc_task_qos()`. For more information see [MDL-74843](https://tracker.moodle.org/browse/MDL-74843) -- Support for deprecated `\local\views\secondary` block/activity namespace, for overriding secondary navigation, is now entirely removed +- Support for the deprecated block and activity namespaces `\local\views\secondary`, which supported the overriding of secondary navigation, has now been entirely removed. For more information see [MDL-74939](https://tracker.moodle.org/browse/MDL-74939) -- Remove deprecation layer for YUI Events. The deprecation layer was introduced with MDL-70990 and MDL-72291. +- Remove deprecation layer for YUI JS Events. The deprecation layer was introduced with MDL-70990 and MDL-72291. For more information see [MDL-77167](https://tracker.moodle.org/browse/MDL-77167) -- The following test classes are removed as their base classes are deprecated: - admin_settings_aws_region_test (lib/tests/aws/admin_settings_aws_region_test.php) - aws_helper_test (lib/tests/aws/aws_helper_test.php) - - For more information see [MDL-80962](https://tracker.moodle.org/browse/MDL-80962) #### Fixed -- The `navigation_cache` class now uses the Moodle Universal Cache (MUC) to store the navigation cache data instead of storing it in the global `$SESSION` variable. +- The `\navigation_cache` class now uses the Moodle Universal Cache (MUC) to store the navigation cache data instead of storing it in the global `$SESSION` variable. For more information see [MDL-79628](https://tracker.moodle.org/browse/MDL-79628) -- All the setup and tear down methods of `PHPUnit` now are required to, always, call to their parent counterparts. This is a good practice to avoid future problems, especially when updating to PHPUnit >= 10. +- All the `setUp()` and `tearDown()` methods of `PHPUnit` now are required to, always, call to their parent counterparts. This is a good practice to avoid future problems, especially when updating to PHPUnit >= 10. This includes the following methods: - `setUp()` - `tearDown()` @@ -379,19 +380,11 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt For more information see [MDL-81894](https://tracker.moodle.org/browse/MDL-81894) -### core_admin - -#### Removed - -- The HTTP Server setting "Use slash arguments" (slasharguments) configuration setting and related to it has been removed. Calling the option with $CFG->slasharguments or get_config('slasharguments') is no longer available. - - For more information see [MDL-62640](https://tracker.moodle.org/browse/MDL-62640) - ### core_availability #### Removed -- The previously deprecated renderer `render_core_availability_multiple_messages` method has been removed +- The previously deprecated renderer `render_core_availability_multiple_messages` method has been removed. For more information see [MDL-82223](https://tracker.moodle.org/browse/MDL-82223) @@ -399,13 +392,15 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Removed -- Final deprecation and removal of `core_backup\copy\copy` in `backup/util/ui/classes/copy.php`. Please use `copy_helper` from `backup/util/helper/copy_helper.class.php` instead. +- The `\core_backup\copy\copy` class has been deprecated and removed. Please use `\copy_helper` instead. For more information see [MDL-75022](https://tracker.moodle.org/browse/MDL-75022) -- Final deprecation of `base_controller::get_copy()`. Please use `restore_controller::get_copy()` instead. +- The following methods in the `\base_controller` class have been removed: - For more information see [MDL-75025](https://tracker.moodle.org/browse/MDL-75025) -- Final deprecation of `base_controller::set_copy()`. Please use a restore controller for storing copy information instead. + | Method | Replacement | + | --- | --- | + | `\base_controller::set_copy()` | Use a restore controller for storing copy information instead. | + | `\base_controller::get_copy()` | `\restore_controller::get_copy()` | For more information see [MDL-75025](https://tracker.moodle.org/browse/MDL-75025) @@ -413,13 +408,19 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- New webservices `enable_badges` and `disable_badges` have been added. +- The following new webservices have been added: + + - `core_badges_enable_badges` + + - `core_badges_disable_badges` For more information see [MDL-82168](https://tracker.moodle.org/browse/MDL-82168) #### Changed -- Added fields `recipientid` and `recipientfullname` to `user_badge_exporter`, which is used in the return structure of external functions `core_badges_get_user_badge_by_hash` and `core_badges_get_user_badges`. +- New fields have been added to the return structure of the `core_badges_get_user_badge_by_hash` and `core_badges_get_user_badges` external functions: + - `recipientid`: The ID of the user who received the badge. + - `recipientfullname`: The full name of the user who received the badge. For more information see [MDL-82742](https://tracker.moodle.org/browse/MDL-82742) @@ -434,7 +435,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - The `course_badges` systemreport has been deprecated and merged with the badges systemreport. Please, use the badges systemreport instead. For more information see [MDL-82503](https://tracker.moodle.org/browse/MDL-82503) -- The `$showmanage` parameter in the `\core_badges\output\standard_action_bar` constructor has been deprecated and should not be used anymore. +- The `$showmanage` parameter to the `\core_badges\output\standard_action_bar` constructor has been deprecated and should not be used anymore. For more information see [MDL-82503](https://tracker.moodle.org/browse/MDL-82503) - The `badges/view.php` page has been deprecated and merged with `badges/index.php`. Please, use `badges/index.php` instead. @@ -443,7 +444,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Removed -- Final removal of `BADGE_BACKPACKAPIURL` and `BADGE_BACKPACKWEBURL`. +- Final removal of `BADGE_BACKPACKAPIURL` and `BADGE_BACKPACKWEBURL` constants. For more information see [MDL-70983](https://tracker.moodle.org/browse/MDL-70983) @@ -452,41 +453,42 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added - The following classes have been renamed and now support autoloading. + Existing classes are currently unaffected. - | Old class name | New class name | - | --- | --- | - | `\cache_definition` | `\core_cache\definition` | - | `\cache_request` | `\core_cache\request_cache` | - | `\cache_session` | `\core_cache\session_cache` | - | `\cache_cached_object` | `\core_cache\cached_object` | - | `\cache_config` | `\core_cache\config` | - | `\cache_config_writer` | `\core_cache\config_writer` | - | `\cache_config_disabled` | `\core_cache\disabled_config` | - | `\cache_disabled` | `\core_cache\disabled_cache` | - | `\config_writer` | `\core_cache\config_writer` | - | `\cache_data_source` | `\core_cache\data_source_interface` | - | `\cache_data_source_versionable` | `\core_cache\versionable_data_source_interface` | - | `\cache_exception` | `\core_cache\exception/cache_exception` | - | `\cache_factory` | `\core_cache\factory` | - | `\cache_factory_disabled` | `\core_cache\disabled_factory` | - | `\cache_helper` | `\core_cache\helper` | - | `\cache_is_key_aware` | `\core_cache\key_aware_cache_interface` | - | `\cache_is_lockable` | `\core_cache\lockable_cache_interface` | - | `\cache_is_searchable` | `\core_cache\searchable_cache_interface` | - | `\cache_is_configurable` | `\core_cache\configurable_cache_interface` | - | `\cache_loader` | `\core_cache\loader_interface` | - | `\cache_loader_with_locking` | `\core_cache\loader_with_locking_interface` | - | `\cache_lock_interface` | `\core_cache\cache_lock_interface` | - | `\cache_store` | `\core_cache\store` | - | `\cache_store_interface` | `\core_cache\store_interface` | - | `\cache_ttl_wrapper` | `\core_cache\ttl_wrapper` | - | `\cacheable_object` | `\core_cache\cacheable_object_interface` | - | `\cacheable_object_array` | `\core_cache\cacheable_object_array` | - | `\cache_definition_mappings_form` | `\core_cache\form/cache_definition_mappings_form` | - | `\cache_definition_sharing_form` | `\core_cache\form/cache_definition_sharing_form` | - | `\cache_lock_form` | `\core_cache\form/cache_lock_form` | - | `\cache_mode_mappings_form` | `\core_cache\form/cache_mode_mappings_form` | + | Old class name | New class name | + | --- | --- | + | `\cache_definition` | `\core_cache\definition` | + | `\cache_request` | `\core_cache\request_cache` | + | `\cache_session` | `\core_cache\session_cache` | + | `\cache_cached_object` | `\core_cache\cached_object` | + | `\cache_config` | `\core_cache\config` | + | `\cache_config_writer` | `\core_cache\config_writer` | + | `\cache_config_disabled` | `\core_cache\disabled_config` | + | `\cache_disabled` | `\core_cache\disabled_cache` | + | `\config_writer` | `\core_cache\config_writer` | + | `\cache_data_source` | `\core_cache\data_source_interface` | + | `\cache_data_source_versionable` | `\core_cache\versionable_data_source_interface` | + | `\cache_exception` | `\core_cache\exception/cache_exception` | + | `\cache_factory` | `\core_cache\factory` | + | `\cache_factory_disabled` | `\core_cache\disabled_factory` | + | `\cache_helper` | `\core_cache\helper` | + | `\cache_is_key_aware` | `\core_cache\key_aware_cache_interface` | + | `\cache_is_lockable` | `\core_cache\lockable_cache_interface` | + | `\cache_is_searchable` | `\core_cache\searchable_cache_interface` | + | `\cache_is_configurable` | `\core_cache\configurable_cache_interface` | + | `\cache_loader` | `\core_cache\loader_interface` | + | `\cache_loader_with_locking` | `\core_cache\loader_with_locking_interface` | + | `\cache_lock_interface` | `\core_cache\cache_lock_interface` | + | `\cache_store` | `\core_cache\store` | + | `\cache_store_interface` | `\core_cache\store_interface` | + | `\cache_ttl_wrapper` | `\core_cache\ttl_wrapper` | + | `\cacheable_object` | `\core_cache\cacheable_object_interface` | + | `\cacheable_object_array` | `\core_cache\cacheable_object_array` | + | `\cache_definition_mappings_form` | `\core_cache\form/cache_definition_mappings_form` | + | `\cache_definition_sharing_form` | `\core_cache\form/cache_definition_sharing_form` | + | `\cache_lock_form` | `\core_cache\form/cache_lock_form` | + | `\cache_mode_mappings_form` | `\core_cache\form/cache_mode_mappings_form` | For more information see [MDL-82158](https://tracker.moodle.org/browse/MDL-82158) @@ -494,7 +496,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Changed -- The `get_enrolled_users_for_course()` method now accepts an additional argument that can filter only active enrolments. +- The `\core_communication\helper::get_enrolled_users_for_course()` method now accepts an additional argument that can filter only active enrolments. For more information see [MDL-81951](https://tracker.moodle.org/browse/MDL-81951) @@ -508,7 +510,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Changed -- `get_overall_completion_state()` function could also return `COMPLETION_COMPLETE_FAIL` and not only `COMPLETION_COMPLETE` and `COMPLETION_INCOMPLETE` +- The `\core_completion\activity_custom_completion::get_overall_completion_state()` method can now also return `COMPLETION_COMPLETE_FAIL` and not only `COMPLETION_COMPLETE` and `COMPLETION_INCOMPLETE`. For more information see [MDL-81749](https://tracker.moodle.org/browse/MDL-81749) @@ -516,26 +518,28 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- - New optional `sectionNum` parameter has been added to `activitychooser` AMD module initializer. - New option `sectionnum` parameter has been added to `get_course_content_items()` external function. - New optional `sectionnum` parameter has been added to `get_content_items_for_user_in_course()` function. +- - New optional `sectionNum` parameter has been added to `activitychooser` AMD module initializer. + - New option `sectionnum` parameter has been added to `get_course_content_items()` external function. + - New optional `sectionnum` parameter has been added to `get_content_items_for_user_in_course()` function. For more information see [MDL-81675](https://tracker.moodle.org/browse/MDL-81675) -- Webservices `core_course_get_courses_by_field` now accepts a new parameter `sectionid` to be able to retrieve the course that has the indicated section +- The `core_course_get_courses_by_field` web service now accepts a new parameter `sectionid` to be able to retrieve the course that has the indicated section. For more information see [MDL-81699](https://tracker.moodle.org/browse/MDL-81699) - Added new `activitychooserbutton` output class to display the activitychooser button. New `action_links` can be added to the button via hooks converting it into a dropdown. For more information see [MDL-81767](https://tracker.moodle.org/browse/MDL-81767) -- New `\core_course\hook\before_activitychooserbutton_exported` hook added to allow third-party plugins to extend activity chooser button options +- New `\core_course\hook\before_activitychooserbutton_exported` hook added to allow third-party plugins to extend activity chooser button options. For more information see [MDL-81767](https://tracker.moodle.org/browse/MDL-81767) - The following methods have been updated to accept a section name in addition to the section number: - - `i_open_section_edit_menu()` - - `i_show_section()` - - `i_hide_section(),` - - `i_wait_until_section_is_available()` - - `show_section_link_exists()` - - `hide_section_link_exists()` - - `section_exists()` + - `\behat_course::i_open_section_edit_menu()` + - `\behat_course::i_show_section()` + - `\behat_course::i_hide_section(),` + - `\behat_course::i_wait_until_section_is_available()` + - `\behat_course::show_section_link_exists()` + - `\behat_course::hide_section_link_exists()` + - `\behat_course::section_exists()` For more information see [MDL-82259](https://tracker.moodle.org/browse/MDL-82259) @@ -547,7 +551,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - Review all the strings used in the reset page to remove the "Delete" or "Remove" words from them. For more information see [MDL-81872](https://tracker.moodle.org/browse/MDL-81872) -- The external function `core_course::get_course_contents` now returns the `component` and `itemid` of sections. +- The external function `core_course_get_contents` now returns the `component` and `itemid` of sections. For more information see [MDL-82385](https://tracker.moodle.org/browse/MDL-82385) @@ -562,7 +566,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Removed -- The previously deprecated `print_course_request_buttons` method has been removed and can no longer be used +- The previously deprecated `\print_course_request_buttons()` method has been removed and can no longer be used. For more information see [MDL-73976](https://tracker.moodle.org/browse/MDL-73976) - The `$course` class property in the `\core_course\output\actionbar\group_selector` class has been removed. @@ -577,16 +581,24 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt If `istrackeduser` is pre-computed for the course module's course, it can be provided here to avoid an additional function call. For more information see [MDL-81610](https://tracker.moodle.org/browse/MDL-81610) -- Added new `create_module` webservice to create new module (with quickcreate feature) instances in the course. +- Added new `core_courseformat_create_module` webservice to create new module (with quickcreate feature) instances in the course. For more information see [MDL-81767](https://tracker.moodle.org/browse/MDL-81767) -- New `$disabled` parameter has been added to `select`, `select_optgroup` and `select_option` html_writers to create disabled option elements. +- A new `$disabled` parameter has been added to the following `html_writer` methods: + + - `\core\output\html_writer::select()` + - `\core\output\html_writer::select_optgroup()` + - `\core\output\html_writer::select_option()` For more information see [MDL-82146](https://tracker.moodle.org/browse/MDL-82146) -- New `\core_courseformat\output\local\content\basecontrolmenu` class has been created. Existing `\core_courseformat\output\local\content\cm\controlmenu` and `\core_courseformat\output\local\content\section\controlmenu` classes extend the new `\core_courseformat\output\local\content\basecontrolmenu` class. +- A new class, `\core_courseformat\output\local\content\basecontrolmenu`, has been created. + The following existing classes extend the new class: + + - `\core_courseformat\output\local\content\cm\controlmenu` + - `\core_courseformat\output\local\content\section\controlmenu` For more information see [MDL-82510](https://tracker.moodle.org/browse/MDL-82510) -- New `\core_courseformat\output\local\content\cm\delegatedcontrolmenu` class has been created extending `\core_courseformat\output\local\content\basecontrolmenu` class to render delegated section action menu combining section and module action menu. +- Course sections now use an action menu to display possible actions that a user may take in each section. This action menu is rendered using the `\core_courseformat\output\local\content\cm\delegatedcontrolmenu` renderable class. For more information see [MDL-82510](https://tracker.moodle.org/browse/MDL-82510) @@ -594,7 +606,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Changed -- The field controller `get_formatted_name()` method now accepts an optional `$escape` parameter to define whether to escape the returned name +- The field controller `\core_customfield\field_controller::get_formatted_name()` method now accepts an optional `$escape` parameter to define whether to escape the returned name. For more information see [MDL-82488](https://tracker.moodle.org/browse/MDL-82488) @@ -627,7 +639,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Deprecated -- The `filter_manager::text_filtering_hash` method has been finally deprecated and removed. +- The `\core_filters\filter_manager::text_filtering_hash` method has been finally deprecated and removed. For more information see [MDL-82427](https://tracker.moodle.org/browse/MDL-82427) @@ -635,7 +647,9 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- Previously, the `duration` form field type would allow users to input positive or negative durations. However looking at all the uses, everyone was expecting this input type to only accept `times >= 0` seconds, and almost no-one was bothering to write manual form validation, leading to subtle bugs. So now, by default this field type will validate the input value is not negative. If you need the previous behaviour, there is a new option `allownegative` which you can set to true. (The default is false.) +- The `duration` form field type has been modified to validate that the supplied value is a positive value. + Previously it could be any numeric value, but every usage of this field in Moodle was expecting a positive value. When a negative value was provided and accepted, subtle bugs could occur. + Where a negative duration _is_ allowed, the `allownegative` attribute can be set to `true`. For more information see [MDL-82687](https://tracker.moodle.org/browse/MDL-82687) @@ -651,24 +665,24 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Deprecated -- The behat step definition `behat_grade::i_confirm_in_search_within_the_gradebook_widget_exists` has been deprecated. Please use `behat_general::i_confirm_in_search_combobox_exists` instead. +- The behat step definition `\behat_grade::i_confirm_in_search_within_the_gradebook_widget_exists()` has been deprecated. Please use `\behat_general::i_confirm_in_search_combobox_exists()` instead. For more information see [MDL-80744](https://tracker.moodle.org/browse/MDL-80744) -- The behat step definition `behat_grade::i_confirm_in_search_within_the_gradebook_widget_does_not_exist` has been deprecated. Please use `behat_general::i_confirm_in_search_combobox_does_not_exist` instead. +- The behat step definition `\behat_grade::i_confirm_in_search_within_the_gradebook_widget_does_not_exist()` has been deprecated. Please use `\behat_general::i_confirm_in_search_combobox_does_not_exist()` instead. For more information see [MDL-80744](https://tracker.moodle.org/browse/MDL-80744) -- The behat step definition `behat_grade::i_click_on_in_search_widget` has been deprecated. Please use `behat_general::i_click_on_in_search_combobox` instead. +- The behat step definition `\behat_grade::i_click_on_in_search_widget()` has been deprecated. Please use `\behat_general::i_click_on_in_search_combobox()` instead. For more information see [MDL-80744](https://tracker.moodle.org/browse/MDL-80744) -- The `core_grades_renderer::group_selector()` method has been deprecated. Please use `\core_course\output\actionbar\renderer` to render a `group_selector` renderable instead. +- The `\core_grades_renderer::group_selector()` method has been deprecated. Please use `\core_course\output\actionbar\renderer` to render a `group_selector` renderable instead. For more information see [MDL-80745](https://tracker.moodle.org/browse/MDL-80745) #### Removed - The following previously deprecated Behat step helper methods have been removed and can no longer be used: - - `behat_grade::select_in_gradebook_navigation_selector` - - `behat_grade::select_in_gradebook_tabs` + - `\behat_grade::select_in_gradebook_navigation_selector()` + - `\behat_grade::select_in_gradebook_tabs()` For more information see [MDL-74581](https://tracker.moodle.org/browse/MDL-74581) @@ -676,19 +690,19 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Changed -- The `\core_message\helper::togglecontact_link_params` now accepts a new optional param called `isrequested` to indicate the status of the contact request +- The `\core_message\helper::togglecontact_link_params()` method now accepts a new optional `$isrequested` parameter to indicate the status of the contact request. For more information see [MDL-81428](https://tracker.moodle.org/browse/MDL-81428) #### Deprecated -- The `core_message/remove_contact_button` template is deprecated and will be removed in the future version +- The `core_message/remove_contact_button` template is deprecated and will be removed in a future release. For more information see [MDL-81428](https://tracker.moodle.org/browse/MDL-81428) #### Removed -- Final deprecation `MESSAGE_DEFAULT_LOGGEDOFF` / `MESSAGE_DEFAULT_LOGGEDIN`. +- Final deprecation of the `MESSAGE_DEFAULT_LOGGEDOFF`, and `MESSAGE_DEFAULT_LOGGEDIN` constants. For more information see [MDL-73284](https://tracker.moodle.org/browse/MDL-73284) @@ -696,27 +710,39 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- A new utility function `format_question_fragment` has been created so that question content can filter based on filters. +- A new utility function `\question_utils::format_question_fragment()` has been created so that question content can filter based on filters. For more information see [MDL-78662](https://tracker.moodle.org/browse/MDL-78662) #### Changed -- `column_base::from_column_name` now has an `$ignoremissing` parameter, which can be used to ignore if the class does not exist, instead of throwing an exception. +- `\core_question\local\bank\column_base::from_column_name()` method now accepts a `bool $ingoremissing` parameter, which can be used to ignore if the class does not exist, instead of throwing an exception. - For more information see [MDL-81125](https://tracker.moodle.org/browse/MDL-81125) + For more information see [MDL-81407](https://tracker.moodle.org/browse/MDL-81407) ### core_report #### Added -- Report has been added to subsystem components list +- Report has been added to subsystem components list. For more information see [MDL-81771](https://tracker.moodle.org/browse/MDL-81771) -- New `coursestructure` output general class has been created +- A new general output class, `\core_report\output\coursestructure`, has been created. For more information see [MDL-81771](https://tracker.moodle.org/browse/MDL-81771) +#### Changed + +- The `\core\report_helper::print_report_selector()` method accepts a new `$additional`` argument for adding content to the tertiary navigation to align with the report selector. + + For more information see [MDL-78773](https://tracker.moodle.org/browse/MDL-78773) + +#### Removed + +- The previously deprecated `\core\report_helper::save_selected_report()` method has been removed and can no longer be used. + + For more information see [MDL-72353](https://tracker.moodle.org/browse/MDL-72353) + ### core_reportbuilder #### Added @@ -732,13 +758,17 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - `core_reportbuilder_retrieve_report` For more information see [MDL-81433](https://tracker.moodle.org/browse/MDL-81433) -- Added a new database helper method `sql_replace_parameters` to help ensure uniqueness of parameters within a SQL expression +- Added a new database helper method `sql_replace_parameters` to help ensure uniqueness of parameters within a SQL expression. For more information see [MDL-81434](https://tracker.moodle.org/browse/MDL-81434) -- New format helper `format_time` method, for use in column callbacks that represent a duration of time (e.g. "3 days 4 hours") +- A new static method, `\core_reportbuilder\local\helpers\format::format_time()`, has been added for use in column callbacks that represent a duration of time (for example "3 days 4 hours"). For more information see [MDL-82466](https://tracker.moodle.org/browse/MDL-82466) -- Methods `add_columns_from_entity()`, `add_filters_from_entity()` and `report_element_search()` have been moved from `\core_reportbuilder\datasource` class to `\core_reportbuilder\base` class in order to be available also for system reports +- The following methods have been moved from `\core_reportbuilder\datasource` class to its parent class `\core_reportbuilder\base` to make them available for use in system reports: + + - `add_columns_from_entity()` + - `add_filters_from_entity()` + - `report_element_search()` For more information see [MDL-82529](https://tracker.moodle.org/browse/MDL-82529) @@ -751,37 +781,39 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - `number` For more information see [MDL-81168](https://tracker.moodle.org/browse/MDL-81168) -- The base datasource `add_all_from_entities` method accepts a new optional parameter to specify which entities to add elements from +- The base datasource `\core_reportbuilder\datasource::add_all_from_entities()` method accepts a new optional `array $entitynames` parameter to specify which entities to add elements from. For more information see [MDL-81330](https://tracker.moodle.org/browse/MDL-81330) -- All time related code has been updated to the PSR-20 Clock interface, as such the following methods no longer accept a `$timenow` parameter (instead please use `\core\clock` dependency injection): +- All time-related code has been updated to the PSR-20 Clock interface, as such the following methods no longer accept a `$timenow` parameter (instead please use `\core\clock` dependency injection): - `core_reportbuilder_generator::create_schedule` - - `core_reportbuilder\local\helpers\schedule::[create_schedule|calculate_next_send_time]` + - `core_reportbuilder\local\helpers\schedule::create_schedule()` + - `core_reportbuilder\local\helpers\schedule::calculate_next_send_time()` For more information see [MDL-82041](https://tracker.moodle.org/browse/MDL-82041) - The following classes have been moved to use the new exception API as a L2 namespace: - | Old class | New class | - |-----------|-----------| - | `\core_reportbuilder\report_access_exception` | `\core_reportbuilder\exception\report_access_exception` | - | `\core_reportbuilder\source_invalid_exception` | `\core_reportbuilder\exception\source_invalid_exception` | - | `\core_reportbuilder\source_unavailable_exception` | `\core_reportbuilder\exception\source_unavailable_exception` | + + | Old class | New class | + | ----------- | ----------- | + | `\core_reportbuilder\report_access_exception` | `\core_reportbuilder\exception\report_access_exception` | + | `\core_reportbuilder\source_invalid_exception` | `\core_reportbuilder\exception\source_invalid_exception` | + | `\core_reportbuilder\source_unavailable_exception` | `\core_reportbuilder\exception\source_unavailable_exception` | For more information see [MDL-82133](https://tracker.moodle.org/browse/MDL-82133) #### Removed -- Support for the following entity classes, renamed since 4.1, has now been removed completely: +- Support for the following entity classes, renamed since 4.1, have now been removed completely: - - `core_admin\local\entities\task_log` - - `core_cohort\local\entities\cohort` - - `core_cohort\local\entities\cohort_member` - - `core_course\local\entities\course_category` - - `report_configlog\local\entities\config_change` + - `\core_admin\local\entities\task_log` + - `\core_cohort\local\entities\cohort` + - `\core_cohort\local\entities\cohort_member` + - `\core_course\local\entities\course_category` + - `\report_configlog\local\entities\config_change` For more information see [MDL-74583](https://tracker.moodle.org/browse/MDL-74583) - The following previously deprecated local helper methods have been removed and can no longer be used: - - `audience::get_all_audiences_menu_types` - - `report::get_available_columns` + - `\core_reportbuilder\local\helpers\audience::get_all_audiences_menu_types()` + - `\core_reportbuilder\local\helpers\report::get_available_columns()` For more information see [MDL-76690](https://tracker.moodle.org/browse/MDL-76690) @@ -797,12 +829,12 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt `SessionHandlerInterface`, and override methods as required. The following methods in `\core\session\manager` have been deprecated: - | Old method name | New method name | - | --- | --- | - | `kill_all_sessions` | `destroy_all` | - | `kill_session` | `destroy` | - | `kill_sessions_for_auth_plugin` | `destroy_by_auth_plugin` | - | `kill_user_sessions` | `destroy_user_sessions` | + | Old method name | New method name | + | --- | --- | + | `kill_all_sessions` | `destroy_all` | + | `kill_session` | `destroy` | + | `kill_sessions_for_auth_plugin` | `destroy_by_auth_plugin` | + | `kill_user_sessions` | `destroy_user_sessions` | For more information see [MDL-66151](https://tracker.moodle.org/browse/MDL-66151) @@ -810,7 +842,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- A new `\core_sms` subsystem has been created +- A new `\core_sms` subsystem has been created. For more information see [MDL-81924](https://tracker.moodle.org/browse/MDL-81924) @@ -818,14 +850,15 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- A new `$reponsive` property (defaulting to `true`) has been added to the `core_table\flexible_table` class. +- A new `$reponsive` property (defaulting to `true`) has been added to the `\core_table\flexible_table` class. This property allows you to control whether the table is rendered as a responsive table. For more information see [MDL-80748](https://tracker.moodle.org/browse/MDL-80748) #### Changed -- `core_table\dynamic` declares a new method `::has_capability()` to allow classes implementing this interface to perform access checks on the dynamic table. This is a breaking change that all dynamic table implementations must implement for continued functionality. +- The `\core_table\dynamic` class declares a new method `::has_capability()` to allow classes implementing this interface to perform access checks on the dynamic table. + Note: This is a breaking change. All implementations of the `\core_table\dynamic` table interface _must_ implement the new `has_capability(): bool` method for continued functionality. For more information see [MDL-82567](https://tracker.moodle.org/browse/MDL-82567) @@ -833,41 +866,35 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- New `\core_user\hook\extend_user_menu` hook added to allow third party plugin to extend the user menu navigation +- New `\core_user\hook\extend_user_menu` hook added to allow third party plugins to extend the user menu navigation. For more information see [MDL-71823](https://tracker.moodle.org/browse/MDL-71823) -- New `\core_user\hook\extend_default_homepage` hook added to allow third-party plugins to extend the default homepage options for the site +- A new hook, `\core_user\hook\extend_default_homepage`, has been added to allow third-party plugins to extend the default homepage options for the site. For more information see [MDL-82066](https://tracker.moodle.org/browse/MDL-82066) #### Changed -- The visibility of the methods: `check_access_for_dynamic_submission()` and `get_options()` in `\core_user\form\private_files` has been changed from protected to public. +- The visibility of the following methods have been increased to public: + - `\core_user\form\private_files::check_access_for_dynamic_submission()` + - `\core_user\form\private_files::get_options()` For more information see [MDL-78293](https://tracker.moodle.org/browse/MDL-78293) -- The user profile field `display_name()` method now accepts an optional `$escape` parameter to define whether to escape the returned name +- The user profile field `\profile_field_base::display_name()` method now accepts an optional `$escape` parameter to define whether to escape the returned name. For more information see [MDL-82494](https://tracker.moodle.org/browse/MDL-82494) #### Deprecated -- The `participants_search::get_total_participants_count()` is no longer used since the total count can be obtained from `::get_participants()` +- The `\core_user\table\participants_search::get_total_participants_count()` is no longer used since the total count can be obtained from `\core_user\table\participants_search::get_participants()`. For more information see [MDL-78030](https://tracker.moodle.org/browse/MDL-78030) -### core_webservice - -#### Deprecated - -- The `token_table` and `token_filter` classes have been deprecated, in favour of new report builder implementation. - - For more information see [MDL-79496](https://tracker.moodle.org/browse/MDL-79496) - ### availability #### Changed -- The base class `info::get_groups` method has a `$userid` parameter to specify for which user you want to retrieve course groups (defaults to current user) +- The base class `\core_availability\info::get_groups()` method now accepts a `$userid` parameter to specify which user you want to retrieve course groups (defaults to current user). For more information see [MDL-81850](https://tracker.moodle.org/browse/MDL-81850) @@ -875,16 +902,16 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- A new hook, `customfield_number\hook\add_custom_providers`, has been added which allows automatic calculation of number course custom field. +- A new hook, `\customfield_number\hook\add_custom_providers`, has been added which allows automatic calculation of number course custom field. For more information see [MDL-82715](https://tracker.moodle.org/browse/MDL-82715) -- A new class, `\customfield_number\local\numberproviders\nofactivities` has been added that allows to automatically calculate number of activities of a given type in a given course. +- A new class, `\customfield_number\local\numberproviders\nofactivities`, has been added that allows to automatically calculate number of activities of a given type in a given course. For more information see [MDL-82715](https://tracker.moodle.org/browse/MDL-82715) -- Added new webservice `customfield_number_recalculate_value` to recalculate a value of number course custom field. +- Added new webservice `customfield_number_recalculate_value`, has been added to recalculate a value of number course custom field. For more information see [MDL-82715](https://tracker.moodle.org/browse/MDL-82715) -- Added `customfield_number\task\cron` cron task that recalculates automatically calculated number course custom fields. +- A new task, `\customfield_number\task\cron`, cron task that recalculates automatically calculated number course custom fields. For more information see [MDL-82715](https://tracker.moodle.org/browse/MDL-82715) @@ -892,7 +919,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Changed -- The field controller `get_options` method now returns each option pre-formatted +- The field controller `get_options` method now returns each option pre-formatted. For more information see [MDL-82481](https://tracker.moodle.org/browse/MDL-82481) @@ -900,7 +927,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Changed -- The `helplinktext` language string is no longer required by editor plugins, instead the `pluginname` will be used in the help dialogue +- The `helplinktext` language string is no longer required by editor plugins, instead the `pluginname` will be used in the help dialogue. For more information see [MDL-81572](https://tracker.moodle.org/browse/MDL-81572) @@ -908,7 +935,10 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Removed -- The following classes are removed as the SMS feature now takes advantage of core_sms API: - sms_sent (admin/tool/mfa/factor/sms/classes/event/sms_sent.php) - aws_sns (admin/tool/mfa/factor/sms/classes/local/smsgateway/aws_sns.php) - gateway_interface (admin/tool/mfa/factor/sms/classes/local/smsgateway/gateway_interface.php) +- The following classes are removed as the SMS feature now takes advantage of `core_sms` API: + - `\factor_sms\event\sms_sent` + - `\factor_sms\local\smsgateway\aws_sns` + - `\factor_sms\local\smsgateway\gateway_interface` For more information see [MDL-80962](https://tracker.moodle.org/browse/MDL-80962) @@ -956,13 +986,13 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - The value of this setting dictates which of the existing scales is the default option when creating new instances of the assignment. For more information see [MDL-54105](https://tracker.moodle.org/browse/MDL-54105) -- A new web service called `mod_assign_remove_submission` has been created to remove the submission for a specific user ID and assignment activity ID +- A new web service called `mod_assign_remove_submission` has been created to remove the submission for a specific user ID and assignment activity ID. For more information see [MDL-74050](https://tracker.moodle.org/browse/MDL-74050) - A new default value for `attemptreopenmethod` has been set to "Automatically until pass". For more information see [MDL-80741](https://tracker.moodle.org/browse/MDL-80741) -- A new method named `get_grading_batch_operation_details` has been added to the `assign_feedback_plugin` abstract class. Assignment feedback plugins can now override this method to define bulk action buttons that will appear in the sticky footer on the assignment grading page. +- A new method, `\assign_feedback_plugin::get_grading_batch_operation_details()`, has been added to the `assign_feedback_plugin` abstract class. Assignment feedback plugins can now override this method to define bulk action buttons that will appear in the sticky footer on the assignment grading page. For more information see [MDL-80750](https://tracker.moodle.org/browse/MDL-80750) @@ -971,33 +1001,27 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - The constant `ASSIGN_ATTEMPT_REOPEN_METHOD_NONE` has been deprecated, and a new default value for `attemptreopenmethod` has been set to "Automatically until pass". For more information see [MDL-80741](https://tracker.moodle.org/browse/MDL-80741) -- The `assign_feedback_plugin::get_grading_batch_operations` method is now deprecated. Use `assign_feedback_plugin::get_grading_batch_operation_details` instead. +- The `\assign_feedback_plugin::get_grading_batch_operations()` method is now deprecated. Use `assign_feedback_plugin::get_grading_batch_operation_details` instead. For more information see [MDL-80750](https://tracker.moodle.org/browse/MDL-80750) -- The `assign_grading_table::plugingradingbatchoperations` property is removed. You can use `assign_feedback_plugin::get_grading_batch_operation_details` instead. +- The `\assign_grading_table::plugingradingbatchoperations` property has been removed. You can use `\assign_feedback_plugin::get_grading_batch_operation_details()` instead. For more information see [MDL-80750](https://tracker.moodle.org/browse/MDL-80750) -- The `$submissionpluginenabled` and `$submissioncount` parameters from the constructor of the `mod_assign\output::grading_actionmenu` class have been deprecated. +- The `$submissionpluginenabled` and `$submissioncount` parameters from the constructor of the `\mod_assign\output::grading_actionmenu` class have been deprecated. For more information see [MDL-80752](https://tracker.moodle.org/browse/MDL-80752) -- Method `assign_grading_table::col_picture` has been deprecated. - - For more information see [MDL-82292](https://tracker.moodle.org/browse/MDL-82292) -- Method `assign_grading_table::col_userid` has been deprecated. - - For more information see [MDL-82295](https://tracker.moodle.org/browse/MDL-82295) -- The method process_save_grading_options() has been deprecated as it is no longer used. +- The method `\assign::process_save_grading_options()` has been deprecated as it is no longer used. For more information see [MDL-82681](https://tracker.moodle.org/browse/MDL-82681) -- The `mod_assign_grading_options_form` class has been deprecated since it is no longer used. - - For more information see [MDL-82857](https://tracker.moodle.org/browse/MDL-82857) #### Removed -- The default option "Never" for `attemptreopenmethod` setting, which disallowed multiple attempts at the assignment, has been removed. This option was unnecessary because limiting attempts to 1 through the `maxattempts` setting achieves the same behavior. +- The default option "Never" for the `attemptreopenmethod` setting, which disallowed multiple attempts at the assignment, has been removed. This option was unnecessary because limiting attempts to 1 through the `maxattempts` setting achieves the same behavior. For more information see [MDL-80741](https://tracker.moodle.org/browse/MDL-80741) +- The `\mod_assign_grading_options_form` class has been removed since it is no longer used. + + For more information see [MDL-82857](https://tracker.moodle.org/browse/MDL-82857) ### mod_bigbluebuttonbn @@ -1006,13 +1030,13 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt - Added new `meeting_info` value to show presentation file on BBB activity page For more information see [MDL-82520](https://tracker.moodle.org/browse/MDL-82520) -- The process_meeting_events in the broker class has been extended to process all the process_action functions implemented by the plugins. +- The `broker::process_meeting_events()` method has been extended to call the `::process_action()` method implemented by plugins. For more information see [MDL-82872](https://tracker.moodle.org/browse/MDL-82872) #### Removed -- Mobile support via plugin has been removed. +- Mobile support via plugin has been removed as it is now natively available in the Moodle App. For more information see [MDL-82447](https://tracker.moodle.org/browse/MDL-82447) @@ -1020,13 +1044,13 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- The `data_add_record` method accepts a new `$approved` parameter to set the corresponding state of the new record +- The `\data_add_record()` method accepts a new `$approved` parameter to set the corresponding state of the new record. For more information see [MDL-81274](https://tracker.moodle.org/browse/MDL-81274) #### Deprecated -- The `mod_data_renderer::render_fields_footer` method has been deprecated as it's no longer used +- The `\mod_data_renderer::render_fields_footer()` method has been deprecated as it's no longer used. For more information see [MDL-81321](https://tracker.moodle.org/browse/MDL-81321) @@ -1034,72 +1058,68 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Deprecated -- The `feedback_check_is_switchrole` method has been deprecated as it didn't work +- The `\feedback_check_is_switchrole()` function has been deprecated as it didn't work. For more information see [MDL-72424](https://tracker.moodle.org/browse/MDL-72424) -- The method `mod_feedback\output\renderer::create_template_form()` has been deprecated. It is not used anymore. +- The method `\mod_feedback\output\renderer::create_template_form()` has been deprecated. It is not used anymore. For more information see [MDL-81742](https://tracker.moodle.org/browse/MDL-81742) -### output +### mod_quiz #### Added -- Added a new `renderer_base::get_page` getter method +- The following methods of the `quiz_overview_report` class now take a new optional `$slots` parameter used to only regrade some slots in each attempt (default all): + - `\quiz_overview_report::regrade_attempts()` + - `\quiz_overview_report::regrade_batch_of_attempts()` - For more information see [MDL-81597](https://tracker.moodle.org/browse/MDL-81597) + For more information see [MDL-79546](https://tracker.moodle.org/browse/MDL-79546) ### qbank_managecategories #### Changed -- The methods in the `question_category_object` class that are still required following this change have been split between `\qbank_managecategories\question_categories` (for the parts used within this plugin for display a list of categories) and `\core_question\category_manager` (for the parts used for generate CRUD operations on question categories, including outside of this plugin). This will allow `question_category_object` to be deprecated, and avoids other parts of the system wishing to manipulate question categories from having to violate cross-component communication rules. +- The `\qbank_managecategories\question_category_object` class has been deprecated. + Methods previously part of this class have been moved to either + + - `\qbank_managecategories\question_categories`, + for the parts used within this plugin for display a list of categories; or + + `\core_question\category_manager`, + for the parts used for generate CRUD operations on question categories, including outside of this plugin. + + This change will allow `\qbank_managecategories\question_category_object` to be deprecated, and avoids other parts of the system wishing to manipulate question categories from having to violate cross-component communication rules. For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) #### Deprecated - Category lists are now generated by templates. The following classes have been deprecated: - - `question_category_list` - - `question_category_list_item` + - `\qbank_managecategories\question_category_list` + - `\qbank_managecategories\question_category_list_item` For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) -- The methods `question_is_only_child_of_top_category_in_context`, `question_is_top_category` and `question_can_delete_cat` from `qbank_managecategories\helper` class have been deprecated and moved to the `\core_question\category_manager` class, minus the misleading `question_` prefix. Following the creation of this class, it does not make sense for them to live inside the `qbank_managecategories` plugin. +- The following methods of `\qbank_managecategories\helper`have been deprecated and moved to + `\core_question\category_manager`: + + | Method | Replacement | + | --- | --- | + | `question_is_only_child_of_top_category_in_context` | `\core_question\category_manager::is_only_child_of_top_category_in_context` | + | `question_is_top_category` | `\core_question\category_manager::is_top_category` | + | `question_can_delete_cat` | `\core_question\category_manager::can_delete_cat` | For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) -- `qbank_managecategories\question_category_object` is now completely deprecated. Its methods have either been migrated to `qbank_managecategories\question_categories`, `core_question\category_manager`, or are no longer used at all. +- `\qbank_managecategories\question_category_object` is now completely deprecated. Its methods have either been migrated to `\qbank_managecategories\question_categories`, `\core_question\category_manager`, or are no longer used at all. For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) -### quiz - -#### Added - -- The functions `quiz_overview_report::regrade_attempts` and `regrade_batch_of_attempts` now have a new optional parameter $slots to only regrade some slots in each attempt (default all). - - For more information see [MDL-79546](https://tracker.moodle.org/browse/MDL-79546) - -### report - -#### Changed - -- The `report_helper::print_report_selector` method accepts an additional argument for adding content to the tertiary navigation to align with the report selector - - For more information see [MDL-78773](https://tracker.moodle.org/browse/MDL-78773) - -#### Removed - -- The previously deprecated `report_helper::save_selected_report` method has been removed and can no longer be used - - For more information see [MDL-72353](https://tracker.moodle.org/browse/MDL-72353) - ### report_eventlist #### Deprecated - The following deprecated methods in `report_eventlist_list_generator` have been removed: - - `get_core_events_list()` - - `get_non_core_event_list()` + - `\report_eventlist_list_generator::get_core_events_list()` + - `\report_eventlist_list_generator::get_non_core_event_list()` For more information see [MDL-72786](https://tracker.moodle.org/browse/MDL-72786) @@ -1107,7 +1127,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- `get_activities_list()` function returns also an array of disabled elements, apart from the array of activities. +- The `\report_log_renderable::get_activities_list()` method return values now includes an array of disabled elements, in addition to the array of activities. For more information see [MDL-82146](https://tracker.moodle.org/browse/MDL-82146) @@ -1116,8 +1136,8 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Removed - The following previously deprecated methods have been removed and can no longer be used: - - `can_import_skydrive_files` - - `import_skydrive_files` + - `\repository_onedrive::can_import_skydrive_files()` + - `\repository_onedrive::import_skydrive_files()` For more information see [MDL-72620](https://tracker.moodle.org/browse/MDL-72620) @@ -1125,7 +1145,10 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- New `core/context_header` mustache template has been added. This template can be overridden by themes to modify the context header +- Added a new `\renderer_base::get_page` getter method. + + For more information see [MDL-81597](https://tracker.moodle.org/browse/MDL-81597) +- New `core/context_header` mustache template has been added. This template can be overridden by themes to modify the context header. For more information see [MDL-81597](https://tracker.moodle.org/browse/MDL-81597) @@ -1137,7 +1160,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Removed -- Removed all references to `iconhelp`, `icon-pre`, `icon-post`, `iconlarge`, and `iconsort` classes +- Removed all references to `iconhelp`, `icon-pre`, `icon-post`, `iconlarge`, and `iconsort` CSS classes. For more information see [MDL-74251](https://tracker.moodle.org/browse/MDL-74251) @@ -1150,7 +1173,7 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt For more information see [MDL-81816](https://tracker.moodle.org/browse/MDL-81816) - Upon upgrading Font Awesome from version 4 to 6, the solid family was selected by default. - Support for the `regular`, and `brands` families of icons has now been adde, allowing icons defined with `icon_system::FONTAWESOME` to use them. + Support for the `regular`, and `brands` families of icons has now been added, allowing icons defined with `\core\outut\icon_system::FONTAWESOME` to use them. Icons can select the FontAwesome family (`fa-regular`, `fa-brands`, `fa-solid`) by using the relevant class name when display the icon. @@ -1163,7 +1186,8 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt For more information see [MDL-81818](https://tracker.moodle.org/browse/MDL-81818) - The `.page-header-headings` CSS class now has a background colour applied to the maintenance and secure layouts. You may need to override this class in your maintenance and secure layouts if both of the following are true: - - Your theme plugin inherits from `theme_boost` and uses this CSS class - Your theme plugin applies a different styling for the page header for the maintenance and secure layouts. + - Your theme plugin inherits from `theme_boost` and uses this CSS class + - Your theme plugin applies a different styling for the page header for the maintenance and secure layouts. For more information see [MDL-83047](https://tracker.moodle.org/browse/MDL-83047) @@ -1187,6 +1211,6 @@ The format of this change log follows the advice given at [Keep a CHANGELOG](htt #### Added -- The `get_additional_login_parameters()` method now supports adding the language code to the authentication request so that the OAuth2 login page matches the language in Moodle. +- The `\core\oautuh2\client::get_additional_login_parameters()` method now supports adding the language code to the authentication request so that the OAuth2 login page matches the language in Moodle. For more information see [MDL-67554](https://tracker.moodle.org/browse/MDL-67554) diff --git a/admin/roles/UPGRADING.md b/admin/roles/UPGRADING.md index b31a4c4a88b..e8d442e3245 100644 --- a/admin/roles/UPGRADING.md +++ b/admin/roles/UPGRADING.md @@ -1,6 +1,6 @@ # core_role (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added @@ -12,11 +12,11 @@ `SessionHandlerInterface`, and override methods as required. The following methods in `\core\session\manager` have been deprecated: - | Old method name | New method name | - | --- | --- | - | `kill_all_sessions` | `destroy_all` | - | `kill_session` | `destroy` | - | `kill_sessions_for_auth_plugin` | `destroy_by_auth_plugin` | - | `kill_user_sessions` | `destroy_user_sessions` | + | Old method name | New method name | + | --- | --- | + | `kill_all_sessions` | `destroy_all` | + | `kill_session` | `destroy` | + | `kill_sessions_for_auth_plugin` | `destroy_by_auth_plugin` | + | `kill_user_sessions` | `destroy_user_sessions` | For more information see [MDL-66151](https://tracker.moodle.org/browse/MDL-66151) diff --git a/admin/tool/UPGRADING.md b/admin/tool/UPGRADING.md index 9bd14660511..329df8c515d 100644 --- a/admin/tool/UPGRADING.md +++ b/admin/tool/UPGRADING.md @@ -1,6 +1,6 @@ # tool (plugin type) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Removed diff --git a/admin/tool/behat/UPGRADING.md b/admin/tool/behat/UPGRADING.md index 10507b47a54..d644af8798b 100644 --- a/admin/tool/behat/UPGRADING.md +++ b/admin/tool/behat/UPGRADING.md @@ -1,6 +1,6 @@ # tool_behat Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added diff --git a/admin/tool/mfa/factor/sms/UPGRADING.md b/admin/tool/mfa/factor/sms/UPGRADING.md index d091b140fd9..1ca2ce42dc4 100644 --- a/admin/tool/mfa/factor/sms/UPGRADING.md +++ b/admin/tool/mfa/factor/sms/UPGRADING.md @@ -1,9 +1,12 @@ # factor_sms Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Removed -- The following classes are removed as the SMS feature now takes advantage of core_sms API: - sms_sent (admin/tool/mfa/factor/sms/classes/event/sms_sent.php) - aws_sns (admin/tool/mfa/factor/sms/classes/local/smsgateway/aws_sns.php) - gateway_interface (admin/tool/mfa/factor/sms/classes/local/smsgateway/gateway_interface.php) +- The following classes are removed as the SMS feature now takes advantage of `core_sms` API: + - `\factor_sms\event\sms_sent` + - `\factor_sms\local\smsgateway\aws_sns` + - `\factor_sms\local\smsgateway\gateway_interface` For more information see [MDL-80962](https://tracker.moodle.org/browse/MDL-80962) diff --git a/admin/tool/oauth2/UPGRADING.md b/admin/tool/oauth2/UPGRADING.md index 4f9ccbc2a33..23edc6b5880 100644 --- a/admin/tool/oauth2/UPGRADING.md +++ b/admin/tool/oauth2/UPGRADING.md @@ -1,9 +1,9 @@ # tool_oauth2 Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- The `get_additional_login_parameters()` method now supports adding the language code to the authentication request so that the OAuth2 login page matches the language in Moodle. +- The `\core\oautuh2\client::get_additional_login_parameters()` method now supports adding the language code to the authentication request so that the OAuth2 login page matches the language in Moodle. For more information see [MDL-67554](https://tracker.moodle.org/browse/MDL-67554) diff --git a/availability/UPGRADING.md b/availability/UPGRADING.md index 62f750b8566..05521bd1585 100644 --- a/availability/UPGRADING.md +++ b/availability/UPGRADING.md @@ -1,9 +1,9 @@ # core_availability (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Removed -- The previously deprecated renderer `render_core_availability_multiple_messages` method has been removed +- The previously deprecated renderer `render_core_availability_multiple_messages` method has been removed. For more information see [MDL-82223](https://tracker.moodle.org/browse/MDL-82223) diff --git a/availability/condition/UPGRADING.md b/availability/condition/UPGRADING.md index 2283263b81b..c094dacc30d 100644 --- a/availability/condition/UPGRADING.md +++ b/availability/condition/UPGRADING.md @@ -1,9 +1,9 @@ # availability (plugin type) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed -- The base class `info::get_groups` method has a `$userid` parameter to specify for which user you want to retrieve course groups (defaults to current user) +- The base class `\core_availability\info::get_groups()` method now accepts a `$userid` parameter to specify which user you want to retrieve course groups (defaults to current user). For more information see [MDL-81850](https://tracker.moodle.org/browse/MDL-81850) diff --git a/backup/util/ui/UPGRADING.md b/backup/util/ui/UPGRADING.md index 457b75a58f4..17e5e4ed39a 100644 --- a/backup/util/ui/UPGRADING.md +++ b/backup/util/ui/UPGRADING.md @@ -1,15 +1,17 @@ # core_backup (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Removed -- Final deprecation and removal of `core_backup\copy\copy` in `backup/util/ui/classes/copy.php`. Please use `copy_helper` from `backup/util/helper/copy_helper.class.php` instead. +- The `\core_backup\copy\copy` class has been deprecated and removed. Please use `\copy_helper` instead. For more information see [MDL-75022](https://tracker.moodle.org/browse/MDL-75022) -- Final deprecation of `base_controller::get_copy()`. Please use `restore_controller::get_copy()` instead. - - For more information see [MDL-75025](https://tracker.moodle.org/browse/MDL-75025) -- Final deprecation of `base_controller::set_copy()`. Please use a restore controller for storing copy information instead. +- The following methods in the `\base_controller` class have been removed: + + | Method | Replacement | + | --- | --- | + | `\base_controller::set_copy()` | Use a restore controller for storing copy information instead. | + | `\base_controller::get_copy()` | `\restore_controller::get_copy()` | For more information see [MDL-75025](https://tracker.moodle.org/browse/MDL-75025) diff --git a/badges/UPGRADING.md b/badges/UPGRADING.md index 4aab62b5764..cfeaaebcedb 100644 --- a/badges/UPGRADING.md +++ b/badges/UPGRADING.md @@ -1,16 +1,22 @@ # core_badges (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- New webservices `enable_badges` and `disable_badges` have been added. +- The following new webservices have been added: + + - `core_badges_enable_badges` + + - `core_badges_disable_badges` For more information see [MDL-82168](https://tracker.moodle.org/browse/MDL-82168) ### Changed -- Added fields `recipientid` and `recipientfullname` to `user_badge_exporter`, which is used in the return structure of external functions `core_badges_get_user_badge_by_hash` and `core_badges_get_user_badges`. +- New fields have been added to the return structure of the `core_badges_get_user_badge_by_hash` and `core_badges_get_user_badges` external functions: + - `recipientid`: The ID of the user who received the badge. + - `recipientfullname`: The full name of the user who received the badge. For more information see [MDL-82742](https://tracker.moodle.org/browse/MDL-82742) @@ -25,7 +31,7 @@ - The `course_badges` systemreport has been deprecated and merged with the badges systemreport. Please, use the badges systemreport instead. For more information see [MDL-82503](https://tracker.moodle.org/browse/MDL-82503) -- The `$showmanage` parameter in the `\core_badges\output\standard_action_bar` constructor has been deprecated and should not be used anymore. +- The `$showmanage` parameter to the `\core_badges\output\standard_action_bar` constructor has been deprecated and should not be used anymore. For more information see [MDL-82503](https://tracker.moodle.org/browse/MDL-82503) - The `badges/view.php` page has been deprecated and merged with `badges/index.php`. Please, use `badges/index.php` instead. @@ -34,6 +40,6 @@ ### Removed -- Final removal of `BADGE_BACKPACKAPIURL` and `BADGE_BACKPACKWEBURL`. +- Final removal of `BADGE_BACKPACKAPIURL` and `BADGE_BACKPACKWEBURL` constants. For more information see [MDL-70983](https://tracker.moodle.org/browse/MDL-70983) diff --git a/cache/UPGRADING.md b/cache/UPGRADING.md index 81a6e76dd72..92db8244c3e 100644 --- a/cache/UPGRADING.md +++ b/cache/UPGRADING.md @@ -1,44 +1,45 @@ # core_cache (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added - The following classes have been renamed and now support autoloading. + Existing classes are currently unaffected. - | Old class name | New class name | - | --- | --- | - | `\cache_definition` | `\core_cache\definition` | - | `\cache_request` | `\core_cache\request_cache` | - | `\cache_session` | `\core_cache\session_cache` | - | `\cache_cached_object` | `\core_cache\cached_object` | - | `\cache_config` | `\core_cache\config` | - | `\cache_config_writer` | `\core_cache\config_writer` | - | `\cache_config_disabled` | `\core_cache\disabled_config` | - | `\cache_disabled` | `\core_cache\disabled_cache` | - | `\config_writer` | `\core_cache\config_writer` | - | `\cache_data_source` | `\core_cache\data_source_interface` | - | `\cache_data_source_versionable` | `\core_cache\versionable_data_source_interface` | - | `\cache_exception` | `\core_cache\exception/cache_exception` | - | `\cache_factory` | `\core_cache\factory` | - | `\cache_factory_disabled` | `\core_cache\disabled_factory` | - | `\cache_helper` | `\core_cache\helper` | - | `\cache_is_key_aware` | `\core_cache\key_aware_cache_interface` | - | `\cache_is_lockable` | `\core_cache\lockable_cache_interface` | - | `\cache_is_searchable` | `\core_cache\searchable_cache_interface` | - | `\cache_is_configurable` | `\core_cache\configurable_cache_interface` | - | `\cache_loader` | `\core_cache\loader_interface` | - | `\cache_loader_with_locking` | `\core_cache\loader_with_locking_interface` | - | `\cache_lock_interface` | `\core_cache\cache_lock_interface` | - | `\cache_store` | `\core_cache\store` | - | `\cache_store_interface` | `\core_cache\store_interface` | - | `\cache_ttl_wrapper` | `\core_cache\ttl_wrapper` | - | `\cacheable_object` | `\core_cache\cacheable_object_interface` | - | `\cacheable_object_array` | `\core_cache\cacheable_object_array` | - | `\cache_definition_mappings_form` | `\core_cache\form/cache_definition_mappings_form` | - | `\cache_definition_sharing_form` | `\core_cache\form/cache_definition_sharing_form` | - | `\cache_lock_form` | `\core_cache\form/cache_lock_form` | - | `\cache_mode_mappings_form` | `\core_cache\form/cache_mode_mappings_form` | + | Old class name | New class name | + | --- | --- | + | `\cache_definition` | `\core_cache\definition` | + | `\cache_request` | `\core_cache\request_cache` | + | `\cache_session` | `\core_cache\session_cache` | + | `\cache_cached_object` | `\core_cache\cached_object` | + | `\cache_config` | `\core_cache\config` | + | `\cache_config_writer` | `\core_cache\config_writer` | + | `\cache_config_disabled` | `\core_cache\disabled_config` | + | `\cache_disabled` | `\core_cache\disabled_cache` | + | `\config_writer` | `\core_cache\config_writer` | + | `\cache_data_source` | `\core_cache\data_source_interface` | + | `\cache_data_source_versionable` | `\core_cache\versionable_data_source_interface` | + | `\cache_exception` | `\core_cache\exception/cache_exception` | + | `\cache_factory` | `\core_cache\factory` | + | `\cache_factory_disabled` | `\core_cache\disabled_factory` | + | `\cache_helper` | `\core_cache\helper` | + | `\cache_is_key_aware` | `\core_cache\key_aware_cache_interface` | + | `\cache_is_lockable` | `\core_cache\lockable_cache_interface` | + | `\cache_is_searchable` | `\core_cache\searchable_cache_interface` | + | `\cache_is_configurable` | `\core_cache\configurable_cache_interface` | + | `\cache_loader` | `\core_cache\loader_interface` | + | `\cache_loader_with_locking` | `\core_cache\loader_with_locking_interface` | + | `\cache_lock_interface` | `\core_cache\cache_lock_interface` | + | `\cache_store` | `\core_cache\store` | + | `\cache_store_interface` | `\core_cache\store_interface` | + | `\cache_ttl_wrapper` | `\core_cache\ttl_wrapper` | + | `\cacheable_object` | `\core_cache\cacheable_object_interface` | + | `\cacheable_object_array` | `\core_cache\cacheable_object_array` | + | `\cache_definition_mappings_form` | `\core_cache\form/cache_definition_mappings_form` | + | `\cache_definition_sharing_form` | `\core_cache\form/cache_definition_sharing_form` | + | `\cache_lock_form` | `\core_cache\form/cache_lock_form` | + | `\cache_mode_mappings_form` | `\core_cache\form/cache_mode_mappings_form` | For more information see [MDL-82158](https://tracker.moodle.org/browse/MDL-82158) diff --git a/communication/UPGRADING.md b/communication/UPGRADING.md index 7e7afb20aa2..5167b000763 100644 --- a/communication/UPGRADING.md +++ b/communication/UPGRADING.md @@ -1,9 +1,9 @@ # core_communication (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed -- The `get_enrolled_users_for_course()` method now accepts an additional argument that can filter only active enrolments. +- The `\core_communication\helper::get_enrolled_users_for_course()` method now accepts an additional argument that can filter only active enrolments. For more information see [MDL-81951](https://tracker.moodle.org/browse/MDL-81951) diff --git a/completion/UPGRADING.md b/completion/UPGRADING.md index a45f5065b0e..0c73569f589 100644 --- a/completion/UPGRADING.md +++ b/completion/UPGRADING.md @@ -1,6 +1,6 @@ # core_completion (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added @@ -10,6 +10,6 @@ ### Changed -- `get_overall_completion_state()` function could also return `COMPLETION_COMPLETE_FAIL` and not only `COMPLETION_COMPLETE` and `COMPLETION_INCOMPLETE` +- The `\core_completion\activity_custom_completion::get_overall_completion_state()` method can now also return `COMPLETION_COMPLETE_FAIL` and not only `COMPLETION_COMPLETE` and `COMPLETION_INCOMPLETE`. For more information see [MDL-81749](https://tracker.moodle.org/browse/MDL-81749) diff --git a/course/UPGRADING.md b/course/UPGRADING.md index b77d77cf4ed..947ad60b388 100644 --- a/course/UPGRADING.md +++ b/course/UPGRADING.md @@ -1,29 +1,31 @@ # core_course (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- - New optional `sectionNum` parameter has been added to `activitychooser` AMD module initializer. - New option `sectionnum` parameter has been added to `get_course_content_items()` external function. - New optional `sectionnum` parameter has been added to `get_content_items_for_user_in_course()` function. +- - New optional `sectionNum` parameter has been added to `activitychooser` AMD module initializer. + - New option `sectionnum` parameter has been added to `get_course_content_items()` external function. + - New optional `sectionnum` parameter has been added to `get_content_items_for_user_in_course()` function. For more information see [MDL-81675](https://tracker.moodle.org/browse/MDL-81675) -- Webservices `core_course_get_courses_by_field` now accepts a new parameter `sectionid` to be able to retrieve the course that has the indicated section +- The `core_course_get_courses_by_field` web service now accepts a new parameter `sectionid` to be able to retrieve the course that has the indicated section. For more information see [MDL-81699](https://tracker.moodle.org/browse/MDL-81699) - Added new `activitychooserbutton` output class to display the activitychooser button. New `action_links` can be added to the button via hooks converting it into a dropdown. For more information see [MDL-81767](https://tracker.moodle.org/browse/MDL-81767) -- New `\core_course\hook\before_activitychooserbutton_exported` hook added to allow third-party plugins to extend activity chooser button options +- New `\core_course\hook\before_activitychooserbutton_exported` hook added to allow third-party plugins to extend activity chooser button options. For more information see [MDL-81767](https://tracker.moodle.org/browse/MDL-81767) - The following methods have been updated to accept a section name in addition to the section number: - - `i_open_section_edit_menu()` - - `i_show_section()` - - `i_hide_section(),` - - `i_wait_until_section_is_available()` - - `show_section_link_exists()` - - `hide_section_link_exists()` - - `section_exists()` + - `\behat_course::i_open_section_edit_menu()` + - `\behat_course::i_show_section()` + - `\behat_course::i_hide_section(),` + - `\behat_course::i_wait_until_section_is_available()` + - `\behat_course::show_section_link_exists()` + - `\behat_course::hide_section_link_exists()` + - `\behat_course::section_exists()` For more information see [MDL-82259](https://tracker.moodle.org/browse/MDL-82259) @@ -35,7 +37,7 @@ - Review all the strings used in the reset page to remove the "Delete" or "Remove" words from them. For more information see [MDL-81872](https://tracker.moodle.org/browse/MDL-81872) -- The external function `core_course::get_course_contents` now returns the `component` and `itemid` of sections. +- The external function `core_course_get_contents` now returns the `component` and `itemid` of sections. For more information see [MDL-82385](https://tracker.moodle.org/browse/MDL-82385) @@ -50,7 +52,7 @@ ### Removed -- The previously deprecated `print_course_request_buttons` method has been removed and can no longer be used +- The previously deprecated `\print_course_request_buttons()` method has been removed and can no longer be used. For more information see [MDL-73976](https://tracker.moodle.org/browse/MDL-73976) - The `$course` class property in the `\core_course\output\actionbar\group_selector` class has been removed. diff --git a/course/format/UPGRADING.md b/course/format/UPGRADING.md index edb940f89c8..1c229c50d2c 100644 --- a/course/format/UPGRADING.md +++ b/course/format/UPGRADING.md @@ -1,6 +1,6 @@ # core_courseformat (subsystem / plugintype) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added @@ -8,15 +8,23 @@ If `istrackeduser` is pre-computed for the course module's course, it can be provided here to avoid an additional function call. For more information see [MDL-81610](https://tracker.moodle.org/browse/MDL-81610) -- Added new `create_module` webservice to create new module (with quickcreate feature) instances in the course. +- Added new `core_courseformat_create_module` webservice to create new module (with quickcreate feature) instances in the course. For more information see [MDL-81767](https://tracker.moodle.org/browse/MDL-81767) -- New `$disabled` parameter has been added to `select`, `select_optgroup` and `select_option` html_writers to create disabled option elements. +- A new `$disabled` parameter has been added to the following `html_writer` methods: + + - `\core\output\html_writer::select()` + - `\core\output\html_writer::select_optgroup()` + - `\core\output\html_writer::select_option()` For more information see [MDL-82146](https://tracker.moodle.org/browse/MDL-82146) -- New `\core_courseformat\output\local\content\basecontrolmenu` class has been created. Existing `\core_courseformat\output\local\content\cm\controlmenu` and `\core_courseformat\output\local\content\section\controlmenu` classes extend the new `\core_courseformat\output\local\content\basecontrolmenu` class. +- A new class, `\core_courseformat\output\local\content\basecontrolmenu`, has been created. + The following existing classes extend the new class: + + - `\core_courseformat\output\local\content\cm\controlmenu` + - `\core_courseformat\output\local\content\section\controlmenu` For more information see [MDL-82510](https://tracker.moodle.org/browse/MDL-82510) -- New `\core_courseformat\output\local\content\cm\delegatedcontrolmenu` class has been created extending `\core_courseformat\output\local\content\basecontrolmenu` class to render delegated section action menu combining section and module action menu. +- Course sections now use an action menu to display possible actions that a user may take in each section. This action menu is rendered using the `\core_courseformat\output\local\content\cm\delegatedcontrolmenu` renderable class. For more information see [MDL-82510](https://tracker.moodle.org/browse/MDL-82510) diff --git a/customfield/UPGRADING.md b/customfield/UPGRADING.md index a3cd7ffd8ea..37ed05f5c68 100644 --- a/customfield/UPGRADING.md +++ b/customfield/UPGRADING.md @@ -1,9 +1,9 @@ # core_customfield (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed -- The field controller `get_formatted_name()` method now accepts an optional `$escape` parameter to define whether to escape the returned name +- The field controller `\core_customfield\field_controller::get_formatted_name()` method now accepts an optional `$escape` parameter to define whether to escape the returned name. For more information see [MDL-82488](https://tracker.moodle.org/browse/MDL-82488) diff --git a/customfield/field/number/UPGRADING.md b/customfield/field/number/UPGRADING.md index bc7dd387fdb..7e709049774 100644 --- a/customfield/field/number/UPGRADING.md +++ b/customfield/field/number/UPGRADING.md @@ -1,18 +1,18 @@ # customfield_number Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- A new hook, `customfield_number\hook\add_custom_providers`, has been added which allows automatic calculation of number course custom field. +- A new hook, `\customfield_number\hook\add_custom_providers`, has been added which allows automatic calculation of number course custom field. For more information see [MDL-82715](https://tracker.moodle.org/browse/MDL-82715) -- A new class, `\customfield_number\local\numberproviders\nofactivities` has been added that allows to automatically calculate number of activities of a given type in a given course. +- A new class, `\customfield_number\local\numberproviders\nofactivities`, has been added that allows to automatically calculate number of activities of a given type in a given course. For more information see [MDL-82715](https://tracker.moodle.org/browse/MDL-82715) -- Added new webservice `customfield_number_recalculate_value` to recalculate a value of number course custom field. +- Added new webservice `customfield_number_recalculate_value`, has been added to recalculate a value of number course custom field. For more information see [MDL-82715](https://tracker.moodle.org/browse/MDL-82715) -- Added `customfield_number\task\cron` cron task that recalculates automatically calculated number course custom fields. +- A new task, `\customfield_number\task\cron`, cron task that recalculates automatically calculated number course custom fields. For more information see [MDL-82715](https://tracker.moodle.org/browse/MDL-82715) diff --git a/customfield/field/select/UPGRADING.md b/customfield/field/select/UPGRADING.md index 8a499977c44..8f175dfe3da 100644 --- a/customfield/field/select/UPGRADING.md +++ b/customfield/field/select/UPGRADING.md @@ -1,9 +1,9 @@ # customfield_select Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed -- The field controller `get_options` method now returns each option pre-formatted +- The field controller `get_options` method now returns each option pre-formatted. For more information see [MDL-82481](https://tracker.moodle.org/browse/MDL-82481) diff --git a/files/UPGRADING.md b/files/UPGRADING.md index f959c73893d..315158b6810 100644 --- a/files/UPGRADING.md +++ b/files/UPGRADING.md @@ -1,6 +1,6 @@ # core_files (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added diff --git a/filter/UPGRADING.md b/filter/UPGRADING.md index 712a71d66a1..b92c4925a36 100644 --- a/filter/UPGRADING.md +++ b/filter/UPGRADING.md @@ -1,6 +1,6 @@ # core_filters (subsystem / plugintype) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added @@ -10,6 +10,6 @@ ### Deprecated -- The `filter_manager::text_filtering_hash` method has been finally deprecated and removed. +- The `\core_filters\filter_manager::text_filtering_hash` method has been finally deprecated and removed. For more information see [MDL-82427](https://tracker.moodle.org/browse/MDL-82427) diff --git a/grade/UPGRADING.md b/grade/UPGRADING.md index ccbd9ce8845..1e61cd69fe8 100644 --- a/grade/UPGRADING.md +++ b/grade/UPGRADING.md @@ -1,6 +1,6 @@ # core_grades (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed @@ -12,23 +12,23 @@ ### Deprecated -- The behat step definition `behat_grade::i_confirm_in_search_within_the_gradebook_widget_exists` has been deprecated. Please use `behat_general::i_confirm_in_search_combobox_exists` instead. +- The behat step definition `\behat_grade::i_confirm_in_search_within_the_gradebook_widget_exists()` has been deprecated. Please use `\behat_general::i_confirm_in_search_combobox_exists()` instead. For more information see [MDL-80744](https://tracker.moodle.org/browse/MDL-80744) -- The behat step definition `behat_grade::i_confirm_in_search_within_the_gradebook_widget_does_not_exist` has been deprecated. Please use `behat_general::i_confirm_in_search_combobox_does_not_exist` instead. +- The behat step definition `\behat_grade::i_confirm_in_search_within_the_gradebook_widget_does_not_exist()` has been deprecated. Please use `\behat_general::i_confirm_in_search_combobox_does_not_exist()` instead. For more information see [MDL-80744](https://tracker.moodle.org/browse/MDL-80744) -- The behat step definition `behat_grade::i_click_on_in_search_widget` has been deprecated. Please use `behat_general::i_click_on_in_search_combobox` instead. +- The behat step definition `\behat_grade::i_click_on_in_search_widget()` has been deprecated. Please use `\behat_general::i_click_on_in_search_combobox()` instead. For more information see [MDL-80744](https://tracker.moodle.org/browse/MDL-80744) -- The `core_grades_renderer::group_selector()` method has been deprecated. Please use `\core_course\output\actionbar\renderer` to render a `group_selector` renderable instead. +- The `\core_grades_renderer::group_selector()` method has been deprecated. Please use `\core_course\output\actionbar\renderer` to render a `group_selector` renderable instead. For more information see [MDL-80745](https://tracker.moodle.org/browse/MDL-80745) ### Removed - The following previously deprecated Behat step helper methods have been removed and can no longer be used: - - `behat_grade::select_in_gradebook_navigation_selector` - - `behat_grade::select_in_gradebook_tabs` + - `\behat_grade::select_in_gradebook_navigation_selector()` + - `\behat_grade::select_in_gradebook_tabs()` For more information see [MDL-74581](https://tracker.moodle.org/browse/MDL-74581) diff --git a/grade/report/grader/UPGRADING.md b/grade/report/grader/UPGRADING.md index 3c7b7476628..47f3121aed9 100644 --- a/grade/report/grader/UPGRADING.md +++ b/grade/report/grader/UPGRADING.md @@ -1,6 +1,6 @@ # gradereport_grader Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Deprecated diff --git a/grade/report/singleview/UPGRADING.md b/grade/report/singleview/UPGRADING.md index e8ccbf387d2..963392c86ca 100644 --- a/grade/report/singleview/UPGRADING.md +++ b/grade/report/singleview/UPGRADING.md @@ -1,6 +1,6 @@ # gradereport_singleview Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Deprecated diff --git a/grade/report/user/UPGRADING.md b/grade/report/user/UPGRADING.md index 70e322198ef..3dba2a9e860 100644 --- a/grade/report/user/UPGRADING.md +++ b/grade/report/user/UPGRADING.md @@ -1,6 +1,6 @@ # gradereport_user Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Deprecated diff --git a/lib/UPGRADING.md b/lib/UPGRADING.md index 88c32afc892..2c06d536513 100644 --- a/lib/UPGRADING.md +++ b/lib/UPGRADING.md @@ -1,18 +1,18 @@ # core (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- Add `\core_user::get_name_placeholders()` to return an array of user name fields. +- A new method, `\core_user::get_name_placeholders()`, has been added to return an array of user name fields. For more information see [MDL-64148](https://tracker.moodle.org/browse/MDL-64148) - The following classes have been renamed and now support autoloading. Existing classes are currently unaffected. - | Old class name | New class name | - | --- | --- | - | `\core_component` | `\core\component` | + | Old class name | New class name | + | --- | --- | + | `\core_component` | `\core\component` | For more information see [MDL-66903](https://tracker.moodle.org/browse/MDL-66903) - Added the ability for unit tests to autoload classes in the `\[component]\tests\` @@ -32,16 +32,16 @@ - Added stored progress bars For more information see [MDL-70854](https://tracker.moodle.org/browse/MDL-70854) -- Two new functions have been introduced in the \moodle_database class: - - `get_counted_records_sql()` - - `get_counted_recordset_sql()` +- Two new functions have been introduced in the `\moodle_database` class: + - `\moodle_database::get_counted_records_sql()` + - `\moodle_database::get_counted_recordset_sql()` These methods are compatible with all databases. - They will check the current running database engine and apply the COUNT window function if it is supported, - otherwise, they will use the usual COUNT function. + They will check the current running database engine and apply the `COUNT` window function if it is supported, + otherwise, they will use the usual `COUNT` function. - The COUNT window function optimization is applied to the following databases: + The `COUNT` window function optimization is applied to the following databases: - PostgreSQL - MariaDB - Oracle @@ -53,30 +53,27 @@ - The `after_config()` callback has been converted to a hook, `\core\hook\after_config`. For more information see [MDL-79011](https://tracker.moodle.org/browse/MDL-79011) -- The `\core\output\select_menu` widget now supports rendering dividers between menu options. Empty elements (null or empty strings) within the array of options are considered and rendered as dividers in the dropdown menu. +- The `\core\output\select_menu` widget now supports rendering dividers between menu options. Empty elements (`null` or empty strings) within the array of options are considered and rendered as dividers in the dropdown menu. For more information see [MDL-80747](https://tracker.moodle.org/browse/MDL-80747) -- The `core\output\select_menu` widget now supports a new feature: inline labels. You can render the label inside the combobox widget by passing `true` to the `$inlinelabel` parameter when calling the `->set_label()` method. +- The `\core\output\select_menu` widget now supports a new feature: inline labels. You can render the label inside the combobox widget by passing `true` to the `$inlinelabel` parameter when calling the `->set_label()` method. For more information see [MDL-80747](https://tracker.moodle.org/browse/MDL-80747) -- A new hook called `core\hook\output\after_http_headers` has been created. This hook allow plugins to modify the content after headers are sent. +- A new hook called `\core\hook\output\after_http_headers` has been created. This hook allow plugins to modify the content after headers are sent. For more information see [MDL-80890](https://tracker.moodle.org/browse/MDL-80890) - The following classes have been renamed. Existing classes are currently unaffected. - | Old class name | New class name | - | --- | --- | - | `\core_user` | `\core\user` | + | Old class name | New class name | + | --- | --- | + | `\core_user` | `\core\user` | For more information see [MDL-81031](https://tracker.moodle.org/browse/MDL-81031) -- New DML constant `SQL_INT_MAX` to define the size of a large integer with cross database platform support +- New DML constant `SQL_INT_MAX` to define the size of a large integer with cross database platform support. For more information see [MDL-81282](https://tracker.moodle.org/browse/MDL-81282) -- The function `update_display_mode` will update the eye icon (enabled/disabled) in the availability. The `$pluginname` is represented to the plugin need to update. The `$displaymode` is represented to the eye icon. Whether it enabled or disabled. - - For more information see [MDL-81533](https://tracker.moodle.org/browse/MDL-81533) -- Added an `exception` L2 Namespace to APIs +- Added a new `exception` L2 Namespace to APIs. For more information see [MDL-81903](https://tracker.moodle.org/browse/MDL-81903) - Added a mechanism to support autoloading of legacy class files. @@ -98,129 +95,141 @@ - `\webservice_parameter_exception` For more information see [MDL-81919](https://tracker.moodle.org/browse/MDL-81919) -- The following classes have been moved into the `\core` namespace and now support autoloading: +- The following classes are now also available in the `\core\` namespace and support autoloading: - - `emoticon_manager` - - `lang_string` + | Old class name | New class name | + | --- | --- | + | `\emoticon_manager` | `\core\emoticon_manager` | + | `\lang_string` | `\core\lang_string` | For more information see [MDL-81920](https://tracker.moodle.org/browse/MDL-81920) -- The following classes have been renamed and now support autoloading. Existing classes are currently unaffected. - | Old class name | New class name | - | --- | --- | - | `\moodle_url` | `\core\url` | - | `\progress_trace` | `\core\output\progress_trace` | - | `\combined_progress_trace` | `\core\output\progress_trace\combined_progress_trace` | - | `\error_log_progress_trace` | `\core\output\progress_trace\error_log_progress_trace` | - | `\html_list_progress_trace` | `\core\output\progress_trace\html_list_progress_trace` | - | `\html_progress_trace` | `\core\output\progress_trace\html_progress_trace` | - | `\null_progress_trace` | `\core\output\progress_trace\null_progress_trace` | - | `\progress_trace_buffer` | `\core\output\progress_trace\progress_trace_buffer` | - | `\text_progress_trace` | `\core\output\progress_trace\text_progress_trace` | +- The following classes have been renamed and now support autoloading. + Existing classes are currently unaffected. + + | Old class name | New class name | + | --- | --- | + | `\moodle_url` | `\core\url` | + | `\progress_trace` | `\core\output\progress_trace` | + | `\combined_progress_trace` | `\core\output\progress_trace\combined_progress_trace` | + | `\error_log_progress_trace` | `\core\output\progress_trace\error_log_progress_trace` | + | `\html_list_progress_trace` | `\core\output\progress_trace\html_list_progress_trace` | + | `\html_progress_trace` | `\core\output\progress_trace\html_progress_trace` | + | `\null_progress_trace` | `\core\output\progress_trace\null_progress_trace` | + | `\progress_trace_buffer` | `\core\output\progress_trace\progress_trace_buffer` | + | `\text_progress_trace` | `\core\output\progress_trace\text_progress_trace` | For more information see [MDL-81960](https://tracker.moodle.org/browse/MDL-81960) -- The following classes are now also available in the following new locations. They will continue to work in their old locations: - | Old classname | New classname | - | --- | --- | - | `\action_link` | `\core\output\action_link` | - | `\action_menu_filler` | `\core\output\action_menu\filler` | - | `\action_menu_link_primary` | `\core\output\action_menu\link_primary` | - | `\action_menu_link_secondary` | `\core\output\action_menu\link_secondary` | - | `\action_menu_link` | `\core\output\action_menu\link` | - | `\action_menu` | `\core\output\action_menu` | - | `\block_contents` | `\core_block\output\block_contents` | - | `\block_move_target` | `\core_block\output\block_move_target` | - | `\component_action` | `\core\output\actions\component_action` | - | `\confirm_action` | `\core\output\actions\confirm_action` | - | `\context_header` | `\core\output\context_header` | - | `\core\output\local\action_menu\subpanel` | `\core\output\action_menu\subpanel` | - | `\core_renderer_ajax` | `\core\output\core_renderer_ajax` | - | `\core_renderer_cli` | `\core\output\core_renderer_cli` | - | `\core_renderer_maintenance` | `\core\output\core_renderer_maintenance` | - | `\core_renderer` | `\core\output\core_renderer` | - | `\custom_menu_item` | `\core\output\custom_menu_item` | - | `\custom_menu` | `\core\output\custom_menu` | - | `\file_picker` | `\core\output\file_picker` | - | `\flexible_table` | `\core_table\flexible_table` | - | `\fragment_requirements_manager` | `\core\output\requirements\fragment_requirements_manager` | - | `\help_icon` | `\core\output\help_icon` | - | `\html_table_cell` | `\core_table\output\html_table_cell` | - | `\html_table_row` | `\core_table\output\html_table_row` | - | `\html_table` | `\core_table\output\html_table` | - | `\html_writer` | `\core\output\html_writer` | - | `\image_icon` | `\core\output\image_icon` | - | `\initials_bar` | `\core\output\initials_bar` | - | `\js_writer` | `\core\output\js_writer` | - | `\page_requirements_manager` | `\core\output\requirements\page_requirements_manager` | - | `\paging_bar` | `\core\output\paging_bar` | - | `\pix_emoticon` | `\core\output\pix_emoticon` | - | `\pix_icon_font` | `\core\output\pix_icon_font` | - | `\pix_icon_fontawesome` | `\core\output\pix_icon_fontawesome` | - | `\pix_icon` | `\core\output\pix_icon` | - | `\plugin_renderer_base` | `\core\output\plugin_renderer_base` | - | `\popup_action` | `\core\output\actions\popup_action` | - | `\preferences_group` | `\core\output\preferences_group` | - | `\preferences_groups` | `\core\output\preferences_groups` | - | `\progress_bar` | `\core\output\progress_bar` | - | `\renderable` | `\core\output\renderable` | - | `\renderer_base` | `\core\output\renderer_base` | - | `\renderer_factory_base` | `\core\output\renderer_factory\renderer_factory_base` | - | `\renderer_factory` | `\core\output\renderer_factory\renderer_factory_interface` | - | `\single_button` | `\core\output\single_button` | - | `\single_select` | `\core\output\single_select` | - | `\standard_renderer_factory` | `\core\output\renderer_factory\standard_renderer_factory` | - | `\table_dataformat_export_format` | `\core_table\dataformat_export_format` | - | `\table_default_export_format_parent` | `\core_table\base_export_format` | - | `\table_sql` | `\core_table\sql_table` | - | `\tabobject` | `\core\output\tabobject` | - | `\tabtree` | `\core\output\tabtree` | - | `\templatable` | `\core\output\templatable` | - | `\theme_config` | `\core\output\theme_config` | - | `\theme_overridden_renderer_factory` | `\core\output\renderer_factory\theme_overridden_renderer_factory` | - | `\url_select` | `\core\output\url_select` | - | `\user_picture` | `\core\output\user_picture` | - | `\xhtml_container_stack` | `\core\output\xhtml_container_stack` | - | `\YUI_config` | `\core\output\requirements\yui` | +- The following classes are now also available in the following new + locations. They will continue to work in their old locations: + + | Old classname | New classname | + | --- | --- | + | `\action_link` | `\core\output\action_link` | + | `\action_menu_filler` | `\core\output\action_menu\filler` | + | `\action_menu_link_primary` | `\core\output\action_menu\link_primary` | + | `\action_menu_link_secondary` | `\core\output\action_menu\link_secondary` | + | `\action_menu_link` | `\core\output\action_menu\link` | + | `\action_menu` | `\core\output\action_menu` | + | `\block_contents` | `\core_block\output\block_contents` | + | `\block_move_target` | `\core_block\output\block_move_target` | + | `\component_action` | `\core\output\actions\component_action` | + | `\confirm_action` | `\core\output\actions\confirm_action` | + | `\context_header` | `\core\output\context_header` | + | `\core\output\local\action_menu\subpanel` | `\core\output\action_menu\subpanel` | + | `\core_renderer_ajax` | `\core\output\core_renderer_ajax` | + | `\core_renderer_cli` | `\core\output\core_renderer_cli` | + | `\core_renderer_maintenance` | `\core\output\core_renderer_maintenance` | + | `\core_renderer` | `\core\output\core_renderer` | + | `\custom_menu_item` | `\core\output\custom_menu_item` | + | `\custom_menu` | `\core\output\custom_menu` | + | `\file_picker` | `\core\output\file_picker` | + | `\flexible_table` | `\core_table\flexible_table` | + | `\fragment_requirements_manager` | `\core\output\requirements\fragment_requirements_manager` | + | `\help_icon` | `\core\output\help_icon` | + | `\html_table_cell` | `\core_table\output\html_table_cell` | + | `\html_table_row` | `\core_table\output\html_table_row` | + | `\html_table` | `\core_table\output\html_table` | + | `\html_writer` | `\core\output\html_writer` | + | `\image_icon` | `\core\output\image_icon` | + | `\initials_bar` | `\core\output\initials_bar` | + | `\js_writer` | `\core\output\js_writer` | + | `\page_requirements_manager` | `\core\output\requirements\page_requirements_manager` | + | `\paging_bar` | `\core\output\paging_bar` | + | `\pix_emoticon` | `\core\output\pix_emoticon` | + | `\pix_icon_font` | `\core\output\pix_icon_font` | + | `\pix_icon_fontawesome` | `\core\output\pix_icon_fontawesome` | + | `\pix_icon` | `\core\output\pix_icon` | + | `\plugin_renderer_base` | `\core\output\plugin_renderer_base` | + | `\popup_action` | `\core\output\actions\popup_action` | + | `\preferences_group` | `\core\output\preferences_group` | + | `\preferences_groups` | `\core\output\preferences_groups` | + | `\progress_bar` | `\core\output\progress_bar` | + | `\renderable` | `\core\output\renderable` | + | `\renderer_base` | `\core\output\renderer_base` | + | `\renderer_factory_base` | `\core\output\renderer_factory\renderer_factory_base` | + | `\renderer_factory` | `\core\output\renderer_factory\renderer_factory_interface` | + | `\single_button` | `\core\output\single_button` | + | `\single_select` | `\core\output\single_select` | + | `\standard_renderer_factory` | `\core\output\renderer_factory\standard_renderer_factory` | + | `\table_dataformat_export_format` | `\core_table\dataformat_export_format` | + | `\table_default_export_format_parent` | `\core_table\base_export_format` | + | `\table_sql` | `\core_table\sql_table` | + | `\tabobject` | `\core\output\tabobject` | + | `\tabtree` | `\core\output\tabtree` | + | `\templatable` | `\core\output\templatable` | + | `\theme_config` | `\core\output\theme_config` | + | `\theme_overridden_renderer_factory` | `\core\output\renderer_factory\theme_overridden_renderer_factory` | + | `\url_select` | `\core\output\url_select` | + | `\user_picture` | `\core\output\user_picture` | + | `\xhtml_container_stack` | `\core\output\xhtml_container_stack` | + | `\YUI_config` | `\core\output\requirements\yui` | For more information see [MDL-82183](https://tracker.moodle.org/browse/MDL-82183) -- A new method, `get_deprecated_icons()`, has been added to the icon_system class. All deprecated icons should be registered through this method. +- A new method, `\core\output\::get_deprecated_icons()`, has been added to the `icon_system` class. All deprecated icons should be registered through this method. Plugins can implement a callback to `pluginname_get_deprecated_icons()` to register their deprecated icons too. When `$CFG->debugpageinfo` is enabled, a console message will display a list of the deprecated icons. For more information see [MDL-82212](https://tracker.moodle.org/browse/MDL-82212) -- Add optional icon and title to notification. Two parameters have been added to the `core\output\notification` so when creating a notification you can pass an icon and a title. +- Two new optional parameters have been added to the `\core\output\notification` constructor: + - `null|string $title` - `null|string $icon` For more information see [MDL-82297](https://tracker.moodle.org/browse/MDL-82297) -- Add `set_disabled_option` method to `url_select` to enable or disable an option from its url (the key for the option). +- A new method, `\url_select::set_disabled_option()`, has been added to enable or disable an option from its url (the key for the option). For more information see [MDL-82490](https://tracker.moodle.org/browse/MDL-82490) -- There is a new method called `get_fixture_path()` that supports getting the path to the fixture +- A new static method, `\advanced_testcase::get_fixture_path()`, has been added to enable unit tests to fetch the path to a fixture. For more information see [MDL-82627](https://tracker.moodle.org/browse/MDL-82627) -- There is a new method called `get_mocked_http_client()` that supports mocking the `http_client` +- A new static method, `\advanced_testcase::get_mocked_http_client()`, has been added to allow unit tests to mock the `\core\http_client` and update the DI container. For more information see [MDL-82627](https://tracker.moodle.org/browse/MDL-82627) - The Moodle autoloader should now be registered using `\core\component::register_autoloader` rather than manually doing so in any exceptional location which requires it. - Note: It is not normally necessaryto include the autoloader manually, as it is registered automatically when the Moodle environment is bootstrapped. + Note: It is not normally necessary to include the autoloader manually, as it is registered automatically when the Moodle environment is bootstrapped. For more information see [MDL-82747](https://tracker.moodle.org/browse/MDL-82747) - A new JS module for interacting with the Routed REST API has been introduced. For more information see the documentation in the `core/fetch` module. For more information see [MDL-82778](https://tracker.moodle.org/browse/MDL-82778) -- The `section_info` class now includes a new method called `get_sequence_cm_infos` that retrieves all `cm_info` instances associated with the course section. +- The `\section_info` class now includes a new method `\section_info::get_sequence_cm_infos()` that retrieves all `\cm_info` instances associated with the course section. For more information see [MDL-82845](https://tracker.moodle.org/browse/MDL-82845) -- When rendering a renderable located within a namespace, the namespace will now be included in the renderer method name with double-underscores separating the namespace parts. +- When rendering a renderable located within a namespace, the namespace + will now be included in the renderer method name with double-underscores + separating the namespace parts. - Note: Only those renderables within an `output` namespace will be considered, for example `\core\output\action_menu\link` and only the parts of the namespace after `output` will be included. + Note: Only those renderables within an `output` namespace will be + considered, for example `\core\output\action_menu\link` and only the + parts of the namespace after `output` will be included. The following are examples of the new behaviour: - | Renderable name | Renderer method name | - | --- | --- | - | `\core\output\action_menu\link` | `render_action_menu__link` | - | `\core\output\action_menu\link_primary` | `render_action_menu__link_primary` | - | `\core\output\action\menu\link` | `render_action__menu__link` | - | `\core\output\user_menu\link` | `render_user_menu__link` | + + | Renderable name | Renderer method name | + | --- | --- | + | `\core\output\action_menu\link` | `render_action_menu__link` | + | `\core\output\action_menu\link_primary` | `render_action_menu__link_primary` | + | `\core\output\action\menu\link` | `render_action__menu__link` | + | `\core\output\user_menu\link` | `render_user_menu__link` | For more information see [MDL-83164](https://tracker.moodle.org/browse/MDL-83164) @@ -234,54 +243,48 @@ Autoloaded classes are now available to scripts using the `ABORT_AFTER_CONFIG` constant. For more information see [MDL-80275](https://tracker.moodle.org/browse/MDL-80275) -- The `\core\dataformat::get_format_instance` method is now public, and can be used to retrieve a writer instance for a given dataformat +- The `\core\dataformat::get_format_instance()` method is now public, and can be used to retrieve a writer instance for a given dataformat. For more information see [MDL-81781](https://tracker.moodle.org/browse/MDL-81781) -- The `get_home_page()` method can now return new constant `HOMEPAGE_URL`, applicable when a third-party hook has extended the default homepage options for the site +- The `\get_home_page()` function can now return new constant `HOMEPAGE_URL`, applicable when a third-party hook has extended the default homepage options for the site. - A new method, `get_default_home_page_url()` has been added which will return the correct URL when this constant is returned + A new function, `\get_default_home_page_url()` has been added which will return the correct URL when this constant is returned. For more information see [MDL-82066](https://tracker.moodle.org/browse/MDL-82066) ### Deprecated -- The code that is associated with the slashargument option has been deprecated. Here is the detail: - - The parameter $support of the \url::set_slashargument(). - - The parameter $includeslashargument of the \url::get_path(). - - The $CFG->yuislasharguments configuration. - - For more information see [MDL-62640](https://tracker.moodle.org/browse/MDL-62640) -- Due to the removal of the slashargument configuration, the server check page will no longer inspect the slash argument, - therefore, the function check_slasharguments() is deprecated because it is no longer used. - - For more information see [MDL-62640](https://tracker.moodle.org/browse/MDL-62640) - The following method has been deprecated and should no longer be used: `reset_password_and_mail`. Please consider using `setnew_password_and_mail` as a replacement. For more information see [MDL-64148](https://tracker.moodle.org/browse/MDL-64148) -- - Final deprecation and removal of the following functions: - - `plagiarism_plugin::get_configs()` - - `plagiarism_plugin::get_file_results()` - - `plagiarism_plugin::update_status()`, please use `{plugin name}_before_standard_top_of_body_html` instead. - - Final deprecation and removal of `plagiarism_get_file_results()`. Please use `plagiarism_get_links()` instead. - Final deprecation and removal of `plagiarism_update_status()`. Please use `{plugin name}_before_standard_top_of_body_html()` instead. +- - The following methods have been finally deprecated and removed: + - `\plagiarism_plugin::get_configs()` + - `\plagiarism_plugin::get_file_results()` + - `\plagiarism_plugin::update_status()`, please use `{plugin name}_before_standard_top_of_body_html` instead. + - Final deprecation and removal of `\plagiarism_get_file_results()`. Please use `\plagiarism_get_links()` instead. + - Final deprecation and removal of `\plagiarism_update_status()`. Please use `\{plugin name}_before_standard_top_of_body_html()` instead. For more information see [MDL-71326](https://tracker.moodle.org/browse/MDL-71326) -- `moodle_list` and `list_item` were only used by `qbank_managecategories`, and these usages have been removed, so these classes (and thus all of listlib.php) are now deprecated. This method was the only usage of the `QUESTION_PAGE_LENGTH` constant, which was defined in `question_category_object.php`, and so is also now deprecated. +- `\moodle_list` and `\list_item` were only used by `qbank_managecategories`, and these usages have been removed, so these classes, and the `lib/listlib.php` file have now been deprecated. This method was the only usage of the `QUESTION_PAGE_LENGTH` constant, which was defined in `question_category_object.php`, and so is also now deprecated. For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) -- The `$timeout` property of the `navigation_cache` class has been deprecated. +- The `$timeout` property of the `\navigation_cache` class has been deprecated. For more information see [MDL-79628](https://tracker.moodle.org/browse/MDL-79628) -- The following classes are deprecated as they are handled by core_sms API and smsgateway_aws plugin: - admin_settings_aws_region (lib/classes/aws/admin_settings_aws_region.php) - aws_helper (lib/classes/aws/aws_helper.php) - client_factory (lib/classes/aws/client_factory.php) +- The following classes are deprecated as they are handled by core_sms API and smsgateway_aws plugin: + - `\core\aws\admin_settings_aws_region` + - `\core\aws\aws_helper` + - `\core\aws\client_factory` For more information see [MDL-80962](https://tracker.moodle.org/browse/MDL-80962) -- The following methods have been deprecated, existing usage should switch to secure `\core\encryption` library: +- The following methods have been deprecated, existing usage should switch to use the secure `\core\encryption::encrypt()` and `\core\encryption::decrypt()` static methods: - - `rc4encrypt` - - `rc4decrypt` - - `endecrypt` + - `\rc4encrypt()` + - `\rc4decrypt()` + - `\endecrypt()` For more information see [MDL-81940](https://tracker.moodle.org/browse/MDL-81940) -- The following method has been deprecated and should not be used any longer: `print_grade_menu`. +- The following method has been deprecated and should not be used any longer: `\print_grade_menu()`. For more information see [MDL-82157](https://tracker.moodle.org/browse/MDL-82157) - The following files and their contents have been deprecated: @@ -290,39 +293,40 @@ - `lib/tokeniserlib.php` For more information see [MDL-82191](https://tracker.moodle.org/browse/MDL-82191) -- The following methods have been formally deprecated: +- The following functions have been initially deprecated: - - `get_core_subsystems` - - `get_plugin_types` - - `get_plugin_list` - - `get_plugin_list_with_class` - - `get_plugin_directory` - - `normalize_component` - - `get_component_directory` - - `get_context_instance` + - `\get_core_subsystems()` + - `\get_plugin_types()` + - `\get_plugin_list()` + - `\get_plugin_list_with_class()` + - `\get_plugin_directory()` + - `\normalize_component()` + - `\get_component_directory()` + - `\get_context_instance()` Note: These methods have been deprecated for a long time, but previously did not emit any deprecation notice. For more information see [MDL-82287](https://tracker.moodle.org/browse/MDL-82287) - The following methods have been finally deprecated and will now throw an exception if called: - - `get_context_instance` - - `can_use_rotated_text` - - `get_system_context` - - `print_arrow` + - `\get_context_instance()` + - `\can_use_rotated_text()` + - `\get_system_context()` + - `\print_arrow()` For more information see [MDL-82287](https://tracker.moodle.org/browse/MDL-82287) - The `global_navigation::load_section_activities` method is now deprecated and replaced by `global_navigation::load_section_activities_navigation`. For more information see [MDL-82845](https://tracker.moodle.org/browse/MDL-82845) -- The following renderer methods have been deprecated from the core renderer: +- The following renderer methods have been deprecated from the core + renderer: - | method | replacement | - | --- | --- | - | `render_action_menu_link` | `render_action_menu__link` | - | `render_action_menu_link_primary` | `render_action_menu__link_primary` | - | `render_action_menu_link_secondary` | `render_action_menu__link_secondary` | - | `render_action_menu_filler` | `render_action_menu__filler` | + | method | replacement | + | --- | --- | + | `render_action_menu_link` | `render_action_menu__link` | + | `render_action_menu_link_primary` | `render_action_menu__link_primary` | + | `render_action_menu_link_secondary` | `render_action_menu__link_secondary` | + | `render_action_menu_filler` | `render_action_menu__filler` | For more information see [MDL-83164](https://tracker.moodle.org/browse/MDL-83164) @@ -331,35 +335,32 @@ - The previously deprecated function `search_generate_text_SQL` has been removed and can no longer be used. For more information see [MDL-48940](https://tracker.moodle.org/browse/MDL-48940) -- The previously deprecated function `core_text::reset_caches()` has been removed and can no longer be used. +- The previously deprecated function `\core_text::reset_caches()` has been removed and can no longer be used. For more information see [MDL-71748](https://tracker.moodle.org/browse/MDL-71748) - The following previously deprecated methods have been removed and can no longer be used: - - `renderer_base::should_display_main_logo` + - `\renderer_base::should_display_main_logo()` For more information see [MDL-73165](https://tracker.moodle.org/browse/MDL-73165) -- Final deprecation of `print_error()`. Use `moodle_exception` instead. +- Final deprecation of `\print_error()`. Please use the `\moodle_exception` class instead. For more information see [MDL-74484](https://tracker.moodle.org/browse/MDL-74484) -- Final deprecation of `\core\task\manager::ensure_adhoc_task_qos()` +- Final deprecation of `\core\task\manager::ensure_adhoc_task_qos()`. For more information see [MDL-74843](https://tracker.moodle.org/browse/MDL-74843) -- Support for deprecated `\local\views\secondary` block/activity namespace, for overriding secondary navigation, is now entirely removed +- Support for the deprecated block and activity namespaces `\local\views\secondary`, which supported the overriding of secondary navigation, has now been entirely removed. For more information see [MDL-74939](https://tracker.moodle.org/browse/MDL-74939) -- Remove deprecation layer for YUI Events. The deprecation layer was introduced with MDL-70990 and MDL-72291. +- Remove deprecation layer for YUI JS Events. The deprecation layer was introduced with MDL-70990 and MDL-72291. For more information see [MDL-77167](https://tracker.moodle.org/browse/MDL-77167) -- The following test classes are removed as their base classes are deprecated: - admin_settings_aws_region_test (lib/tests/aws/admin_settings_aws_region_test.php) - aws_helper_test (lib/tests/aws/aws_helper_test.php) - - For more information see [MDL-80962](https://tracker.moodle.org/browse/MDL-80962) ### Fixed -- The `navigation_cache` class now uses the Moodle Universal Cache (MUC) to store the navigation cache data instead of storing it in the global `$SESSION` variable. +- The `\navigation_cache` class now uses the Moodle Universal Cache (MUC) to store the navigation cache data instead of storing it in the global `$SESSION` variable. For more information see [MDL-79628](https://tracker.moodle.org/browse/MDL-79628) -- All the setup and tear down methods of `PHPUnit` now are required to, always, call to their parent counterparts. This is a good practice to avoid future problems, especially when updating to PHPUnit >= 10. +- All the `setUp()` and `tearDown()` methods of `PHPUnit` now are required to, always, call to their parent counterparts. This is a good practice to avoid future problems, especially when updating to PHPUnit >= 10. This includes the following methods: - `setUp()` - `tearDown()` diff --git a/lib/editor/tiny/UPGRADING.md b/lib/editor/tiny/UPGRADING.md index a4d2c175434..f9b82144725 100644 --- a/lib/editor/tiny/UPGRADING.md +++ b/lib/editor/tiny/UPGRADING.md @@ -1,9 +1,9 @@ # editor_tiny Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed -- The `helplinktext` language string is no longer required by editor plugins, instead the `pluginname` will be used in the help dialogue +- The `helplinktext` language string is no longer required by editor plugins, instead the `pluginname` will be used in the help dialogue. For more information see [MDL-81572](https://tracker.moodle.org/browse/MDL-81572) diff --git a/lib/external/UPGRADING.md b/lib/external/UPGRADING.md index addb0366fde..1930422a538 100644 --- a/lib/external/UPGRADING.md +++ b/lib/external/UPGRADING.md @@ -1,6 +1,6 @@ # core_external (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed diff --git a/lib/form/UPGRADING.md b/lib/form/UPGRADING.md index 2c0f1c5942f..fbb16cca8a9 100644 --- a/lib/form/UPGRADING.md +++ b/lib/form/UPGRADING.md @@ -1,9 +1,11 @@ # core_form (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- Previously, the `duration` form field type would allow users to input positive or negative durations. However looking at all the uses, everyone was expecting this input type to only accept `times >= 0` seconds, and almost no-one was bothering to write manual form validation, leading to subtle bugs. So now, by default this field type will validate the input value is not negative. If you need the previous behaviour, there is a new option `allownegative` which you can set to true. (The default is false.) +- The `duration` form field type has been modified to validate that the supplied value is a positive value. + Previously it could be any numeric value, but every usage of this field in Moodle was expecting a positive value. When a negative value was provided and accepted, subtle bugs could occur. + Where a negative duration _is_ allowed, the `allownegative` attribute can be set to `true`. For more information see [MDL-82687](https://tracker.moodle.org/browse/MDL-82687) diff --git a/lib/table/UPGRADING.md b/lib/table/UPGRADING.md index 83f232b8cbf..b3fe33a296d 100644 --- a/lib/table/UPGRADING.md +++ b/lib/table/UPGRADING.md @@ -1,16 +1,17 @@ # core_table (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- A new `$reponsive` property (defaulting to `true`) has been added to the `core_table\flexible_table` class. +- A new `$reponsive` property (defaulting to `true`) has been added to the `\core_table\flexible_table` class. This property allows you to control whether the table is rendered as a responsive table. For more information see [MDL-80748](https://tracker.moodle.org/browse/MDL-80748) ### Changed -- `core_table\dynamic` declares a new method `::has_capability()` to allow classes implementing this interface to perform access checks on the dynamic table. This is a breaking change that all dynamic table implementations must implement for continued functionality. +- The `\core_table\dynamic` class declares a new method `::has_capability()` to allow classes implementing this interface to perform access checks on the dynamic table. + Note: This is a breaking change. All implementations of the `\core_table\dynamic` table interface _must_ implement the new `has_capability(): bool` method for continued functionality. For more information see [MDL-82567](https://tracker.moodle.org/browse/MDL-82567) diff --git a/message/UPGRADING.md b/message/UPGRADING.md index ed2066bc6c5..80ec7b43c42 100644 --- a/message/UPGRADING.md +++ b/message/UPGRADING.md @@ -1,21 +1,21 @@ # core_message (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed -- The `\core_message\helper::togglecontact_link_params` now accepts a new optional param called `isrequested` to indicate the status of the contact request +- The `\core_message\helper::togglecontact_link_params()` method now accepts a new optional `$isrequested` parameter to indicate the status of the contact request. For more information see [MDL-81428](https://tracker.moodle.org/browse/MDL-81428) ### Deprecated -- The `core_message/remove_contact_button` template is deprecated and will be removed in the future version +- The `core_message/remove_contact_button` template is deprecated and will be removed in a future release. For more information see [MDL-81428](https://tracker.moodle.org/browse/MDL-81428) ### Removed -- Final deprecation `MESSAGE_DEFAULT_LOGGEDOFF` / `MESSAGE_DEFAULT_LOGGEDIN`. +- Final deprecation of the `MESSAGE_DEFAULT_LOGGEDOFF`, and `MESSAGE_DEFAULT_LOGGEDIN` constants. For more information see [MDL-73284](https://tracker.moodle.org/browse/MDL-73284) diff --git a/mod/UPGRADING.md b/mod/UPGRADING.md index 41a6f0f8859..09dd8ea92da 100644 --- a/mod/UPGRADING.md +++ b/mod/UPGRADING.md @@ -1,6 +1,6 @@ # mod (plugin type) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added diff --git a/mod/assign/UPGRADING.md b/mod/assign/UPGRADING.md index dbadbfb402a..8b58ad834e0 100644 --- a/mod/assign/UPGRADING.md +++ b/mod/assign/UPGRADING.md @@ -1,6 +1,6 @@ # mod_assign Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added @@ -12,13 +12,13 @@ - The value of this setting dictates which of the existing scales is the default option when creating new instances of the assignment. For more information see [MDL-54105](https://tracker.moodle.org/browse/MDL-54105) -- A new web service called `mod_assign_remove_submission` has been created to remove the submission for a specific user ID and assignment activity ID +- A new web service called `mod_assign_remove_submission` has been created to remove the submission for a specific user ID and assignment activity ID. For more information see [MDL-74050](https://tracker.moodle.org/browse/MDL-74050) - A new default value for `attemptreopenmethod` has been set to "Automatically until pass". For more information see [MDL-80741](https://tracker.moodle.org/browse/MDL-80741) -- A new method named `get_grading_batch_operation_details` has been added to the `assign_feedback_plugin` abstract class. Assignment feedback plugins can now override this method to define bulk action buttons that will appear in the sticky footer on the assignment grading page. +- A new method, `\assign_feedback_plugin::get_grading_batch_operation_details()`, has been added to the `assign_feedback_plugin` abstract class. Assignment feedback plugins can now override this method to define bulk action buttons that will appear in the sticky footer on the assignment grading page. For more information see [MDL-80750](https://tracker.moodle.org/browse/MDL-80750) @@ -27,30 +27,24 @@ - The constant `ASSIGN_ATTEMPT_REOPEN_METHOD_NONE` has been deprecated, and a new default value for `attemptreopenmethod` has been set to "Automatically until pass". For more information see [MDL-80741](https://tracker.moodle.org/browse/MDL-80741) -- The `assign_feedback_plugin::get_grading_batch_operations` method is now deprecated. Use `assign_feedback_plugin::get_grading_batch_operation_details` instead. +- The `\assign_feedback_plugin::get_grading_batch_operations()` method is now deprecated. Use `assign_feedback_plugin::get_grading_batch_operation_details` instead. For more information see [MDL-80750](https://tracker.moodle.org/browse/MDL-80750) -- The `assign_grading_table::plugingradingbatchoperations` property is removed. You can use `assign_feedback_plugin::get_grading_batch_operation_details` instead. +- The `\assign_grading_table::plugingradingbatchoperations` property has been removed. You can use `\assign_feedback_plugin::get_grading_batch_operation_details()` instead. For more information see [MDL-80750](https://tracker.moodle.org/browse/MDL-80750) -- The `$submissionpluginenabled` and `$submissioncount` parameters from the constructor of the `mod_assign\output::grading_actionmenu` class have been deprecated. +- The `$submissionpluginenabled` and `$submissioncount` parameters from the constructor of the `\mod_assign\output::grading_actionmenu` class have been deprecated. For more information see [MDL-80752](https://tracker.moodle.org/browse/MDL-80752) -- Method `assign_grading_table::col_picture` has been deprecated. - - For more information see [MDL-82292](https://tracker.moodle.org/browse/MDL-82292) -- Method `assign_grading_table::col_userid` has been deprecated. - - For more information see [MDL-82295](https://tracker.moodle.org/browse/MDL-82295) -- The method process_save_grading_options() has been deprecated as it is no longer used. +- The method `\assign::process_save_grading_options()` has been deprecated as it is no longer used. For more information see [MDL-82681](https://tracker.moodle.org/browse/MDL-82681) -- The `mod_assign_grading_options_form` class has been deprecated since it is no longer used. - - For more information see [MDL-82857](https://tracker.moodle.org/browse/MDL-82857) ### Removed -- The default option "Never" for `attemptreopenmethod` setting, which disallowed multiple attempts at the assignment, has been removed. This option was unnecessary because limiting attempts to 1 through the `maxattempts` setting achieves the same behavior. +- The default option "Never" for the `attemptreopenmethod` setting, which disallowed multiple attempts at the assignment, has been removed. This option was unnecessary because limiting attempts to 1 through the `maxattempts` setting achieves the same behavior. For more information see [MDL-80741](https://tracker.moodle.org/browse/MDL-80741) +- The `\mod_assign_grading_options_form` class has been removed since it is no longer used. + + For more information see [MDL-82857](https://tracker.moodle.org/browse/MDL-82857) diff --git a/mod/bigbluebuttonbn/UPGRADING.md b/mod/bigbluebuttonbn/UPGRADING.md index e08f26c08b9..0a7a504b880 100644 --- a/mod/bigbluebuttonbn/UPGRADING.md +++ b/mod/bigbluebuttonbn/UPGRADING.md @@ -1,18 +1,18 @@ # mod_bigbluebuttonbn Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added - Added new `meeting_info` value to show presentation file on BBB activity page For more information see [MDL-82520](https://tracker.moodle.org/browse/MDL-82520) -- The process_meeting_events in the broker class has been extended to process all the process_action functions implemented by the plugins. +- The `broker::process_meeting_events()` method has been extended to call the `::process_action()` method implemented by plugins. For more information see [MDL-82872](https://tracker.moodle.org/browse/MDL-82872) ### Removed -- Mobile support via plugin has been removed. +- Mobile support via plugin has been removed as it is now natively available in the Moodle App. For more information see [MDL-82447](https://tracker.moodle.org/browse/MDL-82447) diff --git a/mod/data/UPGRADING.md b/mod/data/UPGRADING.md index 9aaacc10667..5bd590d3534 100644 --- a/mod/data/UPGRADING.md +++ b/mod/data/UPGRADING.md @@ -1,15 +1,15 @@ # mod_data Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- The `data_add_record` method accepts a new `$approved` parameter to set the corresponding state of the new record +- The `\data_add_record()` method accepts a new `$approved` parameter to set the corresponding state of the new record. For more information see [MDL-81274](https://tracker.moodle.org/browse/MDL-81274) ### Deprecated -- The `mod_data_renderer::render_fields_footer` method has been deprecated as it's no longer used +- The `\mod_data_renderer::render_fields_footer()` method has been deprecated as it's no longer used. For more information see [MDL-81321](https://tracker.moodle.org/browse/MDL-81321) diff --git a/mod/feedback/UPGRADING.md b/mod/feedback/UPGRADING.md index 1e1aa05ea07..ce212fd7c04 100644 --- a/mod/feedback/UPGRADING.md +++ b/mod/feedback/UPGRADING.md @@ -1,12 +1,12 @@ # mod_feedback Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Deprecated -- The `feedback_check_is_switchrole` method has been deprecated as it didn't work +- The `\feedback_check_is_switchrole()` function has been deprecated as it didn't work. For more information see [MDL-72424](https://tracker.moodle.org/browse/MDL-72424) -- The method `mod_feedback\output\renderer::create_template_form()` has been deprecated. It is not used anymore. +- The method `\mod_feedback\output\renderer::create_template_form()` has been deprecated. It is not used anymore. For more information see [MDL-81742](https://tracker.moodle.org/browse/MDL-81742) diff --git a/mod/quiz/UPGRADING.md b/mod/quiz/UPGRADING.md new file mode 100644 index 00000000000..05e650ccd5d --- /dev/null +++ b/mod/quiz/UPGRADING.md @@ -0,0 +1,12 @@ +# mod_quiz Upgrade notes + +## 4.5rc2 + +### Added + +- The following methods of the `quiz_overview_report` class now take a new optional `$slots` parameter used to only regrade some slots in each attempt (default all): + - `\quiz_overview_report::regrade_attempts()` + - `\quiz_overview_report::regrade_batch_of_attempts()` + + For more information see [MDL-79546](https://tracker.moodle.org/browse/MDL-79546) + diff --git a/question/UPGRADING.md b/question/UPGRADING.md index 89af4a688bb..c9d4f5b21c1 100644 --- a/question/UPGRADING.md +++ b/question/UPGRADING.md @@ -1,15 +1,15 @@ # core_question (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- A new utility function `format_question_fragment` has been created so that question content can filter based on filters. +- A new utility function `\question_utils::format_question_fragment()` has been created so that question content can filter based on filters. For more information see [MDL-78662](https://tracker.moodle.org/browse/MDL-78662) ### Changed -- `column_base::from_column_name` now has an `$ignoremissing` parameter, which can be used to ignore if the class does not exist, instead of throwing an exception. +- `\core_question\local\bank\column_base::from_column_name()` method now accepts a `bool $ingoremissing` parameter, which can be used to ignore if the class does not exist, instead of throwing an exception. - For more information see [MDL-81125](https://tracker.moodle.org/browse/MDL-81125) + For more information see [MDL-81407](https://tracker.moodle.org/browse/MDL-81407) diff --git a/question/bank/managecategories/UPGRADING.md b/question/bank/managecategories/UPGRADING.md index 229c9c0e129..57d5bdfa9a9 100644 --- a/question/bank/managecategories/UPGRADING.md +++ b/question/bank/managecategories/UPGRADING.md @@ -1,23 +1,39 @@ # qbank_managecategories Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Changed -- The methods in the `question_category_object` class that are still required following this change have been split between `\qbank_managecategories\question_categories` (for the parts used within this plugin for display a list of categories) and `\core_question\category_manager` (for the parts used for generate CRUD operations on question categories, including outside of this plugin). This will allow `question_category_object` to be deprecated, and avoids other parts of the system wishing to manipulate question categories from having to violate cross-component communication rules. +- The `\qbank_managecategories\question_category_object` class has been deprecated. + Methods previously part of this class have been moved to either + + - `\qbank_managecategories\question_categories`, + for the parts used within this plugin for display a list of categories; or + + `\core_question\category_manager`, + for the parts used for generate CRUD operations on question categories, including outside of this plugin. + + This change will allow `\qbank_managecategories\question_category_object` to be deprecated, and avoids other parts of the system wishing to manipulate question categories from having to violate cross-component communication rules. For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) ### Deprecated - Category lists are now generated by templates. The following classes have been deprecated: - - `question_category_list` - - `question_category_list_item` + - `\qbank_managecategories\question_category_list` + - `\qbank_managecategories\question_category_list_item` For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) -- The methods `question_is_only_child_of_top_category_in_context`, `question_is_top_category` and `question_can_delete_cat` from `qbank_managecategories\helper` class have been deprecated and moved to the `\core_question\category_manager` class, minus the misleading `question_` prefix. Following the creation of this class, it does not make sense for them to live inside the `qbank_managecategories` plugin. +- The following methods of `\qbank_managecategories\helper`have been deprecated and moved to + `\core_question\category_manager`: + + | Method | Replacement | + | --- | --- | + | `question_is_only_child_of_top_category_in_context` | `\core_question\category_manager::is_only_child_of_top_category_in_context` | + | `question_is_top_category` | `\core_question\category_manager::is_top_category` | + | `question_can_delete_cat` | `\core_question\category_manager::can_delete_cat` | For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) -- `qbank_managecategories\question_category_object` is now completely deprecated. Its methods have either been migrated to `qbank_managecategories\question_categories`, `core_question\category_manager`, or are no longer used at all. +- `\qbank_managecategories\question_category_object` is now completely deprecated. Its methods have either been migrated to `\qbank_managecategories\question_categories`, `\core_question\category_manager`, or are no longer used at all. For more information see [MDL-72397](https://tracker.moodle.org/browse/MDL-72397) diff --git a/report/UPGRADING.md b/report/UPGRADING.md index b3cb8db2d52..cb853b9888a 100644 --- a/report/UPGRADING.md +++ b/report/UPGRADING.md @@ -1,12 +1,24 @@ # report (plugin type) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- Report has been added to subsystem components list +- Report has been added to subsystem components list. For more information see [MDL-81771](https://tracker.moodle.org/browse/MDL-81771) -- New `coursestructure` output general class has been created +- A new general output class, `\core_report\output\coursestructure`, has been created. For more information see [MDL-81771](https://tracker.moodle.org/browse/MDL-81771) + +### Changed + +- The `\core\report_helper::print_report_selector()` method accepts a new `$additional`` argument for adding content to the tertiary navigation to align with the report selector. + + For more information see [MDL-78773](https://tracker.moodle.org/browse/MDL-78773) + +### Removed + +- The previously deprecated `\core\report_helper::save_selected_report()` method has been removed and can no longer be used. + + For more information see [MDL-72353](https://tracker.moodle.org/browse/MDL-72353) diff --git a/report/eventlist/UPGRADING.md b/report/eventlist/UPGRADING.md index 8849ae42a53..73e12cf53a4 100644 --- a/report/eventlist/UPGRADING.md +++ b/report/eventlist/UPGRADING.md @@ -1,11 +1,11 @@ # report_eventlist Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Deprecated - The following deprecated methods in `report_eventlist_list_generator` have been removed: - - `get_core_events_list()` - - `get_non_core_event_list()` + - `\report_eventlist_list_generator::get_core_events_list()` + - `\report_eventlist_list_generator::get_non_core_event_list()` For more information see [MDL-72786](https://tracker.moodle.org/browse/MDL-72786) diff --git a/report/log/UPGRADING.md b/report/log/UPGRADING.md index 5b551525b4a..538b5878385 100644 --- a/report/log/UPGRADING.md +++ b/report/log/UPGRADING.md @@ -1,9 +1,9 @@ # report_log Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- `get_activities_list()` function returns also an array of disabled elements, apart from the array of activities. +- The `\report_log_renderable::get_activities_list()` method return values now includes an array of disabled elements, in addition to the array of activities. For more information see [MDL-82146](https://tracker.moodle.org/browse/MDL-82146) diff --git a/reportbuilder/UPGRADING.md b/reportbuilder/UPGRADING.md index f1f7225f359..b5141deb36d 100644 --- a/reportbuilder/UPGRADING.md +++ b/reportbuilder/UPGRADING.md @@ -1,6 +1,6 @@ # core_reportbuilder (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added @@ -15,13 +15,17 @@ - `core_reportbuilder_retrieve_report` For more information see [MDL-81433](https://tracker.moodle.org/browse/MDL-81433) -- Added a new database helper method `sql_replace_parameters` to help ensure uniqueness of parameters within a SQL expression +- Added a new database helper method `sql_replace_parameters` to help ensure uniqueness of parameters within a SQL expression. For more information see [MDL-81434](https://tracker.moodle.org/browse/MDL-81434) -- New format helper `format_time` method, for use in column callbacks that represent a duration of time (e.g. "3 days 4 hours") +- A new static method, `\core_reportbuilder\local\helpers\format::format_time()`, has been added for use in column callbacks that represent a duration of time (for example "3 days 4 hours"). For more information see [MDL-82466](https://tracker.moodle.org/browse/MDL-82466) -- Methods `add_columns_from_entity()`, `add_filters_from_entity()` and `report_element_search()` have been moved from `\core_reportbuilder\datasource` class to `\core_reportbuilder\base` class in order to be available also for system reports +- The following methods have been moved from `\core_reportbuilder\datasource` class to its parent class `\core_reportbuilder\base` to make them available for use in system reports: + + - `add_columns_from_entity()` + - `add_filters_from_entity()` + - `report_element_search()` For more information see [MDL-82529](https://tracker.moodle.org/browse/MDL-82529) @@ -34,36 +38,38 @@ - `number` For more information see [MDL-81168](https://tracker.moodle.org/browse/MDL-81168) -- The base datasource `add_all_from_entities` method accepts a new optional parameter to specify which entities to add elements from +- The base datasource `\core_reportbuilder\datasource::add_all_from_entities()` method accepts a new optional `array $entitynames` parameter to specify which entities to add elements from. For more information see [MDL-81330](https://tracker.moodle.org/browse/MDL-81330) -- All time related code has been updated to the PSR-20 Clock interface, as such the following methods no longer accept a `$timenow` parameter (instead please use `\core\clock` dependency injection): +- All time-related code has been updated to the PSR-20 Clock interface, as such the following methods no longer accept a `$timenow` parameter (instead please use `\core\clock` dependency injection): - `core_reportbuilder_generator::create_schedule` - - `core_reportbuilder\local\helpers\schedule::[create_schedule|calculate_next_send_time]` + - `core_reportbuilder\local\helpers\schedule::create_schedule()` + - `core_reportbuilder\local\helpers\schedule::calculate_next_send_time()` For more information see [MDL-82041](https://tracker.moodle.org/browse/MDL-82041) - The following classes have been moved to use the new exception API as a L2 namespace: - | Old class | New class | - |-----------|-----------| - | `\core_reportbuilder\report_access_exception` | `\core_reportbuilder\exception\report_access_exception` | - | `\core_reportbuilder\source_invalid_exception` | `\core_reportbuilder\exception\source_invalid_exception` | - | `\core_reportbuilder\source_unavailable_exception` | `\core_reportbuilder\exception\source_unavailable_exception` | + + | Old class | New class | + | ----------- | ----------- | + | `\core_reportbuilder\report_access_exception` | `\core_reportbuilder\exception\report_access_exception` | + | `\core_reportbuilder\source_invalid_exception` | `\core_reportbuilder\exception\source_invalid_exception` | + | `\core_reportbuilder\source_unavailable_exception` | `\core_reportbuilder\exception\source_unavailable_exception` | For more information see [MDL-82133](https://tracker.moodle.org/browse/MDL-82133) ### Removed -- Support for the following entity classes, renamed since 4.1, has now been removed completely: +- Support for the following entity classes, renamed since 4.1, have now been removed completely: - - `core_admin\local\entities\task_log` - - `core_cohort\local\entities\cohort` - - `core_cohort\local\entities\cohort_member` - - `core_course\local\entities\course_category` - - `report_configlog\local\entities\config_change` + - `\core_admin\local\entities\task_log` + - `\core_cohort\local\entities\cohort` + - `\core_cohort\local\entities\cohort_member` + - `\core_course\local\entities\course_category` + - `\report_configlog\local\entities\config_change` For more information see [MDL-74583](https://tracker.moodle.org/browse/MDL-74583) - The following previously deprecated local helper methods have been removed and can no longer be used: - - `audience::get_all_audiences_menu_types` - - `report::get_available_columns` + - `\core_reportbuilder\local\helpers\audience::get_all_audiences_menu_types()` + - `\core_reportbuilder\local\helpers\report::get_available_columns()` For more information see [MDL-76690](https://tracker.moodle.org/browse/MDL-76690) diff --git a/repository/onedrive/UPGRADING.md b/repository/onedrive/UPGRADING.md index 75cddb4f834..088a7008427 100644 --- a/repository/onedrive/UPGRADING.md +++ b/repository/onedrive/UPGRADING.md @@ -1,11 +1,11 @@ # repository_onedrive Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Removed - The following previously deprecated methods have been removed and can no longer be used: - - `can_import_skydrive_files` - - `import_skydrive_files` + - `\repository_onedrive::can_import_skydrive_files()` + - `\repository_onedrive::import_skydrive_files()` For more information see [MDL-72620](https://tracker.moodle.org/browse/MDL-72620) diff --git a/sms/UPGRADING.md b/sms/UPGRADING.md index 271dfb6956c..56bea7a88d2 100644 --- a/sms/UPGRADING.md +++ b/sms/UPGRADING.md @@ -1,9 +1,9 @@ # core_sms (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- A new `\core_sms` subsystem has been created +- A new `\core_sms` subsystem has been created. For more information see [MDL-81924](https://tracker.moodle.org/browse/MDL-81924) diff --git a/theme/UPGRADING.md b/theme/UPGRADING.md index 43b6ca14b4a..4c932250d03 100644 --- a/theme/UPGRADING.md +++ b/theme/UPGRADING.md @@ -1,10 +1,13 @@ # theme (plugin type) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- New `core/context_header` mustache template has been added. This template can be overridden by themes to modify the context header +- Added a new `\renderer_base::get_page` getter method. + + For more information see [MDL-81597](https://tracker.moodle.org/browse/MDL-81597) +- New `core/context_header` mustache template has been added. This template can be overridden by themes to modify the context header. For more information see [MDL-81597](https://tracker.moodle.org/browse/MDL-81597) @@ -16,6 +19,6 @@ ### Removed -- Removed all references to `iconhelp`, `icon-pre`, `icon-post`, `iconlarge`, and `iconsort` classes +- Removed all references to `iconhelp`, `icon-pre`, `icon-post`, `iconlarge`, and `iconsort` CSS classes. For more information see [MDL-74251](https://tracker.moodle.org/browse/MDL-74251) diff --git a/theme/boost/UPGRADING.md b/theme/boost/UPGRADING.md index 0564defeb79..d1e23069920 100644 --- a/theme/boost/UPGRADING.md +++ b/theme/boost/UPGRADING.md @@ -1,6 +1,6 @@ # theme_boost Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added @@ -9,7 +9,7 @@ For more information see [MDL-81816](https://tracker.moodle.org/browse/MDL-81816) - Upon upgrading Font Awesome from version 4 to 6, the solid family was selected by default. - Support for the `regular`, and `brands` families of icons has now been adde, allowing icons defined with `icon_system::FONTAWESOME` to use them. + Support for the `regular`, and `brands` families of icons has now been added, allowing icons defined with `\core\outut\icon_system::FONTAWESOME` to use them. Icons can select the FontAwesome family (`fa-regular`, `fa-brands`, `fa-solid`) by using the relevant class name when display the icon. @@ -22,6 +22,7 @@ For more information see [MDL-81818](https://tracker.moodle.org/browse/MDL-81818) - The `.page-header-headings` CSS class now has a background colour applied to the maintenance and secure layouts. You may need to override this class in your maintenance and secure layouts if both of the following are true: - - Your theme plugin inherits from `theme_boost` and uses this CSS class - Your theme plugin applies a different styling for the page header for the maintenance and secure layouts. + - Your theme plugin inherits from `theme_boost` and uses this CSS class + - Your theme plugin applies a different styling for the page header for the maintenance and secure layouts. For more information see [MDL-83047](https://tracker.moodle.org/browse/MDL-83047) diff --git a/user/UPGRADING.md b/user/UPGRADING.md index af837f41f0b..6b8e293be01 100644 --- a/user/UPGRADING.md +++ b/user/UPGRADING.md @@ -1,27 +1,29 @@ # core_user (subsystem) Upgrade notes -## 4.5rc1 +## 4.5rc2 ### Added -- New `\core_user\hook\extend_user_menu` hook added to allow third party plugin to extend the user menu navigation +- New `\core_user\hook\extend_user_menu` hook added to allow third party plugins to extend the user menu navigation. For more information see [MDL-71823](https://tracker.moodle.org/browse/MDL-71823) -- New `\core_user\hook\extend_default_homepage` hook added to allow third-party plugins to extend the default homepage options for the site +- A new hook, `\core_user\hook\extend_default_homepage`, has been added to allow third-party plugins to extend the default homepage options for the site. For more information see [MDL-82066](https://tracker.moodle.org/browse/MDL-82066) ### Changed -- The visibility of the methods: `check_access_for_dynamic_submission()` and `get_options()` in `\core_user\form\private_files` has been changed from protected to public. +- The visibility of the following methods have been increased to public: + - `\core_user\form\private_files::check_access_for_dynamic_submission()` + - `\core_user\form\private_files::get_options()` For more information see [MDL-78293](https://tracker.moodle.org/browse/MDL-78293) -- The user profile field `display_name()` method now accepts an optional `$escape` parameter to define whether to escape the returned name +- The user profile field `\profile_field_base::display_name()` method now accepts an optional `$escape` parameter to define whether to escape the returned name. For more information see [MDL-82494](https://tracker.moodle.org/browse/MDL-82494) ### Deprecated -- The `participants_search::get_total_participants_count()` is no longer used since the total count can be obtained from `::get_participants()` +- The `\core_user\table\participants_search::get_total_participants_count()` is no longer used since the total count can be obtained from `\core_user\table\participants_search::get_participants()`. For more information see [MDL-78030](https://tracker.moodle.org/browse/MDL-78030)