All Versions
15
Latest Version
Avg Release Cycle
-
Latest Release
-

Changelog History
Page 1

  • v3.5.0 Changes

    πŸš€ Release date 2022-09-09.

    πŸ›  This is a maintenance release that includes most of the bugfixes and features that have been contributed since 3.4.0, which could be cherry-picked on top of πŸš€ 3.4.0. Some other contributions with more far-reaching changes remain unreleased as of yet.

    Compatibility:

    • Ensures compatibility with Rust 1.16 through 1.63 stable. Previously the minimum supported Rust version was 1.4. Cargo from 1.4 is no longer compatible with the current crates.io registry, and Rustup fails signature verification for these binaries, so it is infeasible to continue to support it.

    πŸ†• New features:

    • Add support for S24_LE files, which store 24 bits in 4 bytes (#40, #41)
    • Add WavWriter::new_with_spec_ex (#42)
    • Add WavSpec::into_header_for_infinite_file (#33, #36)

    πŸ›  Bugfixes and compatibility improvements:

    • Handle files that have the wValidBitsPerSample field set to zero (#50, #51)
    • Avoid overflow in the channel mask when writing file with more than 32 channels (#59, #60)

    Many thanks to Diffuse, Fletcher Woodruff, Matt Wilkinson, Vitaly Vi Shukela, πŸš€ and Tuckerrrrrrrrrr for contributing to this release.

  • v3.4.0 Changes

    πŸš€ Released 2018-04-07.

    πŸ’₯ Breaking changes:

    • None.

    πŸš€ Release highlights:

    • Exposes read_wave_header(), to quickly determine whether a file could be a wav file.
    • βž• Adds support for appending to an existing file. See WavWriter::append() for constructing a writer that appends to a file, and WavWriter::new_append() for the generic case.
    • βž• Adds WavWriter::flush() to flush the underlying writer and update the header. This can be used to minimize data loss when writing a large file.
    • βž• Adds WavWriter::duration(), WavWriter::len(), and WavWriter::spec() to obtain the duration and number of samples written so far, and the spec of the file being written. The latter is useful when appending.
    • πŸ‘ Hound now fails earlier when requesting to write an unsupported spec: WavWriter::new() will already return Error::Unsupported. Previously this error was returned when writing a sample.
    • Hound now verifies that the data chunk has no trailing bytes.
    • WavWriter::finalize() now performs a flush as its last operation, to be able to observe errors when using a buffered writer.
    • Ensures compatibility with Rust 1.4 through 1.25 stable.
  • v3.3.1 Changes

    πŸš€ Released 2018-02-18.

    πŸ’₯ Breaking changes:

    • None.

    πŸš€ Release highlights:

    • Hound now reads certain WAVEFORMATEX files that were previously rejected incorrectly.
    • Ensures compatibility with Rust 1.4 through 1.24 stable.
  • v3.3.0 Changes

    πŸš€ Released 2017-12-02.

    πŸ’₯ Breaking changes:

    • None.

    πŸš€ Release highlights:

    • πŸ‘€ Hound now supports seeking to a particular time in the file. See WavReader::seek().
    • Ensures compatibility with Rust 1.4 through 1.22 stable.

    πŸš€ Many thanks to Mitchell Nordine for contributing to this release.

  • v3.2.0 Changes

    πŸš€ Released 2017-10-14.

    πŸ’₯ Breaking changes:

    • None.

    πŸš€ Release highlights:

    • Hound will now write the older PCMWAVEFORMAT format whenever possible, rather than the newer WAVEFORMATEXTENSIBLE, to improve compatibility.
    • Certain nonstandard files (produced among others by β€œPro Tools”) can now be read.
    • Ensures compatibility with Rust 1.4 through 1.21 stable.

    πŸš€ Many thanks to Denis Kolodin for contributing to this release.

  • v3.1.0 Changes

    πŸš€ Released 2017-04-09.

    πŸ’₯ Breaking changes:

    • None.

    πŸš€ Release highlights:

    • πŸ‘Œ Support for writing IEEE float was added.
    • ⚑️ The cpal example was updated, and it now compiles on OS X.
    • πŸ‘· An OS X target was added to the CI configuration.
    • Ensures compatibility with Rust 1.4 through 1.16 stable.

    πŸš€ Many thanks to Alex Zywicki for contributing to this release.

  • v3.0.1 Changes

    πŸš€ Released 2017-04-01.

    πŸš€ This release fixes a few bugs discovered through fuzzing.

    πŸ’₯ Breaking changes:

    • None.

    πŸš€ Release highlights:

    • πŸ›  Fixes high memory usage issue that could occur when reading unknown blocks.
    • Resolve various division by zero and arithmetic overflow errors.
    • Ensures compatibility with Rust 1.4 through 1.16 stable.
  • v3.0.0 Changes

    πŸš€ Released 2016-11-27.

    πŸš€ This release focuses on improving write performance.

    πŸ’₯ Breaking changes:

    • When a WavWriter is constructed, the header is now written immediately, therefore the constructor now returns a Result.

    Other changes:

    • WavWriter no longer maintains a buffer internally. WavWriter::create() does still wrap the file it opens in a buffered writer.
    • βž• Adds SampleWriter16 for fast writing of 16-bit samples. Dedicated writers for other bit depths might be added in future releases.

    ⬆️ Upgrading requires dealing with the Result in WavWriter::new() and WavWriter::create(). In many cases this should be as simple as wrapping the call in a try!(), or appending a ? on recent versions of Rust.

  • v2.0.0 Changes

    πŸš€ Released 2016-07-31.

    πŸ’₯ Breaking changes:

    • πŸ‘Œ Support for Rust 1.0 through 1.3 has been dropped.
    • ⬆️ The WavSpec struct gained a new sample_format member. To upgrade, add sample_format: hound::SampleFormat::Int to places where a WavSpec is constructed.

    πŸš€ Release highlights:

    • Ensures compatibility with Rust 1.4 through 1.10.
    • βž• Adds support for reading files with 32-bit IEEE float samples.

    πŸš€ Many thanks to Mitchell Nordine for his contributions to this release.

  • v1.1.0 Changes

    πŸš€ Released 2015-09-14.

    πŸš€ Release highlights:

    • πŸ†• New WavReader::into_inner method for consistency with the standard library.
    • πŸ†• New WavReader::into_samples method for ergonomics and consistency.
    • Ensures compatibility with Rust 1.4.

    πŸš€ Many thanks to Pierre Krieger for his contributions to this release.