Changelog for hscdio-0.1.0.0
The Haskell bindings for libcdio follow the Haskell-standard Package Versioning Policy, 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, seeFEATURES
. Also note that several symbols were left untranslated; see the documentation ofForeign.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 forBcd
values.
- f/1.1.3.1. Translate
- 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.