|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## 0.7.0 |
| 4 | + |
| 5 | +### Added |
| 6 | + |
| 7 | +- HDF5 C library can now be built from source and linked in statically, enabled |
| 8 | + via `hdf5-sys/static` feature (as of this release, the version of the bundled |
| 9 | + sources of the library is 1.10.6). CMake is required for building. For further |
| 10 | + details, see the docs for `hdf5-sys`. |
| 11 | +- Thanks to static build option, the documentation will now be built on |
| 12 | + [docs.rs](https://docs.rs/crate/hdf5); if it builds successfully, this |
| 13 | + will be the official documentation source from now on. |
| 14 | +- Add support for HDF5 1.12 on all platforms and include it in CI. |
| 15 | + |
| 16 | +### Changed |
| 17 | + |
| 18 | +- Switched CI from Travis/AppVeyor to GitHub Actions; for each pull request, we |
| 19 | + now run around 30 concurrent builds which provides with a much wider coverage |
| 20 | + than previously and has already revealed some issues that have been fixed. |
| 21 | + Platforms covered: macOS 10.15, Windows Server 2019, Ubuntu 16.04/18.04/20.04; |
| 22 | + HDF5 installation methods covered: conda, apt, homebrew, also official |
| 23 | + binaries on Windows. We now also test MPI versions of the library for |
| 24 | + both MPICH and OpenMPI on macOS / Linux. |
| 25 | + |
| 26 | +### Fixed |
| 27 | + |
| 28 | +- We now force the variable-length allocator that HDF5 uses when reading data |
| 29 | + to use `libc::malloc` and `libc::free`, so that they can be deallocated |
| 30 | + properly by `VarLenString` and `VarLenArray` in `hdf5-types`. Previously, |
| 31 | + this could cause a rare but serious failure for Windows builds when the |
| 32 | + default allocator used for vlen types by HDF5 was not matching the |
| 33 | + libc deallocator. |
| 34 | +- Use `std::panic::catch_unwind` in all cases where we uses extern C callbacks, |
| 35 | + so that they are panic-safe. |
| 36 | +- `Reader::read_raw` and `Reader::read_slice` should now be `Drop`-safe in the |
| 37 | + event where the read operation fails and the destination type is not trivial. |
| 38 | + |
3 | 39 | ## 0.6.1
|
4 | 40 |
|
5 | 41 | ### Added
|
6 | 42 |
|
7 |
| -- HDF5 C library can now be built and statically linked to `hdf5-sys` |
8 |
| - crate by enabling `hdf5-sys/static` feature (CMake required). |
9 | 43 | - Implement `Default` for `H5D_layout_t`, `H5D_alloc_time_t`, `H5T_cset_t`,
|
10 | 44 | `H5D_fill_time_t`, `H5D_fill_value_t` (based on what their values are set
|
11 | 45 | to in default property lists).
|
|
0 commit comments