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

=== 10 ===
* 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.
