=== 4.5 Onwards ===

This file has been replaced by UPGRADING.md. See MDL-81125 for further information.

===
This files describes API changes in /backup/*,
information provided here is intended especially for developers.

=== 4.4 ===

* New \core_backup\hook\before_course_modified_check hook which can be used to exclude events from automated backup has been implemented (See MDL-73926 and MDL-81044).

=== 4.3 ===

* The function get_async_backup_links_backup has a new param of $backupid and is part of a fix to
  async backups (See MDL-69983).
* During restore the function create_included_users has been updated to convert backups containing
  legacy MD5 hashed passwords to the new password hashing scheme (See MDL-79134).

=== 4.1 ===

* The class core_backup\copy\copy in backup/util/ui/classes/copy.php has been deprecated, please use copy_helper
  from backup/util/helper/copy_helper.class.php instead.
* The method set_copy() in backup/controller/base_controller.class.php has been deprecated, please use a restore
  controller for storing copy information instead.
* The method get_copy() in backup/controller/base_controller.class.php has been deprecated, please use get_copy()
  from backup/controller/restore_controller.class.php instead.

=== 4.0 ===

* Backup UI labels now accept empty/whitespace-only contents.

=== 3.11 ===

 * New setting called "Include permission overrides" has been implemented. The default
   settings is OFF for import, and ON for restore.

=== 3.10 ===

 * Local plugins can now hook into a backup and restore process of grade items by
   using define_grade_item_plugin_structure method (See MDL-69418).

=== 3.1 ===

* New close() method added to loggers so they can close any open resource. Previously
  any backup and restore operation using the file logger may be leaving unclosed files.
* New destroy() method added to loggers, normally called from backup and restore controllers
  own destroy() method to ensure that all references in the chained loggers are deleted
  and any open resource within them is closed properly.

=== 3.0 ===

* The backup_auto_keep setting, in automated backups configuration, is now
  renamed to backup_auto_max_kept as part of a rationalise of naming (see MDL-50602)

=== 2.6 ===

* The backup_controller_dbops::create_temptable_from_real_table()
  method is not available anymore. Temp tables must be created
  inline always.

* Using the info field from backup_ids_temp or backup_files_temp
  must now go via backup_controller_dbops::decode_backup_temp_info() and
  backup_controller_dbops::encode_backup_temp_info(). The implementation
  of the encoding has changed.  These new functions encapsulate any future
  changes to the encoding.

=== 2.5 ===

* New optional param $sortby in backup set_source_table() allows to
    specify the ORDER BY clause to be used. Previously it was required
    to use the set_source_sql() more complex alternative in places
    requiring ordering.
* The old 1.9 files backuplib.php, lib.php and restorelib.php and the bb directory,
    (all under /backup) have been deleted and no code should rely on them anymore.

=== 2.4 ===

* Since 2.3.1+ the backup file name schema has changed. The ID of the course will always be part of
    the filename regardless of the setting 'backup_shortname'. See MDL-33812.

=== 2.3 ===

* Since 2.3.1+ the backup file name schema has changed. The ID of the course will always be part of
    the filename regardless of the setting 'backup_shortname'. See MDL-33812.

=== 2.2 ===

* Since 2.2.4+ the backup file name schema has changed. The ID of the course will always be part of
    the filename regardless of the setting 'backup_shortname'. See MDL-33812.
