2022-02-27: Version 0.11.1 - Faster start with MacOS when disc does not use bus encryption. - Improve error logging. - Improve error resilience. 2020-07-22: Version 0.11.0 - Add more AACS2 support (still not complete). - Add support for partial unit keys in KEYDB.CFG. - Improve opening of UHD discs (~ 10 seconds faster). - Improve large KEYDB.CFG parsing (~ 4 times faster). - Improve error resilience. - Reduce memory usage (does not depend on config file size anymore). - Fix segfault on macOS when MMC opening fails. - Fix memory leak with multiple UK entries in KEYDB.cfg file. - Fix AACS2 with multiple unit keys. - Fix include flags order (do not include wrong headers outside of source tree). 2020-03-22: Version 0.10.0 - Add support for AACS2 content certificate. - Add aacs_set_key_caching(). - Add aacs_error_str(). - Issue a warning when using AACS2 capable drive. - Fix macOS mount issues. - Fix parsing title entries from multiple KEYDB.cfg files. - Fix memory leak with multiple KEYDB.cfg files. - Fix data corruption when structs are not packed. 2017-05-04: Version 0.9.0 - Add aacs_decrypt_bus(). - Add aacs_get_bdj_root_cert_hash(). - Add aacs_get_content_cert_id(). - Add support for unencrypted content in AACS-enabled discs. - Improve error resilience. - Improve support for broken discs (use on-disc backup files). - Verify content certificate signature. - Load and merge multiple KEYDB.cfg files. - Fix build with gcrypt < 1.6.0. - Fix possible crash (debug log output that includes discid) - Fix config file path issues in Windows (non-ASCII paths) - Fix dll exports in Windows. - Fix resource leaks. - Reduced memory footprint. 2015-03-13: Version 0.8.1 - Accept NULL mount / device path when application handles file system access. - Fix FreeBSD build. - Do not require pthread with gcrypt >= 1.6.0. 2015-01-23: Version 0.8.0 - Add improved file system interface - Support opening raw devices - Reduce log level of failed PMSN query - Optimizations 2014-05-27: Version 0.7.1 - Add support for gcrypt 1.6.0. - Do not retrieve MKB using MMC commands during AACS-Auth 2013-12-18: Version 0.7.0 - Add aacs_get_device_binding_id() and aacs_get_device_nonce(). - Add aacs_get_mk(). - Add support for bus encryption. - Add support for device keys. - Add support for internal keys. - Fix reading PMSN. - Fix reporting AACS version from AACS drive feature. - Calculate bus key and use it to verify message authentication codes. - Do not fail if VID is known but config file does not exist. - Improve validating keys in KEYDB.cfg. - Update KEYDB.cfg format (still backwards compatible): * Host nonce and host key point are optional. * Add device key UV values and masks. - Build system updates. - Drop support for compile-time PATCHED_DRIVE flag. 2013-03-04: Version 0.6.0 - Added reading of PMSN (Pre-recorded Media Serial Number) - Fix resource leak - Use proper paths to search for keydb and friends on Darwin. - Build fixes and improvements 2012-08-17: Version 0.5.0 - Support for Mac OS X using IOKit - Fix AACS detection failure in some Win32 systems 2012-05-07: Version 0.4.0 - Added aacs_open2() and error codes - Renamed libaacs_test to aacs_info - Added aacs_get_mkb_version() - Fixed memory leaks - Fixed buffer overflow - Added revocation list caching - Check host certificates against latest seen revocation list 2012-03-21: Version 0.3.1 - Added configure option for libgcrypt prefix - Fixed building Win32 DLL - Fixed segfault when mount point path can't be resolved - Do not export internal symbols from generated parser/lexer - Do not distribute generated parser files - Check for libgpg-error. Link against it when needed. - Distribute README.txt - Added ChangeLog 2011-11-30: Version 0.3.0 - First release