=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /availability/*. The information here is intended only for developers. === 4.3 === * The `availability_info templatable` no longer exports 'showmore' information, and any component rendering avaialable_info should handle showmore/showless behaviour by itself. That means that 'showmorelink', 'hidden' and 'abbreviate' won't be exported for template in the root element neither its child items, and `core_availability/availability_more` module has beed deprecated === 4.2 === * The form for editing availability conditions now supports "private" conditions, that should not be shown to users. If a "private" condition is selected (as determined by the condition plugin), the whole ruleset will be forcibly set to "Hidden entirely if student doesn't meet the conditions". * The group condition plugin will now treat any rule containing a group with a visibility setting other than `visibility:ALL` as private. === 4.0 === * Method render_core_availability_multiple_messages() is deprecated. Please use core_availability\\output\\multiple_messages The new rendereable will produce output with a 'more' link when there is lots of availability information. * There were existing restrictions on what condition plugins can do in the get_description method (for example they mustn't call format_string), which were not well documented. New functions description_cm_name(), description_format_string(), description_callback() can be used so that condition plugins to behave correctly in all situations. === 3.2 === * Condition plugins must replace the CSS selector "#fitem_id_availabilityconditionsjson" with ".availability-field". This selector is often used in your plugin's yui/src/form/js/form.js file. === 2.9 === * Condition plugins can now implement a new include_after_restore function to indicate that they should be removed during the restore process. (This is implemented so that group and grouping conditions are removed if groups are not restored.) === 2.8 === * There is a new API function in the info_module/info_section objects (and related functions in internal API): get_user_list_sql. This returns SQL code that does roughly the same as filter_user_list to return a list of users who should be shown as having access to the module or section. * Any third-party availability plugins which return true to is_applied_to_user_lists (and therefore previously implemented filter_user_list) should now also implement get_user_list_sql. If not implemented, a debugging warning will occur when anybody calls get_user_list_sql if the affected plugin is in use, and that user list will not be filtered by the plugin.