This files describes API changes in the assign code.
information provided here is intended especially for developers.

=== 19.0 ===

* Updated heading levels in templates/grading_navigation_no_users.mustache, templates/grading_navigation_user_summary.mustache
    and templates/grading_save_in_progress.mustache
* Updatded heading levels in:
  * mod_assign_renderer::render_assign_gradingmessage()
  * mod_assign_renderer::render_assign_submit_for_grading_page()
  * mod_assign_renderer::render_assign_header()
  * mod_assign_renderer::render_assign_grading_summary()
  * mod_assign_renderer::render_assign_feedback_status()
  * mod_assign_renderer::render_assign_submission_status_compact()
  * mod_assign_renderer::render_assign_submission_status()
  * mod_assign_renderer::render_assign_attempt_history()
  * mod_assign_renderer::render_assign_gradingmessage()
  * mod_assign_renderer::render_assign_gradingmessage()

=== 14.0 ===

* assign_submission_onlinetext::check_word_count() added 2nd parameter.

=== 13.0 ===

* Class assign_upgrade_manager has been deprecated and should no longer be used.
* Deprecated the following method:
    * assign_plugin::upgrade()
    * assign_plugin::upgrade_settings()
    * assign_plugin::can_upgrade()
    * assign::can_upgrade_assignment()
    * assign::can_upgrade()
  These methods have no replacement and should no longer be used.

=== 12.0 ===

* Modified mod_assign_renderer::render_assign_submission_status_compact removing incorrect use alert-error CSS class
* Modified mod_assign_renderer::render_assign_submission_status removing incorrect use alert-error CSS class
* Deprecated the following report builder display functions and replaced with display classes
    * rb_source_assign::rb_display_assignmenttype().
    * rb_source_assign::rb_display_scalevalues(), please call mod_assign\rb\display\assign_scale_values::display() instead.
    * rb_source_assign::rb_display_submissiongrade(), please call mod_assign\rb\display\assign_submission_grade::display() instead.
    * rb_source_assign::rb_display_maxgrade(), please call mod_assign\rb\display\assign_max_grade::display() instead.
    * rb_source_assign::rb_display_mingrade(), please call mod_assign\rb\display\assign_min_grade::display() instead.
    * rb_source_assignsummary::rb_display_roundgrade(), please call totara_reportbuilder\rb\display\round::display() instead.
* String helpers are no longer used in the following templates, string data is passed via context data:
    * mod/assign/templates/popout_button.mustache
    * mod/assign/templates/loading.mustache
    * mod/assign/templates/grading_navigation_user_summary.mustache
    * mod/assign/templates/grading_navigation_user_selector.mustache
    * mod/assign/templates/grading_navigation.mustache
    * mod/assign/templates/grading_app.mustache
    * mod/assign/templates/grading_actions.mustache
* render_editor_content added 6th argument $shortentext
* assign_grading_summary class has a new 12th property $gradingnotrequired.

=== 11.2 ===

* assign::add_attempt requires that set_most_recent_team_submission() be called if attempting to use this function with a team
  submission.

=== 10.0 ===
* External function mod_assign_external::get_assignments now returns additional optional fields:
   - preventsubmissionnotingroup: Prevent submission not in group.
   - submissionstatement and submissionstatementformat: When there is a submission statement defined.
* Proper checking for empty submissions
* Submission modification time checking - this will help students working in groups not clobber each others'
  submissions
* External functions that were returning file information now return the following file fields:
  filename, filepath, mimetype, filesize, timemodified and fileurl.
  Those fields are now marked as VALUE_OPTIONAL for backwards compatibility.
  Please, note that previously the filename was part of the filepath field, now they are separated.
* Submission and feedback plugins can now specify file areas related to their configuration data,
  which will then be included in backup and restore; see assign_plugin::get_config_file_areas().
* Submission and feedback plugins must now return the specific list of configs available for external functions,
  this can be done implementing the new assign plugin method get_config_for_external()
* Webservice function mod_assign_get_submissions returns a new field 'gradingstatus' from each submission.
* The feedback plugins now need to implement the is_feedback_modified() method. The default is to return true
  for backwards compatibiltiy.
* When downloading all submissions as a zip each students' files are in a separate folder, are no longer renamed
  and the folder structure is kept intact.
* Updated HTML to use the standard bootstrap btn-default css class. This affects the mod_assign/attempt_history_chooser,
  mod_assign/grading_actions templates and assignfeedback_editpdf_renderer::render_assignfeedback_editpdf_widget(),
  mod_assign_renderer::render_assign_grading_summary() renderers and the assignment grading table.
