This files describes API changes in core lbraries and APIs,
information provided here is intended especially for developers.

=== 2.4.6 ===
* Use new function moodleform::mock_submit() to simulate form submission in unit tests.

=== 2.4.4 ===
* condition_info:get_condition_user_fields($formatoptions) now accepts the optional
  param $formatoptions, that will determine if the field names are processed by
  format_string() with the passed options.

=== 2.4 ===

* Pagelib: Numerous deprecated functions were removed as classes page_base, page_course
  and page_generic_activity.
* use $CFG->googlemapkey3 instead of removed $CFG->googlemapkey and migrate to Google Maps API V3
* Function settings_navigation::add_course_editing_links() is completely removed
* function global_navigation::format_display_course_content() is removed completely (the
  functionality is moved to course format class)
* in the function global_navigation::load_generic_course_sections() the argument $courseformat is
  removed
* New component and itemid columns in groups_members table - this allows plugin to create protected
  group memberships using 'xx_yy_allow_group_member_remove' callback and there is also a new restore
  callback 'xx_yy_restore_group_member()'.
* New general role assignment restore plugin callback 'xx_yy_restore_role_assignment()'.
* functions get_generic_section_name(), get_all_sections(), add_mod_to_section(), get_all_mods()
  are deprecated. See their phpdocs in lib/deprecatedlib.php on how to replace them

YUI changes:
* moodle-enrol-notification has been renamed to moodle-core-notification
* YUI2 code must now use 2in3, see http://yuilibrary.com/yui/docs/yui/yui-yui2.html
* M.util.init_select_autosubmit() and M.util.init_url_select() have been deprecated. Code using this should be updated
  to use moodle-core-formautosubmit

Unit testing changes:
* output debugging() is not sent to standard output any more,
  use $this->assertDebuggingCalled(), $this->assertDebuggingNotCalled(),
  $this->getDebuggingMessages() or $this->assertResetDebugging() instead.

=== 2.3 ===

Database layer changes:
* objects are not allowed in paramters of DML functions, use explicit casting to strings if necessary

Note:
* DDL and DML methods which were deprecated in 2.0 have now been removed, they will no longer produce
debug messages and will produce fatal errors

API changes:

* send_stored_file() has changed its interface
* deleted several resourcelib_embed_* functions from resourcelib.php

=== 2.2 ===

removed unused libraries:
* odbc, base32, CodeSniffer, overlib, apd profiling, kses, Smarty, PEAR Console, swfobject, cssshover.htc, md5.js

API changes:
* new admin/tool plugin type
* new context API - old API is still available
* deleted users do not have context any more
* removed global search


=== 2.1 ===

API changes:
* basic suport for restore from 1.9
* new mobile devices API
* new questions API


=== 2.0 ===

API changes:
* new DML API - http://docs.moodle.org/dev/DML_functions
* new DDL API - http://docs.moodle.org/dev/DDL_functions
* new file API - http://docs.moodle.org/dev/File_API
* new $PAGE and $OUTPUT API
* new navigation API
* new theme API - http://docs.moodle.org/dev/Theme_changes_in_2.0
* new javascript API - http://docs.moodle.org/dev/JavaScript_usage_guide
* new portfolio API
* new local plugin type
* new translation support - http://lang.moodle.org
* new web service API
* new cohorts API
* new messaging API
* new rating API
* new comment API
* new sessions API
* new enrolment API
* new backup/restore API
* new blocks API
* new filters API
* improved plugin support (aka Frankenstyle)
* new registration and hub API
* new course completion API
* new plagiarism API
* changed blog API
* new text editor API
* new my moodle and profiles API
