---------------------------
udisks 2.10.1
---------------------------

The udisks project provides a daemon, tools and libraries to access
and manipulate disks, storage devices and technologies.

This is a bugfix release incorporating feedback from early adopters
and distributors.

Changes since 2.10.0:

Christian Kirbach (1):
      Update German translation

NorwayFun (1):
      Update ka.po

Piotr Drąg (1):
      Update Polish translation

Sebastien Bacher (1):
      tests: start the polkitd mock with the corresponding user if it exists

Tomas Bzatek (17):
      build: Check for gobject-introspection m4 macro presence
      udiskslinuxloop: Avoid warnings on empty loop devices
      udisksctl: Guard object lookup
      udiskslinuxmanager: Properly handle disabled modules
      iscsi: Fix login on firmware-discovered nodes
      tests: Fix LSM drive objects crawl
      tests: Mark LVM RAID tests as unstable
      integration-test: Fix invalid escaping
      tests: Fix regex escaping
      tests: Fix Python class invocation in nvme tests
      udiskslinuxfilesystem: Refactor internal whitelists
      udiskslinuxfilesystem: Force native tools for mounted XFS fs size retrieval
      doc: Clarify the Filesystem.Size property presence
      tests: Mark UDF fstab filesystem tests as unstable
      tests: Rescan vdevs after lvm raid tests
      tests: Settle down before checking the LVM RAID MissingPhysicalVolumes property
      tests: Wipe used devices for LVM2 RAID tests

Vojtech Trefny (2):
      Limit getting filesystem size only to Ext and XFS
      tests: Replace deprecated unittest assert calls

Yuri Chornoivan (1):
      Update Ukrainian translation

sid (1):
      udisksctl: Add "--no-partition-scan" option for "loop-setup" command

Thanks to all our contributors.

Tomas Bzatek
2023-09-07

---------------------------
udisks 2.10.0
---------------------------

The udisks project provides a daemon, tools and libraries to access
and manipulate disks, storage devices and technologies.

This release brings large number of internal changes, while keeping the promise
of API stability. This development cycle was mostly driven by libblockdev 3.0
API overhaul that brought these notable changes:
 - Partitioning was ported to libfdisk
 - kbd and vdo libblockdev plugins were removed and so were zram, bcache
   and vdo udisks modules
 - Definition of supported filesystems was moved to libblockdev and filesystem
   operations were unified

Native NVMe support has been added through libnvme bringing feature parity with
ATA drives such as health monitoring, device self-tests, secure erase and
extended identification. Basic awareness for NVMe over Fabrics and a simple
initiator were added as well. In a simplified D-Bus interface view, NVMe
controllers are mapped to drive objects and NVMe namespaces to block objects.

Syntax of configurable mount options was extended to separate filesystem
signature and filesystem driver used for mounting. A new optional key was
introduced to define priorities of filesystem drivers.

A number of workarounds was placed around the org.freedesktop.UDisks2.Filesystem.Size
property value retrieval to avoid excessive I/O traffic whenever possible.
Support for the new ID_FS_LASTBLOCK and ID_FS_BLOCKSIZE properties brought
by util-linux-2.39 release was added to further lower the need for any I/O.

The org.freedesktop.UDisks2.Block.Format() method now takes optional arguments
that are passed down to the corresponding 'mkfs' tool. It is a caller
responsibility to provide sane arguments that mix correctly with libblockdev
defaults.

The org.freedesktop.UDisks2.Filesystem.Mount() method now offers mounting
on behalf of a foreign UID. A new polkit rule was introduced for such a case.

Further notable fixes and improvements:
 - bash and zsh completion enhancements
 - lvm2 module uevent handling improvements
 - ATA Secure Erase is now allowed only on top-level block objects
 - extra iSCSI node parameters are now honoured properly
 - FIPS mode fixes
 - added support for resolving devices by PARTLABEL and PARTUUID
 - full support for setting filesystem and partition UUIDs
 - dynamic mountpoint name sanitization and ACL fixes
 - added support for LVM2 RAID
 - UUID of Bitlocker volumes is now properly exposed
 - added an option to force/avoid creation of mdraid write-intent bitmap

Changes since 2.9.2:

Alberto Garcia (5):
      udiskslinuxfilesystem: Sanitize label when creating the mount point
      tests: Test that labels are sanitized when creating mount points
      Add 'mkfs-args' to Block.Format()
      Extend Filesystem.Mount() to allow mounting on behalf of another user
      tests: Fix test_mountpoint_utf8 with EXFAT

Anders Jonsson (2):
      Update Swedish translation
      Update Swedish translation

Debarshi Ray (2):
      udiskslinuxfilesystem: Fix formatting
      udiskslinuxfilesystem: Tighten the fallback for kernels without ACL

Dmitry V. Levin (1):
      80-udisks2.rules: fix warnings reported by udevadm verify

Fernando Ramos (2):
      udisksctl: fix segfault
      udisksctl: fix autocomplete for power-off command

Florian Ziegler (1):
      Ignore "Extended Boot Loader" GPT partition

Frederick Grose (1):
      80-udisks2.rules: Ignore macboot partition from livecd-tools

Kai Lüke (1):
      Update GPT partition types from the Discoverable Partitions Spec

Karl Ove Hufthammer (1):
      Add Norwegian Nynorsk translation

Marius Vollmer (7):
      lvm2: Only install results of most recently started udpates
      lvm: Enhancements for LVM2 RAID support
      udev: Also ignore "zram*" block devices
      lvm2: Make as many subvolumes as PVs are given during creation
      lvm2: Add "pvs" option to LogicalVolume.Resize
      block: Mark format-mkfs jobs as not cancellable
      mdraid: Add 'bitmap' option to MDRaidCreate method

Matheus Barbosa (1):
      Update Brazilian Portuguese translation

NorwayFun (2):
      Georgian translation
      Update ka.po

