11# Release notes
22
3+ ## 2025101400
4+ 1 . 2025-10-14: fix: #382 : ensure grade_grades table is merged properly. Thanks Daniel Tomé.
5+ 1 . Added tests for the new grade_grades table merger.
6+ 2 . Improved some existing tests.
7+ 3 . Improve Makefile to let run phpcs/phpcbf more easily.
8+
9+
310## 2025092100
411
5121 . 2025-09-21: improvement: #372 : add output from last steps of regrading and reaggregation of course completions.
4855When upgrading to this version, you have to choose one of these paths:
4956
50571 . ** In case you have local plugin customizations:** you must check twice
51- the new plugin structure since there has been a major refactor
52- of the whole plugin. The ` lib/ ` directory was removed, and
58+ the new plugin structure since there has been a major refactor
59+ of the whole plugin. The ` lib/ ` directory was removed, and
5360 most of the plugin classes were moved inside the ` classes/ ` directory
5461 for a better code organization and with the benefit of autoloading.
55- Also, we removed the vast majority of functions from the ` lib.php ` ,
62+ Also, we removed the vast majority of functions from the ` lib.php ` ,
5663 leaving there only the necessary Moodle callbacks.
5764 Update your local customizations appropriately according to new
5865 classes and file structure.
@@ -74,9 +81,9 @@ When upgrading to this version, you have to choose one of these paths:
7481 and table mergers processed the merge with success till now.
7582 2 . The callbacks for this hook are meant to process any kind of operations
7683 from Moodle internals or plugin specific tasks, that are transversal,
77- (operations not specific for a single table) or any kind of
84+ (operations not specific for a single table) or any kind of
7885 aggregation operation, not updated by the table mergers.
79- 3 . To provide you an example, we have moved the regrading of the users and
86+ 3 . To provide you an example, we have moved the regrading of the users and
8087 the course recompletions into callbacks for this hook.
8188 4 . We think this hook will help Moodle and plugin developers to adjust the
8289 merge users tool to better fit any Moodle instance (with a variable
@@ -90,7 +97,7 @@ Moodle core (subsystems, and so) and plugins really know how user's
9097information is managed. So, their maintainers have the full knowledge
9198and they can provide callbacks for both hooks:
92991 . Callbacks for ` add_settings_before_merging ` hook may help providing specific
93- database-related settings: mainly table mergers (setting ` tablemergers ` ),
100+ database-related settings: mainly table mergers (setting ` tablemergers ` ),
94101 compound indexes (setting ` compoundindexes ` ) or user-related table columns
95102 (setting ` userfieldnames ` ).
961032 . Callbacks for ` after_merged_all_tables ` hook may help providing specific
@@ -100,7 +107,7 @@ and they can provide callbacks for both hooks:
100107** Just as a clarification:** The inclusion of the hooks does not alter the
101108way of using this plugin at all. It will behave as it did.
102109
103- However, these two hooks provide you as a developer and maintainer of your
110+ However, these two hooks provide you as a developer and maintainer of your
104111plugin or Moodle instance powerful tools to customize the behaviour of the merge,
105112just placing the necessary callbacks and related stuff in your own
106113code, to ensure merge users is processed properly.
@@ -110,18 +117,18 @@ code, to ensure merge users is processed properly.
1101171 . 2025-08-18: improvement: #348 : added hook to load database-related settings.
111118 1 . This is though to help Moodle and plugin developers to adjust their code to help
112119 this plugin merge users properly.
113- 2 . The settings that are loaded by this hook are those populated on the old
120+ 2 . The settings that are loaded by this hook are those populated on the old
114121 ` config/config.php ` and ` config/config.local.php ` files. These files are not supported any more.
115122 3 . The content of the old ` config/config.php ` is now placed on ` classes/local/default_db_config.php ` .
116123 This must help this plugin maintainers to keep in a single place the default behaviour.
117124 4 . Added tests to ensure the database-related settings are kept properly.
118125 5 . Priority of the settings (more priority settings are kept, in front of subsequent settings):
119- 1 . Custom admin setting: the set of settings with the highest priority.
126+ 1 . Custom admin setting: the set of settings with the highest priority.
120127 This must let administrators adjusting plugin behaviour at any time.
121128 2 . Hook settings: settings populated from this hook's callbacks are the second set of
122129 settings in priority.
123130 3 . Default settings: the plugin's default settings are kept as with the lowest priority.
124- Any existing setting from hooks and custom settings will replace default ones.
131+ Any existing setting from hooks and custom settings will replace default ones.
125132
126133## 2025081700
127134
@@ -134,7 +141,7 @@ code, to ensure merge users is processed properly.
134141
135142## 2025081603
136143
137- 1 . 2025-0816: improvement: #244 : allow resetting web user selection. Unified search and review tables.
144+ 1 . 2025-0816: improvement: #244 : allow resetting web user selection. Unified search and review tables.
138145 Added extra column on search table to show whether a user is already suspended (probably already merged).
1391462 . 2025-08-16: improvement: #345 : move config.local.php into a new admin setting, in JSON format, for being human-readable.
140147 1 . Also, consider that setting with name ` alwaysRollback ` was renamed to ` alwaysrollback ` to unify the case insensitiveness
@@ -143,13 +150,13 @@ code, to ensure merge users is processed properly.
143150### UPGRADING
144151
145152** Recommendation when upgrading:** Keep your ` config/config.local.php ` in place. It will help
146- updating the value of the new admin setting ` tool_mergeusers/customdbsettings ` ** automatically** ,
147- without the need to convert your old ` config/config.local.php ` to JSON.
153+ updating the value of the new admin setting ` tool_mergeusers/customdbsettings ` ** automatically** ,
154+ without the need to convert your old ` config/config.local.php ` to JSON.
148155But, it is only a recommendation.
149156
150- Otherwise, you will have to update that admin setting manually with the content of your previous
151- ` config/config.local.php ` on the new admin setting. To help you, you can use the
152- ` tool_mergeusers\local\jsonizer::to_json($customsettings) ` with an array with all your
157+ Otherwise, you will have to update that admin setting manually with the content of your previous
158+ ` config/config.local.php ` on the new admin setting. To help you, you can use the
159+ ` tool_mergeusers\local\jsonizer::to_json($customsettings) ` with an array with all your
153160` $customsettings ` , and it will provide you the JSON content to place.
154161
155162If you did not have any customization or file on ` config/config.local.php ` , you have to do nothing
@@ -208,7 +215,7 @@ this new API.
208215
209216## 2025020502
210217
211- 1 . 2025-02-05 #295 - fix: remove deprecation warning on CLIGathering, related to Iterator. Thanks to @CatSema .
218+ 1 . 2025-02-05 #295 - fix: remove deprecation warning on CLIGathering, related to Iterator. Thanks to @CatSema .
212219
213220## 2025020501
214221
@@ -234,10 +241,10 @@ this new API.
2342412 . 2025-01-22 #292 - Bump plugin version and requires Moodle 4.5 onwards.
235242 1 . CI passes on green, as before, for PHP 8.1, 8.2 and 8.3 only for core MOODLE_405_STABLE.
236243 2 . version.php updated.
237- 3 . Improve type detection on IDE.
244+ 3 . Improve type detection on IDE.
238245 4 . Uses new trait on the assign_test class.
2392463 . 2025-01-17 #291 - Make web administration work on merge users.
240- 1 . Removed lines requiring "lib/outputcomponents.php" from two files.
247+ 1 . Removed lines requiring "lib/outputcomponents.php" from two files.
241248
242249## 2024060300
243250
0 commit comments