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

=== 18 ===

* Added new course backup configuration option to include/exclude H5P libraries from H5P activities

=== 14 ===

* \core_backup_renderer::backup_detail_pair() changed label tag to span tag and added aria-label.

=== 13 ===

* Fixed missing closing <div> tag in core_backup_renderer::course_selector_new(),
  core_backup_renderer::course_selector_current(), and core_backup_renderer::course_selector_existing.
* Deprecated restore_ui::cleanup() has been removed
* Constant backup::MODE_HUB has been deprecated
* Allow backup permissions check to be overridden by the course container API
  in backup_controller::__construct and restore_controller::__construct
* Allow restorer course role to be overridden by the course container API
* Added 'containertype' course field to backup_course_structure_step::define_structure

=== 11 ===

* Capability 'moodle/restore:restorecourse' is now used only for targeting of restore operations,
  new 'moodle/restor:restorefile' capability allows user to start restore in context.
* Capability 'moodle/restore:uploadfile' is now used only for direct file uploads,
  there are new capabilities 'moodle/backup:managebackupfiles' and 'moodle/backup:deletebackupfiles'
  that are used to control management of course and activity backup files.
* Anonymised backup files are now stored in course backup areas, the reason is to
  make sure that capability 'moodle/backup:downloadfile' is required to download any
  backups that may include user data. Note that 'moodle/backup:managebackupfiles' capability
  gives users the ability to upload, delete and download files from backup areas too.
* There is a new concept of 'trusted' backup files, the purpose is to prevent
  uploading of backup files from other sites and to detect hacking of backup file contents.
  Internally this is implemented by storing the content hash of each backup files generated,
  later during restore the archive content hash can be looked up to see if it can be trusted.
  Capability 'moodle/restore:restoreuntrusted' may be used to restrict which role may
  restore untrusted backups.


=== 10 ===

* 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.
* abstract class backup_tool_plugin has been added. This class can be extended to support admin tools
  in course and module backups.
* abstract class restore_tool_plugin has been added. This class can be extended to support admin tools
  in course and module backups.
