qubes-gui-daemon (4.3.13-1+deb13u1) trixie; urgency=medium

  * Build for trixie

 -- Builder <user@localhost>  Thu, 18 Sep 2025 04:53:04 +0200

qubes-gui-daemon (4.3.13-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Initialize asyncio event loop before using it

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 18 Sep 2025 04:53:04 +0200

qubes-gui-daemon (4.3.12-1) unstable; urgency=medium

  * Pull in notification proxy together with gui daemon

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 08 Aug 2025 01:47:46 +0200

qubes-gui-daemon (4.3.11-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Notify users on clipboard paste denied by policies

  [ 3np ]
  * debian: Support pipewire-pulseaudio as well as pulseaudio

  [ Marek Marczykowski-Górecki ]
  * debian: fix installing qubes-guid as suid

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 07 Aug 2025 02:15:05 +0200

qubes-gui-daemon (4.3.10-1) unstable; urgency=medium

  * pulse: connect recording stream only when recording is allowed

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

qubes-gui-daemon (4.3.9-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Replace U+2026 with `...` if utf8 is disabled
  * Assure Popup Windows (override-redirect) open over parent

  [ Marek Marczykowski-Górecki ]
  * Cache window name length when checking for truncated string

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 10 Jun 2025 04:23:06 +0200

qubes-gui-daemon (4.3.8-1) unstable; urgency=medium

  [ Ali Mirjamali ]
  * Fix clipboard paste metadata for qrexec (Windows)

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

qubes-gui-daemon (4.3.7-1) unstable; urgency=medium

  * audio: fix reacting on mic enable/disable requests

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 10 Dec 2024 19:29:44 +0100

qubes-gui-daemon (4.3.6-1) unstable; urgency=medium

  [ Aaron Rainbolt ]
  * Typo fix, change "canot" to "cannot"
  * Replace magic quotes with normal quotes in parse_vm_config
  * Add event buffering for cloaking user input patterns

  [ Ali Mirjamali ]
  * Handle `disable` & `none` for secure copy/paste
  * Add `_NET_WM_PING` support
  * Add `_NET_WM_NAME` & `_NET_WM_ICON_NAME` support

  [ qubest ]
  * Update guivm service name
  * remove trailing x00 The trailing x00 in the request header make the
    domain name as follow (domainx00). Which cause a bug when listing
    domains using qubesadminapi. This bug occured when the icon-receiver
    is running on guivm other than dom0.
  * Move rstrip before split
  * change restrip to rstrip

  [ Marek Marczykowski-Górecki ]
  * Leave defining _FORTIFY_SOURCE to distribution policy

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 29 Nov 2024 04:02:02 +0100

qubes-gui-daemon (4.3.5-1) unstable; urgency=medium

  [ Piotr Bartman-Szwarc ]
  * q-dev: port
  * q-dev: cleanup
  * q-dev: lint
  * q-dev: update argument name ident -> port_id
  * q-dev: update argument name device -> port
  * q-dev: add less confusing device_id of microphone
  * q-dev: mic auto-attach
  * q-dev: cleanup mic.py

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 17 Nov 2024 03:56:10 +0100

qubes-gui-daemon (4.3.4-1) unstable; urgency=medium

  [ Yaroslav Bolyukin ]
  * fix: shmoverride hooks in presence of other constructors calling
    fstat

  [ Marek Marczykowski-Górecki ]
  * Add Xwayland wrapper similar to the one for Xorg
  * shmoverride: do not remove the shmid file if taking the lock fails
  * CI: switch to R4.3

  [ Ali Mirjamali ]
  * Make maximum clipboard buffer lenght configurable
  * Switching CI to R4.3
  * Improve clipboard .metadata parsing

  [ Marek Marczykowski-Górecki ]
  * Bump required qubes-gui-common version

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 27 Oct 2024 03:28:47 +0100

qubes-gui-daemon (4.3.3-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * Update lint job
  * Use QubesDB to authorize usage of mic and retrieve its status

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 12 Aug 2024 17:11:04 +0200

qubes-gui-daemon (4.3.2-1) unstable; urgency=medium

  [ Euwiiwueir ]
  * Factor out a function to parse color from string
  * qubes-guid: add window_background_color setting

  [ Frédéric Pierret (fepitre) ]
  * Reformat according to python-black

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

qubes-gui-daemon (4.3.1-1) unstable; urgency=medium

  * Add basic SELinux policy

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 17 Jun 2024 04:27:04 +0200

qubes-gui-daemon (4.3.0-1) unstable; urgency=medium

  [ Piotr Bartman ]
  * q-dev: reformat file + typos
  * q-dev: change `devclass` to be consistent with qubes-core-admin
  * q-dev: set Microphone Interface
  * q-dev: device protocol
  * q-dev: fix device protocol
  * q-dev: better description of mic

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

qubes-gui-daemon (4.2.7-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * pacat-simple-vchan: reconnect on vchan eof
  * pacat-simple-vchan: improve cleanup

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 28 Apr 2024 03:19:03 +0200

qubes-gui-daemon (4.2.6-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Clean up do_shm_update

  [ Marek Marczykowski-Górecki ]
  * pulse: add timestamps to log output
  * pulse: add opt-in debug logging
  * pulse: make tlength parameter configurable, reduce fragsize

  [ Demi Marie Obenour ]
  * Allow periods in qube names

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 05 Apr 2024 19:05:53 +0200

qubes-gui-daemon (4.2.5-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Always block on vchan I/O by default

  [ Marek Marczykowski-Górecki ]
  * shmoverride: fix parameters order

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 05 Feb 2024 04:29:18 +0100

qubes-gui-daemon (4.2.4-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Allow periods in qube names

  [ Marek Marczykowski-Górecki ]
  * Revert "Allow periods in qube names"

  [ Demi Marie Obenour ]
  * Do not crash if the work area is invalid

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 11 Jan 2024 03:05:10 +0100

qubes-gui-daemon (4.2.3-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * do_shm_update: Negative width or height is an error
  * Fix a typo in a comment
  * Do not read a message unless a header is ready
  * Do not use VERIFY with partially-read messages
  * Earlier validation of MSG_WINDOW_DUMP sizes
  * Strictly validate message lengths
  * Drain playback stream before corking it
  * Do not cork a playback stream with nonempty buffers
  * Allow selecting blocking or non-blocking I/O
  * ACK all grant mappings
  * Avoid hard-coding protocol versions
  * Do not send MSG_DESTROY to agents that aren't expecting it
  * Ensure notifications conform to header-body format

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 27 Apr 2023 14:37:16 +0200

qubes-gui-daemon (4.2.2-1) unstable; urgency=medium

  * rpm: fix files ownership on install
  * Use new qrexec policy format

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

qubes-gui-daemon (4.2.1-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Fix some -Wconversion warnings
  * Remove unneeded header includes
  * Rip out subwindows support

  [ Marek Marczykowski-Górecki ]
  * pulse: Fix indentation
  * Deal with delayed pulseaudio agent startup
  * rpm: drop explicit libvchan dependency
  * ci: drop R4.1

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 09 Jan 2023 19:49:08 +0100

qubes-gui-daemon (4.2.0-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Actually unset override-redirect when docking
  * Support pipewire-pulseaudio as well as pulseaudio

  [ Marta Marczykowska-Górecka ]
  * Fix notification to comply with summary/body format

  [ Demi Marie Obenour ]
  * Make the build system a bit better
  * Add assertions and comments in do_shm_update
  * Do not check for WM_STATE changes on the root window
  * Strict validation of domain IDs
  * GUI daemon does not take non-option arguments
  * Fix unchecked malloc()
  * Obtain an XCB graphics context
  * Switch from Xlib to XCB for shared memory
  * Update shmoverride/README for Xlib → xcb change
  * Use FD passing for shared memory
  * shmoverride: avoid keeping state for munmap
  * Remove remaining use of System V shared memory
  * Better logging and command-line parsing
  * Clean up some macros
  * Fix function prototype mismatches and use poll(2)

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 02 Dec 2022 05:31:44 +0100

qubes-gui-daemon (4.1.24-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Properly check return value of snprintf()
  * Fix command line parsing
  * process_playback_data(): avoid blocking on vchan reads
  * send_rec_data(): Avoid blocking on vchan writes
  * Properly handle control connection errors
  * Only check for newlines in newly read data
  * Log an error for invalid control commands
  * Move definition of _GNU_SOURCE to the makefile
  * Prevent PulseAudio assertion failure
  * Do not try to build vchan sink module
  * Block during writing for old agents
  * Use original loop for writing data
  * Minor cleanups
  * Send MSG_DESTROY when destroying a window
  * Send MSG_DESTROY when destroying a window

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 30 Aug 2022 12:45:18 +0200

qubes-gui-daemon (4.1.23-1) wheezy; urgency=medium

  * xside: do not release buffer of the "whole screen" window

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 25 Jul 2022 18:04:37 +0200

qubes-gui-daemon (4.1.22-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Add some hardening CFLAGS
  * Disable subwindows by default
  * Add documentation for various guid.conf options

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

  [ M. Vefa Bicakci ]
  * Release MFNs for unmapped windows as well

  [ unman ]
  * Rename Debian packages for consistency

  [ Demi Marie Obenour ]
  * Check the return value of snprintf()
  * Check XGetWindowAttributes return value
  * Bidirectional GUI protocol negotiation
  * Allow using older qubes-gui-protocol.h

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

qubes-gui-daemon (4.1.21-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Ignore bad work areas

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

qubes-gui-daemon (4.1.20-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Remove windows_count from Ghandles

  [ logoerthiner1 ]
  * Update pacat-simple-vchan.c
  * Apply suggestions from code review

  [ Marco De Donno ]
  * Typo in the help of the Makefile

  [ Demi Marie Obenour ]
  * Log invalid desktop or work area before exiting

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 01 Mar 2022 04:07:14 +0100

qubes-gui-daemon (4.1.19-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Flush after emergency move
  * Add FD_SETSIZE assertions

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

qubes-gui-daemon (4.1.18-1) unstable; urgency=medium

  * rpm: add BR python3-setuptools
  * xside: move override-redirect windows back to allowed area

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 14 Oct 2021 18:46:36 +0200

qubes-gui-daemon (4.1.17-1) unstable; urgency=medium

  * Set window background color to white
  * Do not ignore MSG_SHMIMAGE for a docked window
  * Unset override-redirect flag when docking, instead of preventing
    dock

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 29 Sep 2021 13:05:15 +0200

qubes-gui-daemon (4.1.16-1) unstable; urgency=medium

  * Ignore override-redirect in MSG_CONFIGURE
  * Prevent changing override-redirect of a mapped window
  * Do not allow docked override-redirect windows
  * Unmap window if really need to change override-redirect flag
  * Do not allow docking already mapped windows
  * Add reference counting child windows
  * Prevent docking or setting override-redirect on a non-toplevel
    window
  * Prevent docking or setting override-redirect on window with any
    child

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 27 Sep 2021 22:33:36 +0200

qubes-gui-daemon (4.1.15-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Use -fvisibility=hidden for building C
  * Add missing .PHONY dependencies
  * Miscellaneous cleanups; no change in behavior

  [ Marek Marczykowski-Górecki ]
  * zero-out msg_configure before filling it

  [ Demi Marie Obenour ]
  * Fix check for right/bottom border off screen
  * Add comments in do_shm_update

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Tue, 24 Aug 2021 15:01:11 +0200

qubes-gui-daemon (4.1.14-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Better build system
  * Reject MSG_MFNDUMP outside of dom0

  [ Marek Marczykowski-Górecki ]
  * Fix _NET_CURRENT_DESKTOP atom name
  * Fix monitoring working area changes

  [ Demi Marie Obenour ]
  * Obtain an XCB connection handle
  * Remove dependency on libxt
  * Exit if window attributes cannot be obtained
  * Fix typo in error string
  * Move null check to release_mapped_mfns
  * Avoid rogue screen locking
  * force_on_screen(): fix calculations
  * Use work area for available area calculation

  [ Marek Marczykowski-Górecki ]
  * Add convenient macro for iterating a list
  * Delete stale WM_TRANSIENT_FOR hint before mapping a window
  * Check if a window is referenced by another one before destroying it

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 10 Jul 2021 05:27:16 +0200

qubes-gui-daemon (4.1.13-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * Move XInternAtom calls to startup
  * Miscellaneous cleanups
  * Avoid dangerous functions in shmoverride
  * Remove @asyncio.coroutine
  * Rip out @asyncio.coroutine
  * Remove deprecated qrexec policy syntax
  * Support clipboard outside of dom0

  [ Marek Marczykowski-Górecki ]
  * rpm: require qrexec new enough for policy.EvalSimple service

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 18 Jun 2021 05:44:25 +0200

qubes-gui-daemon (4.1.12-1) unstable; urgency=medium

  [ Demi Marie Obenour ]
  * More protection vs override redirect windows
  * Use --override-redirect=disabled
  * Use the work area instead of root window size

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

  [ Marek Marczykowski-Górecki ]
  * gitlab-ci: adjust install excludes
  * Make the build detect BACKEND_VMM based on installed vchan version

  [ Demi Marie Obenour ]
  * Listen for property changes instead of polling
  * Respond to code review from @marmarek
  * Remove hard-coded magic numbers
  * Use desktop_coordinates_size instead of a magic number
  * Don’t crash if there is no window manager
  * Miscellaneous hardening
  * Replace /var/run with /run
  * Check syscall return values
  * Never pass an invalid X11 operation to dom0

  [ Frédéric Pierret (fepitre) ]
  * Enforce locale for help2man

  [ Marek Marczykowski-Górecki ]
  * Fix clipboard stop working after ~50 days of uptime

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 06 Jan 2021 21:44:44 +0100

qubes-gui-daemon (4.1.11-1) unstable; urgency=medium

  * Fix handling X11 exit
  * xside: don't hang indefinitely if VM is killed early

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 13 Nov 2020 03:15:42 +0100

qubes-gui-daemon (4.1.10-1) unstable; urgency=medium

  [ John Hensley ]
  * icon-receiver: exit on X connection error

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 18 Sep 2020 05:15:19 +0200

qubes-gui-daemon (4.1.9-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * Update travis

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Mon, 31 Aug 2020 04:20:14 +0200

qubes-gui-daemon (4.1.8-1) unstable; urgency=medium

  [ Paweł Marczewski ]
  * Prevent VM notifications from appearing on top of xscreensaver
  * Make screensaver detection configurable
  * Handle destroyed windows in restack_windows

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Thu, 30 Jul 2020 05:01:47 +0200

qubes-gui-daemon (4.1.7-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * shmoverride: fill shm_perm when faking shmctl(IPC_STAT) output
  * Update dependencies for icon receiver

  [ Dmitry Fedorov ]
  * audio: register vchan' callbacks when stream in PA_STREAM_READY
    state
  * audio: fix indentation
  * audio: quit if io_new() fails

  [ Paweł Marczewski ]
  * Allow overriding configuration file
  * Remove audio_low_latency option (not used anymore)
  * Add a warning to the configuration file

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Wed, 15 Jul 2020 13:50:45 +0200

qubes-gui-daemon (4.1.6-1) unstable; urgency=medium

  [ Ivan Kardykov ]
  * set override redirect attribute on window creating

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 17 May 2020 12:37:45 +0200

qubes-gui-daemon (4.1.5-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * gui-daemon: set qubes-keyboard only in dom0
  * qubes-release: define it in xside.h

  [ Paweł Marczewski ]
  * shmoverride: handle Xorg crash leaving shm.id file
  * Convert qubes.WindowIconUpdater to a socket service
  * qubes.WindowIconUpdater: use wait-for-session
  * Add dependencies for qubes.WindowIconUpdater
  * icon-receiver: use logging
  * icon-receiver: handle app.domains updates

  [ M. Vefa Bicakci ]
  * xside: Introduce override_redirect protection

  [ Paweł Marczewski ]
  * Support MSG_CURSOR
  * Define supported protocol version

  [ Marek Marczykowski-Górecki ]
  * pulse: periodically check if vchan connection is alive
  * pulse: create pidfile

  [ Frédéric Pierret (fepitre) ]
  * Currently disable failing builds for CentOS 7
  * xside: drop related pulseaudio (done in qvm-start-daemon)
  * spec: put audio part in subpackage

  [ Marek Marczykowski-Górecki ]
  * pulse: fix compiler warning
  * rpm: pull in audio packages on dom0 upgrade
  * pulse: replace dbus control with QubesDB + local socket
  * pulse: add qrexec services to control audio-input in another VM
  * rpm: use rpm-build provided CFLAGS for pacat-simple-vchan
  * Update core-admin extension for new audio-input control mechanism
  * rpm: require new enough qubes-core-dom0
  * Revert "Currently disable failing builds for CentOS 7"
  * travis: add CentOS 7

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

qubes-gui-daemon (4.1.4-1) unstable; urgency=medium

  [ Frédéric Pierret (fepitre) ]
  * travis: switch to dom0 Fedora 31

  [ Marek Marczykowski-Górecki ]
  * Make files in qubes-rpc executable
  * Make qubes.WindowIconUpdater a proper script
  * Fix tray icon coloring code - do not crop/dislocate icon fragments

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 15 Mar 2020 03:00:41 +0100

qubes-gui-daemon (4.1.3-1) unstable; urgency=medium

  [ xaki23 ]
  * allow domid 0 as target

  [ Frédéric Pierret (fepitre) ]
  * travis: switch to bionic

  [ Snowy Marmot ]
  * Add exmaples/comments to guid.conf
  * Review and fix spelling

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sun, 05 Jan 2020 20:03:31 +0100

qubes-gui-daemon (4.1.2-1) wheezy; urgency=medium

  * Fix setting shmoverride.so localtion

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 20 Apr 2019 18:16:14 +0200

qubes-gui-daemon (4.1.1-1) unstable; urgency=medium

  [ Marek Marczykowski-Górecki ]
  * xside: save agent protocol version

  [ Your Name ]
  * CLIPBOARD_DATA: fix sending of window id when pasting to messages.

  [ Marek Marczykowski-Górecki ]
  * xside: send old MSG_CLIPBOARD_DATA if agent is old
  * rpm: use %{python3_pkgversion} to make it CentOS compatible

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Fri, 29 Mar 2019 01:00:07 +0100

qubes-gui-daemon (4.1.0-1) unstable; urgency=medium

  * Initial packaging

 -- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>  Sat, 02 Mar 2019 14:57:16 +0100
