MDL-37082 core_course: include details of deprecation in the upgrade.txt file
[moodle.git] / lib / upgrade.txt
1 This files describes API changes in core lbraries and APIs,
2 information provided here is intended especially for developers.
4 === 2.5 ===
6 * Functions responsible for output in course/lib.php are deprecated, the code is moved to
7   appropriate renderers: print_section_add_menus()
8   See functions' phpdocs in lib/deprecatedlib.php
9 * Function get_print_section_cm_text() is deprecated, replaced with methods in cm_info
10 * zip_packer may create empty zip archives, there is a new option to ignore
11   problematic files when creating archive
12 * The function delete_course_module was deprecated and has been replaced with
13   course_delete_module. The reason for this was because the function delete_course_module
14   only partially deletes data, so wherever it was called extra code was needed to
15   perform the whole deletion process. The function course_delete_module now takes care
16   of the whole process.
18 === 2.4 ===
20 * Pagelib: Numerous deprecated functions were removed as classes page_base, page_course
21   and page_generic_activity.
22 * use $CFG->googlemapkey3 instead of removed $CFG->googlemapkey and migrate to Google Maps API V3
23 * Function settings_navigation::add_course_editing_links() is completely removed
24 * function global_navigation::format_display_course_content() is removed completely (the
25   functionality is moved to course format class)
26 * in the function global_navigation::load_generic_course_sections() the argument $courseformat is
27   removed
28 * New component and itemid columns in groups_members table - this allows plugin to create protected
29   group memberships using 'xx_yy_allow_group_member_remove' callback and there is also a new restore
30   callback 'xx_yy_restore_group_member()'.
31 * New general role assignment restore plugin callback 'xx_yy_restore_role_assignment()'.
32 * functions get_generic_section_name(), get_all_sections(), add_mod_to_section(), get_all_mods()
33   are deprecated. See their phpdocs in lib/deprecatedlib.php on how to replace them
35 YUI changes:
36 * moodle-enrol-notification has been renamed to moodle-core-notification
37 * YUI2 code must now use 2in3, see http://yuilibrary.com/yui/docs/yui/yui-yui2.html
38 * M.util.init_select_autosubmit() and M.util.init_url_select() have been deprecated. Code using this should be updated
39   to use moodle-core-formautosubmit
41 Unit testing changes:
42 * output debugging() is not sent to standard output any more,
43   use $this->assertDebuggingCalled(), $this->assertDebuggingNotCalled(),
44   $this->getDebuggingMessages() or $this->assertResetDebugging() instead.
46 === 2.3 ===
48 Database layer changes:
49 * objects are not allowed in paramters of DML functions, use explicit casting to strings if necessary
51 Note:
52 * DDL and DML methods which were deprecated in 2.0 have now been removed, they will no longer produce
53 debug messages and will produce fatal errors
55 API changes:
57 * send_stored_file() has changed its interface
58 * deleted several resourcelib_embed_* functions from resourcelib.php
60 === 2.2 ===
62 removed unused libraries:
63 * odbc, base32, CodeSniffer, overlib, apd profiling, kses, Smarty, PEAR Console, swfobject, cssshover.htc, md5.js
65 API changes:
66 * new admin/tool plugin type
67 * new context API - old API is still available
68 * deleted users do not have context any more
69 * removed global search
72 === 2.1 ===
74 API changes:
75 * basic suport for restore from 1.9
76 * new mobile devices API
77 * new questions API
80 === 2.0 ===
82 API changes:
83 * new DML API - http://docs.moodle.org/dev/DML_functions
84 * new DDL API - http://docs.moodle.org/dev/DDL_functions
85 * new file API - http://docs.moodle.org/dev/File_API
86 * new $PAGE and $OUTPUT API
87 * new navigation API
88 * new theme API - http://docs.moodle.org/dev/Theme_changes_in_2.0
89 * new javascript API - http://docs.moodle.org/dev/JavaScript_usage_guide
90 * new portfolio API
91 * new local plugin type
92 * new translation support - http://lang.moodle.org
93 * new web service API
94 * new cohorts API
95 * new messaging API
96 * new rating API
97 * new comment API
98 * new sessions API
99 * new enrolment API
100 * new backup/restore API
101 * new blocks API
102 * new filters API
103 * improved plugin support (aka Frankenstyle)
104 * new registration and hub API
105 * new course completion API
106 * new plagiarism API
107 * changed blog API
108 * new text editor API
109 * new my moodle and profiles API