Oliver Kiddle (2):
      add a completion function for zsh
      when printing options for completion iterate over existing structures

Piotr Drąg (3):
      Update POTFILES.in
      Update POTFILES.in
      Update Polish translation

Sebastien Bacher (1):
      Use the mkfs command to format exfat partitions

Tomas Bzatek (211):
      spec: Remove VDO support
      udiskslinuxdevice: Provide a way to read arbitrary sysfs attributes
      mdraid: Use newly added udisks_linux_device_read_sysfs_attr()
      udisksstate: Use udisks_daemon_util_trigger_uevent()
      Remove the standalone VDO module
      udiskslinuxblockobject: Add safety checks for UDisksLinuxBlock interface
      udiskslinuxfsinfo: Add dosfstools >= 4.2 quirks
      udiskslinuxblock: Re-read partition table after creating FAT filesystem
      udiskslinuxdriveata: Use GTask to apply configuration in a thread
      modules: Limit module name to alphanumeric characters and -_ separators
      tests: Extend module tests with invalid characters
      tests: Do not dist config_h.py
      doc: Remove lingering references to VDO
      spec: Do not build udisks2-zram for any RHEL release
      udiskslinuxfilesystemhelpers: Fix leaking string in case g_mkdtemp() fails
      udiskslinuxmdraidobject: Optimize unused data out from the g_io_channel_read_to_end() call
      udiskslinuxmdraidobject: Handle source attach failure gracefully
      tests: Mark Drive.ATA tests as unstable
      tests: Handle missing /dev/disk/by-path gracefully
      daemon: Link with libblkid
      udiskslinuxblock: Port block identifiers matching to libblkid
      tests: Add complex filesystem labels fstab mount tests
      tests: Add complex partlabel fstab filesystem tests
      tests: Enable f2fs label tests
      udiskslinuxprovider: Filter out spurious uevents
      tests: Respect custom method call timeouts
      tests: Extend iscsi method call timeouts
      udiskslinuxmanager: Trigger uevent on a newly created mdraid array
      build: Introduce the HAVE_LIBBLOCKDEV3 define
      udiskslinuxblock: Do not force wipe when exclusive lock on a block device cannot be acquired
      daemon: Adapt to bd_fs_wipe() API changes
      udiskslinuxblockobject: Report success from udisks_linux_block_object_reread_partition_table()
      udiskslinuxfsinfo: Add udisks_linux_fsinfo_creates_protective_parttable()
      udiskslinuxblock: Trigger uevent on nested partitions after mkfs
      data: Clarify org.freedesktop.UDisks2.Block.Format() corner cases
      tests: Add filesystem tests for protective MBR table overwrite (udf, vfat)
      tests: Sleep after external mount operation
      udiskslinuxswapspace: Trigger uevent after setting label
      udiskslinuxblock: Handle missing parent device while looking up drive for block
      udisksmountmonitor: Tweak the mount list update and difference
      udisksmountmonitor: Skip mount_path checks for swap records when comparing
      mount options: Always use errors=remount-ro for ext filesystems
      mount options: Add ntfs3 kernel driver options
      udiskslinuxfilesystem: Add quirk to prefer the new 'ntfs3' driver
      lvm2: Fix jobhelpers.h header guard
      udiskslinuxencryptedhelpers: Fix the header guard typo
      udiskslinuxmdraidhelpers: Fix the header guard typo
      udiskslinuxfilesystemhelpers: Fix the header guard typo
      udisksdaemonutil: Silence the alignment warning
      build: Remove warnings unknown to clang
      tests: Adapt to clang differences when causing a segfault
      lvm2: Fix insufficient list allocation
      udiskslinuxblockobject: Hold object reference within UDisksMountMonitor signal handlers
      udiskslinuxmanager: Fix access to unowned GError
      udiskslinuxmanager: Prevent double free of UDisksSimpleJob on error
      spec: Require polkit for the daemon
      udiskslinuxblock: Fix leaking cleartext block interface
      tests: Add LVM2 teardown object existence checks
      udiskslinuxmountoptions: Do not free static daemon resources
      udisksctl: Add extra guards around retrieved objects
      lvm2: Document empty pool_name allowance for CreateVDOVolume()
      udiskslinuxpartitiontable: Fix GError ownership
      udiskslinuxpartition: Fix GError ownership
      udiskslinuxencrypted: Fix GError ownership
      udiskslinuxfilesystem: Fix GError ownership
      udiskslinuxfilesystembtrfs: Trigger explicit uevent on added/removed volume
      udisksstate: Remove udisks_state_check_sync()
      btrfs: Fix completion of the GDBus method invocation handler
      udisksata: Move the low-level PM state call
      udiskslinuxdriveata: Move the low-level PM state call away
      udiskslinuxswapspace: Trigger uevent on swap start/stop
      udiskslinuxprovider: Only update related objects on utab changes
      udiskslinuxfilesystem: Make the 'size' property retrieval on-demand
      tests: Remove filesystem _test_fstab_label external mount tests
      daemon: Require libmount >= 2.30
      doc: Fix @since: annotations
      modules/iscsi: Add missing linker dependency
      modules/lsm: Add missing linker dependency
      modules/zram: Add missing linker dependency
      Revert "build: Introduce the HAVE_LIBBLOCKDEV3 define"
      build: Require libblockdev-3.0
      daemon: Require libblockdev-nvme
      daemon: Make libblockdev plugin initialization error fatal
      nvme: Add basic NVMe support
      tests: Add basic NVMe tests
      doc: Add NVMe Controller and NVMe Namespace interfaces
      doc: Misc. fixes
      udiskslinuxprovider: Catch unhandled change uevents for unmatched drive objects
      nvme: Add Health Information retrieval
      Revert "udiskslinuxfilesystem: Add quirk to prefer the new 'ntfs3' driver"
      Revert "mount options: Add ntfs3 kernel driver options"
      udiskslinuxfilesystem: Refactor fstab mounting
      udiskslinuxfilesystem: Refactor dynamic mounting out
      udiskslinuxfilesystem: Accept multiple mount options entries
      udiskslinuxmountoptions: Implement filesystem signature vs. drivers awareness
      udiskslinuxfilesystem: Add ntfs3 to well-known filesystems
      udiskslinuxfilesystem: Add some more well-known filesystems
      builtin_mount_options: Add ntfs3 definitions
      tests: Reflect fs signature vs. fs driver changes
      doc: Stress that the @fstype argument for Mount() acts as an override
      doc: Document the enhanced configurable mount options
      nvme: Add controller self-test operations and status
      nvme: Add controller sanitize operation
      tests: Add nvme SMART/health and sanitize tests
      nvme: Add namespace Format method
      tests: Add namespace Format tests
      daemon: Return proper error on NULL GUdevDevice instead of an assert
      docs: Clarify the Manager.SupportedFilesystems property
      tests: Mark loop partscan tests as unstable
      Drop the zram and bcache modules
      udisksstate: Provide more context on realpath() errors
      udiskslinuxblock: Refactor handle_format()
      doc: Clarify Block.Format() dry-run option
      udiskslinuxblock: Handle special fs types 'dos', 'gpt' and 'empty' in handle_format() separately
      udiskslinuxblock: Only permit ATA Secure Erase during Format() on a whole block device
      udiskslinuxdriveata: Acquire a BSD lock for ATA Secure Erase
      tests: Create required directories for integration tests
      udiskslinuxblock: Use bd_fs_clean() instead of bd_fs_wipe()
      udiskslinuxmanager: Port CanFormat() to bd_fs_can_mkfs()
      udiskslinuxmanager: Port SupportedFilesystems to bd_fs_supported_filesystems()
      udisksconfigmanager: Move get_supported_encryption_types() from udiskslinuxfsinfo
      udiskslinuxblock: Port Format() to the new libblockdev 3.0 filesystem API
      udiskslinuxfilesystem: Port SetLabel() to the new libblockdev 3.0 filesystem API
      daemon: Drop udiskslinuxfsinfo
      tests: Adapt filesystem tests to the new libblockdev 3.0 filesystem API
      tests: Adapt basic Manager tests to the new libblockdev 3.0 filesystem API
      udiskslinuxnvmenamespace: Fix FormatNamespace() error check
      udiskslinuxmanager: Remove unused mutex
      nvme: Basic fabrics support
      tests: Add basic NVMeoF connection test
      nvme: Move the Transport property from Controller to the Fabrics interface
      nvme: Add methods to set system-wide Host NQN and Host ID
      tests: Add basic NVMe Host NQN tests
      tests: Drop the NVMe Host NQN discovery for simple connect
      tests: Skip NVMe HostNQN tests on non-system prefixes
      udiskslinuxnvmenamespace: Add metadata_size LBAFormat property
      udiskslinuxnvmecontroller: Check capabilities for self-test and sanitize log retrieval
      udiskslinuxnvmenamespace: Avoid retrieving namespace info when format progress reporting is unsupported
      udiskslinuxnvmenamespace: Avoid reading the 'uuid' sysfs attr
      udiskslinuxfilesystem: Fix filesystem driver list iteration
      tests: Fix NTFSCommonTestCase ntfs implementation detection
      udiskslinuxnvmenamespace: Fix a memory leak
      iscsi: Always set auth info
      tests: Add bad auth test for iscsi
      nvme: Fix progress jobs cleanup
      udiskslinuxmanager: Add resolving devices by partuuid/partlabel
      tests: Add tests for resolving partlabel/partuuid
      tests: Fix LIO target config auth
      tests: Clean the discovered test target iscsid node cache
      tests: Test iscsi noauth in test_login_chap_auth
      tests: Restart iscsid on every InitiatorName change
      iscsi: Document the need of iscsid service restart after changing InitiatorName
      tests: Remove resolve_device tests involving partition creation
      udiskslinuxfilesystem: Create mounpoint only after mount options computation
      udiskslinuxfilesystem: Send explicit Size property invalidation on uevent
      doc: Clarify the org.freedesktop.UDisks2.Filesystem.Size property value retrieval
      udiskslinuxblock: Fix partition table detection in the initial format wipe
      udiskslinuxnvmecontroller: Fix some memleaks
      udiskslinuxdriveobject: Guard the internal device list
      tests: Remove the job start time check
      tests: Fix UdisksTestCase.assertHasIface()
      tests: Wait for the modprobed scsi_debug drives to appear
      tests: Narrow LIO devices rescan to specific lvm raid test cases
      daemon: Remove UDisksObject interfaces more atomically
      lvm2: Fix leaking UDisksLogicalVolume
      spec: Tweak the filesystem tools deps
      build: Add explicit check for msgfmt
      udiskslinuxnvmecontroller: Turn subsysnqn into a bytestring
      nvme: Clarify Controller.NVMeRevision values
      tests: Fix nvme eui64 string check
      tests: Fix vfat protective MBR table detection
      tests: Use libblockdev filesystem definitions
      udiskslinuxfilesystem: Add support for setting filesystem UUID
      udiskslinuxblock: Add support for setting filesystem UUID during Format()
      udiskslinuxswapspace: Add support for setting UUID
      tests: Add filesystem UUID tests
      tests: Add swapspace UUID tests
      udiskslinuxpartition: Add support for setting partition UUID
      udiskslinuxpartitiontable: Add support for setting UUID on partition creation
      tests: Add partition UUID tests
      udiskslinuxpartition: Reword some error messages
      udiskslinuxnvmecontroller: Fix a memleak
      iscsi: Set node parameters before the Login/Logout action
      tests: Disallow MD5 for iscsi CHAP login
      tests: Fix `eject` message matching
      tests: Extend timeout for LUKS integrity tests
      lvm2: Properly initialize stack-allocated structs
      tests: Make sure the new VG for LVM VDO tests properly reports free space
      lvm2: Trigger uevent sync on block devices when creating new VG
      tests: Use longer LUKS passphrases
      integration-test: Use longer LUKS passphrases
      tests: Fix FailsystemTestCase availability detection
      nvme: Sync fabrics options with libblockdev
      Add DOAP project definition file
      tests: Skip f2fs sector size tests on newer f2fs-tools
      udiskslinuxpartitiontable: Reprobe the device in case of missing udev attributes
      tests: Skip protective parttable tests if none was created
      tests: Forcefully set scsi_debug cd drive as read-only
      tests: Increase device size for XFS integration tests
      tests: Skip nilfs2 test_userspace_mount_options
      udiskslinuxblock: Read Bitlk UUID from the device if not provided by udev
      tests: Add Bitlk UUID check
      udiskslinuxfilesystem: Use udev ID_FS_SIZE if available
      udiskslinuxfilesystem: Do not use ID_FS_SIZE
      mount options: Sync ntfs3 options with kernel 6.4-rc7
      docs: Clarify mounted filesystem check/repair scenarios
      tests: Enhance mdraid bitmap tests

