This files describes API changes in /enrol/* - plugins, information provided here is intended especially for developers. === 2.8 === * enrol_plugin::instance_deleteable() is deprecated and has been replaced by enrol_plugin::can_delete_instance() * enrol_plugin::can_hide_show_instance() is a new function to control who can hide/show enrolment instances. Returns true by default but plugins must implement their own logic. === 2.6 === * Enrolment plugin which supports self enrolment should implement can_self_enrol() * Enrolment plugin should implement get_enrol_info() to expose instance information with webservice or external interface. * Webservice core_enrol_get_enrolled_users_with_capability was incorrectly specifing float as the return type for user id. int is the actual returned type and is now reported as such. === 2.5 === * plugins may use general enrol/editenrolment.php page to let users edit enrolments manually * new support for grade recovery in enrol_plugin::enrol_user() method === 2.4 === required changes in code: * use role_get_name() or role_fix_names() if you need any role names, using role.name directly from database is not correct any more * new restore support: ENROL_RESTORE_EXACT, ENROL_RESTORE_NOUSERS and ENROL_RESTORE_CLASS were removed, implement new restore_* plugin methods instead other changes and new features: * course enrolment manager now works with disabled plugins too * new support for protected group membership linked to enrol instance * new support for expiry notifications - see enrol_plugin::send_expiry_notifications() method === 2.2 === required changes in code: * load_temp_role() is deprecated, use load_temp_course_role() instead, temp role not loaded * remove_temp_role() is deprecated, use remove_temp_course_roles() instead * 'user_unenrol_modified' event was renamed to 'user_enrol_modified' === 2.0 === required changes in code: * enrolment plugins need to be rewritten to use new API - see inline phpdocs and official plugins