Bio-Formats Development Status01 Nov 2016
This blog is an update about what we are working on in the OME Files and Bio-Formats codebase for the next few months.
OME Files/Bio-Formats status update
Following our Data Model post, we spent the first semester of 2016 working on a new version of the OME Data Model which was released in June 2016. This schema release was then followed by two releases in August 2016:
- the release of our reference implementation for the OME file formats, OME Files C++ 0.2.0 with full support for all versions of the OME Data Model
- the release of Bio-Formats 5.2.0 including upgrade to the 2016-06 model, API additions and bug fixes.
Since August, a series of patch releases have been delivered both for OME Files C++ 0.2.x and Bio-Formats 5.2.x. These releases extended the C++ reference implementation to support all modalities of OME-TIFF allowed by our format specification, and also provided a series of bug fixes for the community following a major release.
Since the beginning of October 2016, our focus has switched to the development of Bio-Formats 5.3.0. This release includes two major parts: a re-architecture of the components and new backwards-compatible API additions.
As part of the development of OME Files, a large part of the C++ code constituting the reference implementation has been migrated out of the Bio-Formats repository into its own set of components.
In Bio-Formats 5.3.0, we will be applying a similar re-architecture effort for our Java codebase and the OME Data Model. While Bio-Formats has been historically a large multi-module project, the idea here is to facilitate development and shorten build time, provide a better separation of the functional components and allow faster releases of the low-level components. In particular the following components have been filtered out to their own repository and will be managed separately:
- OME I/O classes and functions
- OME Data Model including the schema specification and the generated code in Java and C++
- some OME forks used by Bio-Formats for reading proprietary files including Apache POI and MDB Tools
All decoupled components have been released and uploaded to the
Maven Central repository under the
Bio-Formats 5.3.0 will also include API additions. In order to minimize the impact of these changes, the codebase is migrating towards semantic versioning. This means that all the API added in 5.3.0 will be fully backwards-compatible and should require no changes for consumers using Bio-Formats 5.2.0. Two main parts of the API will be reviewed and extended in 5.3.0:
- API allowing passing options to the reader
- API for writing in tiles
We hope to release Bio-Formats version 5.3.0 at the beginning of December 2016. You can follow our progress on the Trello board.