# Changes ## Release 0.10.2 - January 20, 2021 * Updated ogg to 0.8 * Updated tinyvec to 1.0 * Testsuite fixes. Thanks to [@nico-abram](https://github.com/nico-abram) for their help! ## Release 0.10.1 - March 16, 2020 * Removed deprecated Error descriptions * Swapped smallvec for tinyvec. Thanks to [@Shnatsel](https://github.com/Shnatsel) for the contribution! ## Release 0.10.0 - January 30, 2020 * MSRV increased to 1.36.0. This is mainly because smallvec needs 1.36.0 now. * Updated to smallvec 1.0. Thanks to [@repi](https://github.com/repi) for the contribution! * C API via cbingen/cargo-c. Thanks to [@lu-zero](https://github.com/lu-zero) for the contribution! * Various simplifications in audio.rs. Thanks to [@AnthonyMikh](https://github.com/AnthonyMikh) for the contribution! * Moved from Travis CI to Github Actions. Thanks to [@Luni-4](https://github.com/Luni-4) for the contribution! * Adopted a workspace to have a common Cargo.lock file. ## Release 0.9.4 - March 08, 2019 * Added a function to obtain the stream serial from an `OggStreamReader` * Invalid UTF-8 strings in comment headers are now silently omitted * Allowed to specify floats as output format * Fixed multiple bugs on fuzzed inputs ## Release 0.9.3 - October 28, 2018 * Fixed wrongly decoded files. Now, not a single mismatch to libvorbis is left on the xiph and libnogg test vectors (issue [#26](https://github.com/RustAudio/lewton/issues/26)) * Updated ogg to 0.7.0 ## Release 0.9.2 - October 07, 2018 * Fixed a wrongly decoded file bug (issue [#24](https://github.com/RustAudio/lewton/issues/24)) ## Release 0.9.1 - September 22, 2018 * Performance improvements of about 10%. Thanks to [@GabrielMajeri](https://github.com/GabrielMajeri) for the contribution! * Fixed some wrongly decoded files * Fixed some panics on crafted input. Thanks to [@Shnatsel](https://github.com/Shnatsel) for the fuzzing and bug reports. * Added travis CI ## Release 0.9.0 - August 16, 2018 * Renamed `async` to `async_api` for better edition 2018 compilance * Updated ogg to 0.6.0 * Expanded test suite to include xiph test vectors * Support for chained files ## Release 0.8.0 - February 7, 2018 * Removed unused error enum variant * Pub used OggReadError so that people can match on its variants without needing to depend on the Ogg crate * Used min instead of residue_begin/residue_end directly. See also [the PR](https://github.com/xiph/vorbis/pull/35) that modified the vorbis spec accordingly. ## Release 0.7.0 - October 24, 2017 * Removed all uses of unsafe in return of making Rust 1.20 required ## Release 0.6.2 - June 18, 2017 * Exposed blockize_0 and blocksize_1 in the public API of the ident header again, so that lewton can be used without ogg encapsulation. ## Release 0.6.1 - June 8, 2017 * Fix a doc link ## Release 0.6.0 - June 8, 2017 * Made parts of the API that are not intended for the public crate local * Added seeking support with a granularity of pages * Updated to ogg to 0.5.0 * The async support now doesn't need unstable features any more, and bases on tokio ## Release 0.5.2 - May 13, 2017 * Removed two unused macros to prevent warnings about them ## Release 0.5.1 - April 30, 2017 * Bugfix to work on newest Rust nightly/beta * Bugfix to work with the alto crate instead of openal-rs which has been yanked * Bugfix in the player example for duration calculation ## Release 0.5 - February 15, 2017 * New, more convenient, constructor for OggStreamReader. * Updated to Byteorder 1.0. ## Release 0.4.1 - November 17, 2016 * Fixed a panic issue with reading huffman trees. ## Release 0.4 - October 4, 2016 * Updated ogg. * Made the `inside_ogg` API own the reader. ## Release 0.3 - October 4, 2016 * Added support for floor 0. It is not used in practice anymore, but now all features of the vorbis format are supported. * Improved the API for reading decoded packets. * Fixed a bug in comment header parsing. * Various minor simplifications. * Improved the cmp tool. You can now compare our output to libvorbis with `cargo test --release -- --nocapture`, and our speed with `cargo run --release bench`. ## Release 0.2 - September 13, 2016 * Improved speed by about 20%. * Added async ready API to the `inside_ogg` module to work with async IO. Still behind a feature as it relies on the unstable [specialisation feature](https://github.com/rust-lang/rust/issues/31844). * Removed parts of the API that were irrelevant to users of the crate. This gives a better overview for our users. Unfortunately due to [pub(crate) not being stable yet](https://github.com/rust-lang/rust/issues/32409), not all parts of the API could have been made private. * Examples are CC-0 now, this should ease adoption. * Documentation improvements * Implemented a tool to compare our speed and output with libvorbis. To see how correct this crate is, cd to `dev/cmp` and do `cargo run --release vals /path/to/test_file.ogg`. For speed tests, swap "vals" with "perf". ## Release 0.1 - September 1, 2016 Initial release.