Merge branch 'MDL-73467' of git://github.com/paulholden/moodle
[moodle.git] / filter / upgrade.txt
blob4f28d94b3ef4e31902a5e25deae23f62d2e0c548
1 This file describes API changes in core filter API and plugins,
2 information provided here is intended especially for developers.
4 === 4.0 ===
6 * The Word censorship (filter_censor) filter has been completely removed from core. It has been moved to the plugins database
7 repository, so it can still be installed as a third-party plugin.
9 === 3.9 ===
11 * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-65809 for more info:
12     - filter_mathjaxloader_upgrade_cdn_cloudflare()
13     - filter_mathjaxloader_upgrade_mathjaxconfig_equal()
15 === 3.6 ===
17 * Although there is no API change that require you to update your filter,
18   if you use the filter_phrases() helper method, you may wish to take
19   advantage of the changes that were made in MDL-47962 to improve performance.
21   Now, instead of having to compute the replacement HTML for each phrase before
22   you construct the filterobject for it. You can instead pass a callback to
23   the filterobject constructor which is only called if the phrase is used.
25   To understand how to use this, see the comment on filterobject::__construct and
26   look at the filter_glossary changes as an example:
27   https://github.com/moodle/moodle/commit/5a8c44d000ecc5669db26aefebe447f688e8f2ce
29 === 3.0 ===
31 * New argument $skipfilters to filter_manager::filter_text to allow applying
32   the filters with a given one omitted.
34 * New admin setting class admin_setting_filter_types which can be used if you
35   want to make the disablefilters value in your code configurable.
37 * Methods filter_manager::text_filtering_hash and moodle_text_filter::hash have been
38   deprecated. There were use by the old Moodle filtered text caching system
39   that was removed several releases ago.
41 === 2.7 ===
43 * Finally filter may use $PAGE and $OUTPUT, yay!
44 * Old global text caching was removed, each filter is now responsible
45   for own caching.
47 === 2.6 ===
49 * filtersettings.php is now deprecated, migrate to standard settings.php
51 === 2.5 ===
53 * legacy_filter emulation was removed
54 * support for 'mod/*' filters was removed
55 * use short filter name instead of old path, ex.: 'filter/tex' ---> 'tex'
56   in all filter API functions and methods
58 === 2.3 ===
60 * new setup() method added to moodle_text_filter, invoked before
61   filtering happens, used to add all the requirements to the page
62   (js, css...) and/or other init tasks. See filter/glossary for
63   an example using the API (and MDL-32279 for its justification).
65 === 2.2 ===
67 * legacy filters and legacy locations have been deprecated, so any
68   old filter should be updated to use the new moodle_text_filter,
69   and any filter bundled under mod/xxxx directories be moved to
70   /filter/xxxx (MDL-29995). They will stop working completely in
71   Moodle 2.3 (MDL-29996). See the glossary or data filters for
72   examples of legacy module filters and locations already updated.