Skip to content

0.6.0

Compare
Choose a tag to compare
@aldanor aldanor released this 17 Feb 22:36
· 585 commits to master since this release

Added

  • Added support for HDF5 1.10.5 with bindings for new functions.
  • File::access_plist() or File::fapl() to get file access plist.
  • File::create_plist() or File::fcpl() to get file creation plist.
  • Added wrappers for dataset access H5P API in plist::DatasetAccess.
  • Added is_library_threadsafe() function.
  • Added Group::member_names().
  • Added Datatype::byte_order().
  • Added Dataset::num_chunks() (1.10.5+).
  • Added Dataset::chunk_info() (1.10.5+).

Changed

  • Changed File constructors, getting rid of string access modes:
    • File::open(path, "r") is now File::open(path)
    • File::open(path, "r+") is now File::open_rw(path)
    • File::open(path, "w") is now File::create(path)
    • File::open(path, "x" | "w-") is now File::create_excl(path)
    • File::open(path, "a") is now File::append(path)
  • Also added File::open_as(path, mode) which accepts the mode enum.
  • Rewritten FileBuilder: it no longer accepts userblock, driver etc.; all of
    these parameters can be set in the corresponding FAPL / FCPL:
    • FileBuilder::set_access_plist() or FileBuilder::set_fapl() to set the
      active file access plist to a given one.
    • FileBuilder::access_plist() or FileBuilder::fapl() to get a mutable
      reference to the FAPL builder -- any parameter can then be tweaked.
    • FileBuilder::with_access_plist() or FileBuilder::with_fapl() to get
      access to the FAPL builder in an inline way via a closure.
    • Same as the three above for create_plist / fcpl.
  • As a result, all the newly added FAPL / FCPL functionality is fully
    accessible in the new FileBuilder. Also, driver strings are gone,
    everything is strongly typed now.
  • It's no longer prohibited to set FCPL options when opening a file and not
    creating it -- it will simply be silently ignored (this simplifies the
    behavior and allows using a single file builder).
  • Added an explicit hdf5_types::string::StringError error type, and
    error-chain dependency has now been dropped.
  • Error is now convertible from ndarray::ShapeError; ResultExt trait has
    been removed.
  • Renamed hdf5_version() to library_version().

Fixed

  • Replaced deprecated std::mem::uninitialized with std::mem::MaybeUninit.
  • Fixed a serde-related problem with building hdf5-sys on Windows.