packages feed

hscdio-0.1.0.0: CHANGELOG.md

The Haskell bindings for libcdio follow the Haskell-standard [Package
Versioning Policy](https://pvp.haskell.org), where the first three numbers
indicate version (types/presence of exported symbols), the fourth number
indicates patch (underlying behaviour and/or backend code), and the fifth
indicates revision (docs, packaging, etc.)  This is in contrast to the C
libcdio itself, which (recently) uses Semantic Versioning; the only real
difference is that the first *two* numbers of the bindings signal a breaking
change, while the base library signals that with only *one*.


## v/0.1.0.0.  Unreleased

Initial release with nearly all of 'cdio/cdio.h' translated, but not necessarily
tested, documented, or stabilized.


### Added

* f/1.1.1.  Translate all core symbols brought in by simply using `#include "cdio/cdio.h`.
  For the full list of headers this includes, see `FEATURES`.
  Also note that several symbols were left untranslated; see the documentation of `Foreign.Libcdio` for the list.
	* f/1.1.3.1.  Translate `cdio/cd_types.h` as it's used in some bitmasks above.
	* f/1.1.3.2.  Integrate log messages with the monad rather than (impurely) printing output.
	* f/1.1.4.2.  Translate `cdio/util.h` as it provides the conversion functions for `Bcd` values.
* f/1.3.1. f/1.3.3.1. f/1.3.3.2. f/1.3.4.2.  Rewrite the documentation of the above to be more clear, more comprehensive, and (occasionally) more correct.
* (some of) f/1.4.1.  Just enough of the upstream tests to be sure the bindings are not going *completely* off the rails.
* f/3.1. f/3.3. i/008.  Provide a smoother means of accessing the library to Haskell users.
* i/002.  Close the low-hanging memory leaks from being returned allocated strings, without obfuscating the type system.
* i/003. i/009.  Enforce a bit more type safety by binding integral/string types with typesafe wrappers.

### Known issues

* i/011.  On some systems, opening a Cdio session stops the drive from recognizing a manual (push-button) request to open the drive.  This also occurs with other libraries, so it's not purely a libcdio problem, Haskell bindings or otherwise, but I come across it much more frequently with the bindings than anywhere else.
* i/021.  A `readLog` call will occasionally return unexpected entries.