What's new for OMERO 5
======================

OMERO 5.0 introduces the OMERO.fs (file system) changes needed to stop data
duplication on import. Files are now imported and stored in their original
format, preserving file names and directory structures, and reducing storage
requirements. These changes, coupled with updates to :bf_doc:`Bio-Formats <>`
and the clients, improve the way OMERO handles complex multidimensional
datasets.

- :doc:`logging` and :doc:`Server/Properties` have been updated to explain the
  new logging configuration in OMERO.fs.

- :doc:`Modules/Delete` has been updated to explain how OMERO 5 handles
  deleting multi-file images and image sets and to clarify the finality of
  deletion.

- :doc:`Server/FS` has been updated to give an overview of the OMERO.fs
  project, and further details of the
  :doc:`ManagedRepository/ManagedRepository` are being added.

- :doc:`OMERO.web <Web>` has been upgraded to Django 1.6, requiring Python
  2.6.5 or later. This enables more flexibility for developing new web
  apps and plugins. All the :doc:`OMERO.web documentation <index>` has been
  updated to reflect these changes.

- :doc:`scripts/index` and :doc:`scripts/matlab-scripts` have been updated to 
  reflect that MATLAB and Jython scripts are now supported natively.

- Guidance for getting more involved with OME, and contributing to both OMERO
  and Bio-Formats, has been moved to our new
  :devs_doc:`Contributing Developer Documentation <>` section so it is easier
  to find. It has also been updated to better explain our development
  processes.

- :doc:`Python` describes additions to the BlitzGateway API to support Filesets.


Breaking changes
----------------

Breaking changes to the OMERO model and API were intentionally kept to
a minimum. New methods and fields were added which you may want to make
use of in your clients. There was, however, one breaking change.

The definition of one of the `OriginalFile` model object properties has
changed: `sha1` which used to contain the SHA1 hash (or checksum) of the file
is now two properties: `hash` for the hash of the file, and `hasher`, an
enumeration of type `omero.model.ChecksumAlgorithm` that describes which
algorithm was used, for instance `SHA1-160`. When `RawFileStore.save()` is
called on a file with `hasher` set, it will set the file's `hash` property to
the correct value.

See the :ref:`FS documentation <fs_checksums>` for more information.