qubes-core-admin-client (4.4.0-1+deb12u1+devel40) bookworm; urgency=medium

  * Test build

 -- Builder <user@localhost>  Sat, 08 Aug 2026 12:57:28 +0000

qubes-core-admin-client (4.4.0-1) unstable; urgency=medium

  [ anon ]
  * remove legacy disable=too-few-public-methods
  * Bump minimum python version in README.md
  * enforce implicit `is not None`
  * remove unnecessary return types
  * upgrade deprecated datetime calls in firewall.py
  * refine logic in SinglePropertyAction
  * add utest
  * removed legacy VM_ALL

  [ Ben Grande ]
  * Show usage instead of exception on missing options

  [ anon ]
  * fix typing issues in core3.py core2.py dispvm.py
  * fix typing issues in restore.py
  * add __annotations__ to _local_properties
  * fix order of checks in cleanup_tar2
  * remove redundant validate call
  * removed unused VolumeAction
  * add typing hints to events/
  * enforce 3.10 interface
  * ensure tempfile is deleted

  [ Marek Marczykowski-Górecki ]
  * Fix invalidating cache on device-removed event
  * tests: check devices cache invalidation on device-removed event
  * Use admin.vm.List method to get VM class

  [ anon ]
  * fix typing warnings
  * initialize qubesd_connection_type in QubesTest
  * transition to modern pyproject.toml build
  * remove CustomInstall
  * update rpm install script
  * Use Makefile in debian install
  * move entry points in pyproject.toml

  [ Marek Marczykowski-Górecki ]
  * debian: Remove explicit SOURCE_DATE_EPOCH
  * debian: fix split between packages

  [ anon ]
  * type-hint base.py
  * update docstring

  [ Sahil_Kumar ]
  * tests: mock_app: register per-VM admin.vm.List call

  [ anon ]
  * escape unsafe fileno()

  [ Ben Grande ]
  * Use caller's default_dispvm as target for @dispvm

  [ anon ]
  * do not --force if --all --exclude
  * type-hint device_protocol.py
  * add tests Dockerfile
  * fix utest when running without sudo
  * update run_tests packages
  * add type hints for app.py
  * handle case where arg is None

  [ Marek Marczykowski-Górecki ]
  * rtd: use pyproject instead of ci/requirements.txt for dependencies
  * pyproject: Add Xlib to dependencies
  * pyproject: rpm is needed not only for dev group
  * pyproject: fix xlib reference
  * re-add qubesadmin.tags import

  [ anon ]
  * type-check devices.py exc.py features.py
  * type-check firewall.py
  * Harmonize behavior between has/hasnt_event, and remove deprecated
    hasnt_event branch
  * remove dead code around args.wait
  * add utests
  * type-hint label.py
  * type-hint log.py
  * type-hint spinner.py
  * type-hint storage.py
  * misc. typing fixes

  [ Rohit Yadav ]
  * qvm-start-daemon: skip GUI/AUDIO for dead domain

  [ anon ]
  * type-hint tags.py
  * type-hint utils.py
  * remove unused get_entry_point_one

  [ Rusty Bird ]
  * Fix --pool syntax in manpages for qvm-create and qvm-clone

  [ Jayant-Kernel ]
  * qvm_device: copy assign options to suggested attach command

  [ anon ]
  * Update docstring to better reflect diffeence between qvm-kill and
    qvm-shutdown --force
  * make flags a standard column
  * update utests

  [ Marek Marczykowski-Górecki ]
  * tools: fix vm.run(user="root") on template imported from R4.2 (cont)

  [ ahriman ]
  * Document kernel option-related features

  [ Marek Marczykowski-Górecki ]
  * Add 'prefix_data' support to run_service() function
  * Fix resolving calls for a dispvm to be created
  * tests: make stdin/stdout/stderr arguments for run_service more
    realistic
  * tools/qvm-run: use prefix_data feature instead of copy_stdin
    subprocess
  * Require qrexec new enough to have --prefix-data option
  * ci: switch to devel version

  [ Piotr Bartman-Szwarc ]
  * add new feature: qubes-vm-update-hide-prohibited

  [ Marta Marczykowska-Górecka ]
  * Return UnknownDevice for assignments where device is unknown

  [ Ben Grande ]
  * Format utils with black
  * Stop conversion of domains list to set
  * Add option to wait for domain shutdown
  * Format qvm-shutdown with black
  * Wait for multiple shutdowns without events
  * Make qvm_shutdown reusable for other tools
  * Move qube actions to utils for reusability
  * Blacken qvm-start
  * Make qvm-start drive assignment reusable
  * Move utils to its own module

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 07 Jun 2026 16:04:55 +0200

qubes-core-admin-client (4.3.29-1) unstable; urgency=medium

  * tools: fix qvm-run -u root on template imported from R4.2

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 23 Feb 2026 03:48:33 +0100

qubes-core-admin-client (4.3.28-1) unstable; urgency=medium

  [ Ben Grande ]
  * Document preload-dispvm-delay

  [ Rusty Bird ]
  * restore: add hyphen before number suffix for conflicting name

  [ Ali Mirjamali ]
  * Include zstd package

  [ anon ]
  * add pyproject.toml to clarify tool used
  * add type hints for __init__.py
  * add type hints for core2.py
  * add type hints for core3.py
  * add type hints for dispvm.py
  * add type hints for restore.py
  * lint to pass pytest tests

  [ Ben Grande ]
  * Add internal qube to mock_app
  * Add updatevm and GPG RPC to mock_app
  * Add servicevm features to mock_app
  * Add U2F feature for mocked qube

  [ anon ]
  * remove obsolete python 2.x `object` inheritance in classes
  * remove sphinx <2 fallbacks
  * issubclass -> isinstance

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 16 Feb 2026 22:28:25 +0100

qubes-core-admin-client (4.3.27-1) unstable; urgency=medium

  [ Ben Grande ]
  * Check dummy disp properties vs probable template

  [ Ali Mirjamali ]
  * Do not hide `qubes-backup-restore` working files

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 13 Jan 2026 03:00:07 +0100

