# changelog

author: Ralf Corsépius <corsepiu@fedoraproject.org> - 1.2.0-21
changelog:
  - Add BR: pangox-compat-devel (RHBZ#850813, F19FTBFS RHBZ#914061, F20FTBFS RHBZ#992448).
  - Spec cleanup.


author: Ralf Corsépius <corsepiu@fedoraproject.org> - 1.2.0-22
changelog:
  - Update config.sub|guess from automake-1.13.4 for aarch64
    (Add gtkglext-1.2.0-config.diff; RHBZ#925512).


author: Dominik Mierzejewski <rpm at greysector.net> - 3.98.2-2
changelog:
  - update to 3.98.2
  - preserve file timestamps
  - drop obsolete patch
  - no need to call autoreconf anymore
  - fix parallel make builds


author: Antoine Martin <antoine@xpra.org> - 0.21.6-2.xpra1
changelog:
  - Force upgrade of broken Fedora 28 package, which is missing the new python "deprecation" dependency


author: Iryna Shcherbina <ishcherb@redhat.com> - 0.25-14
changelog:
  - Update Python 2 dependency declarations to new packaging standards
    (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)


author: Antoine Martin <antoine@xpra.org> 3.0.6-1xpra2
changelog:
  - fix 'User' not honoured in ssh_config
  - fix X11 server initiate move-resize
  - prettier format for new connection information
  - Debian packaging: prefer python3 installations


author: Antoine Martin <antoine@xpra.org> 3.0.7-1xpra1
changelog:
  - fix avcodec2 race condition crash
  - fix errors when re-initializing windows (ie: toggling OpenGL on or off)
  - fix deiconification error when there are system trays forwarded
  - fix missing alpha channel when some windows are first shown
  - fix systemd-run errors: verify it does work before trying to use it
  - fix debug builds compilation error on MS Windows
  - fix server crashes on SIGINT: shutdown cleanly
  - fix proxy server client connection setup error hanlder
  - fix file authentication handler using a default password filename
  - fix directshow errors on local mingw installations
  - fix opengl properties missing from server hello packet
  - fix HTML5 sound-control errors when speaker forwarding is disabled
  - fix HTML5 "Terminate" options wrongly enabled in "Connect" mode
  - fix clipboard sharing with the MacOS shadow server
  - fix MS Windows clipboard access denied errors
  - fix X11 clipboard error handling: continue processing
  - fix unit tests failures (clipboard, etc)
  - fix bug report clipboard copy and screnshots
  - fix clipboard timeouts when a client disconnects
  - fix mdns cleanup done twice on server exit, causing errors
  - fix malformed XSettings due to invalid color data format
  - fix FreeBSD builds
  - fix MS Windows packaging missing a codec DLL, Plink DLL
  - fix HMAC hashes exposed, keep only valid options
  - fix 'showconfig' output for boolean values set to 'auto'
  - fix parsing of client display information in legacy format
  - fix validation of size-hints
  - fix cursor saving debug code with GTK3
  - fix keyboard layout group not getting reset on client exit
  - fix some empty keyboard layout group strings parsed as non-empty
  - fix keyboard-sync mode not being honoured by servers
  - fix keyboard raw mode
  - fix missing 'perispomeni' key mapping with Python 2 servers
  - add missing debug logging to keyboard mapping
  - more reliable lookup of keycodes when translating (non-X11 clients)
  - add missing dependency for printer forwarding on Debian
  - packaging for Ubuntu Focal Fossa
  - skip bundling some external test modules with binary installers
  - more correct code for locating the 'Downloads' folder on MS Windows
  - avoid spurious background worker warnings on exit
  - make unavoidable comtypes error less scary
  - add 'libreoffice' to the text mode whitelist
  - library updates: Python 3.8.2, etc
  - packaging workarounds for setuptools breakage


author: Antoine Martin <antoine@xpra.org> 3.0.8-1xpra1
changelog:
  - fix handling of dpi command line switch (correctly this time?)
  - fix bug report window not getting focus on MacOS
  - fix spurious ssh key warnings with newer versions of paramiko
  - fix AltGr mode with non-X11 clients, layout-group changes
  - fix rare unexpected client exit on MS Windows
  - fix MS Windows clipboard:
      update failures
      convert CRLF line endings
  - Clipboard:
      fix selection not shown as active in menus (MS Windows and MacOS)
      fix spurious warnings when sharing a session
      fix clipboard reset with python2 builds
      selection translation for outbound data
      support client applications that don't use TARGETS (ie: Motif)
      reject invalid targets
  - fix 'xpra upgrade' wrongly updating non-xpra displays
  - fix logging error in client geometry debugging output
  - fix pulseaudio start command with Ubuntu Xenial
  - fix spurious de-iconifications
  - fix handling of server control commands with python3 clients
  - fix UDP backport bug sending control packets
  - fix vfb getting killed on upgrade failure
  - fix proxy server cleanup: force forwarders to terminate
  - fix session info errors during client exit
  - fix printer cleanup errors with invalid UTF8 printer names
  - fix transient-for popup window workaround
  - fix missing libyuv csc module on MacOS
  - fix unicode errors saving xpra runner shell script with python3
  - try to prevent conflicts with Fedora's packages
  - better detection of Wayland environments
  - use python3 (if installed) by default on Ubuntu Xenial
  - don't use Xdummy on arm, too slow
  - don't show 'Download' button that we can't honour
  - show all pressed keys according to X11 server in 'xpra info'
  - try harder not to use video for tiny areas


author: Antoine Martin <antoine@xpra.org> 3.0.9-10xpra2
changelog:
  - fix HTML5 client XSS
  - fix focus issues
  - fix server hangs and unpainted windows due to invalid dimensions
  - fix window icons and cursors visual corruption or crashes
  - fix unbearably slow screen updates when vrefresh value is invalid
  - fix client OpenGL crashes with remote starts (run probe first)
  - fix keypad regression (AltGr changes, again)
  - fix MS Windows shadow servers
  - fix race condition collecting latency data for session info
  - fix missing pycuda dependency for nvenc on MS Windows
  - fix missing signatures on MS Windows EXE and MSI builds
  - fix scoring of NVENC codec (should be used ahead of sofware encoders)
  - fix start menu updates getting lost
  - fix OpenGL diagnostic messages getting cut off
  - fix change of encoding from the system tray
  - fix quality and speed changes from the system tray
  - fix clipboard and popup menu problems with Eclipse
  - fix name of shadow server process on MS Windows, used in log file names
  - fix audio query subprocess with MS shadow servers
  - fix unlikely race condition in speaker forwarding shutdown sequence
  - fix desktop-fullscreen=yes automatic scaling
  - fix missing bug report data due to uninitialized X11 bindings
  - fix bug report error if we cannot grab a screenshot (ie: Wayland)
  - fix error saving binary data with python3 builds of the bug report tool
  - fix errors querying the display under Wayland
  - hide scary stacktraces when shutting down ssh proxy commands
  - if we have an ssh password we can use, try that first
  - blacklist VirtualBox's SVGA3D OpenGL driver (fixes black windows)
  - don't use webp with image dimensions beyond its limits
  - use regular X11 system tray with i3
  - hide confusing named-pipe prefix in empty output on MS Windows
  - HTML5 fixes: invalid IMG tag, reserved keyword, language detection, draw debugging, etc
  - don't try to read /proc if not on Posix
  - support more versions of Visual Studio when compiling CUDA kernels
  - use a more specific python3 interpreter version
  - update application content-type mappings
  - remove out of date information from man page
  - MacOS: openssl 1.1.1f


author: Antoine Martin <antoine@xpra.org> 3.0.10-10xpra3
changelog:
  - fix X11 server key symbol lookup via Xkb
  - fix encryption not honoured with TCP sockets upgraded to WebSocket
  - fix window corruption with 'scroll' encoder
  - fix desktop-scaling changes from the system tray
  - fix clipboard synchronization problems caused by clipit
  - fix packaging with newer versions of py2app (MacOS)
  - fix logging spam in start-new-command dialog
  - fix building from source on archlinux
  - fix swapped red and blue colours channels in win32 systray
  - fix error parsing invalid config files
  - fix missing content-type for some windows
  - fix server crash on exit on some Linux distributions
  - fix 'xpra send-file' to use absolute file paths
  - fix format of attributes given to glXChooseVisual
  - fix crashes in OpenGL context setup on X11
  - fix race condition in window statistics
  - fix server errors when non-interactive clients are connected
  - fix option parsing errors causing html5 client connection failures
  - fix python-lz4 packaging on MS Windows (Python2 builds)
  - html5 fixes:
      missing desktop background
      client errors painting rgb32 data with a padded rowstride
      clipboard wrongly clearing data on failures
      compatibility issues with Internet Explorer
      missing transparency for windows in focus
      no windows focused after close
      connection errors caused by spurious packets
      error in invalid packet handler
      AES encryption connections
      connection errors with AES and lz4 (disable lz4 for now)
      packet error with very small paint packets
      'insecure passwords' option shown in the wrong cases
      handle window iconification messages
      update version in about page
  - fix connection errors with 'None' values in bencoder (ie: html5)
  - fix connection errors with websocket connections and AES encryption
  - fix duplicate clipboard token sent from MS Windows servers
  - fix window initialization errors causing server startup failures
  - cleaner exit path: destroy all of our windows properly
  - add workaround for wine applications (disabled by default)
  - add 'terminator' to the 'text' application hint
  - validate webp image dimensions for transparency encoding
  - workaround bugs in pyxdg / menu configuration
  - try harder to strip all temporary build prefixes
  - remove invalid extra strings from mdns service name
  - change DLL search order to prevent conflict (MS Windows)
  - MacOS: update to Python 2.7.18 for python2 builds
  - don't recommend installing Apple's 'bonjour' on MS Windows (not needed)
  - MS Windows build setup update: install python-lzo using pacman


author: Antoine Martin <antoine@xpra.org> 3.0.11-10xpra1
changelog:
  - fix encryption option overzealously enforced on all socket types
  - fix network layer compression errors that can cause connections to drop
  - fix printing errors with some shell character encodings
  - fix NVENC h264 stream compatibility with HTML5 client
  - fix windows not getting focused when clicking on title bar (HTML5)
  - fix suspend / resume errors with tray windows
  - fix Python2 / GTK2 compatibility regression from 3.0.10
  - fix tray geometry errors
  - fix minimum video scaling not being honoured via heuristics
  - fix clipboard data sometimes going missing when ownership changes
  - fix error in main thread verifier (fortunately, never fired)
  - fix python-pillow packaging conflicts on CentOS / RHEL 7
  - fix memory contents of the swscale pixel format object
  - fix csc_swscale converter getting recycled every time
  - fix division by zero errors during window cleanup
  - fix detection of named-pipe creation errors
  - fix MS Windows shadow server errors with 'bind=auto'
  - fix MS Windows servers slow to handle connections with mDNS enabled
  - fix sshfp support on MacOS (was missing dns python module)
  - fix MacOS errors with some subcommands (ie: 'list')
  - fix notification widget wrongly stealing input focus
  - fix support for building with CUDA 11.0
  - fix unshrinkable session-info window
  - fix window resizing errors when non-GUI clients are also connected
  - avoid ever using b-frames for text content
  - silence unhelpful gtk warnings on MacOS
  - avoid opengl warning with wayland
  - discard invalid clipboard requests early
  - workaround for older versions of python-cryptography
  - use 'text' mode for 'geany' (fixes lossy screen updates)
  - ensure all toolbox windows set a correct and readable window title
  - convert invalid map events to warnings (no scary crash reports)
  - also update mdns records when the session name changes
  - make it possible to specify the path used for saving video streams / frames


author: Antoine Martin <antoine@xpra.org> 3.0.12-10xpra1
changelog:
  - fix memory leak with 'scroll' encoding
  - fix proxy control socket becoming unresponsive after errors
  - fix proxy shutdown
  - fix shadow server dbus call causing all further "xpra info" requests to fail
  - fix error in dbus debug logging
  - fix client using an invalid list of encodings
  - fix NVENC encoder (profile errors, cleanup race condition)
  - fix unmanaged X11 message call which could cause GTK to crash when it fails
  - fix missing auto-refresh leaving a blurry image
  - fix missing pixels on the edge of video areas in 'auto' encoding mode
  - fix connection errors with notifications disabled on the server
  - fix 'sync-xvfb' option: setup error, non-standard bit depth support
  - fix incomplete repaints when window contents have padding
  - fix missing system tray on Ubuntu 18.04
  - fix workspace spurious warnings on 64-bit X11 systems
  - fix event handler with 64-bit MS Windows builds
  - fix named-pipe server clash
  - fix error handing in MS Windows printer query API
  - fix keyboard overflow error on MS Windows
  - fix ssl server hostname verification errors
  - fix ssl certificate verification error detection with python2 builds
  - fix missing 'openssl' dependency in DEB packages
  - fix syntax errors when using connections using nested ssh tunnels
  - fix syntax error in HTML5 client maximize toggle
  - fix HTML5 client keyboard layout detection with Internet Explorer
  - fix HTML5 audio forwarding compatibility with Safari
  - fix HTML5 (un)fullscreen
  - fix window re-initialization errors
  - fix keysym mapping with Xkb and some specific configurations
  - fix right click on systray using the gtk StatusIcon implementation
  - fix small file transfers not showing as completed
  - fix file-transfer identifiers getting lost
  - fix int overflow errors on some 64-bit mswindows installations
  - fix hard to trigger mmap memory leak
  - add support for sm86 architecture with CUDA 11.1
  - allow 'pager' source indication value to activate window server-side
  - fix websocket compatibility with some client / middleware
  - switch to Xvfb on Debian and Ubuntu
  - workaround corruption on some windows when maximized
  - workaround more pyxdg bugs
  - MacOS and MS Windows: fix security issue in brotli decompression
  - bundle mimetypes module (MacOS and MS Windows)
  - ignore plink packaging errors with 32-bit MS Windows builds
  - disable swscale on 32-bit MS Windows builds (prevent crashes)
  - tabs mixed with spaces (potential for bug)
  - add missing DEB dependency


author: Antoine Martin <antoine@xpra.org> 3.0.13-10xpra1
changelog:
  - fix screen refresh performance issues, especially on jittery links
  - fix virtual screen resizing errors with invalid DPI values
  - fix slow subcommands due to unnecessary calls to ldconfig on Linux
  - fix server asynchronous packets getting delayed
  - fix dangerous default values potentially causing intractable bugs
  - fix ssh connection errors with proxycommand or proxyhost port numbers
  - fix connection errors when a non interactive client is already connected
  - fix failures to enable packet compression
  - fix 'xpra _proxy' zombies getting left behind (ssh mode)
  - fix proxy instance zombies on server start failures
  - fix proxy instance control socket errors and process leak
  - fix capslock wrongly applied to numeric keys
  - fix keyboard sub-layout detection with MS Windows clients
  - fix control key combinations with MS Windows clients
  - fix MS Windows bubble notifications not showing on some systems
  - fix errors accessing window handles on MS Windows (size hints, opengl, etc)
  - fix clipboard cleanup errors on MS Windows
  - fix warning message format when running MS Windows under VirtualBox
  - fix spurious refresh packets with mmap
  - fix mmap not used with some non-video areas
  - fix duplicate / untimely audio-stop control packets with HTML5 client
  - fix http / websocket and ssl socket upgrade failures
  - fix ssh command option not being honourd with the client launcher
  - fix sqlite authentication module not handling configuration options
  - fix opengl debug option for saving buffers as jpeg
  - fix archlinux build path stripping
  - fix spurious "missing resolution" errors (often with HTML5 client resizing)
  - fix console errors with Internet Explorer
  - fix duplicated data in bug reports
  - fix handling of invalid clipboard requests
  - fix printing diagnostic script
  - fix Python 3.9 compatibility
  - fix compatibility with 'use-display' option in newer configuration files
  - fix sysconfig path in systemd service file for non-RedHat systems
  - fix xdg-open override script error handling
  - fix clipboard errors under Wayland
  - fix Wayland detection and workarounds
  - fix client failing to connect due to keymap changes (ie: Wayland)
  - fix client signal listener not forwarding signal messages
  - fix client not showing authentication prompt only once per connection
  - fix Fedora 33 package dependency issues
  - fix file-transfer failures with small files
  - fix file-transfers with non-ascii filenames
  - fix file transfer errors with python3 builds
  - better file transfer message format
  - add new NVENC presets from SDK v10, workaround deprecation warnings
  - honour XPRA_XDG_EXPORT_ICONS=0 env var in all cases
  - hide passwords from authentication debug logging
  - updated DEB packaging for Ubuntu Focal, Groovy and Debian Bullseye
  - use an up-to-date PDFium library on MS Windows
  - honour the NOMD5 flag with the automatic border colour option
  - make it possible to override the Xorg binary path detection
  - re-add "~/.xpra" as socket-dir
  - typo in man page


author: Antoine Martin <antoine@xpra.org> 3.0.14-10.0xpra1
changelog:
  - fix proxy deadlock, subprocess leak, socket errors
  - fix proxy disconnections under heavy load
  - fix crash / corruption in the webp encoder
  - fix unnecessary screen update latency
  - fix 'scroll' detection bugs
  - fix lossy screen updates when 'scroll' encoding is used
  - fix windows not getting focused
  - fix invalid / ignored window resize counter
  - fix attach failures with remote start
  - fix 'encoding' control command
  - fix warning and error messages, remove confusing permission message
  - fix compatibility with newer versions of python-zeroconf, silence warnings
  - fix compilation errors with newer versions of ffmpeg
  - fix audio silence detection with DEB packages
  - fix environment variables not honoured via xpra launcher
  - fix parsing of peercred authentication module options
  - fix invalid default value for $XDG_DATA_DIRS, used for loading menus
  - fix application menu loading issues
  - fix library missing when linking gdk bindings on some platforms
  - fix OpenBSD builds
  - fix URL forwarding errors with python3 clients
  - fix invalid permissions on some scripts and data files
  - fix incorrect mousewheel value shown in "xpra -h" output
  - many minor packaging fixes and tweaks
  - update packging to get version information from git
  - minor SELinux fixes for ~/.xpra
  - never pollute /root/.xpra or /root/.config/
  - add new common screen resolutions for Xdummy


author: Antoine Martin <antoine@xpra.org> 3.0.12-10xpra1
changelog:
  - fix NVENC encoder (profile errors, cleanup race condition)
  - fix unmanaged X11 message call which could cause GTK to crash when it fails
  - fix 'sync-xvfb' option: setup error, non-standard bit depth support
  - fix missing system tray on Ubuntu 18.04
  - fix workspace spurious warnings on 64-bit X11 systems
  - fix event handler with 64-bit MS Windows builds
  - fix named-pipe server clash
  - fix error handing in MS Windows printer query API
  - switch to Xvfb on Debian and Ubuntu
  - workaround more pyxdg bugs
  - ignore plink packaging errors with 32-bit MS Windows builds
  - disable swscale on 32-bit MS Windows builds (prevent crashes)
  - tabs mixed with spaces (potential for bug)
  - add missing DEB dependency


author: Antoine Martin <antoine@xpra.org> 3.1-10.1xpra1
changelog:
  - critical fixes:
      proxy deadlock, subprocess leak, socket errors
      proxy start and display handling errors
      proxy disconnections under heavy load
      'scroll' detection bugs
      attach failures with remote start
      windows not getting focus
      unnecessary screen update latency
      crash / corruption in the webp encoder
      crash caused by resizing large SVG icons
      crash caused by notifications
      screen resizing with invalid DPI values
      audio silence detection with DEB packages
  - screen update fixes:
      cairo rendering artifacts
      lossy screen updates when 'scroll' encoding is used
      video subregion detection error
      wayland client geometry repaint
      recover speed more quickly
      expire delayed regions on schedule
      mmap does not need refreshing
  - misc fixes:
      concurrency runtime errors
      window resize counter was invalid / ignored
      cuda error handling
      xdg menu loading failures
      'encoding' control command
      invalid default value for $XDG_DATA_DIRS
      parsing of peercred options
      spurious errors if file transfers are disabled
      validation of display numbers
      sessions started by the proxy miss $HOME and $USER
      tray menu clipboard errors
      environment variables not honoured via xpra launcher
      URL forwarding errors with Python 3 clients
      dangerous default argument corruption
      honour XPRA_NOMD5 in window border code
      warning message format under VirtualBox on MS Windows
      honour the XPRA_XDG_EXPORT_ICONS environment variable
      ensure passwords are not logged using 'auth' debug logging
      xdg-open stdout / stderr formatting
  - build, packaging, platform and test fixes:
      compilation errors with newer GCC versions, CentOS 7
      missing build dependencies
      split Python 2 vs 3 packages
      support Python 3.9
      printing diagnostic script errors with Python 3
      updated supported distributions
      updated build and runtime dependencies
      MacOS Big Sur compatibility
      SELinux policy tweaks
      ignore 'bell' audio device
      never pollute /root/.xpra or /root/.config/
      point to the correct systemd service configuration file path
      remove hard dependency on 'gnome-shell'
      invalid permissions on some scripts and data files
      update packging to get version information from git
      OpenBSD build fix
  - MS Windows fixes:
      test errors due to low precision clock
      clipboard cleanup errors
      bubble notifications not showing up
      missing / transparent icons in the system tray
      overflow errors accessing window handles
      use an up to date PDFium library
      non-ascii key lookup with shadow servers
      client sub-layout detection
      client handling of 'Control' key combinations
  - keyboard fixes:
      key symbol lookup
      invalid key modifier detection
      stuck keys
      mismapped key groups
  - network fixes:
      handling of jittery connections
      silence mdns warnings
      socket creation errors with missing directories
      failures to enable packet compression
      connection errors when a non-ui client is already connected
      try harder not to leave 'xpra _proxy' zombies behind
      ssh connection errors with proxycommand or proxyhost port numbers
      ensure some packets are not delayed unnecessarily
      file transfers with non-ascii filenames
      automatically shrink large SVG icons
  - HTML5 client:
      sends audio 'stop' before it is allowed to do so
      can specify the display to connect to
      show complete disconnection message
  - enhancements and changes:
      allow exit-with-children with any start-child argument
      nvjpeg encoder
      latest 'xpra top' client
      updated window class mappings
      support smooth scrolling - ie: touchpads
      faster server startup
      increase default refresh rate
      honour initial window position hint
      'source-start' now handles executables that print the new environment
      drop Python 2 / GTK 2 builds on MS Windows
      add new common screen resolutions for Xdummy
      add 'map' and 'unmap' control commands
      debug logging tweaks, remove confusing messages
      the socket type can be specified with systemd socket activation
      stop supporting legacy salt digest modes
      always verify SSL hostname


author: Antoine Martin <antoine@xpra.org> 3.1.1-10.1xpra1
changelog:
  - critical bugs:
      fix crashes during printer enumeration on MS Windows
      fix crashes when starting audio forwarding via the command line
      disable crashy ffmpeg codecs with 32-bit builds
      rencode DoS (MacOS and MS Windows binary builds)
      missing key events
  - server stalls:
      don't load menu data from the main thread
      don't query the list of printers from the main thread
  - build, packaging and platform fixes:
      Python 3.10 support
      default to using CUDA 11.4
      don't try to build NVENC against newer glibc headers (CUDA bug)
      support NVidia Ampere cards natively
      compatibility with experimental version of ffmpeg (GBRP9LE)
      more reliable git branch detection
      Linux distribution detection bug with Python 3 versions
      remove unnecessary runtime dependency on distutils
      clipboard support with python2 servers started from a Wayland environment
      corrupted cursors on MS Windows
      make it possible to bundle webcam support on MS Windows (still disabled by default)
      updated GStreamer dependencies
      the Debian package name we have to recommend is 'dnspython'
      generic / common RPM packages should not depend on Python 3
      use the correct /etc/default path for service configuration
      MacOS updates for GTK3 3.24.30: patches, dependencies
      MacOS packaging of the latest Python pillow with webp support
      add missing C++ files to source snapshots
      fixup some compatibility issues in previous backports
      clean generated Cython files (some pyd filenames have changed)
      use the versioned python interpreter for sourcing files (fix error on CentOS 8)
      locate libfakeXinerama more reliably (at build time)
      missing vpx support on CentOS 7.x
      libwebp 1.2.1
      pynvml 11.470.66
      patched rencode - override the buggy version from EPEL
      arm64 build and packaging tweaks
  - network:
      handle mmap client setup errors correctly
      mmap unix group lookup API
      support improved packet encoders
      use the correct exit code for encryption problems
      http script errors
      session 'name' server control command error
      use cryptographically secure random values with AES
      prevent DoS using unreasonably large number of key stretching iterations
      menu errors when there are active VNC connections
      stricter validation of raw packet indexes
      better compatibility with packet encoders (start menu, clipboard)
      reply with 404 if we don't find any data to send
      correctly parse ssh remote command output
      MacOS and MS Windows shadow servers missing the default TCP socket (port 14500)
  - authentication:
      stricter validation of challenge digest
      honour the `socket-dirs` option in authentication modules
      fallback to the current user if the one specified is invalid
  - encodings:
      correctly paint OpenGL scaled jpeg YUV screen updates
      error in 'void' paint handler (normally unused)
      sha1 data integrity checksum values
      re-enable non-fatal ffmpeg logging outside suppressed code blocks
      vpx encoder uninitialized variable undefined behaviour
      restrict the number of NVENC errors tagged as transient
      don't use AV sync for 'text', 'desktop' and 'picture' content types
  - window geometry:
      errors with StackMode requests
      size hints not being honoured in some rare cases
  - misc fixes:
      notifications should not override the exit code
      stop processing info requests when the server is exiting
      increase the maximum size of Xdummy resolutions (uses more memory)
      retry if we fail to load the list of windows the first time (seamless servers)
      missing notifications when failing to load the icon
      fix default values shown with 'xpra --help'
      try harder to exit the server cleanly (kill xvfb and dbus later)
      honour the force-replace-wm flag when upgrading
      some modifiers may not have matching key names (ie: VNC clients)
      don't expose xdg desktop entries that don't have a command to run
      smooth scrolling with GTK3 clients
      documentation, debugging, logging tweaks and fixes
      u2f tool error
      prefer https for links to the xpra.org website
      fix saving icons with gi bindings (Python 3)
      make it easier to run in a prefixed installation
      cursor regression with Python 2 builds
  - proxy fixes:
      preserve audio packets chunking (avoids an HTML5 client bug)
      avoid potential race conditions with video encoder re-framing
      try harder to find a usable session directory to use
  - audio fixes:
      ensure we always stop the 'new-stream' notification process
      remove aac codec flag causing compatibility errors
      fix sink test tool command line usage
  - 'top' client:
      server errors when 'top' clients are connected
      handle unicode window names correctly
      threading fixes (screen corruption)
      latency shown as always zero
  - html5:
      less strict content security policy
      ensure the 'set-initial-position' attribute is initialized
      avoid sending window attributes set to 'None'
      fix lz4 with AES incompatibility
      log the reason when closing
      don't start a new session again when re-connecting
      don't try to re-connect when the server is shutting down
      re-connected session would lose its connection quickly
      keyboard layout mapping from browser language
      window snapping to the edge, wrong offset
      avoid triggering server side errors on OR windows


author: Antoine Martin <antoine@xpra.org> 3.1.2-10.1xpra1
changelog:
  - encoding errors with vpx
  - fix pkg-info build command
  - packaging workarounds for Ubuntu Impish
  - fixup missing import in backport
  - minor RPM build fixes
  - rebuild with small fixes


author: Antoine Martin <antoine@xpra.org> 2.3-1
changelog:
  - stackable authentication modules
  - tcp wrappers authentication module
  - gss, kerberos, ldap and u2f authentication modules
  - request access to the session
  - pulseaudio server per session to prevent audio leaking
  - better network bandwidth utilization and congestion management
  - faster encoding and decoding: YUV for webp and jpeg, encoder hints, better vsync
  - notifications actions forwarding, custom icons, expose warnings
  - upload notification and management
  - shadow servers multi window mode
  - tighter client OS integratioin
  - client window positioning and multi-screen support
  - unique application icon used as tray icon
  - multi stop or attach
  - control start commands
  - forward signals sent to windows client side
  - forward requests to open URLs or files on the server side
  - html5 client improvements: top bar, debugging, etc
  - custom http headers, support content security policy
  - python3 port improvements
  - bug fixes: settings synchronization, macos keyboard mapping, etc
  - packaging: switch back to ffmpeg system libraries, support GTK3 on macos
  - structural improvements: refactoring, fewer synchronized X11 calls, etc


author: Antoine Martin <antoine@xpra.org> 2.4-1
changelog:
  - SSH client integration (paramiko)
  - builtin server support for TCP socket upgrades to SSH (paramiko)
  - automatic TCP port allocation
  - expose desktop-sessions as VNC via mdns
  - add zeroconf backend
  - register more URL schemes
  - window content type heuristics configuration
  - use content type it to better tune automatic encoding selection
  - automatic video scaling
  - bandwidth-limit management in video encoders
  - HTML5 client mpeg1 and h264 decoding
  - HTML5 client support for forwarding of URL open requests
  - HTML5 client Internet Explorer 11 compatibility
  - HTML5 client toolbar improvements
  - HTML5 fullscreen mode support
  - limit video dimensions to cap CPU and bandwidth usage
  - keyboard layout handling fixes
  - better memory management and resource usage
  - new default GUI welcome screen
  - desktop file for starting shadow servers more easily
  - clipboard synchronization with multiple clients
  - use notifications bubbles for more important events
  - workarounds for running under Wayland with GTK3
  - modal windows enabled by default
  - support xdg base directory specification and socket file time
  - improved python3 support (still client only)
  - multi-window shadow servers on MacOS and MS Windows
  - buildbot upgrade
  - more reliable unit tests
  - fixes and workarounds for Java client applications
  - locally authenticated users can shutdown proxy servers
  - restrict potential privileged information leakage
  - enhanced per-client window filtering
  - remove extra pixel copy in opengl enabled client
  - clip pointer events to the actual window content size
  - new platforms: Ubuntu Cosmic, Fedora 29


author: Antoine Martin <antoine@xpra.org> 2.5-1
changelog:
  - Python 3 port mostly complete, including packaging for Debian
  - pixel compression and bandwidth management:
  - better recovery from network congestion
  - distinguish refresh from normal updates
  - better tuning for mmap connections
  - heuristics improvements
  - use video encoders more aggressively
  - prevent too many delayed frames with x264
  - better video region detection with opengl content
  - better automatic tuning for client applications
  - based on application categories
  - application supplied hints
  - application window encoding hints
  - using environment variables and disabling video
  - HTML5 client improvements
  - Client improvements:
  - make it easier to start new commands, provide start menu
  - probe OpenGL in a subprocess to detect and workaround driver crashes
  - use appindicator if available
  - Packaging:
  - merge xpra and its dependencies into the ​MSYS2 repository
  - ship fewer files in MS Windows installers
  - partial support for parallel installation of 32-bit and 64-bit version on MS Windows
  - MacOS library updates
  - CentOS 7: libyuv and turbojpeg
  - Windows Services for Linux (WSL) support
  - Fedora 30 and Ubuntu Disco support
  - Ubuntu HWE compatibility (manual steps required due to upstream bug)
  - Server improvements:
  - start command on last client exit
  - honour minimum window size
  - Python 3
  - upgrade-desktop subcommand
  - Network layer:
  - less copying
  - use our own websocket layer
  - make it easier to install mdns on MS Windows
  - make mmap group configurable
  - TCP CORK support on Linux
  - SSH transport:
  - support .ssh/config with paramiko backend
  - connecting via ssh proxy hosts
  - SSHFP with paramiko:
  - clipboard: restrict clipboard data transfers size
  - audio: support wasapi on MS Windows
  - code cleanups, etc


author: Antoine Martin <antoine@xpra.org> 3.0-1
changelog:
  - Python 3 port complete, now the default: #1571, #2195
  - much nicer HTML5 client user interface: #2269
  - Window handling:
  - smoother window resizing: #478 (OpenGL)
  - honouring gravity: #2217
  - lock them in readonly mode: #2137
  - xpra top subcommand: #2348
  - faster startup:
  - #2347 faster client startup
  - #2341 faster server startup
  - OpenGL:
  - more reliable driver probing: #2204
  - cursor paint support: #1497
  - transparency on MacOS: #1794
  - Encoding:
  - lossless window scrolling: #1320
  - scrolling acceleration for non-OpenGL backends: #2295
  - harden image parsing: #2279
  - workaround slow video encoder initialization (ie: NVENC) using replacement frames: #2048
  - avoid loading codecs we don't need: #2344
  - skip some CUDA devices, speedup enumeration: #2415
  - Clipboard:
  - new native clipboard implementations for all platforms: #812
  - HTML5 asynchronous clipboard: #1844
  - HTML5 support for copying images: #2312 (with watermarking)
  - brotli compression for text data: #2289
  - Authentication:
  - modular client authentication handlers: #1796
  - mysql authentication module: #2287
  - generic SQL authentication module: #2288
  - Network:
  - client listen mode: #1022
  - retry to connect until it succeeds or times out: #2346
  - mdns TXT attributes updated at runtime: #2187
  - zeroconf fixes: #2317
  - drop pybonjour: #2297
  - paramiko honours IdentityFile: #2282, handles SIGINT better: #2378
  - proxy server fixes for ssl and ssh sockets: #2399, remove spurious options: #2193
  - proxy ping and timeouts: #2408
  - proxy dynamic authentication: #2261
  - Automated Testing:
  - test HTML5 client: #2231
  - many new mixin tests: #1773 (and bugs found)
  - start-new-commands is now enabled by default: #2278, and the UI allows free text: #2221
  - basic support for native GTK wayland client: #2243
  - forward custom X11 properties: #2311
  - xpra launcher visual feedback during connection: #1421, sharing option: #2115
  - "Window" menu on MacOS: #1808


author: Antoine Martin <antoine@xpra.org> 4.0-10
changelog:
  - Drop support for:
     Python 2, GTK2
     legacy versions (pre 1.0)
     weak authentication
  - Network, per socket options:
     authentication and encryption
     ssl
     ssh
     bind options for client
  - make it easier to send files from the server
  - xpra toolbox subcommand
  - xpra help subcommand
  - xpra top new features
  - faster startup
  - signal handling fixes
  - smoother window resizing
  - refactoring and testing
     unit tests coverage and fixes
     completely skip loading unused features at runtime
     get rid of capabilities data after parsing it
     better module dependency separation
     don't convert to a string before we need it
  - more useful window and tray title
  - make it easier to source environment
  - disable desktop animations in desktop mode
  - automatic start-or-upgrade, automatic X11 display rescue
  - support MS Windows OpenSSH server to start shadow
  - more selective use of OpenGL acceleration in client
  - expose server OpenGL capabilities
  - cleaner HTML5 syntax


author: Antoine Martin <antoine@xpra.org> 4.0.2-1
changelog:
  - fix encryption not honoured with TCP sockets upgraded to WebSocket
  - fix xpra top client refresh rate via timer
  - fix opengl client info format shown in 'xpra top'
  - fix format of attributes given to glXChooseVisual
  - fix crashes in OpenGL context setup on X11
  - fix race condition in window statistics
  - fix server errors when non-interactive clients are connected
  - fix tray toolbox app
  - fix X11 server key symbol lookup via Xkb
  - fix python-lz4 packaging on MS Windows
  - html5 fixes:
  	missing 'AltGr' on MacOS
  	fix missing desktop background
  	client errors painting rgb32 data with a padded rowstride
  	clipboard wrongly clearing data on failures
  	compatibility issues with Internet Explorer
  	missing transparency for windows in focus
  	no windows focused after close
  	connection errors caused by spurious packets
  	error in invalid packet handler
  	AES encrypted connections
  	connection errors with AES and lz4 (disable lz4 for now)
  	packet error with very small paint packets
  	'insecure passwords' option shown in the wrong cases
  	handle window iconification messages
  	update version in about page
  - fix connection errors with 'None' values in bencoder (ie: html5)
  - fix connection errors with websocket connections and AES encryption
  - fix duplicate clipboard token sent with MS Windows servers
  - fix window initialization errors causing server startup failures
  - remove invalid extra strings from mdns service name
  - change DLL search order to prevent conflict (MS Windows)
  - workaround bugs in pyxdg / menu configuration
  - add 'terminator' to the 'text' application hint
  - don't recommend installing Apple's 'bonjour' on MS Windows (not needed)
  - more explicit error message when trying to use python2


author: Antoine Martin <antoine@xpra.org> 4.0.3-10
changelog:
  - fix server crash caused by use after free in scrolling code
  - fix encryption option overzealously enforced on all socket types
  - fix network layer compression errors that can cause connections to drop
  - fix printing errors with some shell character encodings
  - fix NVENC h264 stream compatibility with HTML5 client
  - fix windows not getting focused when clicking on title bar (HTML5)
  - fix suspend / resume errors with tray windows
  - fix garbled terminal when ssh messages and 'top' client conflict
  - fix OpenGL force-enable option not honoured
  - fix tray geometry errors
  - fix missing tray with Ubuntu Gnome
  - fix socket setup error handler
  - fix minimum video scaling not being honoured via heuristics
  - fix error in main thread verifier (fortunately, never fired)
  - fix archlinux build root stripping
  - fix detection of named-pipe creation errors
  - fix MS Windows shadow server errors with 'bind=auto'
  - fix MS Windows Keymap_info.exe tool
  - fix MS Windows servers slow to handle connections with mDNS enabled
  - fix MacOS clipboard unnecessarily sending data
  - fix clipboard data sometimes going missing when ownership changes
  - fix memory contents of the swscale pixel format object
  - fix csc_swscale converter getting recycled every time
  - fix division by zero errors during window cleanup
  - fix rfb connections missing all screen updates
  - fix RPM spec file for CentOS 8
  - fix toolbox examples when running under wayland
  - fix 'xpra toolbox' subcommand on MacOS
  - fix MacOS errors with some subcommands (ie: 'list')
  - fix MacOS outdated system version requirements in hidden sub application
  - fix sshfp support on MacOS (was missing dns python module)
  - fix notification widget wrongly stealing input focus
  - fix support for building with CUDA 11.0
  - fix unshrinkable session-info window
  - fix window resizing errors when non-GUI clients are also connected
  - avoid ever using b-frames for text content
  - silence unhelpful gtk warnings on MacOS
  - avoid opengl warning with wayland
  - add extra environment variables to try to disable any server side scaling
  - also update mdns records when the session name changes
  - workaround for older versions of python-cryptography
  - use 'text' mode for 'geany' (fixes lossy screen updates)
  - ensure all toolbox windows set a correct and readable window title
  - remove workaround for unsupported versions of Ubuntu
  - make it possible to specify the path used for saving video streams / frames


author: Antoine Martin <antoine@xpra.org> 4.0.4-10
changelog:
  - fix memory leak with 'scroll' encoding
  - fix NVENC encoder (profile errors)
  - fix unmanaged X11 message call which could cause GTK to crash when it fails
  - fix missing auto-refresh leaving a blurry image
  - fix incomplete repaints when window contents have padding
  - fix missing pixels on the edge of video areas in 'auto' encoding mode
  - fix connection errors with notifications disabled on the server
  - fix 'sync-xvfb' option: setup error, non-standard bit depth support
  - fix shadow server dbus SetRefreshDelay causing all further "xpra info" requests to fail
  - fix incomplete data in initial packets from shadow servers
  - fix error in dbus debug logging
  - fix client invalid list of encodings
  - fix missing system tray on Ubuntu 18.04
  - fix workspace spurious warnings on 64-bit X11 systems
  - fix event handler with 64-bit MS Windows builds
  - fix named-pipe server clash
  - fix error handing in MS Windows printer query API
  - fix missing 'openssl' dependency in DEB packages
  - fix syntax error in HTML5 client maximize toggle
  - fix keysym mapping with Xkb and some specific configurations
  - fix right click on systray using the gtk StatusIcon implementation
  - fix small file transfers not showing as completed
  - fix file-transfer UI for download vs download-and-open not being honoured
  - fix file-transfer identifiers getting lost
  - fix int overflow errors on some 64-bit mswindows installations
  - fix websocket compatibility with some client / middleware
  - fix missing windows due to an error in the named window icon handling
  - fix hard to trigger mmap memory leak
  - add support for sm86 architecture with CUDA 11.1
  - allow 'pager' source indication value to activate window server-side
  - switch to Xvfb on Debian and Ubuntu
  - workaround corruption on some windows when maximized
  - workaround more pyxdg bugs
  - make OpenGL probe timeout configurable
  - add missing DEB dependency
  - MacOS and MS Windows: fix security issue in brotli decompression


author: Antoine Martin <antoine@xpra.org> 4.0.5-10
changelog:
  - fix caps lock wrongly applied to numeric keys
  - fix HTML5 client keyboard layout detection with Internet Explorer
  - fix HTML5 audio forwarding with some versions of Safari
  - fix HTML5 (un)fullscreen
  - fix ssl server hostname verification errors
  - fix syntax errors when using connections using nested ssh tunnels
  - fix socket_util import errors with some subcommands
  - fix http / websocket and ssl socket upgrade failures
  - fix server errors when ws sockets cannot be upgrade to wss
  - fix ssh command option not being honourd with the client launcher
  - fix proxy control socket becoming unresponsive after errors
  - fix proxy shutdown
  - fix proxy instance zombies on server start failures
  - fix sqlite authentication module not handling configuration options
  - fix stdout errors causing server startup or shutdown problems
  - fix MS Windows resource leak in system tray forwarding
  - fix MS Windows bubble notifications not showing on some systems
  - fix MS Windows client keyboard unresponsive issues
  - fix MS Windows and MacOS websocket servers missing mimetypes module
  - fix archlinux build path stripping
  - fix Fedora 33 package dependency issues
  - fix Wayland detection and workarounds
  - fix clipboard errors under Wayland
  - fix client signal listener not forwarding signal messages
  - fix client failing to connect due to keymap changes (ie: Wayland)
  - fix client not showing authentication prompt only once per connection
  - fix opengl debug option for saving buffers as jpeg
  - fix spurious "missing resolution" errors (often with HTML5 client resizing)
  - fix duplicated data in bug reports
  - fix download checksum verification (was not verified with python3 builds)
  - fix spurious file transfer errors with python3 builds
  - fix NVENC session leak due to flushing errors, support building with SDK10
  - remove "numpy" dependency for builds without NVENC / NVFBC (fixes MacOS installation problems)
  - add new NVENC presets from SDK v10, workaround deprecation warnings
  - HTML5 connect page can now specify the display to connect to
  - avoid starting new threads for file transfers that don't need one
  - raise default maximum packet size to prevent connection errors with large xdg menu data
  - don't let bad http requests mess up the server log
  - prevent peek data or exception message from corrupting the log / stdout
  - remove dependency on "requests" package introduced in 4.0.4
  - add correct packaging for Debian Bullseye and Debian Groovy Gorilla
  - make it possible to override the Xorg binary path detection


author: Antoine Martin <antoine@xpra.org> 4.0.6-10
changelog:
  - fix screen refresh performance issues, especially on jittery links
  - fix proxy instance control socket errors and process leak
  - fix slow subcommands due to unnecessary calls to ldconfig on Linux
  - fix server asynchronous packets getting delayed
  - fix 'xpra _proxy' zombies getting left behind (ssh mode)
  - fix failures to enable packet compression
  - fix connection errors when a non interactive client is already connected
  - fix ssh connection errors with proxycommand or proxyhost port numbers
  - fix timeouts with paramiko ssh client
  - fix ssh string escaping with MS Windows clients
  - fix client rejecting printing requests
  - fix duplicate / untimely audio-stop control packets with HTML5 client
  - fix console errors with Internet Explorer
  - fix capslock regression on MacOS and MSWindows shadow servers
  - fix errors accessing window handles on MS Windows (size hints, opengl, etc)
  - fix spurious refresh packets with mmap
  - fix mmap not used with some non-video areas
  - fix missing avcodec decoder with MS Windows builds
  - fix missing webp Pillow decoder with MS Windows builds
  - fix missing tray icons regression on MS Windows (introduced in 4.0.5)
  - fix warning message format when running MS Windows under VirtualBox
  - fix keyboard sub-layout detection with MS Windows clients
  - fix clipboard cleanup errors on MS Windows
  - fix clipboard with Wayland clients
  - fix window repaint with Wayland clients
  - fix printing diagnostic script
  - fix Python 3.9 compatibility
  - fix sysconfig path in systemd service file for non-RedHat systems
  - fix xdg-open override script error handling
  - fix file-transfer failures with small files
  - fix file-transfers with non-ascii filenames
  - fix FIPS compatibility (no md5)
  - better file transfer message format
  - honour XPRA_XDG_EXPORT_ICONS=0 env var in all cases
  - hide passwords from authentication debug logging
  - updated DEB packaging for Ubuntu Focal, Groovy and Debian Bullseye
  - updated DEB dependencies to not recommend installing Gnome
  - use an up-to-date PDFium library on MS Windows
  - make it possible to specify the socket type with systemd socket activation
  - re-add "~/.xpra" as socket-dir
  - typo in man page


author: Antoine Martin <antoine@xpra.org> 1.0-1
changelog:
  - SSL socket support
  - IANA assigned default port 14500 (so specifying the TCP port is now optional)
  - include a system-wide proxy server service on our default port, using system authentication
  - MS Windows users can start a shadow server from the start menu, which is also accessible via http
  - list all local network sessions exposed via mdns using xpra list-mdns
  - the proxy servers can start new sessions on demand
  - much faster websocket / http server for the HTML5 client, with SSL support
  - much improved HTML client, including support for native video decoding
  - VNC-like desktop support: "xpra start-desktop"
  - pointer grabs using Shift+Menu, keyboard grabs using Control+Menu
  - window scrolling detection for much faster compression
  - server-side support for 10-bit colours
  - better automatic encoding selection and video tuning, support H264 b-frames
  - file transfer improvements
  - SSH password input support on all platforms in launcher
  - client applications can trigger window move and resize with MS Windows and Mac OS X clients
  - geometry handling improvements, multi-monitor, fullscreen
  - drag and drop support between application windows
  - colour management synchronisation (and DPI, workspace, etc)
  - the configuration file is now split into multiple logical parts, see /etc/xpra/conf.d
  - more configuration options for printers
  - clipboard direction restrictions
  - webcam improvements: better framerate, device selection menu
  - audio codec improvements, new codecs, mpeg audio
  - reliable video support for all Debian and Ubuntu versions via private ffmpeg libraries
  - use XDG_RUNTIME_DIR if possible, move more files to /run (sockets, log file)
  - build and packaging improvements: minify during build: rpm "python2", netbsd v4l
  - selinux policy for printing
  - Mac OS X PKG installer now sets up ".xpra" file and "xpra:" URL associations
  - Mac OS X remote shadow start support (though not all versions are supported)


author: Antoine Martin <antoine@xpra.org> 2.0-1
changelog:
  - dropped support for outdated OS and libraries (long list)
  - 64-bit builds for MS Windows and MacOSX
  - MS Windows MSYS2 based build system with fully up to date libraries
  - MS Windows full support for named-pipe connections
  - MS Windows and MacOSX support for mmap transfers
  - more configurable mmap options to support KVM's ivshmem
  - faster HTML5 client, now packaged separately (RPM only)
  - clipboard synchronization support for the HTML5 client
  - faster window scrolling detection, bandwidth savings
  - support more screen bit depths: 8, 16, 24, 30 and 32
  - support 10-bit per pixel rendering with the OpenGL client backend
  - improved keyboard mapping support when sharing sessions
  - faster native turbojpeg codec
  - OpenGL enabled by default on more chipsets, with better driver sanity checks
  - better handling of tablet input devices (multiple platforms and HTML5 client)
  - synchronize Xkb layout group
  - support stronger HMAC authentication digest modes
  - unit tests are now executed automatically on more platforms
  - fix python-lz4 0.9.0 API breakage
  - fix html5 visual corruption with scroll paint packets


author: Antoine Martin <antoine@xpra.org> 2.1-1
changelog:
  - improve system wide proxy server, logind support on, socket activation
  - new authentication modules: peercred, sqlite
  - split packages for RPM, MS Windows and Mac OS
  - digitally signed MS Windows installers
  - HTML5 client improvements:
     file upload support
     better non-us keyboard and language support
     safe HMAC authentication over HTTP, re-connection etc
     more complete window management, (pre-)compression (zlib, brotli)
     mobile on-screen keyboard
     audio forwarding for IE
     remote drag and drop support
  - better Multicast DNS support, with a GUI launcher
  - improved image depth / deep color handling
  - desktop mode can now be resized easily
  - any window can be made fullscreen (Shift+F11 to trigger)
  - Python3 GTK3 client is now usable
  - shutdown the server from the tray menu
  - terminate child commands on server shutdown
  - macos library updates: #1501, support for virtual desktops
  - NVENC SDK version 8 and HEVC support
  - Nvidia capture SDK support for fast shadow servers
  - shadow servers improvements: show shadow pointer in opengl client
  - structural improvements and important bug fixes


author: Antoine Martin <antoine@xpra.org> 2.2-1
changelog:
  - support RFB clients (ie: VNC) with bind-rfb or rfb-upgrade options
  - UDP transport (experimental) with bind-udp and udp://host:port URLs
  - TCP sockets can be upgrade to Websockets and / or SSL, RFB
  - multiple bind options for all socket types supported: tcp, ssl, ws, wss, udp, rfb
  - bandwidth-limit option, support for very low bandwidth connections
  - detect network performance characteristics
  - "xpra sessions" browser tool for both mDNS and local sessions
  - support arbitrary resolutions with Xvfb (not with Xdummy yet)
  - new OpenGL backends, with support for GTK3 on most platforms
  - window transparency on MS Windows
  - optimized webp encoding, supported in HTML5 client
  - uinput virtual pointer device for supporting fine grained scrolling
  - connection strings now support the standard URI format protocol://host:port/
  - rencode is now used by default for the initial packet
  - skip sending audio packets when inactive
  - improved support for non-us keyboard layouts with non-X11 clients
  - better modifier key support on Mac OS
  - clipboard support with GTK3
  - displayfd command line option
  - cosmetic system tray menu layout changes
  - dbus service for the system wide proxy server (stub)
  - move mmap file to $XDG_RUNTIME_DIR (where applicable)
  - password prompt dialog in client
  - fixed memory leaks


author: Antoine Martin <antoine@xpra.org> 4.1-1
changelog:
  - Overhauled container based build system
  - Splash screen
  - `run_scaled` utility script
  - Client:
     header bar option for window control menu
     generate a qrcode to connect
     show all keyboard shortcuts
     progress bar for file transfers
     GTK cairo backend support for more native bit depths
     disable xpra's keyboard shortcuts from the system tray menu
     automatically include the server log in bug reports
  - OpenGL client backend:
     render at fixed bit depths with the `pixel-depth` option
     support more bit depths
  - Clipboard:
     MacOS support for images, more text formats, etc
     MS Windows support for images
     wayland clients
  - Server:
     faster server startup
     `xpra list-windows` subcommand
     new window control commands: move / resize and map / unmap
     remote logging from server to client
     support window re-stacking
  - `xpra top`:
     show pids, shortcuts
     more details in the list view
     show speed and quality
  - Display:
     bumped maximum resolution beyond 8K
     set the initial resolution more easily using the 'resize-display' option
  - Encoding:
     server side picture downscaling
     libva hardware accelerated encoding
     NVENC 30-bit accelerated encoding
     vpx 30-bit
     x264 30-bit
     faster 30-bit RGB subsampling
     scroll encoding now handled more generically
     black and white mode
  - Network:
     IGD / UPNP
     SO_KEEPALIVE option
     clients can be queried and controlled using local sockets
     specify connection attributes using the connection string
     nested SSH tunnels
     websocket header modules
     specify the socket type with socket activation
     expose the packet flush flag
     `xpra shell` subcommand for interacting with processes in real time
     custom group sockets directory permissions and name
  - Testing:
     better test coverage
     cleanup output


author: Antoine Martin <antoine@xpra.org> 4.1.1-1
changelog:
  - ensure splash screen failures are not fatal, fix threading bug
  - avoid vaapi crashes in ffmpeg encoder (#3039)
  - `xpra top` fixes:
     correctly show the version number (#3041)
     laggy input handling and screen updates
     long subcommand timeout
  - fix plink ssh mode on MS Windows (#3040)
  - fix connection errors with trailing slash in display name
  - workaround API breakage in newer versions of python-zeroconf (#3043)
  - warn just once if expected GStreamer element properties are missing


author: Antoine Martin <antoine@xpra.org> 4.1.2-10
changelog:
  - fix unnecessary screen update delays
  - fix screen refresh rate detection
  - increase the default screen update refresh rate
  - fix missing encodings with 'upgrade' and 'upgrade-desktop' subcommands
  - fix client failures due to missing socket directories
  - fix crashes when showing notifications (ie: MacOS Big Sur)
  - workaround for hidden library paths (MacOS Big Sur)
  - more correct API usage of 'notify2' backend
  - fix `run_scaled` script handling of multiple arguments
  - fix ioctl error with nested SSH connections
  - fix video region detection error
  - fix sessions GUI not updating on process exit
  - fix compatibility with newer versions of python-zeroconf
  - fix directory listing with the builtin http server (still disabled by default)
  - fix clipboard errors on MS Windows when we fail to acquire the lock
  - fix the server's GetAll dbus property handler
  - fix display-name validation check
  - the 'exec-wrapper' option no longer needs to use an absolute path
  - ignore bell audio devices
  - show the correct list of pressed keys, unkown modifiers
  - prevent the splash screen process from consuming too much CPU
  - better service configuration file location detection
  - packaging script fixes, library and documentation updates


author: Antoine Martin <antoine@xpra.org> 4.2-1
changelog:
  - use pinentry for password prompts and ssh prompts
  - nvjpeg encoder
  - gui for starting remote sessions
  - new subcommands: `recover`, `displays`, `list-sessions`, `clean-displays`, `clean-sockets`
  - many fixes:
     window initial position
     focus issues
     non-opengl paint corruption
     slow rendering on MacOS
     handle smooth scroll events with wayland clients
     always lossless screen updates for terminals
     clipboard timeout
     peercred auth options
  - support multiple clients using mmap simultaneously with non-default file paths
  - only synchronize xsettings with seamless servers
  - automatic desktop scaling is now disabled
  - workaround for gnome applications starting slowly (documentation)


author: Antoine Martin <antoine@xpra.org> 4.2.1-10
changelog:
  - build and packaging fixes:
     missing dependencies
     nvjpeg DEB packaging
     OpenBSD build fix
     compilation errors on Ubuntu Bionic
     DEB packages were missing some files (fixes audio silence detection)
     correct DEB dependency on 'dns' module for SSHFP support
     remove unused outdated code
     remove runtime dependency on distutils for 'which'
     cryptic error when a pkg_config file is missing
  - proxy server:
     deadlocks when queues fill up too quickly
     honour mode and display
     disconnections under heavy load
  - MS Windows:
     spurious OpenGL warnings during sanity checks
     printer enumeration crash and stalls
     small cursors showing random pixel values
     updated MS Windows GStreamer module list
  - MacOS:
     MacOS GStreamer packaging of dylib modules, man page
     MacOS update to GTK 3.24.30
     MacOS Big Sur error with 'Xpra_Browser' subcommand
  - Network:
     fix RFB server protocol, sockets not timing out with VNC clients
     invalid error when bind option points to a directory
     detect wifi network connections more reliably
     fix 'xpra' packet type auto detection
     default to ssl-mode if the 'wss' socket option is not specified
     'keydata' connection attribute should override other options
     correct exit code for encryption errors
  - Encodings:
     disable vaapi in ffmpeg codec by default (crashy / buggy)
     NVENC errors when retrying after a transient failure
     scroll detection bugs
     webp encoder invalid memory access (corruption)
  - notification forwarding errors with SVG icons
  - disable SVG icon resizing (potential crashes on some platforms)
  - missing log prefix for 'xpra recover' subcommand
  - faster server startup failures: don't wait for things that were not started (ie: audio)
  - fix commands started twice when upgrading (ie: ibus-daemon)
  - local start with explicit attach was broken on Posix
  - 'attach' option should not be forwarded to the server (which then fails)
  - invalid window resize counter (used for resize loop prevention)
  - missing icon errors when html5 client disconnects from system-wide proxy server
  - file transfer errors when a 'top' client is connected
  - don't claim that non-interactive clients use the screen
  - retry once after X11 query tree errors during startup
  - provide XDG_RUNTIME_DIR if it is not defined
  - add new 3x4K Xdummy modeline
  - minor cosmetic and debug logging fixes


author: Antoine Martin <antoine@xpra.org> 4.2.2-10
changelog:
  - don't build ffmpeg codecs on i386 (crashy)
  - prevent crashes caused by svg conversion done in a thread
  - always stop the 'new-stream' notification process
  - prevent subprocesses from becoming zombies
  - clean server on 'stop' or 'exit'
  - fix application geometry issues
  - show correct default values with "xpra --help"
  - source and source-start errors on CentOS 8
  - stop responding to 'info' requests when shutting down
  - network layer:
     honour the packet-encoding and compressors options
     rencode packet encoder is not thread safe!
     packet errors with bencoder and None values
     don't assume the packet encoders handle bytes and / or strings
  - client issues:
     backwards compatibility with v3 servers for ssh start
     incorrect client exit code
     icon theme errors should not be fatal (triggered on MacOS)
  - subcommands:
     'start-gui' invalid options shown
     'sessions' and 'displays' subcommands do not need a display
     fix hidden 'wmname' utility subcommand
     many subcommands should send debug logging to stderr
  - platform issues:
     MacOS dock flickering with 'start-gui'
     MacOS splash screen hiding password prompts
  - menu loading:
     try harder to find valid menu entries to use
     skip entries that cannot be executed
     don't block the main thread when loading menus
  - xpra top:
     handle unicode window titles correctly
     fix screen corruption due to threading
     fix latency always showing as zero
  - packaging fixes:
     Debian packages now correctly use /etc/default for systemd service configuration
     MacOS updates for latest GTK3 builds
     add missing C++ files for MS Windows builds
     DEB missing dependency on gst-launch needed for silence detection
  - audio:
     pipeline errors with aac encoder
     X11 warning when starting microphone forwarding from the command line
  - minor / cosmetic fixes:
     cropped icons shown in html5 client connect page
     logging, error handling
     remove unused pulseaudio directories
     '1080p' resize-display string matching


author: Antoine Martin <antoine@xpra.org> 4.2.3-10
changelog:
  - network layer:
     ensure the http headers cache is never modified unintentionally
     invalid packet encoder names should not cause fatal errors
     preserve audio packets chunking (avoids an HTML5 client bug)
     prefer https links
     prefer sha256 to sha1 for file transfer checksums
     mmap setup error handling
     `sndbuf_bytes` value was incorrect (currently unused)
     socket timeout too long - broke VNC connections
     AES DoS with unreasonably large number of password stretching iterations
     tone down http content security policy for the HTML5 client
     parsing of remote ssh command output
     reply with a 404 if we have no http data to send
     stricter validation of challenge digest attribute
     stricter validation of packet indexes
     specifying invalid compressors should not be fatal
     handle more VNC clients correctly
     server errors when VNC clients are connected
     proxy sessions not found due to socket-dirs
     mmap group lookup
  - encodings:
     don't enable video encoders not present in 'encodings' option
     ffmpeg H264 errors with unreleased version
     ffmpeg codecs silencing too many warnings
     vpx encoder lossless mode detection
     potential race conditions in the proxy server's encoder loop
     visual corruption with scaled jpeg updates
     incorrect error messages with the jpeg YUV decoder
     error in 'void' paint events (currently unused)
     CUDA 11.4 and Ampere cards
     RPM build errors when CUDA is disabled
     restrict the number of NVENC errors tagged as transient
     more robust OpenGL picture decoding sanity checks
  - packaging and platforms:
     find the fakeXinerama library more reliably on all platforms
     platform detection for CentOS / RedHat
     missing default configuration files on MS Windows
     missing webp with latest Pillow builds on MacOS
     build fix for non-amd64 Debian (missing nvfbc)
  - clipboard selections getting stuck with MS Windows and MacOS clients
  - clipboard errors with some packet encoders sending strings
  - authentication modules not honouring `socket-dirs` option
  - make it easier to dismiss the splash screen
  - ssh password and key dialogs timing out without being shown
  - menu loading race condition causing empty start menu
  - window size hints may not have been honoured (rare case)
  - honour the force-replace-wm flag when upgrading
  - correctly handle command timeouts when probing servers
  - test scripts and command line tools fixups: unit tests, U2F tool, audio test, etc
  - system tray save-to-file debugging failures
  - minor cosmetic fixes to logging messages, unreachable code, icon loading errors
  - make it easier to run in a prefixed installation


author: Antoine Martin <antoine@xpra.org> 4.3-10
changelog:
  - Platforms, build and packaging:
     arm64 support #3291, including nvenc and nvjpeg: #3378
     non-system header builds (eg: conda): #3360
     fixed MacOS shadow start via ssh: #3343
     parallel builds: #3255
     don't ship too may pillow plugins: #3133
     easier access to documentation: #3015
     Python 3.10 buffer api compatibility: #3031
  - Misc:
     make it easier to silence OpenGL validation warnings: #3380
     don't wait for printers: #3170
     make it easier to autostart: #3134
     'clean' subcommand: #3099
     flexible 'run_scaled' subcommand: #3303
     more flexible key shortcuts configuration: #3183
  - Encodings and latency:
     significant latency and performance improvements: #3337
     spng decoder #3373 and encoder: #3374
     jpeg with transparency: #3367
     faster argb module: #3361
     faster nvjpeg module using CUDA, add transparency: #2984
     faster xshape scaling: #1226
     downscale jpeg and webp: #3333
     disable av-sync for applications without audio: #3351
     opaque region support: #3317
     show FPS on client window: #3311
     nvenc to use the same device context as nvjpeg: #3195
     nvenc disable unsupported presets: #3136
  - Network:
     make it easier to use SSL: #3299
     support more AES modes: GCM, CFB and CTR, #3247
     forked rencodeplus encoder: #3229
  - Server:
     shadow specific areas or monitors: #3320
     faster icon lookup: #3326
     don't trust _NET_WM_PID: #3251
     move all sessions to a sub-directory: #3217
     more reliable server cleanup: #3218
     better VNC support: #3256
     more seamless server upgrades: #541
     source /etc/profile: #3083
     switch input method to ibus: #2359


author: Antoine Martin <antoine@xpra.org> 4.3.1-10
changelog:
  - fix vpx encoder
  - errors when using the 'password-file' command line option
  - bash path compatibility issue with source commands
  - ssh errors with some versions of paramiko
  - failures to locate existing servers (ie: remote start / attach)
  - dpi errors with desktop servers, causing blurry scaling
  - 'video-scaling' argument parsing errors
  - duplicate dpi xsettings
  - avoid resource leak warning
  - proxy video encoder errors
  - update some of the failing unit tests
  - MacOS broken helper commands, pixbuf loader path errors
  - MacOS packaging of spng codec
  - try harder to locate the html5 client installation path
  - handle source command stdout pollution, trap all errors


author: Antoine Martin <antoine@xpra.org> 4.3.2-10
changelog:
  - color mismatch with jpeg video and html5 client (don't use YUV input)
  - missing auto-refresh
  - support CUDA 11.6 and all targets, compile C++11
  - 'mode' warnings on desktop upgrade
  - detect what type of session to 'upgrade' automatically
  - 'Content-Security-Policy' fixes and workarounds for Safari
  - None value errors with bencode clients
  - honour http path in websocket client connections
  - correctly restore original MacOS environment for subcommands
  - better tracking of pointer grabs
  - try harder to find matching unicode keys with MS Windows clients
  - advertize that we support `_NET_WM_OPAQUE_REGION`
  - avoid pidfile warning when shwoing encoding help
  - don't use x264 encoder for source data with an alpha channel
  - do handle alpha with the new 'jpega' video encoder
  - handle clipboard data sent using strings (ie: some MS Windows clients)
  - file transfer errors with legacy packet encoders
  - client file upload size warning triggered a formatting error
  - enable video subregion by default (fix for HTML5 clients)
  - always initialize the window source fully when the window is mapped
  - cython csc regression


author: Antoine Martin <antoine@xpra.org> 4.1-1
changelog:
  - split from main source tree
  - open print dialog
  - added documentation (installation, connection options, authentication, etc)
  - build option for platforms without any minifiers
  - add on screen keyboard
  - better connection diagnostic messages
  - download connection files and generate connection URIs
  - support for rgb24 pixel encoding


author: Antoine Martin <antoine@xpra.org> 4.2-878-1
changelog:
  - select session attributes from list of options exposed by the server
  - detect vertical refresh rate
  - hide on-screen keyboard by default on non-mobile devices
  - tell server to prefer encodings with native decoders
  - updated documentation
  - build and packaging fixes, add easy 'deb' and 'rpm' build targets
  - support older versions of brotli
  - fix missing clipboard events
  - fix window focus tracking issues
  - fix AES encryption (broken by rencoder)


author: Antoine Martin <antoine@xpra.org> 4.3-962-1
changelog:
  - build and packaging:
     installation with python2 build environment
     create symlinks for some fonts
     more reliable git branch detection
  - rencode packet encoder:
     new, clean javascript implementation
     remove workarounds for Safari, encryption, compression, etc
     handle byte arrays natively without copying
  - geometry fixes:
     option to adjust viewport to screen width via scaling
     window visibility adjustements no longer snap to the sides
     server errors for override-redirect windows offsets
     try harder to get override-redirect windows to close
  - keyboard:
     don't show the on-screen keyboard on non-mobile devices
     fix keyboard language to keymap matcher
     Ukranian keyboard layout should use 'ua'
  - re-connect:
     don't start a new session when re-connecting
     fix disconnections after re-connecting
     don't try to reconnect when shutting down the server
  - connect dialog:
     start and start-desktop now work with or without command
     missing session, category and command icons with latest google chrome
     pass w3c validation without any warnings
  - cosmetic:
     scale window icons to fit in the title bar
     use sans-serif font for window title
     change titlebar focused / unfocused colours
     make window corners round
     try to scale application cursors to match window zoom
  - misc:
     audio debugging was wrongly enabled (extra CPU usage and lag)
     remove http mp3 stream audio support
     log disconnection messages
     prevent console errors with Internet Explorer


author: Antoine Martin <antoine@xpra.org> 4.4-1017-1
changelog:
  - encryption:
     support more AES modes: CBC, CFB and CTR
     use secure random numbers
  - core:
     decode screen updates in a dedicated worker thread
     (except on Mobile devices due to strange compatibility issues)
     switch to pure javascript lz4 implementation
     (fixes compatibility issues with browsers, encryption options, etc)
  - misc:
     notifications geometry and styling
     fix zero-copy web worker regression from 4.3
     use zero-copy for transferring audio buffers from the worker


author: Antoine Martin <antoine@xpra.org> 4.5.1-1043-1
changelog:
  - workaround Firefox bug in image decoder
  - allow AES and SSL to be combined
  - support multiple authentication challenges


author: Antoine Martin <antoine@xpra.org> 4.5.2-1106-1
changelog:
  - fix toolbar position
  - install default settings in /etc/xpra/html5-client/
  - image decoding time accounting
  - handle scaled screen updates
  - skip re-connecting when the error is likely to be permanent
  - more helpful disconnection messages
  - ensure we timeout if the websocket connection fails
  - provide an easy way to prevent unwanted connections (ie: xpra.org)
  - fix decode worker sanity checks, validate jpeg, png and webp
  - decode worker errors with legacy packet encoders
  - validate all encodings
  - window title string decoding errors
  - create directories as needed when installing
  - css syntax error
  - better support for relative URLs (proxied configurations)
  - window resize offset bug, minimization bugs
  - force xz compression for DEB packages (zstd support missing from repository webhost)
  - compress harder with brotli
  - remove unnecessary time wrapper
  - try harder to detect the correct screen refresh rate