Vojtech Trefny (43):
      tests: Fix checking if VFAT is resizable
      udiskslinuxpartition: Trigger uevent after changing partition type
      Set default LUKS version to LUKS2
      dbus_tests: Fix including non-existing tests based on tags
      Add (no)autodefrag to list of allowed btrfs mount options
      tests: Use packaging.version instead of distutils.version
      tests: Use shutil.which instead of distutils.spawn.find_executable
      tests: Use BlockDev.utils_get_linux_version instead of os.uname
      Fix checking for VFAT resize support with older libblockdev
      Fix tests config with no modules enabled
      Set LogicalVolume.Type to "vdopool" for LVM VDO pools
      tests: Do not check that writeAmplificationRatio is bigger than 0
      Fix parsing key file from /etc/crypttab
      misc: Add a playbook for installing test dependencies
      ci: Add GitHub actions for running csmock and rpmbuild tests
      Adjust to new libblockdev API for generic FS functions
      Use bd_fs_get_size to get filesystem size
      udiskslinuxnvmenamespace: Include errno.h to fix compilation on CentOS 8
      tests: Use ext4 instead of xfs in non-filesystem tests
      tests: Create a bigger partition for test_mount_fstab_partlabel
      ci: Update Fedora versions for RPM build tests
      Do not use bd_crypto_luks_uuid to get UUID of LUKS devices
      Fix some expected error messages in FS integration tests
      tests: Fix test for CanFormat
      tests: Skip _test_fstab_label with VFAT on all versions
      Adjust to new libblockdev part API
      spec: Change license string to the SPDX format required by Fedora
      misc: Remove "warn: false" from Ansible "command"
      tests: Use bd_crypto_luks_info instead of bd_crypto_luks_uuid
      Use bd_loop_info to get autoclear and backing file for loop devices
      Allow specifying sector size for LoopSetup
      tests: Do not deactivate LVs before resize in test_10_linear
      tests: Fix expected error when creating an invalid btrfs RAID
      ci: Update chroots for RPM builds
      Remove the separate configure option for LVM cache support
      Use 0 instead of BD_LVM_DEFAULT_CHUNK_SIZE for default chunk size
      packaging: Remove lvm2-devel from build dependencies
      Do not disable libblockdev init checks
      Adjust to the latest bd_lvm_lvactivate API change
      Adjust to libblockdev 3.0 crypto plugin API changes
      Use BDFSResizeFlags instead of BDFsResizeFlags
      Bump required version of libblockdev to 3.0
      tests: Require BlockDev 3.0 from GI