qubes-core-admin-client (4.3.26-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Sync device_protocol.py with core-admin
  * Use serialization for qrexec argument
  * tests: check if calls are using only allowed characters
  * Deserialize device in events only if there is a handler registered

  [ Ben Grande ]
  * Add method to solely create disposable
  * Use newer disposable token

  [ Marek Marczykowski-Górecki ]
  * use qubes.VMRootExec/qubes.VMRootShell services when root needed
  * rpm: bump qubes-core-dom0 dependency version
  * backup: fix expat import
  * tests: flush temporary qubes.xml file before using it via path

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 10 Jan 2026 22:39:42 +0100

qubes-core-admin-client (4.3.25-1) unstable; urgency=medium

  [ Marta Marczykowska-Górecka ]
  * Remove old denylist from qvm-device
  * Add is_preload property to mocks

  [ Marek Marczykowski-Górecki ]
  * Fix definition of is_preload property
  * devices: invalidate device cache on device-removed event

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 29 Nov 2025 19:32:45 +0100

qubes-core-admin-client (4.3.24-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Document `servicevm` feature
  * Cache GUIVM keyboard layout in `qvm-start-daemon`

  [ Marek Marczykowski-Górecki ]
  * Cache device assignments/attachments
  * Enable cache for qvm-device

  [ Jordan Mynes ]
  * fix: typo exisiting --> existing
  * fix: typo Exisiting --> Existing
  * revert: fixed accidental decapitalization

  [ Marek Marczykowski-Górecki ]
  * Fix 'Exisiting' typo in tests too

  [ jamke ]
  * Remove `--just-db` option from auto-generated man of qvm-remove
  * Fix mistake in man qvm-template: use info instead of list

  [ Ben Grande ]
  * Ignore preload as a dependency

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 09 Nov 2025 02:49:02 +0100

qubes-core-admin-client (4.3.23-1) unstable; urgency=medium

  [ Rusty Bird ]
  * qvm-template: pass through --skip-start to qvm-template-postprocess

  [ Ben Grande ]
  * Add less important disp template and disp
  * Exclude preloads from removal output
  * Add running disposable template for app menu

  [ Ali Mirjamali ]
  * Exclude preloaded disposables from `qvm-run --all`

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 23 Oct 2025 04:39:08 +0200

qubes-core-admin-client (4.3.22-1) unstable; urgency=medium

  [ Ben Grande ]
  * Black formatter
  * Miscellaneous formatting
  * Skip waiting for session when GUI is disabled

  [ Ali Mirjamali ]
  * Assure `multiprocess` start method is `fork`
  * Initialize asyncio event loop before using it

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 19 Sep 2025 03:24:35 +0200

qubes-core-admin-client (4.3.21-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Fix nested argparse argument groups

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 27 Aug 2025 04:18:44 +0200

qubes-core-admin-client (4.3.20-1) unstable; urgency=medium

  [ Ben Grande ]
  * Black formatter
  * Add timeout argument to Popen.communicate
  * Add threshold preload feature

  [ Marek Marczykowski-Górecki ]
  * debian: add hwdata to dependencies

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 07 Aug 2025 01:17:29 +0200

qubes-core-admin-client (4.3.19-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * tests: fix icon for disposable template

  [ Ben Grande ]
  * Document default_dispvm preload feature
  * Register preload features for better mock handling
  * Update features manual page about preloads

  [ Ali Mirjamali ]
  * Documentation to volume `revisions_to_keep == -1`

  [ Marta Marczykowska-Górecka ]
  * Improve device category description
  * Fix incorrect parent device serialization

  [ Marek Marczykowski-Górecki ]
  * doc: document qemu-extra-args feature

  [ Ali Mirjamali ]
  * Support `pbzip2` compression filter

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 20 Jul 2025 15:34:44 +0200

qubes-core-admin-client (4.3.18-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Fix qvm-pci with default list action

  [ Ben Grande ]
  * Black
  * Handle preloaded disposables
  * Black formatter

  [ Rusty Bird ]
  * qvm-template: don't persist lock file across system reboots

  [ Marek Marczykowski-Górecki ]
  * pylint fixup
  * Fix starting audio daemon

  [ Ben Grande ]
  * Late GUID for preloaded disposables

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 26 Jun 2025 18:58:00 +0200

qubes-core-admin-client (4.3.17-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Improve `qvm-backup-restore --paranoid-mode`
  * Assure backup restore/verify tmpdir is properly deleted
  * Add free-form text to qube for notes, comments, ...
  * Document lengthy un-pause after resuming from suspend

  [ Marta Marczykowska-Górecka ]
  * Blackify mock_app
  * Redefine DeviceCategories and improvements in MockDevices

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 28 May 2025 15:07:14 +0200

qubes-core-admin-client (4.3.16-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Document `expert-mode`

  [ Guillaume Chinal ]
  * SSL auth and user GPG key support for user templates repos

  [ Ali Mirjamali ]
  * Allow S3 suspend via `qvm-pause --suspend`

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 18 May 2025 23:52:20 +0200

qubes-core-admin-client (4.3.15-1) unstable; urgency=medium

  * qvm-pci: optionally list SBDF of listed devices

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 09 May 2025 04:25:01 +0200

qubes-core-admin-client (4.3.14-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Synchronize exc.py with core-admin

  [ Kamil Aronowski ]
  * Update the padlock icons reference in qubesadmin/label.py docstring

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 12 Apr 2025 03:17:40 +0200

qubes-core-admin-client (4.3.13-1) unstable; urgency=medium

  [ Aaron Rainbolt ]
  * Add boot mode support

  [ Guillaume Chinal ]
  * add anon-vm to the list of possible tags
  * fix invalid tag value when using a tag from POSSIBLE_TAGS in
    MockQube

  [ Marta Marczykowska-Górecka ]
  * Minor fixes to mock api

  [ Piotr Bartman-Szwarc ]
  * q-dev: update device_protocol.py
  * q-dev: denied devices api draft
  * q-dev: denied devices api tests
  * q-dev: add docstrings and cleanup
  * q-dev: fix tests/devices

  [ Ali Mirjamali ]
  * Enable more common compression filters for restoring
  * Cleanup Backup Compatibility test output

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 06 Apr 2025 03:16:33 +0200

qubes-core-admin-client (4.3.12-1) unstable; urgency=medium

  * Restore installing qvm-console

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 03 Mar 2025 13:50:17 +0100

qubes-core-admin-client (4.3.11-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * tests: Account for argparse bug fix in Python 3.13

  [ Marek Marczykowski-Górecki ]
  * ci: install 'scrypt' tool for the backup tests

  [ Ali Mirjamali ]
  * Document `skip-update` & `prohibit-start` features

  [ Guillaume Chinal ]
  * doc for minimal-netvm and minimal-usbvm services

  [ Ali Mirjamali ]
  * Revert to red label while restoring on missing labels

  [ Guillaume Chinal ]
  * doc: custom-persist man pages

  [ Rusty Bird ]
  * tools/qvm-volume: add 'clear' action

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 03 Mar 2025 04:43:20 +0100

qubes-core-admin-client (4.3.10-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Use MiB instead of MB for `qvm-ls` and `qvm-prefs`

  [ Demi Marie Obenour ]
  * Add symlinks to qvm-device
  * Always pass a service argument
  * Document the anon-timezone feature

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 08 Jan 2025 05:45:25 +0100

qubes-core-admin-client (4.3.9-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Add UNIX wildcards support
  * Dedicate `x-` prefix for user's custom features

  [ Marek Marczykowski-Górecki ]
  * Fix too long lines in tests

  [ Ali Mirjamali ]
  * Fix `events_max_delay` validation

  [ Marek Marczykowski-Górecki ]
  * q-dev: Add "Multimedia audio controller" as audio device too

  [ Ali Mirjamali ]
  * Add `--version`

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 02 Jan 2025 06:18:32 +0100

qubes-core-admin-client (4.3.8-1) unstable; urgency=medium

  [ Aaron Rainbolt ]
  * Add events_max_delay setting for qubes-gui-daemon

  [ Marta Marczykowska-Górecka ]
  * Add event mock and various improvements to mock API

  [ Marek Marczykowski-Górecki ]
  * Add copyright header to qvm_template tests
  * Enable pylint in tests
  * tests: drop python2 handling
  * Fix a lot of pylint issues
  * qvm-template: Be explicit about UTC timezone
  * Make "multimedia" devices more detailed
  * Sync device_protocol with core-admin

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 17 Dec 2024 04:28:07 +0100

qubes-core-admin-client (4.3.7-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Allow vm class to be given as positional argument to clone_vm

  [ Ali Mirjamali ]
  * Ignore invalid GUI related features and options
  * Avoid spaces in values for `admin.vm.Create` calls
  * Report XRandR display size for lodpi displays

  [ Piotr Bartman-Szwarc ]
  * q-dev: port
  * q-dev: comparison
  * q-dev: assignment
  * q-dev: add device_identity to device assignment
  * q-dev: add ask option
  * q-dev: backward compatible device_protocol
  * q-dev: fix qvm-device
  * q-dev: ask docs
  * q-dev: add self_identity do device identity
  * q-dev: refactor device_protocol.py
  * q-dev: fix event handling
  * q-dev: unify protocol
  * q-dev: virtual device
  * q-dev: device -> devices
  * q-dev: matches
  * q-dev: assign only device
  * q-dev: docs
  * q-dev: backend_name
  * q-dev: make devclass required
  * q-dev: device protocol
  * q-dev: fixes
  * q-dev: interface matches
  * q-dev: assignment.device
  * q-dev: warn user if assign device against deny list
  * q-dev: add tests
  * q-dev: print warning for flags --port and --device
  * q-dev: fix block auto-attach
  * q-dev: fix tests and cleanup
  * q-dev: more elaborated assignment listing
  * q-dev: update device_protocol.py
  * q-dev: move deny-list's path constant
  * q-dev: add more tests
  * q-dev: Set.assignment
  * q-dev: remove unused import
  * q-dev: make pci can be only assigned as required
  * q-dev: default qubes app
  * q-dev: Attention -> Warning
  * q-dev: print "Error:" before error message
  * q-dev: prettier info output
  * q-dev: extend backward compatibility of `attach --persistent`
  * q-dev: fix check if device is attached after assignment
  * q-dev: filter out not allowed arguments during attach
  * q-dev: filter out not allowed arguments during detach
  * q-dev: fix loading devices in event handling
  * q-dev: fixes of devices assignment fronted
  * q-dev: fixes corner cases in attach/assign
  * q-dev: patching up qvm-device info
  * q-dev: allow mic auto-attachment
  * q-dev: add flag to device listing
  * q-dev: ignore mode of currently attached devices
  * q-dev: allow auto-attach of microphone
  * q-dev: fix qvm-device
  * q-dev: fix comparison of Ports
  * q-dev: minor device_protocol fixes
  * q-dev: introduce AnyPort
  * q-dev: add short way to create DeviceAssignment
  * q-dev: pylint + black
  * q-dev: prettier device data printing
  * q-dev: do not suggest attaching pci devices
  * q-dev: update docs
  * q-dev: fix default behavior of qvm-device *CLASS*
  * q-dev: less scary device category names
  * q-dev: fix tests and pylint

  [ Marek Marczykowski-Górecki ]
  * rpm: adjust dependencies for new devices API

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 17 Nov 2024 01:50:32 +0100

qubes-core-admin-client (4.3.6-1) unstable; urgency=medium

  [ Simon Gaiser ]
  * qvm-start-daemon: Pass KDE specific guid arguments for stubdomain
    too

  [ Ali Mirjamali ]
  * Add `max_clipboard_size` GUI Daemon option

  [ Yaroslav Bolyukin ]
  * fix: do not crash on pool with no volumes

  [ Ali Mirjamali ]
  * Document killing of paused qubes on shutdown

  [ Marek Marczykowski-Górecki ]
  * ci: update to R4.3
  * doc: drop intersphinx mapping

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 27 Oct 2024 04:42:13 +0100

qubes-core-admin-client (4.3.5-1) unstable; urgency=medium

  [ neoniobium ]
  * [qubes-remove] Error message when trying to remove dom0

  [ Ali Mirjamali ]
  * Hide qvm-prefs default value with --hide-default
  * Add PRIV-POOL & ROOT-POOL columns to qvm-ls

  [ Marek Marczykowski-Górecki ]
  * pylint: deal with too-many-positional-arguments

  [ Ali Mirjamali ]
  * Support DNF5 UpdateVM for qvm-template

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 28 Sep 2024 16:17:41 +0200

qubes-core-admin-client (4.3.4-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Improve qvm-ls options to avoid parsing
  * Add requested changes for qvm-ls, numeric sort
  * Update documentation for new qvm-ls options
  * Update unittests for new qvm-ls options
  * Improve new qvm-ls documentation & comments

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 24 Aug 2024 02:37:01 +0200

qubes-core-admin-client (4.3.3-1) unstable; urgency=medium

  [ Euwiiwueir ]
  * Fix the synopsis sections of qvm-run, qvm-create manpages

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 18 Aug 2024 15:04:56 +0200

qubes-core-admin-client (4.3.2-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Improve qvm-check mechanism on invalid domains
  * Improving unit tests for qvm-check
  * Extended QubesArgumentParser & VmNameAction for qvm-check
  * Cleaner messages on attempting to remove a Template currently in use

  [ Piotr Bartman-Szwarc ]
  * fix QubesOS/qubes-issues/issues/9354
  * add tests

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 20 Jul 2024 05:27:44 +0200

qubes-core-admin-client (4.3.1-1) unstable; urgency=medium

  [ Ben Grande ]
  * Document service software-rendering

  [ Euwiiwueir ]
  * qvm-start-daemon: expect gui-window-background-color

  [ Ali Mirjamali ]
  * Ask for additonal confirmation for qvm-remove --all

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 05 Jul 2024 17:28:51 +0200

qubes-core-admin-client (4.3.0-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Document usb-reset-on-attach qvm-service

  [ Marta Marczykowska-Górecka ]
  * A proposal for new devices API

  [ Piotr Bartman ]
  * q-dev: init
  * q-dev: (optional feature) qvm-device info
  * q-dev: partially implemented DeviceInfo API + Device Interfaces
  * q-dev: add fronted_domain to keep one version of DeviceInfo API
  * q-dev: catch errors in deserialize
  * q-dev: update DeviceInfo API
  * q-dev: simplify parent_device
  * q-dev: DeviceInterface
  * q-dev: persistent -> required
  * q-dev: DeviceAssignment
  * q-dev: Microphone Interface
  * q-dev: --list-device-classes do not require positional unused
    argument
  * q-dev: allow unassign unknown device
  * q-dev: readable serialization
  * q-dev: DeviceAssignment serialization
  * q-dev: full identity
  * q-dev: auto-attach and required as immutable properties
  * q-dev: handle DeviceInfo.attachment
  * q-dev: warn user that (un)assign is not (de/at)tach
  * q-dev: prevent non-pci device as required
  * q-dev: full_identity -> self_identity
  * q-dev: block auto-attach
  * q-dev: allow block devices to be required
  * q-dev: port assignment
  * q-dev: @marmarek comments
  * q-dev: device protocol
  * q-dev: refactor device protocol
  * q-dev: device protocol minor fixes
  * q-dev: broder allowance of names
  * q-dev: pylint
  * q-dev: fix `qvm-start VM --drive cdrom`
  * q-dev: update tests for qvm-device and app
  * q-dev: update and fix tests for backup
  * q-dev: update and fix tests for qvm-start
  * q-dev: make pylint happy
  * q-dev: fix serialization
  * q-dev: update device protocol
  * q-dev: update device protocol v2

  [ Piotr Bartman-Szwarc ]
  * q-dev: update device protocol v3
  * q-dev: make pylint happy
  * q-dev: update device protocol v4
  * q-dev: update tests

  [ Marek Marczykowski-Górecki ]
  * rpm: bump dependency for core-admin

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 15 Jun 2024 21:27:29 +0200

qubes-core-admin-client (4.2.14-1) unstable; urgency=medium

  * rpm: drop unused python3-daemon dependency
  * Fix creating template.rpm symlink

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 25 May 2024 04:50:03 +0200

qubes-core-admin-client (4.2.13-1) unstable; urgency=medium

  [ Marta Marczykowska-Górecka ]
  * Copy a dictionary on use in mock API

  [ Frédéric Pierret (fepitre) ]
  * qvm-start-daemon: fix TypeError in message
  * qvm_start_daemon: improve reset property handling

  [ Marek Marczykowski-Górecki ]
  * Get local name from qubesdb
  * Document that qvm-service are stored as qvm-features
  * Make pylint happy
  * qvm-start-daemon: handle policy denials

  [ Marta Marczykowska-Górecka ]
  * Remove deprecated pkg_resources library

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 15 May 2024 13:50:23 +0200

qubes-core-admin-client (4.2.12-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * qvm_start_daemon: cleanup pacat process
  * qvm_start_daemon: handle setting/changing audiovm
  * qvm-start-daemon: improve logging and update sphinx
  * qvm-start-daemon: refactor start of services
  * qvm-start-daemon: improve dynamic switch for audiovm
  * qvm-start-daemon: set enabled services for launcher
  * qvm-start-daemon: make pylint happy
  * qvm-start-daemon: fix missing short alias for debug
  * qvm-start-daemon: check for dom0
  * qvm-start-daemon: one more pass on isolating services
  * qvm-start-daemon: remove manual call on_connection_established
  * qvm-start-daemon: fix remaining process on new audiovm

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 29 Apr 2024 16:42:14 +0200

qubes-core-admin-client (4.2.11-1) unstable; urgency=medium

  [ Sylwester Arabas ]
  * minor cleanup of rpm2cpio usage leftover in var name
  * shorten line (addressing pylint hint)
  * issue #8876: first seemingly working draft, tests not
    updated/extended yet, unclear if part order can be assumed [skip ci]
  * raise exception if symlink not found + add a note about file order
    in tar
  * unrelated comment fix
  * add tests for the new rpm extraction logic
  * whitespace refactor for pylint
  * make pylint happier
  * redirect rpmbuild output to dev-null making the test lest verbose in
    the logs
  * line lengths
  * improving test coverage, removing unused imports

  [ Marta Marczykowska-Górecka ]
  * Minor improvements to Mock App

  [ Yousef Alzahrani ]
  * printing list object as one string for list-like properties
  * seperate with comma to avoid column ambiguity

  [ Marta Marczykowska-Górecka ]
  * Enable starting DispVMs from admin API

  [ Kamil Aronowski ]
  * qvm-create.rst: update from dispvm_allowed to template_for_dispvms

  [ Marek Marczykowski-Górecki ]
  * qvm-start-daemon: ignore self qube for starting audio/gui daemons

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 14 Apr 2024 02:10:33 +0200

qubes-core-admin-client (4.2.10-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Fix man page about qvm-run --all

  [ Simon Gaiser ]
  * qvm-prefs: Don't falsely report 'no such property'

  [ Marta Marczykowska-Górecka ]
  * Add a mock Qubes object with improved contents
  * Add attaching devices to mock API

  [ Marek Marczykowski-Górecki ]
  * Update tests for Python 3.12
  * tests: increase qvm-firewall width
  * Switch to sequoia for codecov signature check

  [ Demi Marie Obenour ]
  * Revert "Do not enable "low latency" mode for pipewire"

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 06 Feb 2024 00:21:21 +0100

qubes-core-admin-client (4.2.9-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Marek's name got changed
  * Document making applications open stuff in disposable VMs

  [ Rusty Bird ]
  * tools: fix -p syntax error message in qvm-create and qvm-clone
  * doc: fix ephemeral property requirement in qvm-volume manpage
  * backup/restore: always use backup-size as an estimate
  * qvm-template: fix hardcoded '4.1' in default RPM keyring location

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 21 Nov 2023 02:55:43 +0100

qubes-core-admin-client (4.2.8-1) unstable; urgency=medium

  * doc: document memory-hotplug feature

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 10 Oct 2023 19:57:05 +0200

qubes-core-admin-client (4.2.7-1) unstable; urgency=medium

  [ Kez ]
  * Supress legacy help text

  [ Marek Marczykowski-Górecki ]
  * Add readthedocs config
  * Do not enable "low latency" mode for pipewire

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 10 Oct 2023 19:37:13 +0200

qubes-core-admin-client (4.2.6-1) unstable; urgency=medium

  [ Gonzalo Bulnes Guilpain ]
  * Minor fix misspelling in docstring

  [ Kamil Aronowski ]
  * Replace qvm-block references in qvm_volume.py
  * Add the "POOL_NAME" metavar to -p/--pool
  * Fix a typo: managment -> management

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 10 Sep 2023 10:57:18 +0200

qubes-core-admin-client (4.2.5-1) unstable; urgency=medium

  [ unman ]
  * Minor changes to qvm-prefs manpage. Closes QubesOS/qubes-
    issues#8310.

  [ Demi Marie Obenour ]
  * Document evolution-data-server and tracker services

  [ Marek Marczykowski-Górecki ]
  * Filter-out keyboard layout switching options
  * ci: fix PATH

  [ jamke ]
  * Fix markup issue in qvm-create.rst: *NAME*=*VALUE*

  [ Marek Marczykowski-Górecki ]
  * Make pylint happy

  [ jamke ]
  * Fix markup issue in qvm-create.rst: *NAME*=*VALUE*
  * Fix: qvm-ls outputs to stderr for --help-* calls
  * Improve layout filtering of options for setxkbmap

  [ Marek Marczykowski-Górecki ]
  * Make qvm-run --nogui default if DISPLAY is not set

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 20 Aug 2023 08:48:44 +0200

qubes-core-admin-client (4.2.4-1) unstable; urgency=medium

  [ Per Christian Gaustad ]
  * Specify format of --profile parameter for qvm-backup

  [ Rusty Bird ]
  * tools/qvm-volume: clarify available revisions

  [ Oni ]
  * Fix title order when qvm-template output is piped to another command

  [ Marek Marczykowski-Górecki ]
  * Invalidate cache on domain add/delete

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 02 Jun 2023 05:15:13 +0200

qubes-core-admin-client (4.2.3-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Switch to new codecov uploader

  [ Rusty Bird ]
  * doc: use file-reflink instead of deprecated file in 'qvm-pool add'
    example
  * backup/restore: fix import of volumes with small or unaligned size
  * make pylint happy

  [ Piotr Bartman ]
  * add derived_vms property
  * add missing docstring

  [ Marta Marczykowska-Górecka ]
  * Add documentation for vm-config features

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 27 Apr 2023 17:21:34 +0200

qubes-core-admin-client (4.2.2-1) unstable; urgency=medium

  [ Kamil Aronowski ]
  * Typo: How log -> How long

  [ Manuel Amador (Rudd-O) ]
  * Document that qvm-volume revert can revert to a specific revision.

  [ Marek Marczykowski-Górecki ]
  * Yet another disgusting hack for python 3.11.2 bug

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 14 Mar 2023 05:31:34 +0100

qubes-core-admin-client (4.2.1-1) unstable; urgency=medium

  * Document supported-* features in qvm-features man page
  * Document qubes-agent-version feature
  * Document few more features in qvm-features man page

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 02 Mar 2023 02:38:06 +0100

qubes-core-admin-client (4.2.0-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Make pylint happy

  [ Demi Marie Obenour ]
  * Set selinux feature if template.conf specifies it

  [ Marek Marczykowski-Górecki ]
  * Replace one python bug workaround with another

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 18 Feb 2023 02:36:29 +0100

qubes-core-admin-client (4.1.30-1) unstable; urgency=medium

  * rpm: depend on xrandr

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 03 Feb 2023 19:16:01 +0100

qubes-core-admin-client (4.1.29-1) unstable; urgency=medium

  [ Maja Kądziołka ]
  * man qvm-backup: Warn about potential metadata leakage

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 19 Jan 2023 18:31:45 +0100

qubes-core-admin-client (4.1.28-1) unstable; urgency=medium

  [ Maja Kądziołka ]
  * qvm-backup-restore --verify-only: don't overwrite VM properties

  [ Marek Marczykowski-Górecki ]
  * backup: use ~/QubesIncoming as default restore tmpdir

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 01 Jan 2023 21:19:45 +0100

qubes-core-admin-client (4.1.27-1) unstable; urgency=medium

  [ Marta Marczykowska-Górecka ]
  * Fix cache invalidation for domain-start-failed

  [ Rusty Bird ]
  * backup/restore: hardcode MD5 algo for format v2/v3 decryption

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 29 Nov 2022 03:12:57 +0100

qubes-core-admin-client (4.1.26-1) unstable; urgency=medium

  * backup: do not fail on removing non-existing file

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 15 Nov 2022 04:36:19 +0100

qubes-core-admin-client (4.1.25-1) unstable; urgency=medium

  [ Rusty Bird ]
  * vm: fix 'qvm-shutdown --wait' for DispVM

  [ unman ]
  * Update manpage for qvm-firewall
  * Fix aberrant paste

  [ Demi Marie Obenour ]
  * Add missing GUI daemon options

  [ Marek Marczykowski-Górecki ]
  * Fix regex formatting
  * Fix docs formatting
  * Include runtime deps in build deps for documentation build
  * doc: document remaining qvm-template options
  * dochelpers: parse man page with aliased subcommands
  * qvm-create: fix creating qube with smaller than default root.img

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 17 Oct 2022 14:55:29 +0200

qubes-core-admin-client (4.1.24-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * ci: make git happy about source clone owned by a different user

  [ Demi Marie Obenour ]
  * Catch FileNotFoundError when download fails

  [ ambdroid ]
  * qvm_shutdown: add --dry-run
  * doc: add --dry-run

  [ Demi Marie Obenour ]
  * Fix qvm-run argument parsing
  * More argparse bug workarounds

  [ Frédéric Pierret (fepitre) ]
  * Add Qubes Builder v2 integration
  * .qubesbuilder: replace 'spec' by 'build'

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 19 Jul 2022 17:43:42 +0200

qubes-core-admin-client (4.1.23-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * Drop Travis CI

  [ Marek Marczykowski-Górecki ]
  * Update few cache-related comments
  * Invalidate cache on 'connection-established' event

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 04 May 2022 03:40:38 +0200

qubes-core-admin-client (4.1.22-1) unstable; urgency=medium

  * ci: switch unit tests back to docker
  * pylint: disable consider-using-f-string for now
  * make pylint happy
  * Add command for migrating templates from rpmdb
  * qvm-template: Clarify tripple confirmation on 'purge' action
  * qvm-template-postprocess: fix installing templates with small rootfs

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 13 Apr 2022 04:29:00 +0200

qubes-core-admin-client (4.1.21-1) unstable; urgency=medium

  * qvm-template: load all repo files from /etc/qubes/repo-templates
  * Adjust for pylint consider-using-with on suprocess.Popen
  * CI: add lxml to extension-pkg-whitelist
  * ci: use codecov-wrapper for proper commit sha reporting

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 26 Mar 2022 14:32:48 +0100

qubes-core-admin-client (4.1.20-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * Several reformats and fix missing imports
  * qvm_template: fix repoid issue
  * qvm_template: improve dnf import
  * qvm_template: use fstring in place of % formating'
  * Keep enable/disable repos ordering

  [ Marek Marczykowski-Górecki ]
  * qvm-template: fix parsing enablerepo/disablerepo/repoid

  [ siliconninja ]
  * qvm-run: Add command block to example commands

  [ smoothie-on-the-rocks ]
  * Update list action details

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 10 Jan 2022 06:52:16 +0100

qubes-core-admin-client (4.1.19-1) unstable; urgency=medium

  [ Marta Marczykowska-Górecka ]
  * set default value for features.get to None

  [ Ivan Kardykov ]
  * fix stubdomain gui starting when 'gui' is empty

  [ Demi Marie Obenour ]
  * Use `%_pkgverify_level all` when checking package signatures

  [ Marek Marczykowski-Górecki ]
  * qvm-template: fix listing available templates
  * qvm-template: preserve order of --enablerepo/--disablerepo/--repoid
  * qvm-template: make getting qubes release more defensive
  * qvm-template: do not crash when killing already powered off VM
  * Add dependencies required for qvm-template tool
  * qvm-template: use rpm2archive instead of rpm2cpio

  [ Demi Marie Obenour ]
  * nogpgcheck should be a keyword-only argument
  * Strengthen handling of untrusted qrexec output
  * Use rpmcanon to canonicalize downloaded templates

  [ Marek Marczykowski-Górecki ]
  * Add qubes-rpm-oxide dependency for qvm-template

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 12 Dec 2021 19:42:09 +0100

qubes-core-admin-client (4.1.18-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * qvm-start-daemon: update initial keyboard layout

  [ Marta Marczykowska-Górecka ]
  * Add clearing property cache to Property Holder class

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 09 Nov 2021 06:24:44 +0100

qubes-core-admin-client (4.1.17-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Support setting ephemeral_volatile volume

  [ Marek Marczykowski-Górecki ]
  * Include qvm-template man page in the package
  * Avoid inheriting from multiple builtin exceptions

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 20 Oct 2021 05:32:46 +0200

qubes-core-admin-client (4.1.16-1) unstable; urgency=medium

  * storage: fix formatting
  * tools/qvm-volume: improve formatting
  * storage: add Volume.ephemeral property
  * tools/qvm-volume: add showing and setting 'ephemeral' property

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 09 Oct 2021 05:12:43 +0200

qubes-core-admin-client (4.1.15-1) unstable; urgency=medium

  * Fix fallout from qvm-appmenus --force-root

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 01 Oct 2021 00:33:26 +0200

qubes-core-admin-client (4.1.14-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Add Qubes.domains.get() method

  [ Marta Marczykowska-Górecka ]
  * Fix too-narrow exception caught in qvm_shutdown
  * Improve TestVM and TestVMCollection capabilities

  [ Marek Marczykowski-Górecki ]
  * Make --force-root parameter optionally visible again
  * Add EventsDispatcher.stop()
  * Do not interrupt the whole dispatcher if a single handler fails

  [ Marta Marczykowska-Górecka ]
  * Clarify 'internal' feature usage

  [ Yann Dirson ]
  * qvm-create.1: improve --root-move-from description
  * qvm-create.1: more detailed --root-copy-from description

  [ Marta Marczykowska-Górecka ]
  * Better error reporting on backup errors

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 28 Sep 2021 05:25:57 +0200

qubes-core-admin-client (4.1.13-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * doc: add set-created-guivm features and guivm related services
  * doc: point complete author list to git repo
  * manpages: be more precise on guivm services

  [ Marek Marczykowski-Górecki ]
  * Convert tests to use stdlib's AsyncMock()

  [ Demi Marie Obenour ]
  * Rip out @asyncio.coroutine
  * Use fcntl locking for the PID file
  * Do not crash on unexpected output from xrandr

  [ Rusty Bird ]
  * app: fix pool-preserving VM clone mode used by GUI

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 14 Aug 2021 04:42:36 +0200

qubes-core-admin-client (4.1.12-1) unstable; urgency=medium

  * Guard qvm-start-daemon with generic 'guivm' or 'audiovm' services
  * Fix gui-daemon cleanup
  * Uniformly handle QubesVMNotFoundError when accessing a property

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 30 May 2021 04:24:25 +0200

qubes-core-admin-client (4.1.11-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * tools/qvm-run: do not check if DispVM is paused before starting it

  [ Frédéric Pierret (fepitre) ]
  * Add .gitlab-ci.yml

  [ Marek Marczykowski-Górecki ]
  * gitlab-ci: adjust custom job
  * tests: avoid 'xrandr' call
  * backup: add function parameter for override temp directory
  * backup: cleanup retrieve_proc on failure
  * backup: check if there is enough disk space available to restore
  * backup: throttle backup extracting if there is not enough disk space
  * tests: fix preparing multi-part disk volume
  * tests: restoring a backup bigger than available space in /var/tmp
  * gitlab-ci: fix codecov call

  [ Rusty Bird ]
  * qvm-backup: dom0 dst relative to cwd of tool, not qubesd

  [ WillyPillow ]
  * Initial support for qvm-template.
  * Separate whitelist entries with spaces instead of newlines.
  * Verify values of boolean flags in template config.
  * Allow virt_mode other than pv.
  * Change "whitelist" to "menu-items" in qvm-features for clarity.
  * Initial commit of qvm-template.
  * Better way of detecting VM.
  * Various cleanup and improvements.
  * Use tqdm for progress bar.
  * Check for newlines in qrexec arguments & improve error handling.
  * Add suffix for unverified RPMs.
  * Fix pylint warnings.
  * Support for {reinstall,downgrade,upgrade} operations.
  * Allow <package-spec>-like arguments for the list operation.
  * Initial implementation for "qvm-template info".
  * Initial implementation for "qvm-template search".
  * Add lock-file functionality for qvm-template install.
  * Print error messages if qubes.TemplateSearch fails.
  * Revamp "qvm-template search" and finish TODOs.
  * Check number of fields for qubes.TemplateSearch output.
  * qvm-template: Incorporate additional metadata in
    qubes.TemplateSearch.
  * qvm-template: Remove downloaded file if the download is interrupted.
  * qvm-template: Add --refresh option and allow DNF cache to be used.
  * qvm-template: Make pylint happy by changing "license" to "licence".
  * qvm-template*: Add option to specify pool to store created VM.
  * qvm-template: {reinstall,{up,down}grade}: Better handling and checks
    for existing version.
  * qvm-template: Switch to namedtuples and other slight cleanup.
  * qvm-template: Reorder functions.
  * qvm-template: Make pylint happy.
  * qvm-template: Check that template spec is not "---".
  * qvm-template: Fix typo.
  * qvm-template: Check that template is managed by qvm-template before
    accessing relevant features.
  * qvm-template: Better args parsing: Use subparsers and complain about
    unknown args if the operation is not "remove".
  * qvm-template: Use repo file from qubes-repo-templates.
  * qvm-template: Use "vm.features.get" instead of explicit membership
    check.
  * qvm-template: Defer qrexec calls so that they can be omitted if
    exceptions are raised.
  * qvm-template: Partially include docstrings and type hints.
  * qvm-template: More docstrings.
  * qvm-template: Initial support for machine-readable listings.
  * qvm-template: Include module in documentation.
  * qvm-template: Tidy up code responsible for output in {info,list}
    operations.
  * qvm-template: Replace newlines in machine-readable output.
  * qvm-template: Initial implementation of repolist.
  * qvm-template: Remove default 'repo_files' entry if other entries
    have been specified by the user.
  * qvm-template: Fix missing args for install operations.
  * qvm-template: Add confirmation for dangerous operations; verify
    signatures once instead of twice by returning header after
    verification.
  * qvm-template-postprocess: Make pylint happy.
  * qvm-template: Fix type hints.
  * qvm-template: Slight improvements to package verification.
  * qvm-template: Add purge operation.
  * qvm-template: Add option to specify RPM keyring location.
  * qvm-template: Add support for JSON output.
  * qvm-template: Add option to disable download progress bar.
  * qvm-template: Make sure that template-dummy is set and used
    properly.
  * qvm-template: Initial manpage.
  * qvm-template: Tweak machine-readable output format.
  * qvm-template: Eliminate use of lsb_release
  * qvm-template: Replace "template-install-time" with "template-
    installtime" for consistency
  * qvm-template: Improve help message for --upgrades
  * qvm-template: Fix qvm_template_postprocess tests
  * Fix CI dependencies
  * qvm-template: Make pylint happy
  * Add stubs for rpm module and initial tests for qvm-template install
  * qvm-template: Update docs for --updatevm
  * qvm-template: Fix timezone issues by storing timezone explictly in
    features
  * qvm-template: Fix compatibility with Python 3.6
  * Revert "qvm-template: Fix compatibility with Python 3.6"
  * qvm-template: Fix date formats to "%Y-%m-%d %H:%M:%S"
  * qvm-template: Add tests for qrexec_payload
  * Make TestProcess.communicate return str instead of IO object
  * qvm-template: Add partial tests for qrexec_repoquery
  * qvm-template: Fix compatibility with Python 3.6
  * qvm-template: Fix compatibility with Python 3.6 in tests
  * qvm-template: Make pylint happy
  * qvm-template: Add tests for qrexec_repoquery and get_dl_list
  * qvm-template: Fix minor bugs
  * qvm-template: Add tests for functions list_templates and search
  * qvm-template: Mock print_table in tests for consistent output
  * qvm-template: Fix broken indention
  * qvm-template: Add tests for download function and fix minor bugs

  [ Marek Marczykowski-Górecki ]
  * qvm-template: use UpdateVM by default
  * qvm-template: call rpmkeys --checksig for signature verification
  * qvm-template: download templates to a temporary directory
  * qvm-template: handle template extraction failure
  * qvm-template: add copyright header
  * qvm-template: minor improvements
  * deb,rpm: depend on qubes-repo-templates
  * qvm-template-postprocess: improve data validation
  * qvm-template: improve install lock
  * qvm-template: cleanup install function
  * qvm-template: remove downloaded package after installation
  * qvm-template-preprocess: remove confusing message
  * Store template repo configuration in /etc
  * qvm-template: use QubesArgumentParser
  * qvm-template: allow global arguments after action name
  * qvm-template: factor filter_version() out of get_dl_list()
  * qvm-template: by default list only latest available template
  * qvm-template: use key specified in the repo definition if possible
  * qvm-template-postprocess: do not generate appmenus twice
  * qvm-template: improve error reporting
  * qvm-template: verify template package signature directly at download
  * qvm-template: default confirm to 'n'
  * qvm-template-postprocess: treat missing appmenus files as warnings
    only
  * qvm-template-postprocess: extract config handling into separate
    function
  * qvm-template-postprocess: fix allowed features list
  * tests: qvm-template-postprocess - template.conf handling
  * qvm-template: mute pylint complains about typing.NamedTuple
  * tests: some more for qvm-template

  [ WillyPillow ]
  * tests: add tests for qvm-template remove
  * tests: fix tests for verify_rpm involving incorrect template names
  * qvm-template: test != 1 instead of == 0 for template-dummy feature
  * tests: add more tests re. install, remove, and get_keys_for_repos
  * qvm-template: only ask for confirmation during install if something
    is being done
  * qvm-template: update comments to reflect e424c7d
  * tests: fix mock return values of get_dl_list when testing `qvm-
    template reinstall`
  * tests: add tests for qvm-template reinstall/up/downgrade when
    nothing needs to be done
  * tests: improve TestProcess behavior
  * tests: add tests for other qvm-template functions

  [ Marek Marczykowski-Górecki ]
  * qvm-template: fix downloading template for install
  * qvm-template: fix installing already cached templates
  * doc: update default values on qvm-template man page

  [ Frédéric Pierret (fepitre) ]
  * spec: add BR make

  [ 3hhh ]
  * qvm-ls & qvm-device: Handle removal of VM during on_shutdown.

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 18 May 2021 03:22:27 +0200

qubes-core-admin-client (4.1.10-1) unstable; urgency=medium

  [ Marta Marczykowska-Górecka ]
  * Make incorrect label name error more descriptive

  [ Marek Marczykowski-Górecki ]
  * Make pylint happy
  * qvm-device: improve error message on invalid device type

  [ Frédéric Pierret (fepitre) ]
  * doc: add 'input-dom0-proxy' feature

  [ Marta Marczykowska-Górecka ]
  * Added supported-service keyboard-layout to allow for better working
    Qube Manager

  [ Marek Marczykowski-Górecki ]
  * Fix script executable bit

  [ Marta Marczykowska-Górecka ]
  * Better error reporting in qvm_start

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 10 Oct 2020 05:11:49 +0200

qubes-core-admin-client (4.1.9-1) unstable; urgency=medium

  * 

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 12 Aug 2020 11:01:43 +0200

qubes-core-admin-client (4.1.8-1) unstable; urgency=medium

  [ WillyPillow ]
  * Add admin.vm.volume.Clear call (QubesOS/qubes-issues#5946)

  [ Marek Marczykowski-Górecki ]
  * tests: update for admin.vm.volume.Clear usage in qvm-template-
    postprocess
  * doc: document qvm-start-daemon --force, --kde
  * Make Label() object hashable

  [ Paweł Marczewski ]
  * qvm-start-daemon: convert to async/await syntax
  * qvm-start-daemon: allow --watch without --all
  * Add qubes-guivm-session utility

  [ Marek Marczykowski-Górecki ]
  * travis: use sourced config, switch to R4.1
  * tests: use asynctest some more
  * utils: fix encoding '+' for qubes.VMExec
  * backup/restore: distinguish dom0 by name
  * backup/restore: improve error message about restoring tags
  * backup/restore: option for alternative qrexec service
  * backup/restore: use qfile-unpacker in a VM, request disk space
    monitoring
  * utils: add simple locking primitive
  * rpm/deb: add dependency on scrypt
  * Add "paranoid restore" mode
  * tools: remove obsolete _want_app argument
  * backup/restore: add option for unattended restore and extracting log
  * rpm: add BR: python3-lxml and python3-xcffib
  * tests: extend run_service mockup for pre-recorded output
  * tests: remove extra empty lines
  * tests: add paranoid backup restore unit tests
  * doc: document 'tag-created-vm-with' feature
  * backup/restore: better error detection for --paranoid-mode
  * backup/restore: make error reporting work also for StandaloneVM
    based DispVM
  * Cleanup Admin API denial reporting

  [ Marta Marczykowska-Górecka ]
  * Added more resilience to missing permissions to utils
  * qvm-run will unpause paused VMs by defaults

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 11 Aug 2020 19:26:32 +0200

qubes-core-admin-client (4.1.7-1) unstable; urgency=medium

  [ Marta Marczykowska-Górecka ]
  * Added a safeguard for invalid firewall rules

  [ Marek Marczykowski-Górecki ]
  * tools/qvm-start-daemon: reduce required permissions to sys-gui
    itself

  [ Frédéric Pierret (fepitre) ]
  * debian: add guivm related content
  * Makefile: add clean of pkgs and debian changelog.*

  [ Dmitry Fedorov ]
  * connect to PA in stubdom if audio-model enabled run pacat in low
    latency mode by default
  * use function to determine pacat domid

  [ Marta Marczykowska-Górecka ]
  * Added better __eq__ method to Label class

  [ Frédéric Pierret (fepitre) ]
  * Handle KDE with specific arg/desktop file
  * Fix missing semi-colon and new line
  * tests: kde_args are passed with property of launcher
  * qvm-start-daemon: common_guid_args is now a staticmethod

  [ Marek Marczykowski-Górecki ]
  * Fix VM validity check for cached VM objects

  [ Marta Marczykowska-Górecka ]
  * Fixed inconsistent firewall address checking

  [ Paweł Marczewski ]
  * Generate qubes-guid options based on features
  * Clean up the guid-conf file on domain stop

  [ Marek Marczykowski-Górecki ]
  * Wrap too long line
  * rpm/deb: require new enough qubes-gui-daemon

  [ Marta Marczykowska-Górecka ]
  * Added dynamic X keyboard event monitoring to qvm_start_daemon.py

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 15 Jul 2020 16:18:20 +0200

qubes-core-admin-client (4.1.6-1) unstable; urgency=medium

  * Make pylint happy
  * tools/qvm-volume import: do not retrieve old size anymore
  * Do not check for object existence when got it with another Admin API
    call
  * Add simple properties caching
  * Try to use new property.GetAll method to pre-fill the cache
  * Implement a wrapper for dom0 -> dom0 qrexec calls
  * Adjust for changed qubesd socket protocol
  * Cache power state when caching is enabled
  * Enable caching in qvm-ls and qvm-prefs
  * events: implicitly enable caching when creating EventsDispatcher
  * rpm: ensure matching qubesd socket protocol version

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 24 May 2020 04:38:13 +0200

qubes-core-admin-client (4.1.5-1) unstable; urgency=medium

  [ Pawel Marczewski ]
  * qvm-kill: ignore already off domains
  * qvm-kill: make error message more clear

  [ marmot1791 ]
  * Correct default VMs behavior to match current code

  [ Amadeusz Piotr Żołnowski ]
  * Move qvm-console from qubes-core-agent-linux

  [ Marta Marczykowska-Górecka ]
  * Added force shutdown option to vm.shutdown
  * Added explicit 'force' option to qvm-shutdown

  [ Marek Marczykowski-Górecki ]
  * Remove no longer relevant TODO comment
  * rpm, deb: declare conflict with qubes-core-agent shipping qvm-
    console
  * tests/firewall: update future time to be really in the future

  [ Marta Marczykowska-Górecka ]
  * Added an option to qvm-firewall to reset all rules

  [ Marek Marczykowski-Górecki ]
  * Add qvm-firewall reset action to the man page

  [ Rusty Bird ]
  * collections.Callable -> collections.abc.Callable

  [ Marta Marczykowska-Górecka ]
  * Cloning a vm now clones persistent PCI device assignments
  * Remove Python 2 workarounds
  * Added tests for cloning VMs with persistent devices

  [ Frédéric Pierret (fepitre) ]
  * Support for AudioVM
  * Change qvm-start-gui to qvm-start-daemon for handling audio too
  * Fix and improvements from Marek's comments
  * qvm-start-daemon: allow starting only if service enabled
  * qvm-start-daemon: ensure separate task between GUI/AUDIO
  * daemon: start it for dom0 unconditionnaly
  * gui: set keyboard layout when starting daemon
  * qvm-start-daemon: set keyboard-layout only for the first set layout
  * qvm-start-daemon: improve parsing args for setting keyboard layout
  * qvm-start-daemon: allow multiple options in keyboard layout
  * qvm-start-daemon: check if layout is parsed
  * qvm-start-daemon: adjust pacat pid file path

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 10 Apr 2020 05:40:18 +0200

qubes-core-admin-client (4.1.4-1) unstable; urgency=medium

  * debian: really drop python2 build

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 27 Jan 2020 22:58:58 +0100

qubes-core-admin-client (4.1.3-1) unstable; urgency=medium

  [ Marta Marczykowska-Górecka ]
  * Fixed Exceptions inferiting from KeyError

  [ Marek Marczykowski-Górecki ]
  * Drop Python2 support

  [ tetrahedras ]
  * add --wait documentation for qvm-shutdown

  [ Pawel Marczewski ]
  * qvm-ls: don't exclude dom0 when using --all
  * Add test for qvm-ls --all
  * Use admin.vm.CurrentState method for power state and memory
  * qvm-ls: display memory as integer number
  * Update tests to mock admin.vm.CurrentState
  * Add a test for vm.get_mem()
  * Add missing docstrings
  * qvm-shutdown: report errors, don't crash on DispVMs
  * qvm-remove: improve error message
  * Import data using ImportWithSize call, not manual resizing
  * qvm-run: use qubes.VMExec, if available
  * Document the new behaviour of qvm-run with arguments
  * Use qubes.VMExec in run_with_args()

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 27 Jan 2020 19:33:19 +0100

qubes-core-admin-client (4.1.2-1) unstable; urgency=medium

  [ Marta Marczykowska-Górecka ]
  * Fixed overeager assert
  * Fixed metadata usage being served as strings

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 30 Nov 2019 05:12:01 +0100

qubes-core-admin-client (4.1.1-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * travis: switch to bionic
  * Make PEP8 happier
  * qvm-start-gui: handle GuiVM
  * guivm: use getattr instead of try/except and direct property access
  * qvm-start-gui: simplify log info for start_gui function
  * app: fix missing docstring for get_local_name
  * app: get_local_name set/from self attribute
  * tests: fix with respect to gui properties
  * tests: qvm_start_gui: make PEP8 happier
  * app: switch get_local_name method to property

  [ Marta Marczykowska-Górecka ]
  * Fixed error with import
  * Added pool.usage_details API method

  [ Saswat Padhi ]
  * Improvements to qvm-pool argument parser
  * Updated tests for qvm-pool
  * Fixed a bug and removed unused import
  * Added a new test and minor updates to others
  * Updated qvm-pool.rst file
  * Preserve backward compatibility

  [ Rot127 ]
  * added feature to list domains as network tree
  * network tree manpage entry added
  * Sort domains in network tree list
  * Add tests for --tree option of qvm-ls

  [ Frédéric Pierret (fepitre) ]
  * prefs: handle 'none' value for guivm
  * utils: handle default_guivm and guivm properties
  * utils: make PEP8 happy
  * tests: add default_guivm and guivm in utils properties
  * tests: make PEP8 and pylint happy

  [ Marta Marczykowska-Górecka ]
  * Added an exception for backup already in progress

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 13 Nov 2019 05:58:53 +0100

qubes-core-admin-client (4.1.0-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * devices: make PEP8 happy
  * devices: handle listing of available device classes
  * tests/devices: make PEP8 happy
  * tests/devices: add test for handling listing device classes
  * tools/qvm-device: make PEP8 happy
  * devices: make iteration device classes compatible with Python2
  * devices: add missing docstring for _get_device_classes
  * qvm-check: refactor check mechanism and add filter for checking
    netvm
  * qvm-check: fix from Marek's comment

  [ hexagonrecursion ]
  * Fix a pref name in the qvm-prefs man page
  * Clarify the network-manager qubes service default
  * Correct network-manager qubes service default

  [ Frédéric Pierret (fepitre) ]
  * qubesadmin: make PEP8 happy
  * qubesadmin: define methods list_vmclass and list_devicesclass
  * qvm-device: handle 'list-device-classes' and 'list-classes'
  * qvm-device: prevent parser allowing abbreviations
  * qvm-device: add manpage entry

  [ Marek Marczykowski-Górecki ]
  * backup/restore: reject uncommon compression filters and improve
    header validation
  * backup/restore: add option to use uncommon compression filter anyway
  * tests: check rejecting/accepting compression filters
  * backup/restore: make pylint happy

  [ Frédéric Pierret (fepitre) ]
  * Fix Sphinx 2 new API for Fedora 31+
  * dochelpers: handle legacy sphinx library
  * dochelpers: make PEP8 happier

  [ Marta Marczykowska-Górecka ]
  * Fixed error with VM being incorrectly listed as its own dependency

  [ Marek Marczykowski-Górecki ]
  * rpm: fix release number
  * Add support for run_service(..., filter_esc=True) in a VM
  * Add run_service(..., autostart=False) argument
  * tools/qvm-start-gui: avoid starting a VM just to send it monitor
    layout
  * Make pylint happy

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 09 Oct 2019 05:48:48 +0200

qubes-core-admin-client (4.0.26-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * doc: typo fix

  [ anadahz ]
  * Remove policy option from man page

  [ Marek Marczykowski-Górecki ]
  * tests: update yaml syntax in qvm-backup tests

  [ Conor Schaefer ]
  * Adds support for `--ignore-errors` to qvm-clone CLI
  * Adds docs for clone ignore_errors, feeds linter

  [ Malte Leip ]
  * qvm-prefs: add --hide-default option

  [ Marek Marczykowski-Górecki ]
  * travis: switch to xenial, update distributions

  [ unman ]
  * Remove unnecessary comma in qvm-backup.rst

  [ Marek Marczykowski-Górecki ]
  * Allow app.domains[vm] where vm is a QubesVM object
  * travis: drop python 3.4, add python 3.6 and 3.7
  * tests: fix events tests on python3.7
  * tools: reset private volume when importing template over existing
    one
  * tools/qvm-volume: add 'import' action

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 30 Jul 2019 16:29:31 +0200

qubes-core-admin-client (4.0.25-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * doc: update meminfo-writer service note

  [ GammaSQ ]
  * fixed typo

  [ Marek Marczykowski-Górecki ]
  * rpm: unify fedora and centos packaging
  * rpm: add R: python3-yaml, as needed by qvm-backup tool
  * backup: do not fail restore if scrypt anticipate more time needed
  * tools/qvm-run: do not color the output unless --pass-io is used
  * Bump Python version requirement for qvm-* to 3.5
  * utils: include management_dispvm property when checking where VM is
    used
  * backup: Do not try to attach devices during backup verification
  * tools/qvm-backup: allow to disable compression
  * events: simplify handling qubesd reconnect
  * vm: add run_with_args method to call a single command with specific
    arguments
  * tests: vm.run, vm.run_with_args
  * tools/qvm-start: use vm.run_with_args to call losetup in the VM
  * tools/qvm-start: validate output of losetup command
  * Make vm.run_with_args working on python2
  * Make pylint happy

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 07 Mar 2019 03:58:08 +0100

qubes-core-admin-client (4.0.24-1) unstable; urgency=medium

  * tools/qvm-run: make -q affect 'command failed with code' message

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 18 Dec 2018 04:58:21 +0100

qubes-core-admin-client (4.0.23-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Clarify QubesBase(), Qubes() and QubesLocal/QubesRemote usage
  * Remove useless 'pass' to make pylint happy
  * backup: simplify test expressions to make pylint happy

  [ GammaSQ ]
  * get_label now accepts integer and has correct return-type
  * forgot braces
  * reverted to comparing .index
  * forgot braces
  * isinstance instead of type
  * added --standalone and --disp shortcuts
  * diff doesn't set template
  * added tests for shortcuts
  * Documentation is important! Added shortcuts to manpages
  * Fixed typo in documentation

  [ Marek Marczykowski-Górecki ]
  * tests/tools: extend vm.run_service() mockup
  * tests/tools: improve qvm-run tests
  * tools: fix qvm-run --pass-io --localcmd=... vmname command
  * tools/qvm-run: handle Ctrl+C nicely
  * tools/qvm-run: factor out print_no_color function
  * tools/qvm-run: fix error reporting on qvm-run -n on halted qube
  * tools/qvm-run: add error message if command in VM failed
  * tools/qvm-device: allow detaching all devices
  * doc: add 'permissive' PCI device option and 'mic' device class
  * Clone VM's volume into the same pool, unless overridden specifically
  * tools: remove extra debug
  * tools/qvm-create: reject --root-{move,copy}-from with template-based
    qubes
  * tools/qvm-run: factor out actual process running into separate
    function
  * doc: improve qvm-device man page
  * doc: fix rst syntax in documentation, including docstrings

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 09 Dec 2018 18:33:27 +0100

qubes-core-admin-client (4.0.22-1) unstable; urgency=medium

  [ Patrik Hagara ]
  * qvm-ls: add filtering by domain power state

  [ Marek Marczykowski-Górecki ]
  * app: add option to ignore select volumes on app.clone_vm()
  * tools/qvm-create: properly create template-based StandaloneVM
  * tools/qvm-create: fix handling invalid label
  * Copy application menu on VM clone
  * Code style fix
  * tools: clarify qvm-service --help

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 29 Oct 2018 05:45:34 +0100

qubes-core-admin-client (4.0.21-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Move pylint config to canonical place
  * devices: add DeviceInfo.devclass attribute

  [ AJ Jordan ]
  * Fix typo

  [ jimtahu ]
  * Exclude installed_by_rpm when Restoring VM from Backup

  [ Marek Marczykowski-Górecki ]
  * devices: drop DeviceInfo.options
  * events: deserialize DeviceInfo class in device-* events
  * devices: include devclass when comparing devices
  * events: try reconnecting to qubesd also on BrokenPipeError
  * rpm: fix building on fc29

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 07 Oct 2018 15:37:03 +0200

qubes-core-admin-client (4.0.20-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Adjust shell input for Windows shell, for qvm-run tool
  * travis: install python-docutils in separate step

  [ Patrik Hagara ]
  * qvm-ls: add filtering by tags

  [ Marek Marczykowski-Górecki ]
  * tools/qvm-create: resize root volume if needed before imporing data
  * events: add support for wildcard event handlers
  * events: fix reconnecting to qubesd on its restart

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 13 Sep 2018 23:40:01 +0200

qubes-core-admin-client (4.0.19-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * app: fix error reporting when connection to qubesd fails
  * tools/qvm-start-gui: do not crash on qubesd restart
  * Fixes for pylint 2.0

  [ Marta Marczykowska-Górecka ]
  * Deleted a duplicate man qvm-services entry

  [ Marek Marczykowski-Górecki ]
  * qvm-start-gui: fix handlign rpc-clipboard feature
  * Add 'gui-emulated' feature
  * doc: add info what properties are inherited from template
  * backup: avoid deadlock on logging during restore
  * doc: add linux-stubdom feature to man qvm-features

  [ Marta Marczykowska-Górecka ]
  * Helper function that lists where a given VM is used
  * Added tests and minor correction to vm_usage helper function
  * Name change of vm dependencies helper function
  * Better information on error in qvm-remove
  * Added test for qvm-remove dependency reporting

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 20 Jul 2018 18:29:28 +0200

qubes-core-admin-client (4.0.18-1) unstable; urgency=medium

  [ Peter Gerber ]
  * tools/qvm-firewall: Describe available rules in --help output

  [ Marek Marczykowski-Górecki ]
  * tools/qvm-firewall: add 'expire' rule support
  * tools/qvm-firewall: make 'list' a default action

  [ Peter Gerber ]
  * tools/qvm-firewall: Show EXPIRE column in list output
  * tools/qvm-firewall: add dst4 and dst6 as synonyms for dsthost
  * .gitignore: add doc/_build/
  * tools/qvm-firewall: improve manpage and --help output

  [ Marek Marczykowski-Górecki ]
  * Fix reporting events even if its source is not available anymore
  * tools: don't fail qvm-template-postprocess on shutdown race
    condition

  [ jimtahu ]
  * Change "None" to Property None
  * Change "None" in qvm_prefs
  * Add test of qvm_prefs for specal case "None"

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 27 Jun 2018 03:31:03 +0200

qubes-core-admin-client (4.0.17-1) unstable; urgency=medium

  [ Frédéric Pierret ]
  * Create .spec.in and Source0
  * Remove _builddir and useless condition on qubes_builder
  * doc: handle release definition when not being in a git repository
  * spec.in: add changelog placeholder

  [ Marek Marczykowski-Górecki ]
  * tools: fix error reporing on unknown storage pool
  * tools/qvm-pool: add --set to modify pool properties
  * doc: adjust example in qvm-pool man page
  * Add 'make clean' target, use it for Debian build
  * tools/qvm-ls: add --kernel option for compatibility with R3.2
  * tools/qvm-template-postprocess: fix reinstall action

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 21 Apr 2018 15:27:37 +0200

qubes-core-admin-client (4.0.16-1) unstable; urgency=medium

  * doc: typos
  * doc: fix module index generation
  * storage: add 'rw' and 'revision_to_keep' setters
  * qvm-volume: add 'info' and 'config' actions
  * storage: make Pool.{size,usage} integers
  * doc: update qvm-volume parameters
  * qvm-volume: refuse to shrink volume unless --force option is used
  * tools: add SubParsersHelpAction, which include subcommands details
    in --help
  * tools: suppress full traceback in console tools
  * qvm-template-postprocess: resize volume only when needed
  * qvm-template-postprocess: do not remove VM on failed reinstall

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 21 Mar 2018 01:55:21 +0100

qubes-core-admin-client (4.0.15-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * doc: add 'pci-e820-host' feature description

  [ Rusty Bird ]
  * qvm-backup-restore: remove orphaned --replace-template option
  * qvm-backup-restore: really pass options
  * qvm-backup: let backup core handle default VM selection
  * restore.py: don't try to restore dispid property
  * restore.py: sort into three tiers in _templates_first()
  * restore.py: deal with DispVM templates
  * restore.py: factor out _restore_property() helper
  * restory.py: restore template_for_dispvms property early
  * restore.py: add template-related debug log messages

  [ Frédéric Pierret ]
  * Add support for python34-sphinx: package is provided in Qubes
    repository

  [ Marek Marczykowski-Górecki ]
  * tools: terminate qvm-start-gui when X server is terminated

  [ Rusty Bird ]
  * qvm-backup-restore: also handle absent --ignore-missing

  [ Marek Marczykowski-Górecki ]
  * qvm-template-postprocess: call fstrim after removing image file
  * tools/qvm-prefs: fix printing None value
  * tests: add tests for various 'qvm-prefs vm pref' cases

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 04 Mar 2018 03:54:39 +0100

qubes-core-admin-client (4.0.14-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * vm: restore force_shutdown->kill deprecated alias

  [ Christopher Laprise ]
  * Fix AdminVm class name
  * Fix dom0 handling
  * Fix dom0 restore
  * style issues
  * unused variable

  [ Marek Marczykowski-Górecki ]
  * backup: skip dom0's properties while restoring core2 backup
  * backup: add support for openssl 1.1.0 options
  * tests: dom0 backup restore, both v3 and v4
  * backup: don't crash when no 'qubes' group is present

  [ Rusty Bird ]
  * template-postprocess: fast path for file-reflink, like file

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 14 Feb 2018 04:46:52 +0100

qubes-core-admin-client (4.0.13-1) unstable; urgency=medium

  [ Christopher Laprise ]
  * Fix dom0-related issues

  [ Marek Marczykowski-Górecki ]
  * backup: make pylint happy
  * Make pylint happy
  * tools/qvm-ls: fix handling columns with underscore
  * backup: restore Qubes 3.x VMs as HVMs
  * doc: update qvm-features documentation

  [ Christopher Laprise ]
  * Add --yes option and confirm prompt.
  * Fix error message grammar
  * Toggle installed_by_rpm in template tool
  * Use --force instead of --yes
  * Print vm list before prompt
  * Avoid cloning installed_by_rpm
  * Add --force to manpage.
  * Fix style else-return

  [ Marek Marczykowski-Górecki ]
  * tests: update qvm-template-process and qvm-remove tests
  * add QubesVM.connected_vms attribute

  [ Rusty Bird ]
  * qvm-device/block: Alias '--ro' to '--option read-only=yes'
  * qvm-device.rst: Document '--ro' option

  [ Marek Marczykowski-Górecki ]
  * doc: add info about specific qvm-device cases
  * storage: add volume.is_outdated() function
  * tools/qvm-start: add naive waiting for cdrom device
  * tools: fix handling optional domain list
  * tools/qvm-ls: allow list only selected VMs
  * tools/qvm-ls: add --raw-list option for compatibility with R3.2
  * tools/qvm-ls: add --network and --disk compatibility options
  * tools/qvm-ls: clarify that disk usage is in percents
  * base: make WrapperObjectsCollection behave like a dict
  * rpm,deb: add missing python lxml dependency
  * Add property_get_default method
  * vm/DispVM: use 'qrexec_timeout' also for call connection timeout

  [ Rusty Bird ]
  * qvm-run: wait for X11 in --dispvm --gui case

  [ Marek Marczykowski-Górecki ]
  * storage: add size and usage properties
  * backup/restore: do not shrink volumes on restore

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 18 Jan 2018 21:06:36 +0100

qubes-core-admin-client (4.0.12-1) unstable; urgency=medium

  [ Jean-Philippe Ouellet ]
  * Stop leaking terminal escapes via stderr

  [ Marek Marczykowski-Górecki ]
  * tests: Update tests after fix for filtering stderr

  [ Jean-Philippe Ouellet ]
  * Fix qvm-ls --raw-data
  * Disable spinner if --raw-data
  * Remove dead code

  [ qubesuser ]
  * don't lookup list of labels just to read VM properties
  * don't use ast.literal_eval, just directly convert to the desired
    type

  [ Marek Marczykowski-Górecki ]
  * tests: make filter-esc tests working also on travis
  * tests: fix tests after dropping unnecessary admin.label.List call

  [ Christopher Laprise ]
  * Issue #3303
  * Fix verify-only
  * verify-only avoid dom0 handler

  [ Marek Marczykowski-Górecki ]
  * tests: update tests for fixed verify_only handling
  * make qvm-shutdown nice for unit tests
  * Make pylint happy
  * Another approach for making qvm-shutdown nice for tests

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 12 Dec 2017 01:42:19 +0100

qubes-core-admin-client (4.0.11-1) unstable; urgency=medium

  [ qubesuser ]
  * remove format_doc and docutils import
  * don't import pkg_resources in the top of qubesadmin/utils.py
  * replace console entry points with just importing the module
  * replace key in dir(self) with faster and better code

  [ Jean-Philippe Ouellet ]
  * Fix setting stderr default coloring policy
  * Restore correct colors in verbose mode

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 21 Nov 2017 04:52:46 +0100

qubes-core-admin-client (4.0.10-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Document device attach options in man page
  * tools/qvm-shutdown: fix handling shutdown timeout for multiple VMs
  * backup: fix handling labels in Qubes 4.0 backups

  [ qubesuser ]
  * make qvm-run work for non-blocking stdin

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 09 Nov 2017 11:56:18 +0100

qubes-core-admin-client (4.0.9-1) unstable; urgency=medium

  [ Frédéric Pierret ]
  * Add CentOS support and fix python3 dependencies for CentOS (except
    python3-sphinx and python3-daemon which has no python34 package)

  [ Marek Marczykowski-Górecki ]
  * Fix DeviceInfo objects comparing
  * vm: fix handling policy deny on admin.vm.List
  * Drop log.DBusHandler
  * backup: improve migrating templates from Qubes 3.x
  * tools: fix handling qvm-run --no-autostart

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 21 Oct 2017 04:11:20 +0200

qubes-core-admin-client (4.0.8-1) unstable; urgency=medium

  * backup: fix restoring template VMs
  * tools: clarify that qvm-backup needs absolute path
  * backup: fix name of meminfo-writer feature
  * backup: update DispVM template property: template_for_dispvms
  * backup: improve restoring HVMs from Qubes 3.2
  * backup: do not try to read tar's stderr past EOF
  * tests: multi-part volume in backup tests

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 16 Oct 2017 04:44:26 +0200

qubes-core-admin-client (4.0.7-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * Implement "blind mode" to avoid listing objects
  * events: ignore events from non-existing domains
  * tools: fix qvm-run --help
  * Always use QubesVM objects, instead of AppVM/TemplateVM etc
  * Move vm.appvms to QubesVM
  * Drop individual VM classes as python types completely
  * tools: finish 'qvm-volume revert' implementation, add tests
  * tools/qvm-start: fix starting a VM with cdrom image
  * vm: drop suspend and resume methods - not part of the Admin API
  * rpm: add conflict with too-old qubes-manager

  [ Mindy Preston ]
  * qvm-start: exit if domain running and no --skip-if-running

  [ Marek Marczykowski-Górecki ]
  * tools: adjust qvm-start message and logic, update tests

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 08 Oct 2017 18:42:41 +0200

qubes-core-admin-client (4.0.6-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * tools/qvm-run: ignore --filter-esc/--no-filter-esc unless --pass-io
    is given
  * vm/dispvm: fix dispvm.cleanup() when no service was called
  * tests: add DispVM tests
  * Improve QubesDaemonNoResponseError error message
  * tools: drop --delete and --unset aliases for --default option
  * doc: update list of properties in qvm-prefs/qubes-prefs man pages
  * doc: add short description of VM classes to qvm-create man page
  * tools: implement qvm-create --root-move-from/--root-copy-from
  * tools: add qvm-create --help-classes
  * backup/restore: make backup header extraction faster
  * backup/restore: do not fail the whole restore when qvm-appmenus is
    missing

  [ blackpit ]
  * Fixed https://github.com/QubesOS/qubes-issues/issues/2983

  [ Marek Marczykowski-Górecki ]
  * tools: fix too long lines
  * tools: cleanup temporary files after qvm-template-postprocess
  * devices: client stub for DeviceCollection.update_persistent
  * tools: restore qvm-start --cdrom and similar options

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 14 Sep 2017 02:47:48 +0200

qubes-core-admin-client (4.0.5-1) unstable; urgency=medium

  * tools/qvm-run: fix handling small data blocks
  * vm: add DispVMWrapper for calling a single service in new DispVM
  * tools: add qvm-run --dispvm option
  * doc: list known features in qvm-features manual page
  * app: add VMCollection.values()
  * tools/qvm-run: do not use os.set_blocking
  * tools/qvm-device: list attach options
  * doc: add default values to qvm-features man page

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 10 Aug 2017 16:10:40 +0200

qubes-core-admin-client (4.0.4-1) unstable; urgency=medium

  * tools/qvm-start-gui: do not start stubdomain GUI for VMs with gui-
    agent

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 30 Jul 2017 19:20:07 +0200

qubes-core-admin-client (4.0.3-1) unstable; urgency=medium

  * tools/qvm-backup-restore: fix default list of VMs to restore
  * storage: drop 'internal' volume property
  * tools/qvm-volume: fix default action handling
  * tests: qvm-backup-restore tool tests
  * tools/qvm-backup-restore: fix restoring only specific VMs
  * tests: disable slow tests unless ENABLE_SLOW_TESTS=1 is set
  * backup: move BackupRestore class and helpers to 'restore' submodule
  * tools: add qvm-backup tool
  * debian: update build depends
  * doc: update qvm-backup man page
  * backup/restore: improve error reporting
  * backup/restore: add option to ignore size limit
  * events: add variable Admin API method name
  * tools/qvm-shutdown: drop --force option, it isn't supported anymore
  * tools/qvm-shutdown: fix help message
  * tools/qvm-start-gui: add --force-stubdomain options
  * features: serialize True as '1'
  * tests: too much copy&paste
  * tools: qvm-service tool
  * doc: update manpage of qvm-service
  * qvm-ls: fix total VM size reporting

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 29 Jul 2017 06:16:06 +0200

qubes-core-admin-client (4.0.2-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * vm: make QubesVM objects hashable
  * events: simplify wait_for_domain_shutdown coroutine
  * tools: handle shutdown order in qvm-shutdown
  * tests/tools: add MockEventsReader
  * tests: qvm-shutdown --wait tests
  * Fix VM creation with default template
  * events: fix cleanup function in qrexec case
  * tests: improve test failure message

  [ Marta Marczykowska-Górecka ]
  * added helper function updates_vms_status

  [ Marek Marczykowski-Górecki ]
  * tools/qvm-run: fix handling copying stdin to the process
  * tests: mark qvm-run tests with "expected failure"
  * tools/qvm-run: fix handling EOF
  * Make pylint happy
  * Don't try to set 'created-by-' tag when cloning VM
  * backup: initial support for backup restore over Admin API
  * tests/backup: tests for backup-restore code
  * Exclude 'qubesadmin.backup' module from python2 install
  * devices,features: fix bool values handling
  * tests/backup: use smaller images
  * tests: add v4 (Qubes 4.0) backup format tests, move qubes.xml
  * backup: add firewall and appmenus list handling
  * firewall: fix handling DstHost.prefixlen=0
  * tests: backup: add firewall.xml and appmenus checking
  * tools: add qvm-backup-restore
  * app: call admin.vm.volume.Import as root
  * backup: do not show full stacktrace to the user
  * backup: change 'hvm' property to 'virt_mode'
  * backup: use 'cat' instead of read-write loop in python
  * backup: improve error logging
  * tools/qvm-backup-restore: handle VMs selection, not only exclusion
  * Choose QubesLocal or QubesRemote based on /etc/qubes-release
    presence
  * Change 'hvm' property to 'virt_mode'

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 18 Jul 2017 05:37:29 +0200

qubes-core-admin-client (4.0.1-1) unstable; urgency=medium

  * 

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 05 Jul 2017 20:14:12 +0200

qubes-core-admin-client (4.0.0-1) unstable; urgency=low

  * Initial release 

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 20 May 2017 00:13:54 +0200
