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
