Cryptsetup 1.1.1 Release Notes
==============================

Changes since version 1.1.1-rc2
* Fix luksClose error if underlying device is LVM logical volume.

Changes since version 1.1.1-rc1
* Fix automatic dm-crypt module loading.

Changes since version 1.1.0

Important changes:
~~~~~~~~~~~~~~~~~~

* Detects and use device-mapper udev support if available.

  This should allow synchronisation with udev rules and avoid races with udev.

  If package maintainer want to use old, direct libdevmapper device node creation,
  use configure option --disable-udev.

* Supports device topology detection for data alignment.

  If kernel provides device topology ioctl calls, the LUKS data area
  alignment is automatically set to optimal value.

  This means that stacked devices (like LUKS over MD/LVM)
  should use the most optimal data alignment.

  (You can still overwrite this calculation using --align-payload option.)

* Prefers some device paths in status display.
  (So status command will try to find top level device name, like /dev/sdb.)

* Fix package config file to use proper package version.

Other changes:
~~~~~~~~~~~~~~
* Fix luksOpen reading of passphrase on stdin (if "-" keyfile specified).
* Fix isLuks to initialise crypto backend (blkid instead is suggested anyway).
* Properly initialise crypto backend in header backup/restore commands.
* Do not verify unlocking passphrase in luksAddKey command.
* Allow no hash specification in plain device constructor - user can provide volume key directly.
* Try to use pkgconfig for device mapper library in configuration script.
* Add some compatibility checks and disable LUKS suspend/resume if not supported.
* Rearrange tests, "make check" now run all available test for package.
* Avoid class C++ keyword in library header.
