What's new in h5py 2.5
======================

Experimental support for Single Writer Multiple Reader (SWMR)
-------------------------------------------------------------

This release introduces experimental support for the highly-anticipated
"Single Writer Multiple Reader" (SWMR) feature in the upcoming HDF5 1.10
release.  SWMR allows sharing of a single HDF5 file between multiple processes
without the complexity of MPI or multiprocessing-based solutions.

This is an experimental feature that should NOT be used in production code.
We are interested in getting feedback from the broader community with respect
to performance and the API design.

For more details, check out the h5py user guide:
https://docs.h5py.org/en/latest/swmr.html

SWMR support was contributed by Ulrik Pedersen (:pr:`551`).

Other changes
-------------

* Use system Cython as a fallback if `cythonize()` fails (:pr:`541` by Ulrik Pedersen).
* Use pkg-config for building/linking against hdf5 (:pr:`505` by James Tocknell).
* Disable building Cython on Travis (:pr:`513` by Andrew Collette).
* Improvements to release tarball (:pr:`555`, :pr:`560` by Ghislain Antony
  Vaillant).
* h5py now has one codebase for both Python 2 and 3; 2to3 removed from setup.py
  (:pr:`508` by James Tocknell).
* Add python 3.4 to tox (:pr:`507` by James Tocknell).
* Warn when importing from inside install dir (:pr:`558` by Andrew Collette).
* Tweak installation docs with reference to Anaconda and other Python package
  managers (:pr:`546` by Andrew Collette).
* Fix incompatible function pointer types (:pr:`526`, :pr:`524` by Peter H. Li).
* Add explicit `vlen is not None` check to work around
  https://github.com/numpy/numpy/issues/2190 (`#538` by Will Parkin).
* Group and AttributeManager classes now inherit from the appropriate ABCs
  (:pr:`527` by James Tocknell).
* Don't strip metadata from special dtypes on read (:pr:`512` by Antony Lee).
* Add 'x' mode as an alias for 'w-' (:pr:`510` by Antony Lee).
* Support dynamical loading of LZF filter plugin (:pr:`506` by Peter Colberg).
* Fix accessing attributes with array type (:pr:`501` by Andrew Collette).
* Don't leak types in enum converter (:pr:`503` by Andrew Collette).
* Cython warning cleanups related to "const"

Acknowledgements
----------------

This release incorporates changes from, among others:

* Ulrik Pedersen
* James Tocknell
* Will Parkin
* Antony Lee
* Peter H. Li
* Peter Colberg
* Ghislain Antony Vaillant