Will Thompson (1):
      udisksclient: Make get_block_for_drive deterministic

Yuri Chornoivan (1):
      Update Ukrainian translation

alfsamsung (2):
      udiskslinuxdriveata:Fix reading IO stats on ata_refresh_smart_sync
      udiskslinuxdriveata:Fix updating IO stats on ata_refresh_smart_sync

lilinjie (2):
      fix typo
      fix typo

olf (1):
      Fix two comments (one copy'o, one typo)

orbea (3):
      modules/btrfs: Add missing dependency
      modules/bcache: Add missing dependency
      modules/lvm2: Add missing dependency

videlanicolas (1):
      Fix typo

Thanks to all our contributors.

Tomas Bzatek
2023-06-28

---------------------------
udisks 2.9.2
---------------------------

The udisks project provides a daemon, tools and libraries to access
and manipulate disks, storage devices and technologies.

Changes since 2.9.1:

Marius Vollmer (1):
      udiskslinuxblock: Survive a missing /etc/crypttab

Tomas Bzatek (20):
      lvm2: Fix leaking BDLVMVDOPooldata
      tests: Test modules that are actually enabled during build
      build: Exclude VDO module from distcheck build
      udisksfstabentry: Add udisks_fstab_entry_has_opt()
      udiskslinuxblock: Reflect fstab "noauto" mount option in HintAuto
      udiskslinuxblock: Update hints after fstab change
      tests: Add tests for Block hints
      udiskslinuxfilesystemhelpers: Make TakeOwnership() race free
      tests: Extend filesystem test_take_ownership tests with symlinks
      mount options: Allow 'nosymfollow' mount option for unprivileged mounts
      udisksstate: Silence the block device busy messages on cleanup lock
      udev: Distinguish mmcblk-class device types
      udev: Propagate mmcblk disk attributes to mmcblk_boot devices
      udiskslinuxdrive: Tweak the 'removable'/'ejectable' hints for mmcblk-class devices
      udiskslinuxblock: Tweak the hints for mmcblk-class devices
      udisksdaemonutil: Refactor udisks_daemon_util_trigger_uevent() out of UDisksLinuxBlockObject
      udiskslinuxmanager: Trigger uevent after loop device setup
      tests: Remove scsi_debug serial number checks
      tests: Skip zram tests if zram module is already loaded

Torstein Husebø (1):
      treewide: Fix typos

Vojtech Trefny (3):
      AUTHORS: Add tbzatek as the maintainer
      tests: Do not use nilfs2 as an example of non-resizable FS
      Memory leak fixes

zhmars (1):
      doc: Update config file path

Thanks to all our contributors.

Tomas Bzatek
2021-02-04

---------------------------
udisks 2.9.1
---------------------------

The udisks project provides a daemon, tools and libraries to access
and manipulate disks, storage devices and technologies.

Changes since 2.9.0:

Sebastien Bacher (1):
      integration-test: fix the exfat tests with the new util-linux

Tomas Bzatek (35):
      udiskslinuxpartition: Fix Coverity warning
      udiskslinuxmountoptions: Prevent a memory leak
      tests: Add integration-test --system switch
      daemon: Always flush interface property changes
      lvm2: Always flush interface property changes
      bcache: Always flush interface property changes
      btrfs: Always flush interface property changes
      iscsi: Always flush interface property changes
      lsm: Always flush interface property changes
      zram: Always flush interface property changes
      vdo: Always flush interface property changes
      udiskscrypttabmonitor: Add locking around crypttab_entries
      udiskscrypttabmonitor: Control cache validity by contents checksum
      tests: Remove sleep after modifying crypttab
      udiskslinuxblock: Use udisks_linux_block_matches_id() for block device identification
      udiskslinuxblock: Fix fstab records matching by needle
      tests: Add basic stacked LVM + LUKS teardown tests
      mount options: Add allowed mount options for XFS
      mount options: Add allowed mount options for reiserfs
      mount options: Add some more common allowed options
      udisksdaemon: Fix UDisksModuleManager finalization
      modules: Crash recovery on startup via a state file
      zram: Fix zram.conf.d prefix
      build: Use systemd pkg-config variable for modloaddir
      zram: Require systemd
      zram: Rename service to udisks2-zram-setup@.service
      zram: Minor codestyle fixes
      zram: Annotate created config files with UDisks2 header
      zram: Separate relevant udev rules
      zram: Fix the systemd service return code when swap is not requested
      zram: Fix the systemd service type
      tests: Install supplemental zram module files
      tests: Reset the zram systemd service on startup
      zram: Perform changes only when the env file exists for the given zram device

Vojtech Trefny (6):
      dbus-tests: Fix UdisksLVMVDOTest.test_resize_physical
      dbus-tests: Fix expected MD_DEVICE key in mdadm --detail output
      dbus-tests: Fix expected error in UdisksVDOTest.test_grow_physical
      dbus-tests: Skip VDO and LVM VDO tests if we can't load the module
      dbus-tests: Fix expected error message for failed LUKS resize
      dbus_tests: Fix getting list of SATA drives for Drive.ATA test

Thanks to all our contributors.

Tomas Bzatek
2020-08-12

---------------------------
udisks 2.9.0
---------------------------

The udisks project provides a daemon, tools and libraries to access
and manipulate disks, storage devices and technologies.

Changes since 2.8.4:

Dick Marinus (1):
      remove dot (.) for easier selecting the mounted folder

Matthew Leeds (1):
      udisksclient: Let the caller specify a D-Bus connection

Philip Withnall (1):
      udisksspawnedjob: Clear encoding of stdout and stderr channels

Piotr Drąg (1):
      Update POTFILES.in

Ting-Wei Lan (8):
      build: Do not hardcode the path of bash
      udisksclient: Do not depend on __GNUC_PREREQ macro
      Allow building without the daemon
      build: Do not use sed -i
      doc: Fix gtk-doc build when daemon is not built
      doc: Fix inconsistent indentation
      doc: Fix out-of-source build
      udisks: Use 'mv -f' to prevent prompting

Tomas Bzatek (135):
      rpm: Don't trigger udev if socket is not accessible
      ata: Reorder setting of APM and Standby timer flags
      udisksstate: Prevent pointer dereferencing before its check for NULL
      integration-test: Add test for mountpoint removal by external force
      udisksstate: Remove unused 'attempt_no_cleanup' variable
      udisksstate: Ignore state file read errors
      udiskslinuxfilesystem: Fix a typo
      udisksstate: Distinguish between persistent and non-persistent mount points
      udisksstate: Const-ify the state file names
      udisksstate: Prefix some warnings and error messages
      Remove the systemd mount cleanup service
      tests: Retry rmtree() if target is busy
      udisksmountmonitor: Remove caching, always read and parse the data
      tests: Handle return codes from `umount` and `wipefs` calls
      udiskslinuxblockobject: Expose udisks_linux_block_object_get_device_number()
      udiskslinuxblockobject: Add infrastructure for block device locking for cleanup
      udisksstate: Skip cleanup if block device is busy
      udisksstate: Implement udisks_state_check_block() for single device cleanup
      block: Lock the block object for cleanup in d-bus method call handlers
      Indentation fixes
      Code style cleanup: comments
      daemon: Detect linux kernel version on startup
      udiskslinuxprovider: Add the "uevent-probed" signal
      udisksdaemon: Generate daemon UUID on startup
      udiskslinuxblockobject: Implement udisks_linux_block_object_trigger_uevent_sync()
      daemon: Add UDISKS_DEFAULT_WAIT_TIMEOUT constant
      daemon: Use udisks_linux_block_object_trigger_uevent_sync()
      bcache: Use udisks_linux_block_object_trigger_uevent_sync()
      lvm2: Unify timeouts using UDISKS_DEFAULT_WAIT_TIMEOUT
      iscsi: Unify timeouts using UDISKS_DEFAULT_WAIT_TIMEOUT
      zram: Unify timeouts using UDISKS_DEFAULT_WAIT_TIMEOUT
      vdo: Unify timeouts using UDISKS_DEFAULT_WAIT_TIMEOUT
      tests: Use `modprobe` to detect module availability
      Minor docs fixes
      udiskslinuxblock: Reread partition table after mkfs.udf
      tests: Add --failfast test runner argument
      tests: Run UDF filesystem tests over a partitioned device
      tests: Test filesystem creation twice without wiping
      udiskslinuxfilesystem: Trigger uevent after Unmount()
      udiskslinuxblock: Remove unused udisks_linux_get_parent_for_tracking()
      udiskslinuxblock: Add udisks_linux_block_matches_id()
      udiskslinuxfilesystem: Use libmount for fstab enumeration
      udiskslinuxblock: Use libmount for fstab enumeration
      udiskslinuxprovider: Use GUnixMountMonitor for fstab monitoring
      lvm2: Use GUnixMountMonitor for fstab monitoring
      daemon: Ditch UDisksFstabMonitor completely
      tests: Unmount parent block device upon cleanup for UDF
      tests: Avoid using IDs in fstab records for partitioned block devices
      udisksconfigmanager: Add udisks_config_manager_get_config_dir()
      udisksconfigmanager: Make sure the global config dir exists
      udiskslinuxdrive: Use the new udisks_config_manager_get_config_dir()
      udiskslinuxprovider: Use the new udisks_config_manager_get_config_dir()
      lsm: Use the new udisks_config_manager_get_config_dir()
      udiskslinuxfilesystem: Refactor mount options computation out
      udiskslinuxfilesystem: Use udisks_daemon_util_get_user_info()
      udiskslinuxmountoptions: Use udisks_daemon_util_get_user_info()
      tests: Make UdisksTestCase.set_udev_property() handle multiple properties
      tests: Sleep for a while after installing custom udev rules
      udisksdaemon: Minor docs and code style fixes
      daemon: Separate the libmount checks for utab functionality
      daemon: Require libmount >= 2.18 unconditionally
      udiskslinuxblock: Update the Block.Configuration property after making changes
      udiskslinuxblockobject: Acquire an exclusive BSD lock to prevent udev probes for BLKRRPART
      daemon: Do not use STORAGED_* udev properties
      udiskslinuxfilesystem: Fix unitialized variable
      udiskslinuxmdraidobject: Fix harmless clang warning
      btrfs: Use udisks_linux_block_object_trigger_uevent_sync()
      udiskslinuxblock: Update the Configuration property after Format()
      udiskslinuxblock: Move setting partition type before triggering uevent
      udiskslinuxfilesystem: Use udisks_linux_block_object_trigger_uevent_sync()
      daemon: Use udisks_linux_block_object_trigger_uevent_sync()
      udiskslinuxpartitiontable: Wipe the newly created partition before waiting for new object
      modules: Generate unified GDBus code for the core and all modules
      doc: Move generated D-Bus API doc files in doc/xml/
      doc: Fix module symbols
      doc: Add missing symbols
      modules: Add pkg-config files
      lsm: Fix Makefile.am
      Translation updates
      udiskslinuxmountoptions: Implement config file parser
      udiskslinuxmountoptions: Provide built-in set of mount options
      udiskslinuxmountoptions: Port mount options computation to the new structures
      udiskslinuxmountoptions: Exclude allow_{u,g}id_self[] options from _allow[]
      udiskslinuxmountoptions: Add support for matching options by block device path
      udiskslinuxmountoptions: Add support for config file overrides
      udiskslinuxmountoptions: Allow missing [defaults] section
      udiskslinuxmountoptions: Implement overrides from udev rules
      udiskslinuxmountoptions: Print new mount options if overridden
      udiskslinuxmountoptions: Cache the builtin mount options within UDisksDaemon
      udiskslinuxmountoptions: Port final mount options computation away from GHashTable
      udiskslinuxmountoptions: Allow explicit option=value mount options
      udiskslinuxmountoptions: Respect all _allow_uid_self/_allow_gid_self options
      udiskslinuxmountoptions: Handle stray comma in mount option value
      udiskslinuxmountoptions: Use symbolic $UID and $GID placeholders for ID checks
      Add sample mount_options.conf
      doc: Document the configurable mount options
      tests: Add tests for configurable mount options
      udiskslinuxmountoptions: Add few more allowed options for UDF
      udiskslinuxmountoptions: Make exfat options compatible with the native kernel driver
      udisksstate: Fix a memleak
      udiskslinuxblock: Fix leaking GError
      daemon: Port away from G_TYPE_INSTANCE_GET_PRIVATE()
      udisksdaemon: Fix a small doc issue
      modules: Move UDisksModuleObject to the daemon
      modules: Introduce UDisksModule
      lvm2: Port to UDisksModule
      iscsi: Port to UDisksModule
      btrfs: Port to UDisksModule
      zram: Port to UDisksModule
      bcache: Port to UDisksModule
      vdo: Port to UDisksModule
      lsm: Port to UDisksModule
      lsm: Fix UDisksLinuxDriveLSM polling and object ownership
      lsm: Propagate errors from lsm calls
      lsm: Remove duplicate udisks2_lsm.conf
      doc: Fix LSM module docs
      modules: Process org.freedesktop.UDisks2.Manager.EnableModules() in main thread
      udiskslinuxprovider: Export manager interfaces for new modules
      udisksmodulemanager: Emit `modules-activated` signal after new modules have been loaded
      udisksmodulemanager: Remove udisks_module_manager_get_modules_available()
      udisksmodulemanager: Scan for new modules on subsequent EnableModule() call
      udisksmodulemanager: Implement org.freedesktop.UDisks2.Manager.EnableModule()
      udisksmodulemanager: Docs fixes
      tests: Use the new EnableModule() method call
      modules: Fix build with daemon disabled
      udiskslinuxprovider: Perform coldplug on 'modules-activated' signal unconditionally
      lsm: Add tests based on libstoragemgmt 'sim' plugin
      udisksconfigmanager: Always read the config file on getting list of modules
      tests: Load only selected modules, avoid lsm
      vdo: Fix potential NULL dereference
      iscsi: Fix leaking UDisksLinuxISCSISession
      vdo: Deprecate the standalone VDO module
      udiskslinuxprovider: Add TODO about not sending a 'remove' uevent to block objects

Vojtech Trefny (33):
      dbus-tests: Try to read distro version from LSB
      Fix converting dbus.UInt values to string with Python 3.8
      dbus-tests: Fix decoding journal messages with non-unicode data
      Add test for unlocking LUKS2 devices with integrity
      Do not try to build VDO module on RHEL 7 on non-x86_64 arches
      tests: Skip resize tests for formats without function to get size
      Fix spelling of UDisks in README
      (Un)mount devices with the user(s) option in fstab as the user
      Add support for creating and managing LVM VDO volumes
      Add tests for the LVM VDO features
      Do not set the ThinPool property for non-thin volumes
      Add ResizeLogical and ResizePhysical methods for VDOVolume.
      Always run 'tearDownClass' for tests skipped in 'setUpClass'
      Remove some obsoleted "skips" from DBus tests
      Add support for (un)locking BitLocker devices
      Do not try to get metadata size for non-LUKS encrypted devices
      Add a function to get statistics for LVM VDO volumes
      Use relative logical partition start in partitioning tests
      Allow unlocking encrypted devices as read only
      udisksctl: Use GDateTime instead of deprecated GTimeVal
      udisksthreadjob: Remove deprecated g_thread_supported call
      Fallback to safe udev values where possible for non UTF-8 strings
      Add support for tagging tests and using tags for running tests
      Add ability to read tests to skip from a config file
      Add option to automatically run pdb for failed DBus tests
      dbus-tests: Add a special tag to run all tests
      man: Fix documentation link for libudev
      Add a test for the no-discard option for Format
      dbus-tests: Add test for the configuration option "track-parents"
      Fix "options" option name for crypptab configuration item
      Add allowed mount options for btrfs and f2fs
      test_btrfs: Add a simple test for mounting btrfs subvolumes
      Skip BITLK tests on systems with util-linux older than 2.33

Will Thompson (1):
      udisksctl: pretty-print 'ao' properties

Thanks to all our contributors.

Tomas Bzatek
2020-05-26

---------------------------
udisks 2.8.4
---------------------------

The udisks project provides a daemon, tools and libraries to access
and manipulate disks, storage devices and technologies.

Changes since 2.8.3:

Malte Kraus (1):
      Use g_shell_quote for inputs to g_shell_parse_argv

Matthew Leeds (1):
      udisksclient: Add missing transfer annotations

Tomas Bzatek (19):
      udiskslinuxdriveata: Make get_pm_state() public
      udiskslinuxfilesystem: Prevent drive waking up on FS size update
      udisksmountmonitor: Add locking around the mounts list
      Post-release version bump to 2.8.4
      tests: Reflect new location of D-Bus service files
      integration-test: Do not copy config files when testing system instance
      udiskslinuxpartition: Fix potential NULL dereference
      Error message prefix tweaks
      lvm2: Error message prefix tweaks
      bcache: Error message prefix tweaks
      zram: Error message prefix tweaks
      vdo: Error message prefix tweaks
      udisksmountmonitor: Add locking around udisks_mount_monitor_get_mount_for_path()
      integration-test: Force re-read partition table on a sr0 scsi_debug device
      udisksspawnedjob: Initialize I/O counters to zero
      btrfs: Handle NULL filesystem interface
      udisksctl: Ignore coverity TAINTED_SCALAR (CWE-20) errors
      mdraid: Document the Delete() method
      integration-test: Remove attached pktcdvd device

Vojtech Trefny (5):
      Fix reading iSCSI initiator name from file in tests with Python 2
      spec: Do not hardcode sysconfdir to /etc (#1729430)
      Fix cryptsetup calls locking
      integration-test: Skip read only mounting test for exFAT
      integration_test: Skip multiple mountpoints test with exFAT

Vratislav Podzimek (1):
      Leave 8 MiB for cache metadata in the LVM test

Will Thompson (2):
      Filesystem.Unmount: don't leak mount_point
      Filesystem: ignore fstab entry if another device is mounted there

Thanks to all our contributors.

Tomas Bzatek
2019-07-22

---------------------------
udisks 2.8.3
---------------------------

The udisks project provides a daemon, tools and libraries to access
and manipulate disks, storage devices and technologies.

Changes since 2.8.2:

Debarshi Ray (1):
      Install a tmpfiles.d snippet to create /run/media on boot with systemd

Kai Lüke (3):
      Filesystem.Unmount waits for mount-points to be updated
      Create get_filesystem_size helper function
      Filesystem.Resize sets size property

Marius Vollmer (3):
      mdraid: Fix order of device names in "add disk" error message
      dbus-tests: Survive with more than 10 dm-* devices
      manager: Expose supported encryption types and their default

Tomas Bzatek (53):
      packaging: Remove obsolete Group tag
      udisks_state: Implement synchronous variant of udisks_state_check()
      udiskslinuxfilesystem: Explicitly remove the mountpoint after unmount
      iscsi: Use proper parser to get and set initiator name
      dbus-tests: Do not look for udisks daemon binary if system instance is requested
      lvm: Fix leaking error
      lvm: Properly free also unused PVs from the list
      udisksfstabmonitor: Properly cancel the monitor
      udiskslinuxpartitiontable: Fix small memleak
      lvm: Add empty GObject constructors and destructors
      bcache: Fix possible NULL bcache_object unref
      udisksdaemon: Fix leaking object references from the wait func waiting for object disappearance
      udiskslinuxblock: Fix leaked object references returned from udisks_daemon_wait_for_object_sync()
      iscsi: Fix leaked object references returned from udisks_daemon_wait_for_object_sync()
      zram: Adapt to recent udisks_daemon_wait_for_object_to_disappear_sync() reference counting changes
      bcache: Adapt to recent udisks_daemon_wait_for_object_to_disappear_sync() reference counting changes
      lvm2: Fix object reference leaks related to udisks_daemon_* calls
      udiskslinuxmanager: Fix small leaks related to UDisksDaemon calls
      udiskslinuxmanager: Fix wrong indentation
      udiskslinuxmanagerbtrfs: Use GPtrArray for dynamic lists
      bcache: Minor data type fixes
      btrfs: Minor data type and GError fixes
      udisksclient: Fix a memory leak
      Fix a couple of memory leaks
      lvm: Fix missing object interface reference
      lvm: Fix leaking UDisksLinuxLogicalVolumeObject
      udiskslinuxdrive: Fix leaking GKeyFile
      udiskslinuxblock: Fix leaking LUKS UUID
      udisksdaemonutil: Fix leaking variant
      udiskslinuxencrypted: Fix leaking error
      udiskslinuxfilesystem: Fix leaking errors
      udiskslinuxmdraid: Fix leaking GPtrArray
      udiskslinuxpartitiontable: Properly free BDPartSpec structures
      udiskslinuxmanager: Get string constants instead of allocated values
      udiskslinuxpartitiontable: Get string constants instead of allocated values
      udiskslinuxswapspace: Fix leaking errors
      udisksdaemon: Fix leaking commandline format strings
      udiskslinuxmanager: Fix leaking array shell
      udiskslinuxblock: Fix leaking string
      udiskslinuxencrypted: Fix some memory leaks
      udiskslinuxencrypted: Minor indentation fixes
      udiskslinuxencrypted: Fix uninitialized variable
      udiskslinuxmdraid: Fix leaking object
      udiskslinuxswapspace: Rework how references are held
      udiskslinuxblock: Fix leaking stdout and stderr from spawned jobs
      zram: Fail if creation of supplemental scripts fail
      zram: Fix array handling
      udiskslinuxfilesystem: Fix a g_strsplit() leak
      zram: Fix one more tiny leak
      iscsi: Fix small memory leak
      udiskslinuxprovider: Fix thread double free
      iscsi: Initialize stack-allocated structs

Vojtech Trefny (11):
      tests: Do not rely on default LUKS version being luks1
      Add function to get iSCSI initiator name as a byte array
      tests: Check that we use default LUKS version from config
      Install udisks2.conf config file when running tests from source
      tests: Simplify code for copying config files for tests
      tests: Delete config files we created for tests
      tests: Install UDisks config files for integration tests too
      tests: Remove force cleaning using Blivet
      tests: Create udisks2 conf directory if it doesn't exist
      Fix parsing crypttab with multiple spaces
      Skip tests that modify crypttab and fstab in non-testing environments

Thanks to all our contributors.

Tomas Bzatek
2019-06-13

---------------------------
udisks 2.8.2
---------------------------

The udisks project provides a daemon, tools and libraries to access
and manipulate disks, storage devices and technologies.

The 2.8.2 release brings mostly bugfixes without any changes to the public API.
Notable changes include:

 * migration from intltool to gettext, udisks no longer depends on gnome-common
 * added 'windows_names' as a default mount option for ntfs-3g
 * fixed an issue potentially leading to open filedescriptors exhaustion

Changes since 2.8.1:

A-Shahbazi (1):
      Add 'windows_names' as a default mount option for ntfs-3g

Iain Lane (1):
      integration-test: Sync after creating our fake devices

Malte (1):
      Split out get_user_info from get_caller_uid_sync.

Marius Vollmer (2):
      lvm2: Always initialize data.new_lv_size in CreateSnapshot
      udiskslinuxfilesystem: Trigger uevent after resize

Martin Blanchard (1):
      build: Migrate from intltool to gettext

Michael Biebl (1):
      Move D-Bus policy file to /usr/share/dbus-1/system.d/

Raine Makelainen (1):
      Cleanup some indentation errors from src/Makefile.am

StefanBruens (1):
      Accept 2nd partition as IsoHybrid data partition, 1st one may be EFI

Tomas Bzatek (36):
      udiskslogging: Fix THREAD_ID field logging
      udisksconfigmanager: Use #define for constants
      udisksconfigmanager: Make use of g_strstrip()
      udisksconfigmanager: Get rid of set-but-unused variables
      udisksconfigmanager: Prevent potential memory leak
      udisksconfigmanager: Use g_ascii_strcasecmp() for case-insensitive string comparison
      udisksconfigmanager: Refactor properties defaults
      dbus-tests: Include stdout/stderr in exception message during VDO cleanup
      dbus-tests: Process cleanup before tearing down VDO backing device
      dbus-tests: @unstable-fail: Print out the exception message
      udiskslinuxblockobject: Make filesystem_check() public
      udiskslinuxblock: Wait for .Filesystem d-bus interface after Format()
      mdraid: Update links to kernel docs
      mdraid: Finish pending sync job on finalize()
      mdraid: Handle NULL sync_action value
      mdraid: Properly finish the RequestSyncAction() job
      UDisksThreadedJob: Fix GTask completed handler
      udiskslinuxprovider: Properly ref objects the tasks are running on
      lsm: Don't unref published interface
      lsm: Prevent overwriting already set error
      lsm: Properly complete incoming method calls
      vdo: Properly finish the job when bd_vdo_start() fails
      udiskslinuxswapspace: Run the jobs synchronously
      test: Reuse mainloop from _g_assert_signal_received()
      udisksthreadedjob: Use GTask constructions to propagate result and error
      udisksspawnedjob: Fix a memory leak
      udisksthreadedjob: Don't return early on cancellation request
      tests: Add warning about using stack variables
      udisksthreadedjob: Provide _sync method to run the job
      tests: Add tests for udisks_threaded_job_run_sync()
      Enhance 'Error opening %s' messages
      udiskslinuxblockobject: Add guards around nested UDisksLinuxDevice
