Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

xpra-6.0+git20240406.e2d97e37-1.1 RPM for x86_64

From OpenSuSE Tumbleweed for x86_64

Name: xpra Distribution: openSUSE Tumbleweed
Version: 6.0+git20240406.e2d97e37 Vendor: openSUSE
Release: 1.1 Build date: Sun Apr 7 01:03:01 2024
Group: System/X11/Utilities Build host: reproducible
Size: 27309714 Source RPM: xpra-6.0+git20240406.e2d97e37-1.1.src.rpm
Summary: Remote display server for applications and desktops
Xpra is "screen for X": it allows you to run X programs, usually on a remote
host, direct their display to your local machine, and then to disconnect from
these programs and reconnect from the same or another machine, without losing
any state. It gives you remote access to individual applications.

Xpra is "rootless" or "seamless": programs you run under it show up on your
desktop as regular programs, managed by your regular window manager.
Sessions can be accessed over SSH, or password protected over plain TCP sockets.
Xpra is usable over reasonably slow links and does its best to adapt to changing
network bandwidth constraints.




BSD-3-Clause AND GPL-2.0-or-later AND LGPL-3.0-or-later AND MIT


* Sat Apr 06 2024
  - Update to version 6.0+git20240406.e2d97e37:
    * make version checks more robust
    * simplify: strget only returns strings
    * more resilient lookup of version info
    * move 'get_processor_name' to a reusable function
    * #4187 missing video fallback calls
    * #2467 proper resource cleanup
    * also accept differences in alpha
    * #4187 'konsole' is a text application
    * we may want to drop the alpha channel
    * skip warning about hard to find amf elements
    * add keycloak validation of authentication groups support
    * only expose native types (ie: strings) via info
    * accel_version is never None
    * none of these shortcuts require X11
    * validate hostname before sending it back
    * make it easier to test using temporary redirect
    * better docstring: this applies to all servers
    * 'LOCAL_MODIFICATIONS' is expected to be a number
    * when scaling, always repaint the whole window
    * generic yuv format handling
    * cosmetic
    * free the WebpBufferWrapper as soon as it has been consumed
    * #4167 query the scale factor each time
    * #4167 blit to scaled size
    * #2467 fix MacOS native OpenGL initialization
    * #4181 most WM sadly no longer support StatusIcon nowadays
    * support opengl display attributes in non-gtk specific format
    * we have to destroy the window to avoid leak warnings
    * #4167 need vertex array to validate program on MacOS
    * less confusing formatting
    * get the full OS name using wmi, if available
    * #3483 make it easier to trigger locking issues
    * shadow servers may initialize codecs in parallel
    * log more information about the thread currently holding the lock
    * unbreak regular shadow servers
    * #2467 load default cursor from png, better than black square
    * libSvt is used by libavif
    * get_version() must always return a tuple
    * use the same smarter version parser as the decoder
    * better debug logging
    * #4182 remove 'long' type
    * wait longer, needed with slow CI runs
    * also test libyuv and libavif
    * #3884 call SelectXFSelectionInput on the root window
    * add stricter type hints
    * prefer strongly typed method
    * #4182 simplify
    * must have a valid gl context to call cleanup functions
    * catch individual cleanup errors
    * try to ensure no programs or vertex arrays are active during cleanup
    * verify program id is valid
    * use the correct way to add compile args
    * simplified / updated latest
    * switches are unique, sort them just once
    * bail out if we can't change directory
    * build using InnoSetup 6.x
    * with opengl=force, continue despite validation warnings
    * install more 'browser_cookie3' dependencies as packages
    * pillow 10.3.0
* Sun Mar 31 2024
  - Update to version 6.0+git20240331.738c8038:
    * there's also 'vah264lpenc'
    * make it possible to (not) prefer Gtk.StatusIcon
    * Cython 3.0.10
    * set unused alpha to opaque, just in case
    * cosmetic
    * fixup 9bb4776fc199439d0f64ded75cd14b9a56101502
    * try harder to ensure 'bcrypt' is bundled on macos
    * show paramiko and bcrypt info
* Fri Mar 29 2024
  - Update to version 6.0+git20240329.c7f2d049:
    * RHEL 8 ships libvpx 1.7
    * #3964 some hardware encoders can pad and round up
    * wait longer for pinentry to terminate
    * add type hints
    * #3964 enable libva hardware encoders
    * no python 3.13 in 'ubuntu-latest'
    * #3964 ensure NV12 encoded streams are decoded the same as YUV420P
    * #3964 warn if the overrides are missing
    * also build test with Python 3.13
    * add YUV444P conversions
    * fix linter warning
    * simplify by bumping the version requirements
    * fix: updated deps for libspng0 and libopenh264
    * fix: updated deps for libspng0 and libopenh264
    * #2467 generate separate shaders for each pixel format
    * don't assume TEX_Y is zero, it's confusing
    * log failing shader source with line numbers
    * try to honour the quality value
    * better warnings when picture format is invalid
    * don't buffer frames, leak them
    * #3964 choose a csc mode and expose it
    * YUV444P to RGB so we can paint vp8/vp9 YUV444P frames without opengl
    * handle YUV444P decoding
    * more details on decoder failures
    * #3964 multiple options per encoding
    * #3964 implement 'save-to-file' so we can inspect the stream
    * #3964 make it possible to honour the encoding specified
    * missing attributes should raise a AttributeError
    * delay instantiation of paint context manager
    * cleanup
    * #3964 don't use damage
    * #3964 stop the gstreamer pipeline when damage events stop
    * add logging of directly queued frames
    * refactor gstreamer video encoding selection
    * no need to reconfigure when the actual quality was not changed
    * try harder to guess the display to shadow
    * split dual-use function
    * only expose selection owner if we have a value
    * better heuristics for guessing X11 display state
    * stray comma
    * #3964 support mode options
    * type hints
    * doh: forgot to add shadow configure gui
    * re-use text function
    * #3964 include d3d11 plugins
    * making it look less gray (less like it is disabled)
    * #3964 bundle gst-inspect-1.0 via the wrapper tool
    * cx_Freeze uses splitext, which doesn't work for gst-launch-1.0.exe
    * #4100 also de-duplicate gstreamer dylibs
    * #3964 include test video sinks
    * #3964 use more standard location for 'gst-plugin-scanner'
    * #3964 move list of capture elements to platform code
    * remove some gtk2 remnants
    * #4064 move shadow server configuration to its own gui
    * #3964 filter out plugins not installed
* Wed Mar 20 2024
  - Update to version 6.0+git20240320.3451df55:
    * None cannot be used as a test value
    * skip verifying the main thread
    * #4129 try to prevent loading X11 bindings when using portal / remotedesktop shadow modes
    * don't start a display when we don't find one to shadow
    * make it easier to send progress to stderr
    * use the same datatype everywhere for RGB modes
    * #4092 point users to the pyxdg bug
    * move all src size validation earlier, in one place
* Mon Mar 18 2024
  - Update to version 6.0+git20240316.b696eb87:
    * #4165 nm api can return an int instead of an object?
    * #4100 non-opengl case needs a yuv-to-rgb csc option
    * choose the csc option with the best score
    * simplify: any supports empty sets and will return False
    * reduce missing video pipelines log spam
    * just filter out any non alphanumeric characters for now
    * add missing changelog entry
    * race condition: input thread must wait for curses_init() to complete
    * aioquic 1.0.0
    * sockname may actually be a tuple or list
    * include more debugging details
    * #3754 add (unused) callback for wrap_buffer utility function
    * cosmetic
    * minor linter warnings
    * avoid None value dereference
    * this link should not expire
    * #4163 rename to prevent conflicts
    * record the build type
    * one more temporary ugly fix
    * show the files preventing us from removing a directory
    * #4100 avoid DLL errors: don't ship these plugins
    * #4100 show disk usage during build
    * #4162 dialogs must be destroyed before we can continue
    * remove duplicate imports
    * stronger type hints
    * hide the dialog before trying to close it
    * cosmetic type hints
    * type hints for signal handlers
    * splash subprocess should never wait for input
    * #4161 log 'nocsc' warning just once per encoding / window
    * only warn once per window when no video options are found
    * never wait for input in a subprocess
    * oops: no stdin on MS Windows
    * add wrapper for gst-launch-1.0
    * cosmetic
    * add full backtrace at debug level
    * take the first match
    * workaround for cx_Freeze not packaging zeroconf properly
    * use 'mdns' logger, don't bother trying avahi on MacOS or win32
    * better wrapper script
    * type hints for return values
    * log loading of pycuda top level package
    * delete dead symlinks, error out if 'agent.default' is not a symlink
    * get_console_position must return a pair
    * only skip old options if we don't have a new one
    * use argv passed in
    * use wrappers to ensure the environment is configured before importing the gi bindings
    * delay gtk import so win32 program context has time to setup gi import environment
    * handle invalid timeout argument more gracefully
    * oops: match renaming
    * #4064 we have to use program_context early on MS Windows
    * fix unit tests that rely on named arguments
    * type hints and cosmetic pycharm warnings
    * the bindings already return strings
    * ensure 'sock' is always defined (pedantic)
    * positional arguments gone wrong
    * consistency in naming arguments
    * ctypes requires byte strings
    * this method cannot handle any kwargs
    * oops: match refactoring
    * remove debug logging, use strings for all paths
    * noerr takes a callable, not a return value
    * simplify: 'which' now always return a string
    * make pycharm's linter happier
    * fix circular import
    * minor type hints and pycharm warning fixes
    * log the prompt
    * exception handler logging potentially wrong socket information
    * python signal handlers take two arguments
    * type hint fixes
    * fix draw passthrough stripping of unused alpha channel
    * avoid sending a warning notification for missing server log
    * add type hint for download callback
    * workaround for '.' in package names (ie: autoconf2.13
    * #4100 skip ssl cert post-install step with light builds
    * derp
    * handle missing stderr more gracefully
    * find_spec throws exceptions
    * simplify: remove some duplication
    * tify up: move tlb files to their own directory
    * #4100 use an alias to simplify: '--without-encoders'
    * only exit if the token is invalid, not when missing
    * stronger type: mmap_filename should always be a string
    * return empty caps when disabled
    * #4100 try to only show the subcommands actually available
    * #4100 nacl fixup
    * #4100 pillow indirectly needs libsharpyuv
    * #4100 split pillow encoder and decoder
    * delay logger import
    * #4100 don't print scary warnings with 'light' builds
    * #4100 doh: typo
    * stop splash when showing a notification
    * use the warning summary if that's all we have
    * make the opengl texture / viewport size limit configuable
    * add some debug logging, with the ResponseType constants
    * fix password prompt causing client exit
    * fix deprecation warnings
    * avoid errors during authentication
    * avoid parsing errors when socket options contain dict values for 'auth'
    * cosmetic logging tweaks
    * libtiff needs libjbig and libLerc
    * #4100 Pillow needs libopenjp2
    * #4100 split gstreamer so we can install audio without video
    * byref returns a POINTER, but addressof does not?
    * always show all options, add tooltip to explain why some aren't available
    * #4100 we still need the audio executable in light builds
    * fixup cfd23b1605c8aebe4d4d2eee845a93f884971677: accept more iterables
    * #4100 fix non-light builds config bundling
    * don't show warnings when running with older config files
    * remove duplicates
    * #4100 the 'start session' dialog does not require the server components
    * #4100 rename to 'Light', remove more bits
    * #4100 lightweight builds, initial cut
    * support same arguments as when calling loader directly
    * use the correct toggle
    * #4157 allow scheduling of more keys changed events as soon as we execute the timer function
    * add QUIC, rename SSL to TLS in link
    * #4157 add toggle to skip verifying modifier state
    * simplify
    * don't bother trying to load X11 components on MacOS
    * prettier output
    * if we fail to import the x11 backend, revert changes to GDK_BACKEND
    * include brotli dylibs explicitly
* Wed Feb 28 2024
  - Update to version 6.0+git20240228.5ab86d11:
    * set the GStreamer env vars earlier in the wrapper script
    * #4125 make it possible to specify backtrace expressions using env var
    * doh: typo
    * we need libxxhash, include it explicitly
    * we don't need to bundle ffmpeg since 20bb5f04233dc650022bc67d5904566d1b158af9
    * #4098 abstract sockets only work on Linux, AFAIK
    * desktop geometry changes need an X11 context manager to move the windows
    * remove pointless method, call 'get_printer_definitions' directly
    * silence another gtk deprecation warning
    * fixup typo breakage introduced in 13288d42587ca532e5a0e8e0a235207002bd6f7d
    * method returns a boolean
    * missed from 0211a3f25ccf257e6be5e85d9a78c71c9bb6b088
    * strip out unhelpful values from distro strings
    * don't query 'linux_distribution' on MacOS or MS Windows
    * bundle dbus on win32, but still not on macos
    * add missing soft dependency
    * simplify
    * remove duplicated line
    * check both ends support the feature
    * re-add some of the type hints reverted in 5bec0e8a1544fb265ef7f018f235486398777649
    * more correct check: 'file' should be a dict
    * Revert "use shlex for quoting"
    * newer version use a proper namespace
    * cosmetic
    * use 'file' logger for 'send-file' control command
    * consistency: only check the size
    * #4106 try harder to identify an existing ibus-daemon
    * #4106 basic command pid tracking
    * #4098 don't try to 'touch' abstract sockets
    * client wrongly claiming file download is not available
    * typo caused 'subcommands' to go missing
    * fix some deprecation warnings
    * type hints were too strict, caught by cythonize-more
    * new wrapper since comtypes 1.3
* Sun Feb 25 2024
  - Update to version 6.0+git20240225.77c41071:
    * Install manpages to share/man on FreeBSD
    * Bump actions/setup-python from 2 to 5
    * Bump actions/checkout from 2 to 4
    * Create `dependabot.yml`
    * Add `.git-blame-ignore-revs` file
    * add Ubuntu Noble Nombat repo files
* Thu Feb 22 2024
  - Update to version 6.0+git20240222.41136907:
    * stop using dbus notifier after cleanup
    * oops: forgot to bump the year
    * add package list for Fedora 40
    * update the release notes
    * add Ubuntu Noble Nombat
    * shortcut out if we're not going to use the 'guess-content' feature
    * don't guess the window's content type in the UI thread
    * cosmetic warnings
    * menu data could be empty if first loaded without the 'remove_icons' flag
    * add type hints
    * parsing should always return an int
    * also avoid subsampling csc with text
    * ignore video_max_size for text content
    * #4144 use sys.executable to find the correct python interpreter
    * update the index to prevent 404s
    * #3978 have to install build deps to run build command
    * #3978 test more Python versions, with 'cythonize-more' option
    * newer versions can throw NotImplementedError here
    * make it possible to expose all map state
    * cleanup + better warning for unexpected events
    * #4135 add env toggles for all delete options
    * fall through to XKill if we don't have pid
    * #3478 WM_STATE should be two longs
    * type hints and formatting
    * stronger type hints, add 'WithdrawnState' constant
    * remove unused screen_number
    * use shlex for quoting
    * add debug logging
    * simplify and add debug logging
    * try harder to always close sockets on error
    * replace traceback with 'backtrace' logging feature
    * add more attributes and use stronger types
    * log stats before resetting the connection object
    * add more mask constants, utility functions
    * expose more event attributes
    * stronger type
    * #4113 ignore the generated cpp libproc file
    * PEP 591
    * enumify
    * #4137 add missing check for start-child-late
    * log sockets stats from more places
    * log the wm-state we're setting
    * check again after acquiring the lock
    * more readable: parse don't return defaults
    * fixup 0c6bcc23a5bde960c90f4aea7d04f405692718ad: oops, negated test
    * doh: all backends now take a display argument
    * #4135 use DestroyWindow instead of kill signal
    * #3936 add riscv64 to Debian repo files we have builds for
    * return whether the request was handled or not
    * avoid mdns errors, log message instead
    * #4125 make it easier to automatically enable all backtraces
    * #3483 numpy can be imported when making gl calls
    * #4124 the xpra-server.socket and xpra-server.service are already bundled automagically
    * #4124 use the same update file as from fs/lib/systemd/system
    * type hints and debug logging
    * more appropriate method name
    * #3938 honour the ICCCM spec
    * #3938 not needed, I think
    * #3938 split configure and notify
    * always include a backtrace with logged X11 errors
    * consistent return statements
    * #3483 numpy may be imported here first
    * we need the display name to validate
    * call the narrower move / resize functions
    * add socket upgrade debug logging
    * #3938 until we reparent, update the client window directly
    * #4125 also make it easier to trigger backtraces programmatically
    * type hint fix (errors with cythonize-more)
    * typo caused ssh upgrade flag to remain enabled
    * simplify
    * #4129 ensure 'c' is initialized
    * don't use video dowscaling for text
    * #3938 avoid unnecessary configure event
    * the above argument is an int, cythonizing causes errors with a bool
    * don't synchronize window manager X11 properties
    * #3938 update requested position and size from hints
    * use the correct type for sibling window (an xid)
    * blacklist some more gnome apps
* Wed Feb 07 2024
  - Update to version 6.0+git20240207.f845c2d5:
    * remove debug logging
    * #3938 ignore position hint changes when the client is showing the window
    * silence KDE specific wm events wrongly sent by wine
    * oops: don't shadow the 'opengl' string variable
    * typo: instantiate the context manager
    * silence another gtk screen dimension warning
    * '.' in 'gtk+3.0' causes a parsing error
    * oops, fixup e5aa9529284c0c0a379c6951d5d3fc86525824dd: swap source and dest change
* Tue Feb 06 2024
  - Update to version 6.0+git20240206.e5aa9529:
    * gst-plugin-scanner needs to find the gstreamer dylibs
    * '+' in 'gtk+' causes a parsing error
    * enable write access for buffers we own
    * bandaid for clipboard data received as a string
    * simplify
    * use simplified pypi source URLs
    * numpy 1.26.4
    * show the prefererd www directory in the warning
    * better OpenGL probe error messages
    * Ubuntu 22.04 ships an old version of Pillow..
    * it seems that we can get a None value here..
    * using a dictionary is safer and easier to read
    * 'dirs' must contain pairs
    * openh264 2.4.1
    * shortcut out earlier
    * network layer can't encode enums
    * #4125 trigger backtraces with regular expressions
    * cosmetic: reformat
    * #3916 also update 'requested' attributes
    * doh: only shortcut out if nothing has changed
    * type hints
    * move function where it is needed
    * #3916 once a window has been moved, the 'initial position' should be honoured
    * cosmetic: type hints
    * #3542 always initialize pointer position
    * #3542 don't validate pointer position without a window
    * #3542 only ignore pointer data with a valid window id
    * a window should not be focused and hidden at the same time
    * remove 'focused' state when windows are iconified
    * expose X11 errors and import from correct module
    * Elaborate on "`#` in Xpra Key Bindings", and complete the documentation
    * #4112 boolget now defaults to False
    * #4117 the manual is no longer available on
    * Improve documentation for Keyboard Shortcuts
    * #4113 use enum types with c++
    * oops: misindentation
    * simplify: set_icon_full can use full paths with extensions now
    * appindicator fixes
    * some modules can have a dot in their pip freeze name
    * simplify
    * cannot call about() directly from a wiget callback
    * also log abstract socket cleanup
    * don't show an invalid display size
    * add tray debug logging
    * wrong argument for tray constructor: pass menu
    * refactoring gone wrong: compare with the string
    * add type hints
    * fix cosmetic warnings
    * make it easier to test
    * signal handlers don't return a value
    * match add_init_thread_callback signature - never used?
    * type hints: fixes and stronger types
    * simplify: shotcut out and flatten
    * move osx notifier to its own module
    * convert to int on entry
    * silence deprecation warning
    * cosmetic: reformat
    * fix socket setup failure cleanup code
    * better validation of abstract socket paths
    * cosmetic: reformat
    * #4064 move gstreamer configuration to new gui
    * cosmetic: reformat
    * use gi_import for API versioning
    * cosmetic: reformat
    * #4109 / #1442: try to prevent pyvda errors from breaking things
    * Revert "fix building with clang"
    * #4111 revert type hint that breaks some builds
    * #4110 fix 'flags' argument to 'PyMemoryView_FromMemory'
    * #3514 / #3943 these env vars are now redundant
    * #4109 catch unexpected pyvda error on import
    * fix building with clang
    * silence 'warning: ‘Py_UNICODE’ is deprecated'
    * make some memoryviews as readonly
    * cosmetic: reformat
    * #3483 make numpy-blocking more fine-grained
    * cosmetic: reformat
    * #3483 make it easier to block numpy
    * move nomodule_context to a more reusable location
    * #3623 show adapter type
    * cosmetic: reformat
    * avoid escaping backslashes in win32 filenames
    * cosmetic
    * #4044 don't try to print a size we don't have
    * #4044 match interface change: new argument
    * #3987 add env toggle to force RGBA internal format
    * try harder to reap and close fds of pinentry
    * don't leak failing socket
    * #4098 automatically use abstract sockets
    * group imports
    * cosmetic
    * ensure each socket gets its own options object
    * do cleanup timed out sockets
    * also use unexpanded paths in default config
    * don't expand XDG_RUNTIME_DIR or HOME in config files
    * cosmetic
    * catch missing connection objects sooner
    * fix breakage introduced by 28adf9b8a2740aac74f5507bdf7302b73de28613
    * move paramiko imports, type hints, cleanups
    * fix breakage introduced in 4b50a2560ab4d8dbf9054982c2862880c393bc95
    * #2303 the proxy server may also needs to clean ssh session files
    * #2303 modifying os.environ is not thread safe
    * simplify: load_session_file always returns bytes
    * use the newer non deprecated Rsvg.render_document function
    * cosmetic
    * simplify
    * remove debug logging
    * only import the X11 bits after checking for Wayland
    * RFB connections send a 12-byte initial packet
    * don't use GTK xsync context manager with Wayland
    * don't generate html annotations by default
    * load icons via the safer 'open_only' function
    * skip Gtk to avoid pointless deprecation warnings
    * all protocol instances are expected to have a start_time
    * cosmetic
    * silence gtk deprecation warnings
    * force text quality to 100
    * avoid spamming the log with empty requests
    * no need to xsync with Wayland displays
    * don't let opengl cleanup errors hang a window
    * MS Windows can't handle nested 'transient-for' ?
    * handle pyvda failures more gracefully
    * make it possible to specify 'transient-for'
    * move run_gui to common
    * modal windows can't have transient-for windows?
    * more helpful message if opengl cannot be initialized
    * gtk can fail to load webp images
    * also locate resources dir from source directory
    * allow 'xpra/html' as a 'text' target
    * more readable code, try harder to return usable targets
    * honour client specified order of clipboard preferred targets
    * /var/www/xpra is another valid location for the html5 client
    * fix deprecation warning
    * continue closing other windows
    * use correct enum type
    * we need to check for glDeleteProgram
    * fix linter warnings
    * use the start_thread wrapper and name the thread
    * enable python3.13 builds
    * if we wait for input, we don't use the log file
    * always import gi bindings via gi_import
    * fix version check: don't compare strings
    * use the correct argument type
    * always build the latest aioquic
    * minor linter warnings
    * close log file on exit
    * type hints and style fixes
    * delay loading of ssl module
    * remove redundant exception logging
    * forgot to bump year, again
    * cosmetic
    * #3483 OpenGL may import numpy via its array modules
    * #4098 add abstract socket support
    * support multiple csv attributes with bind options
    * unify socket setup code
    * cosmetic
    * don't wrap our own exceptions twice
    * fix python 3.12 deprecation warnings
    * silence more sonarqube warnings
    * move ssl bits to their own module
    * fix more sonarqube warnings
    * wait for local sockets to become available
    * try to help sonarqube
    * use the existing toggle
    * match expected (unused) type
    * fix sonarqube linter warning
    * only build cuda kernels for nvenc or nvjpeg encoder
    * this discord invite link does not expire
    * fixup unit test for 681a0bc2b80896e9f49b922780f4afc358c1b7f9
    * prevent circular imports
    * move version to gi_import
    * #4097 controller and master are indexes
    * #4050 oops: ignore the 'Modules' line but continue
    * #4050 zero is a valid value we want to record, None is not
    * #4050 add python modules from 'pip3 freeze' output
    * #4050 add sbom from 'jhbuild list -a -r' output
    * cosmetic
    * cosmetic pep8 fixes
    * #4050 record pacman data
    * minor linter warnings
    * missing f-strings hides the log filename
    * prettier output: repr formatting escapes backslashes
    * Cython 3.0.8
    * oops: remove debug logging
    * use the correct package name for the gi bindings
    * document empty method overrides
    * aioquic 0.9.25
    * type hint was incorrect
    * minor linter warnings
    * use the correct type for a strict intget call
    * use the correct type for boolget call
    * forgot a comma
    * more consistency
    * remove unused assignment
    * pypi source archive uses lowercase
    * always use force_close_connection so errors will be caught
    * #3889 avoid dangling connection objects
    * pycuda 2024.1
    * #3889 safer and cleaner socket wrapping
    * cosmetic
    * numpy 1.26.3
    * pillow 10.2.0
    * #3889 try to wrap connections again on 'invalid_header'
    * cosmetic
    * cosmetic
    * cosmetic + match refactoring
    * move more code out of core modules
    * Fix paths to content-type, content-categories files.
    * cosmetic
    * #3978 prevent aioquic logging loops
    * fixup 70f663fcca5b212bd5aaf3ed0543141737029296: forgot cython modules
    * #3957 minor tweaks and cleanups
    * #3957 use non-blocking select and add test tool
    * minor linter warnings
    * Fix passing window xid to prop_set, prop_del.
    * X11ServerCore.__init__: enable type checking
    * #3957 add stub record module
    * disable the mangled scripts
    * #4086 flake8 fixes for
    * #4085 add more metadata
    * doh: video_subregion must be initialized
    * aioquic 0.9.24
    * oops: instance now needs get_type
    * allow systemd-run with Ubuntu >= 22
    * fix layout, add ignore codes
    * more readable layout
    * now need to mock 'codec_type'
    * #4086 flake8 fixes for 'platform' module
    * #4086 flake8 fixes for 'server.mixins'
    * don't compare the class, use the 'type' string instead
    * #4086 flake8 fixes for 'server.window' module
    * #4086 flake8 fixes for 'server.source' module
    * #4086 flake8 fixes for 'server' module
    * cosmetic
    * don't call superclass twice
    * cosmetic
    * #4082 add 'list-clients' subcommand
    * #4082 add 'display'
    * cosmetic linter fixes
    * #4082 add 'session-type'
    * generic permission checks for hello requests
    * #4086 flake8 fixes for 'net' module
    * #4086 flake8 fixes for 'scripts' module
    * doh: validation triggers warning path
    * #4086 flake8 fixes for 'client' module (part 2)
    * #4086 flake8 fixes for 'client' module
    * #4086 flake8 fixes for 'gtk'
    * #4086 flake8 fixes for 'gtk'
    * #4086 flake8 pass for 'codecs'
    * #4086 fix 'audio', 'clipboard' and 'keyboard'
    * linting in dbus, gstreamer and top level modules
    * fix pflake8 warnings in util modules
    * fix pflake8 warnings in x11 modules
    * fix flake8 linter warnings
    * add pflake8 config
    * #4085 'version' is a required attribute
    * pyproject.toml only used for 'ruff' for now
    * minor ruff warnings
    * #3574 add 'control' to socket options
    * cosmetic
    * #4082 show 'endpoint' in client info
    * no need to add quotes for these types
    * exit reprobe loop as quickly as possible
    * simplify sysconfig toggle
    * ensure we touch the sockets early
    * simplify: never clean sockets touched in the last minute
    * shortcut out if client gl is not installed
    * #2467 we can probe opengl on Wayland now
    * use the package names
    * expose numeric version numbers
    * remove warning for ancient versions of paramiko
    * workaround paramiko error with agent keys
    * #4083 load global /etc ssh config
    * #4083 remove 'nogssapi' workaround
    * Cython 3.0.7
    * Change "Y/N" output into more readable "Yes/No"
    * docs/Build/ Add required Cython and PyGObject
    * don't toggle features that are missing
    * set ICCCM's WM_ICON_SIZE
    * #4064 show configure gui from main gui
    * split module names into a reusable function
    * only add ping latency when delay is used
    * make the default iconify delay configurable
    * don't clamp the whole window to the desktop
    * validate frame extents values
    * try harder to close the test windows on exit
    * force enable to validate
    * cosmetic
    * #4064 forgot to add the test images
    * fix constraint calculation for max size
    * #4064 add tool for installing and remove xpra packages
    * generic solution to signal handling problems with Gtk
    * signal handlers can't call Gtk.main_quit directly
    * handle signals correctly
    * add help text
    * honour 'sensitive' arg
    * MS Windows dialogs prevent access to about window
    * Updated Debian override_dh_shlibdeps rule to move avif back to codecs-extras, as I believe was originally intended by commit f1787a07b1fe4ebb6b9b2b57309a36396c39a2cb (#2998 move avif to codecs-extras, 2023-09-20).
    * Updated Debian control to refer to libavif16 instead of libavif15 for sid and trixie. Debian's package was renamed when its source package libavif version 1.0.1-1 was uploaded to sid on 2023-10-07, and that version migrated to testing (trixie) on 2023-10-12.
    * silence useless depreaction warnings
    * #4064 add exe tool for configure gui
    * cosmetic, type hints
    * remove cython3 package to make sure we use the pip one
    * forgot to add the module
    * #4064 add MacOS and MS Windows wrappers
    * cosmetic
    * add 'file-transfer' and 'printing' to the list
    * #4064 move more code to common
    * don't show a warning when parsing comments
    * simplify using glob
    * move socket info to where it belongs
    * #4064 add 'features' toggle dialog
    * cosmetic type hint and logging fixes
    * #4064 correctly parse config files with newlines
    * cosmetic
    * #4064 add test images
    * #4056 lstrip was misused
    * #4064 opengl configure dialog
    * cosmetic
    * add opengl configure window stub
    * (re)move unused distro functions
    * missed files from 52800820f2f7c457c9ca9e256dd3bae2c0d9e1cb
    * split utility functions away from os_util
    * make utility functions re-usable
    * cosmetic
    * #3483 try harder to catch all paths that import numpy
    * #3975 apply env settings early
    * some items don't have callbacks
    * warn only once
    * Fix broken URL in docs
    * #4055 virtual workspaces for MS Windows
    * cosmetic
    * type hints and fixes
    * in case the config doesn't have a value
* Wed Nov 29 2023
  - Update to version 6.0+git20231129.84c22933:
    * always strip the ImageMenuItem object from the callback arguments
    * #4061 use indirection to remove callback arguments
    * Enable pam functionality on Linux only
    * Extend some LINUX cases to FREEBSD
* Tue Nov 28 2023
  - Update to version 6.0+git20231128.fc4b6d1f:
    * logic error: must use a list here
    * cosmetic
    * check all icon directories
    * logging formatting error
    * silence pointless warning we can do nothing about
    * move non-gtk-specific functions
    * increase the number of themes to try
    * doh: add themes via glob until we reach the limit
    * cosmetic
    * avoid missing property warnings with 'autoaudiosrc'
    * verify python version early
    * Cython 3.0.6
    * these aren't meant to be modified any more
    * openh264 2.4.0
    * cosmetic
    * typo + always try to remove egg dir
    * this variant should work everywhere?
    * remove EL8 cruft
    * use the python3 interpreter we want
    * oops
    * wheel 0.33.6 is the last version that builds with Python 3.6
    * build more F39 RPMs
    * get rid of unusable egg directory
    * use distro package for python3-wheel
    * we want to build python3-wheel, just not on Fedora
    * oops: add missing build dep
    * latest pylsqpack requires python-wheel
    * tell the CI where to find the signal watcher
    * #3313 self-signed certificates fail
    * cuda_rebuild should default to None (aka 'auto')
    * cosmetic
    * image_path must be a string
    * linter warnings
    * #2467 disable opengl on MacOS until it is fixed
    * remove legacy imports
    * callbacks use dbus types
    * minor linter warnings
    * #3945 the headers are not tied to the python version
    * read using io watch instead of threading
    * cosmetic
    * install systemd service if we have libsystemd.pc
    * doh: allow empty unit, also strip spaces
    * use 'notify' category for class loading warnings
    * document how to install locally
    * handle values with units, better error messages
    * minor type hint fix and other warnings
    * simplify move version info to gi_import
    * cosmetic
    * num_lock_modifier is never None + cosmetic
    * cosmetic
    * show a more useful process title
    * simplify
    * cosmetic
    * cosmetic linter warnings
    * call kill just to be safe
    * use the enum rather than the alias
    * #4049 also exit on IO_ERR, always terminate watcher
    * this doesn't do anything
    * add update note
    * use shader version constant
    * numpy 1.26.2
    * cosmetic
    * never rebuild cuda kernels via on win32
    * verify checksum
    * aioquic 0.9.22
    * pylsqpack 0.3.18
    * wheel 0.41.3
    * #4026 workaround for broken relative paths
    * missed during InfoTimerClient refactoring
    * pycuda 2023.1 (patch no longer needed)
    * pynvml 12.535.133
    * log the opengl version found using NSOpenGLGetVersion
    * #4040: oops Gdk windows can't be closed, just hide it
    * safer pyobc code use alloc immediately followed by init
    * #2467 finally able to use only core context
    * #4040 closing is safer
    * always send flush attribute
    * fixing pycharm linter warnings fixes (minor) bugs
    * cosmetic
    * cosmetic + fix cythonization runtime error
    * #2467 we have our own render buffer
    * cosmetic
    * #2467 handle scaling in shaders
    * this method was no longer useful
    * oops: missed from 071b2ac416a223fdb2f0d7009527b52306642300
    * more detailed debug logging
    * the video helper is no longer a clone
    * cosmetic
    * replace and hide misnamed 'pixel_format'
    * cosmetic: formatting
    * remove old pydev annotations
    * this has been unused for years
    * also include encoder info in video fallback path
    * add debug logging for encoding selection
    * improve debug logging messages
    * ensure we initialize all encoders before choosing an encoding
    * prefer gi notifier to GTK one
    * #2642 fix instantiation of csc modules
    * one more gi import warning to silence
    * #2467 it is safe to run opengl probing with Wayland now
    * try harder to find a valid command
    * too many transient CI failures
    * silence more gi import warnings
    * fix cython warning: reorder attributes
    * stronger type hints
    * don't rely on transitive dependencies
    * generic context manager for silencing warnings
    * missed from conversion to enum
    * cosmetic
    * ensure the content-type is initialized at least once
    * skip empty attributes
    * prettify and remove sock.close
    * cosmetic and type hints
    * move socket state to an enum
    * use stronger types and see what falls out
    * cosmetic
    * always use ints for workspace values
    * partial revert of 4696b271c352adab371aec5d3cb9972e00297891
    * #2467 validate early, fix linter warnings
    * #2467 fix validation + link program
    * #2467 initialize the vao just once
    * #2467 'texture_pixel_format' is no longer needed
    * cosmetic
    * #4040 prefer 'gtk backend on MacOS
    * silence gi import deprecation warnings
    * these functions cannot raise exceptions
    * #2467 hook the gtk backend into the same present fbo
    * repr string had got mangled
    * state explicitly which decoder failed
    * log a debug backtrace when a video decoder fails
    * XDG_SESSION_TYPE is not reliable
    * show the client's opengl backend if we have it
    * more consistent log output
    * #2467 use an 'overlay' shader to replace the texture blending
    * #2467 convert nvjpeg to using blit
    * move debug to its own module
    * move reusable code to util module
    * cosmetic: debug logging
    * #2467 prefer glarea backend under wayland
    * #2467 fix painting of rectangles: paint box and border color
    * #4044 we already have strings
    * don't include empty key event in debug list
    * #4044 type hints were wrong
    * try to close sockets cleanly on exit
    * improve messages
    * #2467 turn off nvjpeg and nvdec until they are fixed
    * #2467 try to switch to core profile and gles contexts
    * #2467 better compatibility
    * cosmetic: logging
    * #2467 fix YUV painting
    * github obfuscates the uri?
    * #4044 readlines returns a string
    * Cython 3.0.5
    * #4044 paramiko's readline() returns a list
    * #2467 disable YUV painting until the shader stuff is fixed properly
    * cosmetic + move methods to functions
    * bump release number to update the build from Fedora 39
    * #2467 more compatible shaders, remove RBGP
    * #4040 try harder to exit more cleanly on error
    * doh: convert to string earlier
    * #4044 force gtk3
    * better error message formatting
    * allow debug colors for 'opengl' subcommand
    * pyopengl can get mixed up
    * make it possible for key events to pass through
    * add missing dependency
    * #2467 compile the shaders
    * #2467 handle errors more gracefully
    * stubs for exposing more info
    * cosmetic
    * try harder, continue without the list of extensions
    * simplify naming
    * #2467 better compatibility with some drivers
    * simplify and always return info
    * #2467 add patch to silence egl file open warning
    * expose the pyopengl backend in use
    * #2467 correct 'check_support' implementation
    * use correct logger
    * #2467 better backend detection and setup
    * #2467 YUV painting needs updating to use blitting
    * remove debug logging
    * #2467 force 'egl' backend on Wayland
    * clearer messages
    * #2467: don't try to load the x11 bindings under (x)wayland
    * don't shadow variable
    * #2467: oops, don't override show flag
    * don't trust these env vars
    * fix some minor linter warnings
    * don't hardcode the 'xpra' command
    * avoid CI timeouts
    * install aioquic so we can run the full network tests
    * #2467 always make the gl context current before use
    * #2467 don't force x11 for opengl on wayland
    * #2467 try to continue without shaders
    * #2467 opengl switch can be used to choose a backend
    * but of course we need extra flags..
    * simplify: install pip3 using apt
    * opengl backend doesn't use this method
    * #2467 let draw_fbo specify the return value
    * #2467 split opengl init into a new method
    * c_char_p needs bytes
    * cosmetic
    * try harder to install Cython via pip
    * also close dangling sockets on permission errors
    * #2467 use glBlitFramebuffer instead of GL_QUADS
    * #2467 enable arb context, but not core profile
    * #2467 refactoring and toggle for glXCreateContextAttribsARB
    * version in Fedora is too old
    * close sockets on errors
    * we install cython in via pip
    * stub for creating core context
    * cleanup and fix warnings
    * we still need this line for the _other_ warning..
    * silence gtk macos warnings
    * #4028 direct replacement with search and replace works
    * unify exit code checks
    * Cython 3.0.4
    * add some opengl debug logging
    * honour opengl=force
    * fix crashes on win32: close not destroy
    * never expose typedict in info packets
    * type hint fixes
    * numpy 1.26.1
    * setuptools 68.2.2
    * pillow 10.1.0
    * pytools 2023.1.1
    * libyuv 1878
    * fix bogus date
    * opencv is being removed
    * mDNS can be used at both ends
    * we don't use yaml any more
    * update the release notes
    * silence sonarqube warning
    * #4017 fixup c91d48a96d4f9947356f08a642fa276d334ac3be: missing contexts
    * move function only used in tests
    * refactor and silence warnings
    * make gobject client import more lightweight
    * need to install a newer Cython ourselves now
    * require Cython 3
    * use pip to install cython v3
    * Minor man page fixes
    * #4017 screen.backingScaleFactor move objc glue
    * show warnings until we can remove this function
    * #3964 call 'sync' before calling gstreamer
    * work towards eliminating gtk/util module
    * better diagnostic message
    * #3964 missed module file
    * #3964 run some basic pipelines for testing
    * #3964 add state dir to paths
    * #3964 add config file tools
    * #3964 split images from icons
    * #4017 scale OpenGL viewport on MacOS with 'backingScaleFactor'
    * should be usable as a window context manager
    * silence deprecation warning
    * #3964 forgot to add images
    * client may be None
    * use the safer superclass method (client may be None)
    * client may be None
    * shortcut out on zero exit code, remove debug logging
    * wait for window to register message
    * better backwards compatibility with v3.1.x clients
    * verify client connection has input configured
    * cosmetic
    * expose new 'about' subcommand
    * destroy about dialog with parent
    * #4023 also don't warn if enc_avif is missing
    * #3964 template
    * silence warning
    * add type hints and type fixes
    * correct type for tooltip, bug found thanks to #3978
    * fix bogus date
    * remove unused var
    * try to silence sonarqube
    * #4026 try to use an absolute path
    * #4026 log the failing script file
    * #4023 finally remove TableBuilder
    * #4023 convert to Gtk.Grid
    * timeout handler uses invalid attribute name
    * #4023 convert to grid
    * convert to Gtk.Grid
    * cosmetic
    * value returned should always be a string
    * #3978 force include pycryptography
    * #4023 convert to grid
    * Gtk3 had changed the get_pointer() return value
    * #4023 silence table warning
    * #4023 silence popup warnings
    * simplify using f-strings
    * show the rounded value, closer to the real value
    * #4025 one more redundant '%' with f-string
    * #4023 don't warn if dec_avif is missing
    * #4023 try to ensure we start printing on a new line
    * #4025 f-strings means we don't have to escape '%'
* Thu Oct 05 2023
  - Update to version 6.0+git20231005.a3c265d6:
    * use the program wrapper to name the process and window
    * remove unused screen, always 0 with Gtk 3
    * Cython 3.0.3
    * #3964 oops: forgot to add the configure scripts
    * #3964 run configure sub-windows as dialogs
    * destroying windows causes crashes on MS Windows
    * #3964 preparatory refactoring for new 'configure' GUIs
    * stricter types
    * match renaming
    * #3810 swap host and guest
    * move qrcode dialog with the other gtk dialogs
    * #4021 expose scaled size so clients can upscale
    * cosmetic: missing closing bracket in debug
    * fix crashes on MS Windows
    * damn: git reset un-added this file
    * misspelt package name
    * #3810 add virtio-ivshmem documentation
    * typo
    * fix all dbus builds by using autotools
    * wheel is available in appstream
    * use the default location
    * move opengl example code
    * remove global include dir
    * missed during gobject bindings refactoring
    * simplify
    * whitespace
    * #3978 cythonized versions can't be executed as files
    * generate the gui versions of the exec tools
    * git reset un-added the files...
    * fix deprecation warning
    * Cython can't handle the metaclass as a type?
    * #3945 build more packages for non-default python
    * remove outdated email address
    * build pyopengl for non-default python
    * find calling module on longer Cython call stack
    * clients can send us plain strings
    * qrcode: gracefully fail during menu creation
    * missing subcommand in usage text
    * fix relative paths, disable button if script not found
    * force Gtk v3
    * watcher pid must be an int, specify Gtk version and initialize display source
    * don't expose numpy types
    * can't add tuple to a list
    * fix refactoring: video_helper renamed
    * max_display_no is an int
    * #3978 explicitly include modules that py2exe can't detect in cythonized modules
    * remove TLS / SSL versions (deprecated)
    * remove prefix, fix u2f tool path
    * remove prefix and match move
    * #3978 cythonize gl gtk3 module
    * fix gl gtk3 module path
    * remove debug
    * remove nasty_rgb_via_png_paint
    * #3978 Cythonized version uses stricter type checks
    * #3978 include xpra.client.gtk3 explicitly
    * #3978 more cleanups and refactoring
    * #3978 cythonized version is more strict
    * update packaging to match refactoring
    * #3978 more refactoring
    * move all dialogs and examples to gtk_common
    * correct type hint for exit code
    * #3978 profile must be a string
    * #4017 fix MacOS arm64 download links
    * #3978 cythonize more and automatically
    * frominfo can also be a tuple
    * remove redundant gst prefix
    * include renamed splash screen
    * needed to force it because of gitignore
    * split util functions
    * doh: options do still have the '_auth' suffix
    * rename auth modules, window source
    * simplify: rename
    * move mdns bits where they belong
    * remove redundant suffix
    * remove redundant 'mixin' prefix for features
    * simplify filenames
    * remove redundant suffix
    * remove redundant prefix
    * make colorstreamhandler optional
    * ignore warnings when setting window opacity
    * silence gi import warnings
    * #4014 forward port of b9d8fc7de69e8675a9ac50fe534fd9f1a2d34d60
    * #2177 silence more Gtk warnings
    * ExitValue is an int or ExitCode
    * always clean the signal watcher pipes
    * use 'exec' debug logger for the signal watcher
    * use the correct python command to execute signal watcher
    * don't shadow the 'label' function name
    * #2177 silence more Gtk warnings
    * #3978 client properties must be a dict
    * #2177 silence Gtk set_image related warnings
    * silence warnings #2177
    * use correct type
    * Reverse the aspect ratio (height, width) in webcam-start message
    * we need a version, assume 0.x
    * #3978 Cythonize a lot more
    * #3978 stronger type hints
    * #3978 do_legacy_bool_parse requires a str
    * #3978 Cython can raise a ValueError here
    * #3978 exit code is an int
    * #3978 function signature requires a dict
    * bell name should always be a string
    * accept_client_ssh_agent requires a string
    * don't try to cythonize more using an old Cython
    * use plain dict for info data
    * exclude more modules with older Cython
    * doh: special case for typedict, don't fall through
    * #3978 fix top client, skip util with older versions
    * remove redundant prefix
    * typedict is a dict, but Cython is more strict
    * #3978 workaround for older versions of Cython
    * #3978 some files require Cython v3
    * ExitCode is a valid return value
    * updict has been removed
    * return a dict instance not a typedict
    * avoid cythonization errors
    * bah, ExitCode is an int..
    * 'file_transfer' would be hard to cythonize
    * remove more redundant prefixes
    * remove redundant hints
    * pointer.relative was already available in v3
    * #3978 even more modules can be cythonized
    * minor type fixes
    * function must return a tuple of strings
    * message must be a string
    * Revert "latest VirtualBox driver does work, at last"
    * better debug logging
    * remove legacy flat dictionaries
    * headers is not a dict
    * add server script test
    * remove redundant prefix
    * socket_filename must be a str
    * exit the splash screen on read errors
    * avoid uinput warning when it should not be used
    * less certainty in the warnings
    * one wayland capture warning is enough
    * with Python3 we can write memoryviews directly
    * add env option to force wrap mode
    * always read using memoryview
    * oops: always update start offset
    * simplify: add group to caps
    * use the same prefix for all attributes
    * all servers support notifications-close
    * shortcut out if bind=none
    * allow builds without the nvidia codecs
    * fps should be an integer
    * function has been removed
    * prefer native trays to Gtk.StatusIcon
    * remove VirtualBox gl check
    * avoid None value errors
    * socket_info is not always a string, can be a tuple
    * remove special legacy flag for 'scroll' encoding
    * silence missing plugins warnings
    * capture and silence WGL mesa warnings
    * cosmetic
    * move docstring where it is needed
    * #3978 need to ignore more generated files
    * delete_tray_window no longer needs to return a value
    * update type hint to match new function purpose
    * simplify
    * #3978 cythonize more
    * NotifyIcon's main requires argv
    * use an int for sequence numbers
    * use a stronger type
    * more readable error
    * #3978 simplify and allow cythonization
    * fps is an int
    * dpi must be an int
    * oops: wrong attribute was set
    * file missed during refactoring
    * fixup cee8bc78c3b6d2e5d79227da452eef9b3cc2adaf
    * Revert "always build with setuptools"
    * move server components in a sub-module
    * always build with setuptools
    * #2998 move avif to codecs-extras
    * don't rebuild just because was updated
    * #3381 to exe or not to exe, sometimes
    * #4009 catch invalid display names earlier
    * #4006 MacOS menu code is instantiated before the client
    * remove 'Intel' from greylist
    * latest VirtualBox driver does work, at last
    * #4005 v5 servers still check for this feature
    * bump release no to test updated dependencies
    * hard dependency on the python version
    * remove last link to the old mailing list
    * remove links to the old mailing list
    * better test for gnome and variants
* Wed Sep 13 2023
  - Update to version 6.0+git20230913.0f036f0b:
    * better backwards compatibility
    * #3956 prefer Gtk.StatusIcon on every X11 desktop except gnome
    * restore 'help' handling for video options
    * minor ruff warnings
    * forgot to include the cuda build script
    * unbreak the CI
    * #3808 build CUDA kernels in advance
    * move check to a function
    * require Cython 3 (fix check)
    * #3995 send the modified packet
    * don't setup ssh agent forwarding when proxing
    * no more string vs bytes problems here
    * simplify adding the 'Compressed' wrapper
    * doh: use the new-value supplied
    * use dedicated flag for pings
    * #3956 try Gtk.StatusIcon first on non-gnome/kde xorg sessions
    * simplify: use lists without None values
    * cannot follow a tray
    * remove unused subclass
    * #3995 match new exception type
    * support prefixed encoding caps
    * don't send cursors without a matching encoding
    * #3999 safer automatic recursion
    * all supported versions have these features
    * Refactor pulseaudio '--load=module arg1=value1 ...' option creation
    * Create Xpra-Mic-Source pulseaudio remapped source for Chromium
    * Fix computation of microphone_enabled when "on:device" flag is provided
    * Parse "Monitor of Sink" instead of device.class when it is not reported
    * Clear props before processing each pactl output block unconditionally
    * assume the clipboard is enabled if we have caps
    * drop legacy keymap caps
    * even 3.x already had this flag
    * support legacy dpi caps for html5 client
    * #3987 expose more specific session-types
    * #3997 ignore missing cwd
    * only clone the video helper when needed
    * prevent race condition
    * #3582 don't include codec version info by default
    * all versions supported have 'ping-echo-sourceid'
    * simplify threaded init server-source callback
    * simplify
    * constify
    * avoid warnings with older clients
    * now safe to use more structured data
    * simplify compatibility
    * remove unused function
    * handle namespaced proxy caps
    * simplify: 'control_commands' is a list of strings
    * newer servers require a qualified value
    * remove legacy encryption caps
    * require namespace for encryption caps
    * remove unused mode
    * try not no flatten caps
    * remove legacy flattened caps
    * add type hints
    * we do have a command line option for this
    * bail out early
    * remove legacy 'deflate' packet
    * unit tests need an 'after_handshake' dummy function
    * oops, fixup 141e01705f25d4448201be624f091de32efa6774: only for python3
    * #3956 wait for handshake to generate the menu
    * remove unused imports
    * never send None values
    * better formatting
    * #2197 suggest the gnome package
    * don't install python3-cups unless we're going to use it
    * #2197 add a 'xpra-client-gnome' package
    * there are no python prefixed cups packages
    * we need setuptools to build with python3.12+
    * we can't build pycuda for non-default python versions
    * update unit test to match new code requirements
    * remove more legacy options
    * remove more legacy flags
    * remove legacy flag
    * remove more legacy flags
    * lowest version we aim to be compatible for is v5
    * all supported client versions have namespaced caps
    * drop support for non generic requests
    * all supported versions should set capability flags
    * all supported versions have 'connection-data'
    * assume all servers can change bandwidth limit
    * more useful settings?
    * #3943 add dpi settings in manifest file
    * move cuda workarounds together
    * bail out early
    * #3959 the default cursor data already includes the encoding
    * remove broken test file
    * #3988 polymorphic functions are hard
    * #3930 use dataclass
    * #3930 simplify
    * #3930 Python 3.8+ provides this function
    * save space: remove unused codec DLLs
    * #3711 tray restart fixes
    * cosmetic
    * we don't need numpy without cuda
    * strict type fixes
    * fix warning so ruff can run
    * we don't need numpy unless we enable the nvidia codecs
    * simplify
    * missed from refactoring
    * can't use bare types
    * stricter argtypes and restype
    * #3711 add debug logging of event numbers
    * #3988 silence modify_font warnings
    * #3988 silence get_pointer warnings
    * #3988 add arguments to ctypes definition
    * Add gtk3 and groff to mingw dependencies.
    * packets don't use strings any more
    * add debug logging
    * #3985 must initialize to False
    * unused import
    * minor refactoring fixups
    * remove 'u' string workaround function
    * fix: warn once per unkown preset
    * #3873 workaround the deprecated presets
    * use f-strings, remove 'engs'
    * #3873 preparatory refactoring
    * #3929 CI now needs it as well
    * we don't use ffmpeg anymore
    * #3929 use pkg-config to find xxhash lib
    * #3929 install xxhash for MS Windows builds
    * #3929 build against the system xxhash libs
    * more refactoring forgotten by pycharm (cython files)
    * same as 0b19be6ef716a2af7988d15d433ae4fc5e8095d4 but for arm64
    * don't build openh264 on Fedora-riscv64
    * simplify
    * #3592 also build openh264 DEB codec
    * missed x264 from codecs!
    * forgot to update packaging file list
    * #3592 we want at least one h264 decoder enabled
    * #3930 all supported clients handle the flush flag
    * simplify: always enable notifications actions
    * vsock is now a submodule
    * pycharm refactoring missed these
    * remove debug logging
    * assorted refactoring fixups
    * one more redundant prefix
    * pycharm missed this during refactoring
    * move cuda bits to their own submodule
    * forgot to add the renamed files
    * remove more redundant prefixes
    * fixup class merge
    * forgot to remove yaml here
    * add flow info
    * match simplified packet types from 5dd1336a5cc9f7863f796b5ca399f460c775a676
    * remove redundant superclass
    * oops: fixup 5dd1336a5cc9f7863f796b5ca399f460c775a676
    * #3930 use prefixed capability for webcam
    * #3930 use the same prefix for all subsystem packets
    * remove redundant prefixes
    * #3930 rename for consistency with prefix
    * oops: attribute has been removed
    * #3981 add webcam subsystem
    * #3981 more subsystems docs
    * #3930 remove unused legacy flags
* Tue Sep 05 2023 Scott Bradnick <>
  - Converting python3-* items to %{python_ver}-*
* Sun Sep 03 2023 Scott Bradnick <>
  - Leap 15.5 and 15.6 _can_ build again with Python3.11
    * Need to have the following packages available:
    * python3[11]-Cython      v3.0.2
    * python3[11]-flit-core   v3.8.0
    * python3[11]-wheel       v0.40.0
    * The versions from devel:languages:python work, but until those
      are part of the Leap images, this isn't possible
* Fri Sep 01 2023
  - Update to version v6.0+git20230901.77211231:
    * rename clipboard module for better consistency
    * #3930 remove yaml
    * remove last references to rencode and bencode
    * #3930 remove unprefixed legacy compatibility
    * #3981 mode subsystems doc stubs
    * pynvml 12.535.108
    * #3981 add documentation on network protocol
    * #3978 minor fixes for Cython
    * #3976 fix check for existing dbus instance
    * try harder to show a valid exception message
    * move x11 dependencies to x11 package
    * better warning message for invalid audio requests
    * if 'load-balancing' is unset, don't log a warning
    * silence zeroconf update errors
    * Cython 3.0.2
    * FULL_INFO valid range is 0..2
    * #3592 remove legacy flat audio caps
    * #3592 make more assumptions about client caps
    * #56 assume that we can resize the display precisely
    * #3973 move code to a testable function
    * #3973 doh, use the actual mode string
    * log the arguments
    * don't try to build pycuda for default python
    * EL8 can now build pycuda using a python3.11 prefix
    * group imports
    * #3973 try to reverse the mode alias to find the argument
    * #3974 Python 3.12 compatibility
    * Cython 3.0.1
    * #3974 no python3.10-cups package in Fedora 39?
    * #3974 workaround debug package errors on Fedora 39
    * doh: typo
    * #3974 workaround pandoc builds without lua filters in F39
    * simplify: require Cython 3
    * remove unused code: Ubuntu 18.04 is not supported
    * missing f-string qualifier
    * improve test coverage
    * workaround for Fedora 39 builds
    * #3968 move 'xpra-codecs-nvidia' to suggests
    * fixup RHEL builds: no pycups
    * doh: use correct path for archive
    * #3945 make it possible to build multiple python versions in parallel
    * get revision number from source archive
    * prettify output format
    * #3945 simplify? only a single package should obsolete another one
    * #3968 move python3-pycuda to recommends
    * typo
    * update changelog, remove duplicated entry
* Mon Aug 21 2023
  - Update to version 6.0+git20230821.3093d53d:
    * #3967 authenticate_check is now an attribute, set it
    * no need for quotes, silence buggy? rule
* Mon Aug 21 2023
  - Update to version 6.0+git20230821.3434dd60:
    * add pre-commit hooks
    * fix forwarding of 'draw' packets with stripped alpha
    * simplify: load pycups from per-platform implementation
    * silence some minor ruff linter warnings
    * search & replace gone wrong
    * unused imports
    * oops: typo
    * oops: undefined variable
    * fixup 5995d0efd3dcc9974eeb874fd338f5b8db8ecea4: pyupgrade messed this one up
* Sun Aug 20 2023
  - Update to version 6.0+git20230820.7cda1ac3:
    * partial revert of syntax upgrade
    * add arm64 MacOS download link
    * modernize the codebase using pyupgrade
    * run opengl check on MacOS and MS Windows
    * another stray dash
    * use the alias
    * correct NSObject init call
    * MacOS 'configure-display' packets can be large because of ICC data
    * just 'install', using --root messes things up
    * strip newlines from arch
    * prettier output, with unit tests
    * safe to enable again thanks to aaf546ba056f3afac68069c00364d071d9a2baa0
    * typo caused warnings
    * support namespaced dpi caps
    * the bind option is a list
    * the bundler needs the xpra script installed
    * log clipboard backend failures
    * logging pids without '=' for consistency
    * search and replace fixup
    * add screenshot on home page
    * fixup search and replace gone wrong
    * don't try to enable dbus client mixin on win32 or macos
    * missing a listener socket should not be fatal
    * add debug logging
    * simplify
    * fix xdg import
    * decode compressed logging packets
    * update logging to match new function purpose
    * simplify
    * remove outdated info, use the new rc location
    * oops: 43ce90cc5d77ccfdd6144f130189f9db9ff1f796 missed the trailing newline
    * don't try to remove sockets that don't exist
    * firewall-cmd is part of firewalld
    * move gtk-update-icon-cache to client-gtk3
    * duplicate obsoletes / conflicts, remove duplicated group
    * fixup search and replace gone wrong
    * we need a logger for printing the warning
    * rename to avoid linter warnings
    * refactoring misnamed
    * missed from conversion to dataclass
    * import cleanup
    * fixup linter warnings: reserved keyword
    * oops: no access to import exception here
    * fixup: missing import
    * type hint fixes
    * fixup refactoring: not self here
    * remove unused imports
    * fixup: match parameter name change
    * remove support for ancient versions
    * re-instate missing function
    * #3703 use correct exception type for invalid data
    * #3945 more helpful error message
    * always build an 'xpra' metapackage
    * simplify?
    * #3945 simplify and manage all dependencies / requires ourselves
    * recommend x11 package at top level
    * simplify?
    * #3945 'obsoletes' should trigger removal of older versions
    * #3945 enable upgrades to v6 on RHEL and clones
    * fix check: prefix is always set
    * try harder to prevent conflicts with older versions
    * try harder to manage the dependencies ourselves
    * another stray dash
    * fix double dash in filename
    * #3962 auto dependencies get confused by our python3 command
    * oops: deps were moved to description
    * the python-prefixed xpra packages do provide 'xpra'
    * ignore debug which is empty and errors out on F37
    * recommend is strong enough
    * the bin prefix is only on Fedora
    * oops: selinux is not related to multi-python3
    * #3945 RHEL and clones don't have a valid 'python3'
    * download source and verify checksum
    * generic repository dependency table
    * check Python version early
    * #3961 add unit test
    * more instances of misplaced '| None' syntax
    * Moved deletion of x,y to where those variables live
    * CI choked on this syntax
    * enable source fetch since we have the checksum
    * minor linter warnings
    * Debian and Ubuntu choke on evdi
    * missing import (fixup 4713b7a4d2e2b3b5a980683725817f26262686b1)
    * implement non-32 formats for ClientMessage
    * #3945 more common scripts moved to 'xpra-filesystem'
    * #3930 use dataclass
    * cosmetic
    * #3930 switch to monotonic_ns
    * oops: wrong test
    * we now have to fake the 'video' attribute
    * we now have to enable FULL_INFO to test get_sys_info
    * #3952 don't show empty video info
    * #3582 limit default info output further
    * #3592 missed from 058f8f229d514848fabfc77de72da7d7cf7a490a
    * #3953 turn off most subsystems when minimal=yes
    * remove unused f-strings
    * remove unused f-strings
    * #3952 add switch to disable video
    * #3945 ensure the main scripts are version agnostic
    * add newline at end of files
    * #3945 'filesystem' package conflicts with older 'common' package
    * explicitly state that we always return 'True'
    * #3930 use standard library
    * #3930 make it easier to trap exceptions and log them
    * #3930 convert to use dataclass
    * add type hint
    * add python icon
    * #3945 use the same spec file for pycairo
    * show python implementation and some version details
    * simplify syntax
    * #3945 split into new common 'filesystem' package
    * fix formatting of old changelog entry
    * #3945 always use prefix
    * remove duplicated package
    * silence warnings with rpmspec
    * doh: prefix already includes '-'
    * #3945 we always need pillow
    * #3592 remove x265
    * #3930 replaced with standard library managers
    * #3945 RHEL fixes
    * #3945 use madvise
    * #3945 only override when needed
    * RHEL doesn't have this package
    * only build xpra for newer python versions
    * openh264 is only for Fedora
    * #3945 no need to block specific distros
    * #3945 build python3.11 packages for RHEL
    * #3945 build python3.10 and python3.12 packages for Fedora
    * silence sonarqube warnings
    * fixup quit_handler changes
    * #3930 simplify
    * #3930 use merge-update-operator
    * #3930 expose native thread id
    * #3930 self-documenting expresssions
    * #3930 use SimpleQueue where sufficient
    * #3930 replace HideStdErr with redirect_stderr
    * #3930 replace DummyContextManager with nullcontext
    * we don't support python-lzo at all any more
    * we don't need python-lz4
    * no support for Fedora versions older than 37
    * #3945 support build for multiple PYTHON3 targets
    * #3945 build packages for 'PYTHON3' env var version
    * avoid sonarqube linter warning?
    * extraneous f-string prefix
    * missing f-string prefix
    * missed changelog entry
    * forgot to remove ffmpeg here
    * don't just warn, fail the build
    * more imports needed to be re-added
    * bump the debian script version
    * forgot to also re-add the import..
    * unbreak installations _with_ dbus...
    * something mangled this line
    * older versions of cython choke on bare types
    * handle missing python-dbus more gracefully
    * missed from renaming
    * more helpful failure message
    * fix python3.10: 'type' object is not subscriptable
    * bump version
    * #3930 don't import from 'typing' if we don't have to
    * #3930 replace 'Optional' with '| None'
    * #3592 missed from 20bb5f04233dc650022bc67d5904566d1b158af9
    * #3592 remove legacy packet format parsing code
    * #3592 remove ffmpeg modules and dependencies
    * #3592 remove legacy workarounds
    * #3592 use pkcs7 padding by default
    * #3592 remove legacy options, 'set-deflate' packet
    * #3592 remove support for dummy versions older than 0.4
    * #3592 remove outdated combinations
    * #3592 remove unused rpc subsystem
    * forgot to remove 'zlib' here
    * handle missing mmap caps gracefully
    * #3592 with Python 3.10+, we don't need typing-extensions
    * #3592 all distros should support zstd nowadays?
    * #3592 we require int(IntEnum) support
    * #3592 generic 'wants' flags
    * #3592 safe to remove net_utf8 since we require rencodeplus
    * #3592 assume wants_default_cursor
    * #3592 assume randr_notify is available
    * #3592 remove fakeXinerama
    * require structured mmap caps
    * #3592 assume flush is used
    * #3592 assume eos is supported
    * #3592 assume xdg-menu-update is supported
    * #3592 assume info-namespace (unused anyway?)
    * #3592 remove ogg-latency-fix and bundle-metadata
    * #3592 remove zlib compression
    * remove debug logging
    * #3592 require rencodeplus, remove bencode and rencode
    * #3592 require gcc 9 or later
    * #3592 remove support for nvcc versions older than 11.6
    * #3592 remove old libav shim
    * require Python 3.10 or later
    * dep update and fixup typo
    * #3932 clear socket upgrade options
    * source is now a required parameter
    * don't enable ffmpeg encoder by default
    * #3750 don't enable gstreamer encoder by default
    * #3937 replace remaining packet modifications
    * fix variable name
    * #3937 use utility function to modify packets
    * remove 'Python3' from filenames
    * #3934 add 'freetype2' to typelibs we need
    * #3750 use the correct stream attributes for av1
    * more consistent way of easily selecting decoder formats
    * don't error out on missing codecs
    * don't use XDG_RUNTIME_DIR on MacOS
    * adapt to prefix / root changes in 416b65a9998f4430b09cf9227534de46dfcb924b
    * remove setuptools workaround, run 'bootstrap' early
    * missing CR looks bad on github
    * #3937 initialize all attributes
    * #3936 the beta repository now includese riscv64 packages
    * don't do parallel builds on arm64 or riscv
    * #3930 add typing-extensions to CI env
    * #3930 workaround for older python versions
    * #3936 don't enable parallel builds on riscv
    * #3936 no x264 for riscv64 - for now?
    * add riscv64 package list
    * bump version
    * we can't use --no-lintian with sid riscv64
    * add Ubuntu Mantic Minotaur
    * python packaging workaround everywhere
    * add code of conduct
    * missing prefix
    * #3667 no longer failing it seems?
    * refactor and avoid one more typo
    * typo
    * more type hints
    * add type hints
    * try to clean before the next test
    * #3667 tests have been fixed
    * #3933 skip newlines until we find the first ws header
    * send all heaaders in a single write call
    * #3933 add debug logging
    * urrlib validates port numbers for us
    * simplify test code, more detailed error message
    * #3667 use a fake html5 client to enable websocket connections
    * fix type hint
    * fix XPRA_USE_CYTHON_BENCODE=0 as used by the unit tests
    * this should now pass again, even on the CI
    * fix file caps parsing
    * we need strings here
    * add debug logging
    * config file limit is actually 1G
    * easier using '--root=' ?
    * use the same default value as the config file
    * missing imports / cleanup
    * fix debug logging
    * typo
    * always cleanup
    * use both prefix and root to install datadirs
    * more type hints, require source for make_hello
    * missing import
    * use constant
    * doh: syntax error
    * #3927 add type hints
    * remove unused attribute
    * #3927 stricter data types
    * #3927 @SuppressWarnings is still not supported by SonarQube, but NOSONAR is
    * older versions can't parse '*tuple'
    * xxHash 0.8.2
    * #3928 silence Java warnings due to huge command lines
    * is this syntax working with older versions like the CI?
    * more resilient code, fixes linter warning
    * use ugly syntax for older Python versions
    * #3927 annotate all packet handlers
    * #3927 last few sonarqube warnings
    * wait value is in milliseconds
    * #3807 Python 3.12 should now build without warnings
    * add more changes
    * add link to the ticket
    * add link to discord
    * update dummy info
    * split icon loading function, fix missing idle_add handler
    * better error message format
    * rgb_format must always be a string
    * force x11 backend in 'opengl' check, for now
    * make code more reusable
    * missing import
    * #3807 fix warnings with Python 3.12 and Cython 3.0
    * doh: we need an exception to log
    * 'password_file' is always a string
    * update the release notes
    * #3922 improve 'challenge-handlers' documentation
    * no need to use wildcard
    * Cython 3.0.0
    * try to workaround buggy tools on centos stream8
    * simplify regex
    * minor linter warnings
    * don't override parameter
    * more linter warnings
    * no need to use an attribute
    * define all build attributes in init
    * update test to use strings
    * missing import
    * more linter warnings
    * don't divert logging in debug mode
    * bytes remnant
    * match switch to strings, add missing type hint
    * fixup missing type hint import
    * match change in superclass
    * #3593 update ssh agent symlink when ui driver changes
    * #3593 more reliable cleanup of agent symlinks
    * #3593 move function to net.ssh.agent
    * #3623 recommend libnm with xpra client
    * missing bindings raises a ValueError...
    * #3623 use NM to get adapter type
    * move inline function to static function for readability
    * whitelist for env vars preserved
    * simplify: use strings
    * str vs bytes bug: dbus env uses bytes
    * remove debug
    * type hints
    * also force x11 backend for pyopengl
    * move win32 specific auth code to platform module
    * re-use existing mode
    * more type hints
    * log details about the mode we're creating
    * always return a boolean
    * type hints fixes
    * simplify
    * missing type hint import
    * events now use plain window xid
    * update test to use tuple
    * use the new key
    * more type hint fixes
    * exclude more optional modules
    * Cython 3.0.0rc2
    * #3778 support legacy ssh:host:display format
    * prevent splash from hanging
    * shortcut out on any exit code
    * don't shadow the function name
    * #3778 don't specify a default username
    * simplify and wait for all IO threads
    * assume dummy 0.4 is available
    * we must compare using strings
    * stderr_print (now renamed) always adds newline
    * #3313 enable auto-upgrades by default
    * #3313 auto-upgrade tcp sockets to ssl
    * missing packet type
    * also use no-prefix colour output for 'id' subcommand
    * duplicated newline
    * add debug logging
    * use the correct filename for saving the ssl cert
    * pynvml 11.535.77
    * Cython 3.0.0rc1
    * aioquic 0.9.21
    * also match sddm
    * #3917 try hard to find a valid XAUTHORITY file
    * new 'interface' requires this method
    * minor linter warnings
    * #3913 earlier and stricter packet validation
* Fri Jul 07 2023
  - Update to version 5.0+git20230706.bb1ecc9b:
    * fix invalid syntax introduced by bef7c7e4c67102689b13ccae8cc13c5a86e9af57
    * cosmetic
    * doh: invert check
    * more minor pycharm linter warnings
    * simplify: let Popen deal with strings
    * string vs bytes confusion: method never called?
    * get_all_x11_layouts() uses the python lxml module
    * more type fixes
    * don't try to compare bytes with strings
    * protocol error packet creation failure
    * pycharm cosmetic warnings
    * typo
    * doh: try both schemes
    * verify the digest is always a byte string
    * line data indexes had changed
    * #3881 use text mode to avoid encoding issues
    * more type hints fixes
    * type hints fixes
    * lookup alternate auto-proxy scheme
    * better error message
    * fix missing import
    * #3914 use the correct namespace
    * oops: missing import
    * #3914 python-pillow removed a useful constant alias
    * #3909 forgot to update to new api here
    * type hints and linter fixes
    * forward any pre-read data we may have
    * use integers explicitly
    * exception is not used
    * honour all 'start' options with remote starts
    * make more authentication handler options configurable
    * fixup table formatting and some ticket links
    * remove duplicated files
    * #3899 fixup a6dfd3e116280e39c1e8de1bffe7585df4660c1f
    * #3899 allow keyboard shortcuts in readonly mode
    * add type hints
    * add Debian Trixie: copy bookworm library versions
* Fri Jul 07 2023 Scott Bradnick <>
  - Removing more Recommends:
    * python3-asn1crypto
    * python3-cffi
    * python3-decorator
    * python3-idna
    * python3-ipaddress
    * python3-packaging
    * python3-pyasn1
    * python3-six
* Fri Jul 07 2023 Scott Bradnick <>
  - Removing some Requires/Recommends after discussion w/
    upstream developer
* Fri Jun 30 2023 Scott Bradnick <>
  - Adjusting 'ffmpeg_ver' to 6 for 'suse_version >= 1550'
* Wed Jun 28 2023 Scott Bradnick <>
  - Adding "Source100: xpra-rpmlintrc" to appease SR#1095874
    being declined
* Wed Jun 21 2023 Scott Bradnick <>
  - Adding more Recommends per:
* Tue Jun 20 2023
  - Update to version 5.0+git20230617.2a908f54:
    * minor type hint fixes
    * use the more common filename
    * more type hints
    * replace buster with trixie
    * same file, but more consistent filename
    * #3863 use the new key everywhere
    * more type hints
    * unused import
    * get_nsview_ptr needs a gdk window
    * misname callback
    * PyOpenGL-accelerate 3.1.7 requires numpy to load
    * more type hints
    * try harder to format the log record
    * don't ship cython's html files
    * no need for nested exceptions
    * skip None values
    * '<' means '<=' and we have to use '<<' to mean less than
    * replace 'assert' with more specific exception types
    * try harder to prevent conflicts with older 'xpra' packages
    * wrap all tuples, for better compatibility with type hints
    * older versions of Python struggle with the type hints syntax
    * more type hints
    * missing build deps
    * better exception message
    * compatibility with newer versions of python-cryptography
    * reuse the new util function
    * don't access stderr directly
    * don't build nvidia modules if cuda is disabled
    * #3895 use xpra[_cmd].exe to launch subcommands
    * unused import
    * #3895 better error message
    * fixup pydev spurious import, and add more hints
    * avoid crashes on MS Windows when exiting using key shortcuts
    * Make pulseaudio scheduling configurable via XPRA_PULSEAUDIO_* env-vars
    * cosmetic (for testing gpg signature)
    * testing signature
    * minor type hints updates
    * more type hints
    * do_process_mouse_common must return a bool
    * #3872 dumb capture and encode streaming mode
    * #3750 make code reusable
    * more type hints
    * #3750 register the correct type
    * more type hints
    * whitespace
    * silence warning
    * minor type hint update
    * better debug logging and error handling
    * also handle 'ValueError' in fallback path
    * better debug logging, type hint
    * #3883 all focus updates must go through 'recheck'
    * better wording
    * remove debug
    * show more of the overly large packets
    * handle one pixel oddities more gracefully
    * missing return value (oops)
    * always free the AVFrame in error paths
    * fix libspng link
    * fixup mess that pydev added
    * fix invalid type hint
    * improve type hints
    * more type hints
    * more type hints
    * fix vsock parsing: use the new function name
    * pylsqpack 0.3.17
    * more type hints
    * fix type hint
    * more type hints
    * fix linter warning
    * fix linter warnings
    * don't rely on initialization order
    * VideoSubregion needs timeout_add and source_remove defined
    * remove unused import
    * more type hints
    * #3882 fixup 053b87fb56664ca2bebed23a577af4c508440691
    * improved type hints
    * type hints for delegated platform functions
    * return None explicitly
    * whitespace
    * remove now unused import
    * linter warning
    * don't bother with session tickets
    * more linter warnings
    * more complete implementation: add close_notify
    * doh: server_window_signals is a whitelist
    * add type hints
    * f-stringify
    * re-enable wheel event handler
    * debug to match actual code
    * missed module from name stripping
    * minor linter type hints warnings
    * saner handling of scalar X11 properties
    * #1995 the new api doesn't use the 'format' attribute
    * better detection of X11 vs Wayland
    * add debug logging, use default display from env
    * oops: forgot to update this test
    * setuptools workaround needs another workaround
    * use consistent datatypes for authentication functions
    * fix more linter warnings and add type hints
    * fix more linter warnings and add type hints
    * silence linter warnings
    * factors use a dictionary with further details
    * rounding gives us more "precision" of sorts
    * add type hints
    * add docstring, fix linter warnings
    * a cleaner / simpler method makes the linter happier
    * hide python logging logger instance attribute
    * don't access the 'logging' logger directly
    * remove unused code
    * keep track of shell commands
    * merge 'gtk_base' into gtk3
    * make code easier to follow
    * use List to make it easier to manipulate
    * remove unused attribute
    * clearer decision making
    * fix crashes on win32 when using keys to close
    * move all environment init to platform support files
    * filename was wrong, did not match anything
    * #3875 all entrypoints need the cryptography openssl workaround
    * fix linter warnings on non-posix OSes
    * some Cython / gcc versions can't handle XIf_predicate
    * #3877 fixup 1da6fe5bbe9e456d5aae12bfd1e6501dbce67281
    * add xsettings type
    * syntax compatible with older Python versions
    * use hints from 'typing' module
    * #3872 add 'stream' encoding option
    * type hints
    * missed from mass rename
    * fix minor linter warnings
    * minor type hints updates
    * missed from mass renaming
    * minor linter warnings, type hints
    * actually replace with new option name
    * hook horizontal wheel events
    * re-enable event handlers (was libffi build issue?)
    * remove unused code
    * don't close twice - as was intended?
    * actually update the 'senstivity' of the maximize option
    * doh: check all values
    * don't raise generic 'Exception'
    * #1995 fixup type name
    * simplify server mixin names
    * simplify source mixin names
    * use typing module for hints
    * move gtk bits to gtk server base
* Mon May 29 2023
  - Update to version 5.0+git20230529.246ad1fe:
    * round to nearest for smoother scrolling
    * more mypy type hints
    * typo
    * #3868 catch KeyError and log it
    * more mypy type hints and fixes
    * #3859 fix undefined variable
    * Mar 12 2023 was a Sunday
    * doh
    * find_session_by_name now always returns a string
    * accept tuples as packets, silence validation warnings during tests
    * more mostly automatic type hints
    * more mypy inspired type hints and tweaks
    * #3867 update clipboard to use XIDs directly
    * more mypy inspired type hints
    * mypy finds latent bugs
    * mypy config and fixes
    * repos: define available architectures (amd64, arm64) for deb822-format On multi-arch systems (e.g. i386<->amd64) without specification of supported architectures "apt update" warns about missing packages (e.g. "Skipping acquire of configured file 'main/binary-i386/Packages' as repository ' jammy InRelease' doesn't support architecture 'i386'")
    * add type hints
    * Fix side buttons on win32 shadow server
    * control-c just gets out
* Thu May 25 2023
  - Update to version 5.0+git20230525.b53aab5f:
    * #3582 only include socket info when XPRA_FULL_INFO>0
    * move exception handling
    * trays don't send the buttons parameter
    * strip newlines from backtrace
    * simplify: make_instance will discard None values
    * explicit: always return a type, or None
    * unused import
    * compatibility with the latest cx_Freeze
* Thu May 25 2023
  - Update to version 5.0+git20230525.08cf69d4:
    * #1995 fixup tray support
    * simplify: convert to tuple of strings early
    * also use appindicator for application trays
    * don't try to use Gtk.StatusIcon on wayland
    * #3789 import can raise a ValueError..
    * also remove the patch file
    * Cython 3.0.0b3
    * #3860 add missing fake function
    * one more missed from the bindings renaming
    * oops: searched and replaced wrong
    * forgot to update some tests in eeb3b2686626f7f236d2d70680fcb4f58d811ac7
    * even more detailed error message
    * typo
    * match signature change for X11Window.XGetWindowProperty
    * rename x11 bindings (strip duplicated string)
    * more detailed error messages
    * debug logging to match new function names
    * forgot to update test
    * missed from 99731ac62e633d4c8b304f8f04fbe8ad60f71735
    * just use the default screen
    * more resilient checks
    * #1995 remove xsettings from gtk prop, display source shim
    * #1995 strip out more gtk bits
    * oops: 'reject' is a local function
    * add type hints
    * don't try to stop the same timer twice
    * more helpful failure message
    * fixup 'init-from' debugging
    * add some project urls
    * #3822 copy window depth and visual from parent window
    * this should not be needed
    * rename attribute for more consistency
    * only use synthetic unfocus events when needed
    * linter warning
    * typo
    * fix linter warning
    * #1995 split pure-X11 event parsing into a new module
    * move get_children to pure X11 bindings
    * simplify client rejection handling
    * add type hints
    * we can't get the server time from the root window
    * fixup! Support set_platform_layout in posix platform keyboard
    * fixup! Support set_platform_layout in win32 platform keyboard
    * fixup! Round-robin the keyboard layout_option by next-keyboard-layout shortkey
    * fixup! Support bool args for --key-shortcut=action(yes,true,on|no,false,off)
    * Support set_platform_layout in posix platform keyboard
    * Support set_platform_layout in win32 platform keyboard
    * Round-robin the keyboard layout_option by next-keyboard-layout shortkey
    * Fix the win32 keyboard layout constants for "ir" / "Persian (Standard)"
    * Support bool args for --key-shortcut=action(yes,true,on|no,false,off)
    * Fix parsing of the action("str") arguments for --key-shortcut option
    * #1995 use the X11 server time where really needed
    * #1995 re-implement server time
    * honour 'locked' keyboard helper config
    * Revert "use the non-deprecated variant"
    * remove debug and cancel timer on exit, fix indentation
    * #3857 poll for keyboard layout changes
    * missed from cf6cd99967c7d185cce5be9fcee77e4c5c21210a which was meant to be a move
    * doh: signature must be a pair
    * move Gtk icon loopup out of x11 window models
    * #1995 use xid for the parking window
    * better debug and error messages
    * #3822 use plain X11 calls to manage the corral window
    * docs say we should not process events with negative codes
    * Fix side buttons on Win32
    * #1995 don't try to manage the 'world-window'
    * use xid wherever possible
    * unused imports
    * the spec says that hints must use 'sv' as dictionary signature
    * only guess the signature if not provided
    * also wrap the keys
    * remove the gdk 'client_window' from the models
    * fix calls to window_info: must use xid
    * use hex for xids, skip send-event=True
    * don't raise exceptions when a window is not found
    * oops: add missing 'destroy' call, was leaking event receivers
    * more info details
    * make it easier to get the root xid
    * doh: we now use xid
    * no need to keep a reference to the root window here
    * fix desktop servers: pass xid
    * split root-overlay code into dedicated functions
    * use Python booleans where appropriate
    * move send_wm to pure x11 bindings module
    * typo: invalid logging category
    * validate xid to prevent bugs
    * only return the wm-name if we have a valid ewmh window
    * fast-start means no audio at all
    * doh: we can show the name, not the codec (which is missing)
    * #3822 don't keep a reference to the 'client-window'
    * #1995 don't convert xid to window in event parser
    * #1995 extricate Gdk window from more models
    * #1995 use xid for damage, composite and event routing
    * #1995 start replacing Gdk.Window with plain xid
    * add debug logging
    * setting debug events once is enough
    * #3822 use a weak reference to the gdk window object
    * just use the cached dimensions
    * also send pings on websocket connections
    * show what capture backend is used
    * add debug logging: gtk is deactivating it..
    * use the non-deprecated variant
    * this trims VirtualBox driver information
    * ensure the capture instance is ready to produce images
    * debug race condition in video helper init
    * prettier enums with older Python versions
    * we need more elements to play bell.wav
    * #3750 MSYS2 builds Streamer without NVidia support
    * zeroconf says 'server' defaults to 'name'
    * drop support for python-zeroconf versions older than 0.23
    * #3848 use a different repo file for CentOS 7
    * #3376 override the default logger with our own
    * #3850 move close-after-write handling
    * better XError handling
    * #3376 uvloop packaging for MacOS
    * use a more correct exit code
    * MacOS needs cffi, even with crypto baked in
    * #3376 use a new QuicConnection for each connection attempt
    * prettier
    * #3376 allow InitExit exception to propagate
    * enable color for 'info' and 'version' subcommands
    * lookup CC once and log it
    * fail early with a more useful message
    * more packaging workarounds
    * we don't build libaom on MacOS, skip the loader warning
    * make debug logging slightly less dense
    * #3850 use the asyncio thread to call transmit() and send_data()
    * remove unused logger, transmit after clearing flag
    * ignore empty values
    * doh: use any address, not local address
    * also clean cpp files
    * prefer IPv6 on Posix
    * clarify Xvfb vs Xdummy
    * recent versions already use a readable enum
    * disable substreams for now
    * fixup mmap datatypes
    * we have dropped the 'python-' package prefix
    * #3850 only use IPv6 if the target is also IPv6
    * prettier
    * ipv6 fixes for udp sockets
    * use a prefix for splash screen subprocess
    * prettier
    * #3850 try harder to handle failures more gracefully
    * #3850 simplify
    * #3850 skip empty values
    * #3850 honour empty SUBSTREAM_PACKET_TYPES
    * #3850 continue without sub-streams if we get a NoAvailablePushIDError
    * #3376 nothing can be sent if the closed flag is set
    * these amf elements are not available via MSYS2 on MS Windows
    * getuid is posix only
    * prefer python-zeroconf
    * try harder to support IPv6 addresses
    * improve IPv6 parsing
    * stop as soon as we find a valid backend
    * use explicit runtime error
    * typo
    * function is no longer exposed
    * update test to match refactoring
    * pydev, why here??
    * add type hints
    * better debug logging
    * move function where it is used
    * only allow logging tweaks via env vars for non-root users
    * fix some linter warnings
    * audio is the new sound
    * re-use gstreamer utility functions more
    * #3750 add AMD AMF API encoders
    * #3750 re-use the same functions and encoder options
    * easier to read?
    * shadow window models can come and go (WIP)
    * #3750 notify user when capture fails
    * cache gcc version
    * convert enums to rencodable values
    * more type hints
    * add type hints and use stricter types
    * we need the pipewire gstreamer element for fd portal shadow
    * #3750 add pure video mode if the client supports h264
    * only skip xpra's x11 displays
    * value must be a byte string
    * use the 'node_id' as window id
    * don't exit server when capture fails
    * we don't need gui access for 'displays' subcommand
    * simplify: _add_new_window_common already returns the wid
    * f-stringify and simplify
    * call x11 bindings more directly
    * missing logging argument
    * shortcut out if we can't access the display
    * simplify and verify 'default' cursor encoding is supported before using it
    * don't modify the list passed in
    * if we're connecting locally, skip video modules
    * prettier formatting
    * remove debug logging
    * dummy 0.4.1
    * better formatting
    * remove unused return value
    * minor warnings and type hints
    * avoid compilation errors with gcc version 7 and older
    * architecture in filename should be generic so it works on arm64
    * this is no longer needed - I think
    * pydev made more of a mess
    * avoid errors when running without a client
    * fix logging arguments error
    * no av1enc on MacOS
    * avoid permissions issues with mv
    * use a nest dictionary
    * update and re-order
    * simplify
    * use namespace for mmap
    * continue and accept the connection even if we get errors
    * use the new form
    * use a different user uuid for sending the file
    * move notifications, build and remote-logging to a caps prefix
    * don't use 'hello' packet to send the default cursor
    * only run systemd-run if supported
    * don't use '--user' argument as root
    * #3845 the newly added NV12 functions can't scale
    * allocate the buffer earlier, before locking the memory contexts
    * handle 'RGBA' window icon data
    * make it easier to run some scripts without GLib installed
    * f-stringify and add debug
    * more setuptools paths workarounds :(
    * ugly but more generic way to figure out the PYTHONPATH
    * document empty method
    * add type hints
    * setuptools behave differently on CI, obviously
    * fix force_flush_queue: Queue objects have get but not read
    * honour the prefix as install dir
    * f-stringify more
    * try to lookup ipv6 interfaces
    * more resilient: run even without sys.stderr
    * f-stringify
    * remove unused logging argument
* Thu May 04 2023
  - Update to version 5.0+git20230504.f088bc04:
    * pydev had made a mess of things
    * more linter warnings
    * linter finds real bugs
    * minor linter warnings
    * remove redundant statements
    * simplify
    * fix minor linter warnings
    * simplify
    * avoid raising a generic 'Exception'
    * invalid lines get logged, that's enough
    * avoid raising a generic 'Exception'
    * simplify
    * make props optional, same as uinput device
    * remove unused screen parameter
    * return value is always None
    * remove unused argument
    * fix linter warning: ignore device_id on win32
    * list_directory takes a single arg
    * comment out unreachable code
    * x and y aren't meant to be defined in this code path
    * continue even if we can't create the cursor we want to use
    * pygst.version is long gone
    * ignore 'mod2' aka 'Num_Lock' with Wayland clients
    * update the window's title when the window manager changes
    * enumify
    * this is an x11 desktop, so use x11 functions
    * clients should not use the session dir for sockets
    * better wording for invalid connection handlers
    * add missing context managers
    * better formatting
    * oops: forgot to update some paths during refactoring
    * rename xposix -> posix
    * move more x11 functions out of (x)posix
    * this looks better, apparently
    * unset XDG_MENU_PREFIX in sanitize_env
    * #3842 don't set attach=True if the html5 client will be connecting
    * move default ports constants to net module
    * #3842 open html5 client with --html=open or --html=firefox
    * #3841 fixup, doh: continue to support specifying a local display
    * #3841 simpler syntax
    * handle runtime failures gracefully
    * disable debug logging
    * use the already-running shortcut for more modes
    * expand doesn't require x11
    * always use lossless encoding for 'text', even when scrolling
    * minor updates: use dummy v0.4 rather than patch
    * don't warn about socket o750 permission for shared sockets
    * this test still fails on CI
    * update list of failing tests
    * include more details in failure messages
    * continue to test fakeXinerama configs without the lib
    * fix error when remote version is missing
    * use tuples for version data
    * cosmetic
    * don't always use root fallback directories
    * add debug logging
    * f-stringify
    * don't use XAUTHORITY files that are not writable
    * simplify
    * more numeric versions
    * #3582 trim all version numbers
    * use numeric version numbers for opengl properties
    * also use numeric values for xpra versions
    * try harder to ensure that versions are numeric
    * doh: override os.environ
    * fail with an explicit message
    * simplify: merge version info functions
    * don't force 'x11' Gdk backend so early
    * move 'bypass_no_gtk' to the function that imports Gtk
    * don't force the x11 backend for shadow servers
    * doh: negate switch
    * make it possible to override these Gtk settings
    * simplify: move env code to the context manager
    * automatically choose the current wayland display if we have one
    * silence linter warnings
    * Fix links in
    * make root and max size optional
    * use AUTHENTICATION_FAILED for all session setup failures
    * fix client disconnection
    * remove unused code
    * we want StrEnum if available
    * missing attribute can raise a TypeError here
    * don't log api response at error level
    * update defaults to what 0.15 clients supported
    * #3838 older versions of GStreamer don't have 'leaky-type'
    * older versions of Python don't have StrEnum
    * enumify move-resize constants
    * enumify notification ids
    * don't exit when screencast fails, just disconnect the client
    * log backtrace at debug level
    * enumify
    * simplify
    * Fixed many typos
    * show pid
    * doh: we need xauthority, just NOT under wayland shadow
    * try to prevent audio from accessing the DISPLAY
    * try to access keymap just once
    * log warning if we can't access the keymap
    * avoid crashes with wayland shadow servers
    * ignore 'none' value in video / csc lists
    * don't save 'xauthority' file for wayland shadow servers
    * skip XWayland and 'DEAD' displays when shadowing
    * use saved xauthority location for access X11 displays
    * log compressed size
    * detect xwayland displays as best we can
    * make randr bindings more reusable
    * unused imports
    * #3582 add prefix for encryption caps
    * simplify
    * log hello in both directions
    * simplify / safer: use whitelisting
    * #3582 skip version info
    * #3592 add prefix for file caps
    * force X11 Gdk backend for opengl probing
    * unused import
    * move var to where it is used
    * delay loading of video modules
    * fix X11 vfb access check
    * #3835 add 'audio=on|off'
    * unused default implementation should use a valid signature
    * choose the shadow backend based on the display
    * expose default info
    * parse wayland display sockets
    * add weak dep on package needed for patent encumbered libva codecs
    * better fix than 896c1228164f088545b1dbbc246bd8afa5d7c224: let the caller provide opts
    * restore wrongly commented out tests
    * find_session_by_name function takes a single argument
    * initial support for wayland session names
    * oops: test the return value
    * add some type hints
    * don't flood the screen or log file
    * the window mixin requires this one
    * handle missing features more gracefully
    * skip X11 warnings under wayland
    * add more details at debug level
    * handle missing display more gracefully
    * better reporting of opengl display probing errors
    * fail more gracefully when we can't access the display
    * add missing import
    * add type hints
    * #3582 don't expose encryption caps unless the connection needs them
    * simplify
    * odd sizes still cause us problems
    * when guessing the display, try LIVE ones
    * fix X11 socket filename (X prefix instead of ':')
    * simplify
    * wait longer for the display to be killed
    * stat the socket to ensure the X11 server is alive
    * don't ignore BlockingIOError, simplify try block
    * list wayland displays in 'xpra displays'
    * add type hint
    * enablenvh264dec unless we don't find nvidia hardware
    * cosmetic
    * require PyOpenGL 3.1.4 or later (released in 2019)
    * fail all nvidia modules the same way
    * also honour png/L when scrolling
    * nonsensical: partial revert of c5c8a105fb6c2b535bfed0169208d72433df43c5
    * #3825 also honour 'png/P' when scrolling
    * #3832 try harder to prevent invalid values sneaking in
    * ignore error closing session
    * #3826 honour png/P
    * fixup encoding validation, case matters
    * we don't use brotli for pixel data
    * simplify?
    * query list of encodings just once
    * fix error showing list of valid client encodings
    * #3824 it should be safe to re-enable this test now
    * enable intra-refresh and add env var toggle
    * ignore 'DISPLAY' when we are shadowing a WAYLAND_DISPLAY
    * don't lose the 'WAYLAND_DISPLAY' when shadowing
    * don't try to probe OpenGL on Wayland
    * having opengl properties is not sufficient
    * f-stringify
    * can't use intra-refresh with i_frame_reference>1
    * there is no exception to show
    * audio wrapper uses 'cleanup' but video interface calls it 'clean'..
    * Pass max buffer size to BrotliEncoderCompress
    * Update README - SonarQube + Discord
    * - SonarQube test
    * Create build.yml
    * Create
    * #3823 fixup: having a dummy driver version would disable Xdummy
    * #3750 close the session when the last user exits
    * show which display is failing
    * #3750 working, albeit slow, fd portal support
    * unused import
    * honour 'nox11' in pulseaudio utils
    * when using wayland screencasting, don't load any X11 bindings
    * use more explicit exception types
    * #3706 commented out stub for svt based encoders
    * intra refresh uses more bandwidth overall but avoids latency spikes with IDR frames
    * unused import
    * don't try to access X11 bindings under wayland
    * #3706 enable hevc decoding via vaapi
    * #3706 nable hevc via vaapi
    * #3706 my Intel laptop's libva can't do 'I420'
    * include more details with missing module failures
    * #3706 package gstlibav on macos
    * #3808 simplify Fedora 38 builds
    * #3706 refactor element signal tracking
    * #3706 fix gc element leak
    * use correct stream format attributes for av1enc
    * #3706 don't enable gst nvenc by default
    * #3706 enable av1enc, use caps so we don't need a videoconvert
    * #3706 support more decoders, including nvdec
    * add backtrace at debug level
    * #3706 move some functions to common
    * #3706 add more decoding options - some need do-timestamp=1
    * #3706 cleanup and add type annotations
    * #3822 always call trap pop after calling trap push
    * simplify
    * #3823 command line option for specifying the dummy driver version
    * add more CUDA error codes, move to a single location
    * nvidia-ml-py 11.525.112
    * use full tests in verbose mode
    * use more explicit exceptions
    * #3706 refactoring + disable b-frames for now
    * fixup 863cc2c994cba84414a3350e7c17ca3b244f7613
    * remove unused method and add annotations
    * convert gravity to an enum
    * add type annotations
    * the value is actually an int - the x264 codec can still use a float
    * #3818 support more combinations
    * #3706 refactoring, make it easier to understand
    * link to the html5 client
    * add more type annotations
    * #3706 make x264 speed and quality functions reusable
    * #3818 support create test wrappers from image file paths
    * #3818 make it easier to convert back to BGRX
    * add standard prefix for error
    * add standard prefix for error
    * #3816 gstreamer can pass the tests with uniform source images
    * simplify
    * use explicit exception types
    * #3706 doh, we want only a single byte per value
    * #3706 use the sample images for the given colorspace
    * #3818 alpha should be unused, but set it to opaque anyway
    * #3818 verify that the encoder doesn't modify the input buffer
    * make it possible to override 'readonly' flag from Python
    * fixup 1755bea6889bd16f46d4ffcc82f744eba6f0249d
    * #3706 add more complete roundtrip tests
    * improve exceptions and their messages
    * doh: we have to repeat the package name here
    * silence linter warnings
    * test all combinations of encoders and decoders
    * remove outdated mpeg1 and mpeg2 encodings
    * add test for YUV444P
    * make test code reusable
    * improve exception message
    * remove redundant lists
    * make this the default list for all centos builds
    * simplify: only covert to bytes when calling C api
    * expose the profile with the initial frame
    * the profile must be a byte string
    * #3706 simplify
    * add env var for selecting a profile for all csc modes
    * fix GLib lost timer warnings
    * #3706 increase initial timeout
    * #3706 log more codec details with timeout errors
    * add type hints
    * #3706 move some code out of the global scope
    * #3706 need to specify the stream-format
    * more mixins rely on 'server_packet_types' to enable features
    * #2556 reorder mixins so the xdg-menu is sent after the windows
    * this is the generic module, not xdg related
    * this test only fails on the CI
    * fix errors logging the raw packet size
    * use a method to modifying attributes
    * don't bother showing the bitness
    * #3812 fix logging of packet sizes, log sending too
    * #3592 older versions can't handle a nested dictionary
    * make it possible to auto-recurse down dictionaries
    * whitespace
    * #3812 use 'configure-display' to send 'icc' data after the handshake
    * #1942 for now, 'desktop-size' is still needed to trigger set_screen_size
    * #3813 add 'icc' data to 'configure-display' packet
    * move SYNC_ICC env option to common location
    * #1942 use new packet format for configuring the display
    * defaults can use immutable tuples
    * re-enable new packet types, but disable problematic sequence no
    * move dpi limits to common
    * #3812 filter out audio properties
    * #3812 filter out platform data
    * #3812 transparently lookup nested dictionaries with '.' separated keys
    * also filter out GLU.extensions
    * let them try to build, it will probably fail later
    * don't expose the them icon data by default
    * remove opengl extensions from caps unless FULL_INFO>1
    * send the keyboard data after the connection is established
    * if we don't have keycodes to map, don't translate them
    * more readable
    * remove redundant args
    * don't build csc_cython
    * stop using private libraries
    * doh: fixup package name
    * remove extra debug logging
    * warn just once for all missing codecs
    * the compression test compares python-lz4 with our bindings
    * use the same display for all the authentication tests
    * #3680 by default turn off most options
    * make it easier to override the XPRA_COMMAND and XPRA_CONF_DIR
    * we no longer use private libs
    * #3664 broken symlinks don't exist, but are links..
    * AFAICT, we don't need this
    * fix CI: use full imports
    * more actionable message
    * make it less scary to run the xpra-client-gtk without xpra-x11
    * unused imports
    * less scary message when X11 bell cannot be used
    * only warn if something is actually missing
    * #3811 we need the Xorg server installed to detect its path
    * #3811 we have dummy builds for all RHEL and clones
    * use dedicated space for video decoder info
    * #3796 show paint stats on window info
    * most backing info properties are redundant here
    * make it easier to test initialization thread delays
    * 'Breaks' should prevent file conflicts during upgrades from earlier versions
    * try harder to prevent conflicts with older versions during upgrades
    * #3807 KISS: just make the pxd match the pyx
    * #3807 use the same uint64_t definition in the pxd
    * #3807 CI unit tests just runs 'install'..
    * #3807 auto-apply the patch to fix builds with older versions of Cython
    * nogil should be after noexcept
    * #3807 also add explicit 'noexcept' to pxd
    * #3807 add explicit 'noexcept'
    * even the ones loosely matched should be listed
    * make limit configurable
    * partial revert of 6c924cb21f804568ff9586e16ded608898af84d6: exclude nvidia bits
    * silence more linter warnings
    * skip warnings with clang
    * silence warnings
    * #3703 add sample pkgconfig file
    * cleanup
    * css overrides belong in common
    * #3809 the spinner code has been moved to gui
    * #3808 also skip generating the 'xpra-codecs-nvidia' package on Fedora 38
    * #3808 doh, workaround is needed for Fedora 38 and later
    * #3808 explicitly disable nvidia for Fedora 38
    * #3808 doh: actually add the patch
    * #3808 build latest Cython for all Fedora builds
    * #3808 disable CUDA and strict mode on Fedora 38, for now
    * avoid warning, bundle the patch
    * #3808 add py3.12 patch
    * we don't want a python2 shebang
    * convert to pkgconfig(lib)
    * this is no longer necessary
    * #3807 coerce setuptools
    * match file renaming
    * split xpra.buffers from modules
    * simplify: use aliases for cython switch
    * avoid errors if 'nvidia_codecs' value ends up being empty
    * make it possible to build without cython
    * detect cuda availability
    * nvidia disabled disables cuda kernels and rebuild
    * we need pkgconfig
    * avoid warning
    * this version does build OK
    * make it possible to try cuda on unsupported platforms
    * simplify nvidia toggle
    * none of the RPM distros require the wrapper
    * skip xsettings dpi when the x11 bindings are missing
    * make more x11 bits optional
    * we always need the logger
    * minor linter warnings
    * make it possible to run the shadow server without xpra-x11
    * verify we have xpra-x11 for the subcommands that need it
    * move gdk x11 display source init to a single location
    * fix zero dimension check
    * warn just once per missing encoding
    * #3806 recommend some more gstreamer elements
    * gtk3 graph was pointing to python3!
    * we don't use private libraries any more
    * we don't use private libraries any more
    * doh: typo
    * ignore another debuild generated file
    * the binary versions should always match
    * the default 'xpra' package should be mostly unchanged
    * exclude extra codecs from codecs
    * newish distros can have more codecs enabled
    * this module should really be avoided
    * we have to repeat ourselves
    * libyuv is now available in newish distros
    * typo
    * split extra codecs into a new package
    * no longer used
    * move the systemd bits to xpra-server
    * split the man pages into the sub-packages
    * gstreamer codecs belong in codecs-extra
    * even the readme should be installed with xpra-common
    * the icons are in xpra-common now
    * the xpra meta package should be empty
    * xpra-x11 is not a hard dependency of the gtk3 client
    * add explicit dependency on gtk3
    * unused import
    * #3802 pandoc is in the EPEL repos
    * #3802 split X11 bindings to a separate package
    * refresh patch context
    * move gui commands to client-gtk3 and silence all lintian warnings
    * ignore files generated by the debian build tools
    * fix extended-description-is-empty linter warning
    * simplify
    * ignore nvidia codecs, which have their own package
    * add missing notification screenshot, fix image paths
    * move screenshots to github
    * re-enable nvfbc
    * #3797 split debian packaging
    * oops: missed one more
    * missed from client gui path refactoring
    * f-stringify some more
    * move more gtk ui bits to xpra-client-gtk3
    * let %pycached take care of __pycache__
    * last one missed?
    * fix up refactored path to gobject client
    * libspng is actually called libspng0, because reasons
    * don't run tests on OracleLinux 8
    * more useful validation message
    * #3457 build avif codec on newish distros
    * show which elements are missing
    * add oraclelinux and CentOS stream repo files
    * add repo files for RHEL clones
    * make sure the version of the codecs package matches
    * libspng is not in the bookworm repos yet
    * libavif is in the EPEL repos
    * we need to support libvpx 1.7 for RHEL 8 and clones
    * ignore xpra.egg-info
    * also use epel for those
    * remove ffmpeg-xpra and x264-xpra from build lists
    * this syntax avoids warnings
    * we can always start remote servers
    * #3797 split gtk3 client
    * split problematic codecs into xpra-codecs-extras
    * backing var had gone missing
    * #3376 no need for a full backtrace for file paths errors
    * add general env option to silence AT-SPI whining
    * log which backend we're loading
    * #3373 #3374 also add spng runtime dependency
    * preserve ssl command line options when launching client
    * minor fixes: missing import, clean each listener
    * #3376 expose quic sockets as udp via mdns
    * oops: missing import
    * more linter warnings, force GTK v3
    * make it possible to skip 'sha1'
    * avoid errors if 'md5' has already been removed
    * more linter warnings, force GTK v3
    * fix linter warnings, force GTK v3
    * fix usage from the command line
    * import cleanups
    * #3376 add dedicated documentation page for QUIC
    * add sponsors info
    * no need for a summary here
    * Update
    * #3789 they've also changed the bindings name
    * #3789 yuk: two version numbers as part of the package name
    * #3789 hopefully one of these packages works
    * Update
    * Remove stream-format=avc
    * #3706 restore longer initial timeout
    * add one more aac encoder option (untested)
    * #3706 add NV12 input colorspace option for vaapi
    * make it easier to choose which formats are enabled
    * #3793 workaround even more exotic version strings
    * server now correctly sends a fake challenge
    * turn off subsystems we don't need
    * try harder to get a valid window name to show
    * useless statement could actually cause errors
    * _NET_WM_NAME is in utf8
    * update to new auth api and f-stringify
    * only validate the caps when a challenge is required
    * f-stringify
    * #3790 add 'require-challenge' option for using the password in the command
    * send fake challenge whenever needed
    * f-stringify authentication logging
    * the encodings mixin may not be loaded
    * move profile function to a common location
    * simplify and move default profile
    * simplify
    * oops add missing options argument
    * #3706 make h264 encoding profile configurable
    * move method to a re-usable function
    * add link to the new graphs
    * dependency graphs
    * #3790 generic exec authentication module
    * cosmetic
    * #3776 only keep a single ui client when the session is unshared
    * connection-lost handler would error
    * #3373 / #3374 add spng for bookworm, sid and lunar
    * add note on using ctypes
    * we manage the buffer pointers ourselves
    * only negative values are errors
    * also enable codec check debug logging in verbose mode
    * make the list of encodings more easily configurable
    * make frame queue timeout configurable
    * this fixes crashes, apparently
* Fri Mar 10 2023
  - Update to version 5.0+git20230310.df416a21:
    * can only build 2022.1 on EL8
    * don't show a useless message
    * #3769 workaround GTK breakage
    * #3784 handle memoryview clipboard data
    * make it easier to override them all
    * import from the correct location
* Mon Mar 06 2023
  - Update to version 5.0+git20230303.deed5680:
    * #3781 set default username_format via env var
    * fix focal beta component
    * no longer needed either
    * no longer needed
    * downgrade since there are too many build issues
    * Cython backwards compatibility: avoid 'noexcept'
    * #3769 disable OpenGL on MacOS, again
    * #3778 ':' is only needed if a password is also specified
    * simplify: XXH64_hash_t is actually uint64_t
    * make ScrollData optional
    * validate Cython extension before enabling 'scroll'
    * missed from b7481ea7d2ec1717f3ac6cd41a82f65812df62b5
    * #3774 UInputPointerDevice must accept the props argument
    * just remove $PYTHON and path to gtk-mac-bundler
    * with newer versions of clang, ignore unreachable-code-fallthrough
    * workaround new Cython 3.0.0b1 warning
    * fix Cython 3.0.0b1 warnings: default to C++11
    * #3390 simplify evdi build
    * revert c3e17e3: prefer non-auto audio sinks
    * #3774 also fix calls in the verify method
    * #3774 match API change: removal of screen argument
    * #3769 re-enable OpenGL on MacOS
    * the bug has been "fixed" by downgrading libffi
    * make it possible to override build options
    * Cython 3.0.0b1 triggers -Wsign-compare warning on MS Windows
    * ffmpeg 6.0 compatibility: these enums have been removed
    * ffmpeg 6.0
    * workaround new warning with Cython 3.0.0b1 on win32
    * doh: apply patch for versions 0.x, add debug logging
    * auto apply cython patch before running the unittests
    * doh: older cython versions use 0.x numbers
    * workaround for older versions of cython
    * more correct exception values
    * Cython 3.0.0b1 compatibility fix
    * cython 3.0.0b1
    * the jhbuild config goes into ~/.config
    * the python_provide macro should be placed after version attributes
    * add checksum verification step
    * fix bogus changelog date
    * add 3.1.x branch note
    * ignore missing attributes on autoaudiosink
    * move all non-auto sink attributes together
    * autoaudiosink does not have an 'async' attribute
    * gstreamer needs this env var
    * gtk-mac-bundler wants an executable name here
    * don't use hardcoded paths
    * bootstrap is not part of "configure" step
    * must bootstrap before we can update
    * the custom config file path has moved
    * fix script download
    * oops: wrong version no
    * pynvml 11.515.84
    * add missing changelogs
    * ffmpeg 5.1.2
    * python3 pbr 5.11.1
    * python3-lz4 4.3.2
    * Cython 0.29.33
    * nasm 2.16.01
    * bump version
    * pygtk support was removed a long time ago
    * #3059 add missing prefix to env var names
    * #3706 macos packaging of gstreamer video encoder dependencies
    * vp9 fails mysteriously on MacOS, just skip it
    * postponing this codec
    * setDelegate_() is still causing crashes..
    * we also need to silence cryptography on MacOS
    * some libraries must be installed via pip3
    * #3769 disable OpenGL on MacOS for now
    * AppDelegate works with pyobjc 9.0.1
    * current pyobjc crashes on 'setDelegate_'
    * objc crashes if these objects are garbage collected
    * tell gtk-mac-bundler we don't want gtk2
    * use the git version of gtk-mac-bundler
    * yet more breakage caused by setuptools
    * set `SSL_CERT_FILE` and use our own copy of ``
    * revert 613017eee596faf60565199de4439522b8bb5879 which broke the github CI
    * handle version generic requests
    * workaround more setuptools breakage
    * the scripts directory was removed a long time ago
    * #1598 try to enable nvfbc if needed
    * forgot to update some paths in fa3e6ed7a02c4a5e8aef95102431c423df25c689
    * #3767 hide pointer overlay when we're moving it
    * add type hints and debug logging
    * #3767 send the latest pointer-position to all clients
    * cosmetic: f-string
    * simplify
    * #3592 use generic requests, remove legacy per-request flag
    * #3592 handle 'exit' and 'stop' generic requests
    * #3706 don't try vaapi on MS Windows and MacOS by default
    * don't try to load pulseaudio bits on MacOS or MS Windows
    * forgot to update MS Windows and MacOS shadow server API
    * #3601 no longer needed
    * try to make it clearer what is needed
    * also skip empty dummy names, remove debug
    * skip empty 'Canvas' line
    * more readable repr string
    * #3744 cleanup will call stop
    * try to tidy up
    * no need for a dict, add memleak referer debugging
    * use filter(), better error messages, faster using set()
    * #3744 re-work the encoding filtering
    * show the gstreamer element in the encoder spec repr
    * #3744 add more debug logging
    * show the encoder element used
    * the class instantiation may fail
    * #3083 only source /etc/profile on Posix and not on MacOS
    * remove unused import
    * remove '64-bit'
    * #3706 do enable vaapi when no nvidia hardware is found
    * only enable an encoding if we have an encoder for it
    * better use of new ExitCode enum
    * distinguish network vs session connected state
    * fix missing 'host' with ssh modes
    * #721 disable openh264 for now
    * should be able to copy errors and warnings
    * typo
    * fix 32-bit timestamp overflow giving negative values
    * only round dimensions
    * log the buggy dpi values
    * don't use nvjpeg as video fallback encoding
    * #1026 bump size limit
    * use hex for xid, but only during output
    * clarify that this is xpra's own tray menu
    * more compatct debug logging
    * allow more space for the new 'gstreamer' codec name
    * give the real path to the script
    * log the message given
    * differentiate from plain 'jpeg' encoder
    * only report scaling when used
    * prefer large screen updates for 'desktop' content type
    * filter the window's rgb formats, not just all potential formats
    * rename method and simplify calculate_scaling
    * favour video more if we have a hardware encoder
    * remove warning level debug logging
    * all desktop / monitor windows have a title
    * we now allow negative coordinates
    * some desktops may use negative coordinates
    * #3750 freedesktop portal screencast support
    * avoid log warning if the notification is simply closed
    * move thread check to a utility method
    * keep track of the keymap change timer
    * split icon function
    * every call to init_context should have a matching clean
    * don't bother testing pipelines for elements we don't have
    * always release the write lock safely
    * choose shadow backend in platform code
    * ignore if we double free the write lock
    * #3750 stub screencast capture
    * default implementation should be callable
    * avoid errors when there is no keyboard config
    * all get_keycode methods must now return a group
    * fix MS Windows paths
    * prettify win32 display names
    * silence context messages - for now?
    * split cursor function
    * Always try to find headers from /usr/include, /usr/local/include on !WIN32
    * sort the switches, must use 'globals' to find them
    * #3539 add lunar, fix 'Components' cut&paste blooper
    * #3750 win32 d3d11 and dx9 capture options
    * latest GStreamer combined the elements
    * silence linter warning
    * MSYS2's openssl3 disables legacy modes but python3-cryptography checks them
    * remove unused xid parameter, verify capture works before use
    * make gstreamer capture code more re-usable
    * python pbr 5.11.1
    * pytools 2022.1.14
    * new upstream snapshot
    * pynvml 11.515.84
    * #3706 same default stride rounding as what gstreamer expects
    * #3747 a value means it exists
    * #3706 restride the image if required
    * #3754 refactoring: add utility buffer method
    * #3706 we can and should use a full mask for RGB input formats
    * #3573 try harder to find a valid menu prefix
    * #3706 can't use a factory for codec_class
    * #3539 add repository files so we can link to them reliably
    * #3749 also use 'desktop-fullscreen' with shadow mode
    * clarify what 'autoconnect' does
    * add quic to transport options
    * switch to IntEnum for exit codes
    * use a separate sub-command for single-window
    * don't try to setup ssh agent forwarding with shadow servers
    * add backtrace at debug level
    * #3749 mirror monitor layout when the client requests desktop-fullscreen
    * cosmetic
    * use legacy packet types until bugs are fixed
    * fix debug logging erro
    * Fix file name
    * Fix links
    * #3750 PoC GStreamer capture for X11
    * log ImportError at debug level
    * avoid f-string formatting error
    * don't refresh the window models but continue to run the timer
    * fix logging formatting error
    * fix new-stream-sound on MS Windows
    * import cleanup
    * subprocesses take longer to start on MS Windows
    * move new-stream-sound to a dedicated method
    * paramiko can raise RuntimeException if it fails its self tests
    * also bump minimum version here
    * doh: typo
    * only bail out if we are certain
    * only bother trying to load drm on posix
    * oops: match DLL name
    * get sdk version early
    * don't use markdown backticks in shell scripts
    * tune vp9 so it doesn't timeout
    * #3703 add video elements to binary builds
    * #3703 add video elements to MacOS builds
    * f-stringify add vp9, skip ffmpeg element on win32
    * remove unused def, fixup vp9, fix vaapi check
    * silence linter warning
    * #3709 ship 'removesilence' element with binary builds
    * unused import
    * latest config files used for building
    * move platform + cuda dispatching code in one place
    * needed for building on MS Windows
    * prefer 'autoaudiosink' on all platforms
    * we want 'win' for MS Windows here
    * fixup 5903bdd4d4ffbf19189fbcd6b1cc7497f01c1aff
    * always use '-Wno-error=address' when compiling C++ on MS Windows
    * (new?) extra missing dependencies
    * #3703 working decoder (needs hooking up with cuda context)
    * better debug logging + silence linter warning
    * more loose matching
    * more correct debug message wording
    * always log full opengl backtrace at debug level
    * more readable output format
    * don't drop out of sequence numbers until properly fixed
    * don't assume nvidia hardware is present
    * skip comparing versions when empty
    * fixup 5a0b8f7cefce366b844108f220f5f10a2a641902
    * add debug logging
    * silence warnings during initialization
    * ignore empty lines (ie: env var)
    * f-stringify
    * skip individual gstreamer encoders that fail self-tests
    * bump minimum requirements
    * validate image size in NV12 path
    * forgot to update path in full self test
    * allow multiple encoder pseudo-classes per encoder module
    * #3703 fix cpu / gpu cost if statement
    * add more plugins for testing the new gstreamer encoder / decoder
    * we need the python bindings
    * this test data works with all decoders
    * we know what you mean
    * safer YUV values
    * simplify: don't use 'global'
    * try to figure out why this test fails on Ubuntu CI
    * use safer / bigger test sizes
    * clearer error messages
    * simplify and remove failed encodings
    * fail early if python-cryptography was not loaded properly
    * warn just once
    * better diagnostic messages
    * match the requested desktop size exactly
    * desktop model must call RandR directly
    * #3703 add (unused) parser code
    * add more test data
    * always memset the struct before use
    * oops: fixup test data format
    * add more codec test data
    * #3703 nvdec has a per-encoding minimum dimension
    * more thorough decoder tests: multi-frames and different resolutions
    * #3703 nvdec rounds up the height
    * stop using nvdec if we hit cuda download errors
    * #3703 fixed NV12-to-RGB shader usage
    * #3703 nvdec cuda to opengl NV12
    * make it possible to force a specific pixel format
    * P10 formats also use more than one byte per pixel
    * reduce amount of debug logging
    * vaapi should be using the GPU
    * make it easier to override the codecs we enable by default
    * cosmetic
    * #3703 make code more generic
    * lower threshold for using hardware decoders
    * #3703 add NV12 to RGB via libyuv (unscaled for now)
    * #3703 use nvdec for jpeg (without opengl for now)
    * use autoprefix when discarding module names
    * fix linter warnings
    * add type hints
    * only YUV420 is subsampled vertically, YUV422 is not
    * we _do_ support 'jpega'
    * warn if an invalid codec name is used
    * callbacks args can include pixel data (very large)
    * match refactoring: moved to cuda context module
    * simplify and make more robust
    * fix content-type environment variable parsing
    * #3703 add nvdec to registry
    * #3703 download NV12 data to a host buffer
    * include exception string
    * avoid pixel format naming confusion
    * some 'video' decoders handle picture formats like 'jpeg' and 'webp'
    * make cuda image wrapper re-usable
    * #3703 add cuda error strings
    * #3703 use NV12 as output format
    * make 'enc_', 'csc_' and 'dec_' prefixes optional
    * #3734 basic openh264 encoder
    * YUV422P does not subsample vertically, only YUV420P does
    * better formatting
    * #3738 show which Cython module is actually used
    * #3738 executable needs shebang
    * #3738 make it runnable for testing
    * #3738 also update clean and ignore list
    * Separate Cython extensions for libprocps/libproc2
    * Fix dependencies for Debian stable
    * Update proc Cython extension to use public API
    * Update compilation settings for libproc2
    * Update dependency on proc library
    * disable all ffmpeg / nvidia codecs with one switch
    * #3734 openh264 is only available in f37
    * until we remove it, better have it installed
    * #3734 forgot to specify which rpm it does into
    * #3734 forgot to call Uninitialize - which frees the memory
    * #3734 add openh264 decoder
    * load all codecs before showing the list
    * add validation message
    * 'encoding' packet handler had gone MIA
    * re-order imports
    * use ints for timers and add type annotations
    * nvenc can handle odd widths and heights
    * re-use the same default cuda context in nvjpeg and nvdec
    * handle None root window here too
    * also enable individual codec module debug logging with '-v' / '--verbose'
    * #3706 don't bother trying vaapi with nvidia by default
    * #3706 add rpm dependencies
    * more helpful error message
    * Added check for MSYSTEM_CARCH environment variable
    * add toggle for proxy encoder
    * need gcc to build
    * remove unnecessary f-string
    * re-order imports
    * oops: d7ce3926effe2c55085ae793734070c0ee57d2a7 already increases the frame counter
    * #3706 expose 'frame' counter
    * fixup c48a1f9eb98cb8938bd04e0b560f75bfb2dace8a: update unit test
    * move utility functions
    * oops: had removed install step
    * remove rdf stuff and patch
    * new upstream release: 4.3.2
    * patches no longer required
    * fail early if GStreamer is not found
    * don't run the tests by default
    * deal with missing menu items more gracefully
    * pyopengl 3.1.6
    * maintain current version externally with a symlink
    * test all possible codec + chroma combinations
    * need a cuda context to use nvdec
    * use specific pkgconfig file for nvdec
    * #3376 can't use datagram without changes to packet reception code
    * group imports
    * #1942 convert button-action to the more generic packet format
    * #1942 turn 'packet-types' into a feature request
    * once is enough
    * #1942 let the server tell the client about its packet-types
    * #1942 WIP conversion of pointer-position packets
    * remote-logging should not be used with 'quic' debugging
    * ninth time's the charm: format-of-override-files says this is correct?
    * try once more to silence dumb debian linter
    * oops - wrong location
    * we get the libc6 dependency transitively
    * try harder to tell lintian that it is wrong, not us
    * #3493 packaging files had also been missed
    * avoid description-synopsis-starts-with-article linter warning
    * fix annoying and pointless python-package-missing-depends-on-python warning
    * hide tests that don't work on Wayland
    * better message
    * add debug switch
    * unused import
    * enable faster codecs in some corner cases
    * don't convert encodings to lowercase
    * add encoding help entry for 'jpega'
    * use more consistent naming and probe the actual encoder / decoder module
    * prettify
    * #3722 avoid warnings with newer versions of GTK3
    * never send focus events for OR windows
    * silence some minor linter warnings
    * #3719 start_server_subprocess assumes the options have the correct type
    * make debug make sense
    * #3714 xi2 needs an X11 context error checker
    * #3714 don't specify an encoding with binary IO
    * don't specify an empty display for remote start
    * add debug logging on function entry
    * make it clearer that the distro is at fault here
    * #3716 set both dpi coordinates
    * #3701 paramiko is the new default for most installations
    * python-pbr 5.11.0
    * nasm 2.16
    * pytools 2022.1.13
    * ffmpeg 5.1.2
    * pycuda 2022.2.2
    * pycuda 2022.2.1
    * #3651 dependency fixes
    * path fixups
    * #3709 switch to 'removesilence'
    * safer and cheap to always audioconvert
    * #3706 add 'av1' via gstreamer
    * #3706 decode h264 via gst + avcodec
    * #3706 we don't need videoconvert
    * #3706 gstreamer decoder
    * no longer needed
    * missed from 531bbab34c21944f2755721dcc3c914a724e21fb which meant to move it
    * #3706 use this encoder for vaapi
    * #3706 try to avoid copying pixels too many times
    * more readable diagnostics
    * don't log pipeline stop events for video
    * less confusing method name
    * #3706 faster: remove queue, tune for speed, add selftest
    * use the more standard spelling
    * can dismiss the splash screen with a key press
    * #3706 make it possible to choose the encoder plugin
    * remove redundant enc prefix
    * #3706 packaging for gstreamer encoder
    * #3706 PoC gstreamer encoder
    * the parser rejects zero size payload
    * never send empty buffers
    * only set CUDA_PATH when running from a frozen app
    * fixup c2e317ac0c6b1894434a611cbad033dfe2089871
    * pycuda already appends 'bin' to this path
    * #3651 Debian packaging is a pain
    * add 'HTTP' proxy type
    * runner fix relative path to test file
    * log the dpi actually used: calculate it
    * #56 choose a higher default DPI for higher resolutions
    * #56 honour dpi when setting initial resolution
    * #3376 also avoid potential memoryview errors when using send_datagram
    * #3376 send some packet types using datagram instead of stream
    * unused import
    * #3376 only servers can use send_push_promise
    * someone tell pydev to stop adding random imports
    * #3703 prepare most API calls
    * forgot to update path to cups backend
    * silence warning
    * forgot to update this test for new write() signature
    * #3703 stub nvdec decoder
    * #3376 add quic to socket tests
    * aioquic would try to load (anf fail) using an empty filename
    * update test harness with new write() interface
    * #3376 use separate streams for audio and ping
    * 'legacy_frame_per_chunk' has already been removed
    * remove unused var
    * fix nvidia codec availability check
    * #3695 use os.pathsep as path separator
    * Handle missing display number
* Mon Jan 16 2023 Stefan Schubert <>
  - Migration of PAM settings to /usr/lib/pam.d.
* Tue Nov 29 2022
  - Update to version v5.0+git20221127.3e61ef1c:
    * use the correct value for bits-per-pixel with alpha
    * prefer BGRA to RGBA
    * add scaling debug logging
    * f-stringify
    * fix avif encoder loading
    * output using the same colorspace used for encoding
    * missing fake attributes for opengl toolbox test
    * #3374 spng uses unpremultiplied alpha
    * preserve ':' prefix for X11 displays
    * #3692 re-add display to ssh args
    * add debug logging
    * #3692 ssh config overrides url
    * fix minor pylint warnings
    * more helpful messages
    * fix minor pylint warnings
    * use premultiplied alpha with pillow
    * fix minor warnings
    * #3359 don't use odd heights for vertically subsampled formats
    * remove debug logging
    * support specifying the key file password
    * #3504 make it possible to bypass the check
    * minor warnings
    * #3504 nvjpeg decoder no longer leaks memory with latest drivers
    * silence minor pylint warnings
    * more helpful warning when there is no pixel data
    * fix memoryview TypeError on MS Windows with lz4 raw cursor data
    * try to continue without a cuda context
    * oops: another pass missed
    * find link.exe path with newer versions of VS
    * make sure to include cuda libs when needed
    * avoid pycuda import warnings on win32
    * f-stringify
    * also need innosetup to generate EXE, MSIWrapper for MSI
    * handle more invalid x264 version strings
    * hint for spng
    * add missing import
    * fix compatibility with older versions of cryptography
    * fix minor warnings
    * more python deps, add verpatch link
    * #2743 don't enable local sockets by default on win32
    * path missed during refactoring
    * silence pylint warning
    * try VS 2022 Community path
    * switch to cuda 11.8
    * don't show '64-bit' which is the default
    * try to install more indirect dependencies
    * simplify: install for $MSYSTEM_ARCH
    * also install pyopengl-accelerate via MSYS2
    * pycuda 2022.2 can be built on Fedora 37
    * pycuda 2022.2
    * #3690 uinput packages can be broken in new ways
    * #3376 expose quic config object
    * #3376 expose quic transport info in our connection's scope attribute
    * #3376 minor tweaks and expose more info
    * add quic link
    * add quic link
    * seamless is X11 only
    * try harder to get a meaningful connection error message
    * exceptions are re-thrown, no need to log them at 'error' level here
    * f-stringify
    * better diagnostic messages when quic components are missing
    * failures to connect should not leave the splash screen hanging
    * remove unused arguments
    * f-stringify
    * better log messages
    * cosmetic
    * add spng
    * the key is not a secret
    * #3376 honour the request path part of the URL
    * #3376 add webtransport stub + refactoring
    * unused import
    * #3685 clamp clock values to 'unsigned long'
    * cosmetic logging tweaks
    * #3376 uvloop is not available on win32
    * #3376 cleanups and explicit IPv6 support
    * #3376 simplify: create the UDP socket ourselves
    * move uvloop recommendation to aioquic
    * support functions that return exceptions
    * #3376 install aioquic via pip for now
    * #3376 we no longer need wsproto
    * missed from ff04ad48e3ec7a894c091a27c5b7cdf0e9374fec
    * no more csc_* modules matching without csc_cython
    * #3376 add working client connection
    * make websocket close packet into a reusable function
    * log and re-throw errors calling async functions
    * #3376 simplify
    * #3376 hook up the server connection
    * make it easier to re-use opcodes
    * avoid errors when cleaning up
    * cosmetic
    * #3376 remove dependency on wsproto
    * flush_then_close improvements
    * cosmetic
    * provide utility function for waiting for async calls
    * remove debug logging
    * use ellipsizer to reduce debug logging
    * #3376 make uvloop optional, always wait for main loop
    * missed from 562b1f184792643b6364832b7b4a9d4df93a53e5
    * #3376 split handlers to separate files
    * cosmetic
    * use ValueError for validation
    * cython mask module should be safe to import globally
    * clarify test failures
    * oops: missing delayed imports
    * older versions of python-cryptography require the backend argument
    * prevent circular import
    * prevent circular import
    * missed from refactoring of header module in 3b68b9f34679b38d8b7f35a541c694af64f7a10d
    * check for main loop after waiting
    * move xpra's protocol modules to a subdir
    * all modules need an __init__ file
    * test code does not belong in releases
    * only one backend is supported: python-cryptography
    * remove unused constant, expose non-backend info
    * oops: match refactoring in b2d0b2fb5e87bcae631a32a80b2d261e7b07d130
    * adjust tests for 1492a2210504d9c3428f0e73428220e6df838d5e
    * move lz4 to a subdir
    * move qrencode to a subdir
    * move vsock to a subdir
    * forgot to remove the old file in b2d0b2fb5e87bcae631a32a80b2d261e7b07d130
    * split paramiko and exec client code
    * move ssh bits to sub-directory
    * #3376 split directory listing, simplify calling async code
    * d3des is only used with rfb, move it there
    * #3376 oops: modules needs init file
    * normalize ssh args function arguments
    * use isinstance() rather than type()
    * remove debug logging
    * #3376 stub client quic connection
    * #3376 logging tweaks and fixes
    * #3376 for now, use wsproto
    * #3679 we may get memoryviews from compressors
    * strip header from more languages
    * prevent false positives with memoryview
    * #3682 no idea why this fails in github actions
    * #3642 fixed child_command_test in 256c7a7d5bf55ba31926eed8b62487989bd9b30f
    * fix all pylint warnings
    * fix all pylint warnings
    * f-stringify
    * we don't need the csc cython on RPM platforms
    * #3669 document splash=yes|no|auto
    * fix ssh parsing: need to switch to using dicts
    * test fixes and tweaks
    * #3642 less intrusive fix
    * #3667 minor test fixes
    * #3667 remove tons of dependencies we don't need
    * update dependencies for v4.4+
    * #3667 yasm is not needed
    * oops: don't normalize all display names to 'named-pipe'
    * add GHA build/test
    * teach about --skip-*
    * #3675 also skip spurious 'Control_L' events when releasing the AltGr key
    * video_colorspace_test skip encodings unsupported by encoder
    * #3376 hook a basic http3 server
    * f-stringify
    * #3359 don't care about mpeg1 / mpeg2
    * better error message
    * #3359 make it easier to test a specific encoder
    * #3359 sample images for testing
    * constify memory alignment
    * #3359 x264 can handle odd widths with non-subsampled input
    * #3359 correctly parse the resulting pixel data
    * use strongly type accessors
    * better error messages
    * #3359 a codec can reject invalid input sizes
    * #3359 x264 can crash if given odd dimensions with subsampled input
    * add option to save compressed samples
    * #3359 add test case for video dimension masks
    * f-stringify and cleanup
    * fixup bd22fb3165a856fd7660c99ba63c9cb9f8be2af2 ('p' undefined)
    * fix minor lint warnings
    * don't show 'Upgrade' in splash title
    * f-stringify
    * guard against stdin / stderr goin MIA
    * #2174 include useful bug tracker link
    * doh: protocols don't include the separator
    * fix minor pylint warnings
    * #3599 ugly parse_host_string() function was now unused
    * fix minor pylint warnings
    * 'join' is what we have to use to wait for threads
    * unused import
    * fix minor pylint warnings
    * continue to support CentOS 8.x and clones
    * unused import
    * #3376 aioquic needs the openssl headers
    * #3376 missed the actual files in ff7d58e7deea6d79e4166dece97d47f47f5410c1
    * #3667 older versions of Pillow insist on a full palette
    * #3667 show full encoder parameters when failing
    * #3376 rpm packages for aioquic and pylsqpack
    * Update
    * fix minor warnings
    * this is where docs really belong..
    * revert most of 23a0555bc94f530b78b7673526846099d60f0d6d
    * revert 23a0555bc94f530b78b7673526846099d60f0d6d
    * move docs to fs/
    * #3670 fix ssh desktop start with older servers
    * #3592 match all related subcommands
    * #3668 update bug tracker link to use github
    * Raise clarity: xpra install on server&client
    * #3667 fix error handling
    * Raise clarity: xpra install on server&client
    * Update
    * Raise clarity that xpra install on server&client
    * #3662 values from the URL take precedence
    * #3664 symlink creation errors don't need a backtrace
    * bump year
    * 3664 send the full version when requested
    * #3471 support expanding chdir option
    * #3659 use dataclasses improve the code
    * simplify: lookup packet_type just once
    * round sizes up, so we never get '0KB'
    * fix warnings on Ubuntu 20.04
    * #3599 rename 'unix-domain' to 'socket'
    * #3647 disable bandwidth-detection by default
    * #3599 move more ssh parsing to a separate function
    * fixup 18720c1f1d9fcade877c6174c7ef65d6580471ea
    * fixup 18720c1f1d9fcade877c6174c7ef65d6580471ea
    * #3647 don't blacklist any Intel cards
    * #3599 don't override main attributes with query string values
    * #3651 client should almost be required
    * #3514 env vars must be strings
    * #3599 use urllib.parse rather than custom code
* Tue Oct 18 2022
  - Update to version 5.0+git20221018.223dc02f:
    * move nvidia codecs to 'Suggests'
    * #3651 use dh_movefiles to split the modules into separate packages
    * fix logging of decompressed messages
    * revert 0d37df6807729c865cd216f3b4d5eeba2e8f6817
    * server last info may have more data
    * f-stringify
    * remote logging of f-strings
    * #3582 expose gstreamer version info when FULL_INFO=1
    * #3582 these lib versions are no longer exposed by default
    * #3651 we have to use dh_shlibdeps
    * minor warnings
    * oops: undo parts of 6fc032eda4ae23917ed770c3d6f1249b3efafa55
    * fix chunked file uploads
    * make it possible to force chunking
    * ensure we don't try to process empty files
    * f-stringify
    * warn if we ever somehow get the wrong arguments here
    * this is a text file
    * only update one file
    * fix conf files not updated on Posix OSes
    * return change boolean just like the superclass
    * return change boolean just like the superclass
    * simplify: let update_focus() return the boolean
    * #3654 disable mixins we don't need
    * #3649 block the import of pycuda on WSL
    * #3651 split nvidia codecs into their own package
    * #3651 split packaging for DEBs
    * replace assert with explicit check
    * no need to raise an exception
    * Allow --max-size and --min-size to work again
    * the symlink is now in git
    * make it easier to build debian packages of xpra
    * #3651 move all cuda files to xpra-codecs-nvidia
    * #3652 add explicit conflict
    * #3651 split nvidia codecs into a separate package
    * #3590 avoid video for small sizes
    * f-stringify
    * #3514 disable GTK HiDPI by default
    * explicitly disable all codecs that use CUDA
    * #3648 ignore alpha if client can't handle it
    * forgot to update some codec references during refactoring
    * minor warnings
    * oops: fixup 105669b79fb522451f094dd2133be548ccd24966
    * oops: forgot to update paths here
    * #3582 the filters never change
    * #3582 limit default network and sys info
    * simplify
    * replace 'asserts' with faster 'RuntimeException's
    * remove unused var
    * disable transparency early via env var
    * #3646 filter out rgb formats with alpha
    * better debug logging
    * make it easier to run the examples
    * make pillow optional in more places
    * the proxy can be used for other modes
    * more minor warnings
    * minor warnings
    * fix minor warnings
    * use shorter method
    * fix minor warnings
    * fix more warnings
    * oops: forgot to update paths in tests
    * doh: typo
    * avoid errors when running without pillow installed
    * fix minor warnings
    * f-stringify + avoid more warnings
    * fix minor warnings
    * f-stringify and simplify
    * add link to #3633
    * forgot to bump the version here
    * try to ease upgrades from previous versions
    * derp
    * remove scary warning when pillow is missing
    * pillow, cryptography and xrdb are not strictly required
    * I have newer headers installed...
    * we don't have usable evdi libs on Fedora
    * make pillow optional again
    * less scary message when we can't load webcam components
    * make python pillow optional again
    * missed from move in fa3e6ed7a02c4a5e8aef95102431c423df25c689
    * fix minor warnings and f-stringify
    * fix building with clang
    * all supported distros have tmpfiles.d, including el9
    * #3592 simplify
    * less scary message when v4l2loopback is not installed
    * #3592 warn that these options are deprecated
    * #3592 warn if not building for 64-bits
    * #3592 re-arrange codecs
    * minor lint warnings
    * #3592 move nv_util with the other nvidia bits
    * minor lint warnings
    * #3592 split codecs into their own package
    * #3592 remove python3 package name prefix
    * #3592 libfakeXinerama is being deprecated
    * #3592 remove support for coexisting with python2 RPMs
    * #3390 forgot to include the compat file in sdist
    * these files no longer exist or have moved
    * cosmetic
    * #3636 also convert to bytes here
    * #3636 lz4 memoryview data must be converted to bytes
    * cosmetic
    * #3641 enable agent forwarding by default
    * #2303 also remove invalid non-symlink
    * simplify and update docstring
    * #2303 stash env option in display args
    * #2303 preserve the actual display
    * unused import
    * #3592 stub vpl encoder
    * #3592 simplify: just require 64-bit
    * unused import
    * fix minor warnings
    * remove unused def
    * #3592 bump minimum version requirement
    * #3592 remove support for older versions of libvpx
    * #3592 simplify: require libvpx 1.8
    * simplify
    * undo WIP from c86d1aaeadadd6c403997d218552e77a9a45ea5e
    * #3637 update Xdummy documentation links
    * remove redundant string prefix
    * f-stringify
    * don't log huge invalid packets, ellipsize them
    * Fix test_root_window_model by formatting geometry string correctly
    * Fix test_get_version_info when the revision is 0
* Sat Oct 01 2022
  - Update to version 4.4+git20221002.1c1e6e0d:
    * bump version
    * add rocky / alma / oracle / centos stream
    * add latest fix
    * #3454 too easy to hit resizing loops with xterm
    * show variants if we find any
    * #3630 don't populate the full layout list if we don't have to
    * f-stringify
    * #3630 add test that causes wayland hang
    * can only join strings
    * #3630 make it easier to disable all 'after-handshake' calls
    * fix missing systray on Ubuntu
    * the nvjpeg flag has been split in 2
    * build witout cuda on Fedora 37
    * add an empty changelog
    * #3628 try harder to find the 'interactive' version
    * silence some minor warnings
    * chop large opengl renderer strings when displaying them in UI
    * #3628 fix support for cygwin ssh servers
    * remove warning on MS Windows and MacOS
    * update the release notes
    * #3628 cygwin probably behaves like msys
    * some opengl renderer strings can be very long
    * refactor: split authandler
    * simplify: don't copy options we don't reuse
    * match any variation of 'gnome' DE
    * #3628 oops, emulate the output format too
    * typo
    * #3628 match registry query as a plain string
    * #3628 re-arrange workaround order
    * #3626 we can query without cmd.exe scripting
    * add some new definitions
    * #3628 use paexec to get an interactive desktop
    * silence warning
    * silence warnings: access 'daemon' directly
    * #3626 try harder to locate xpra on MSYS2
    * #3626 honour more virtual commands execution on MS Windows
    * fix for loading 'DSS' keys, aka 'dsa' files
    * doh: check we found the keyclass
    * #3626 correctly handle channel exec requests
    * add funding link
    * replace chan_send with sendall variants
    * missed brotli compressor from clean list
    * never try to use systemd-run on MacOS
    * cosmetic
    * also clean the uuid
    * add utility for dumping xpra's x11 properties
    * delete the mode property on exit
    * cosmetic
    * doh: cut&paste gone wrong
    * refactor authorized keys parsing into a reusable function
    * refactor and keep the first match
    * simplify
    * fix warnings
    * refactoring + try to honour 'echo'
    * cosmetic
    * #3625 downgrade to a warning
    * cosmetic
    * some exceptions have no message
    * fix '_proxy' mode: don't start a server
    * verify we have a stdout array before accessing it
    * cosmetic
    * avoid errors with ssh sockets
    * #3626 don't use 'command' command on MS Windows
    * handle all '_proxy_*' subcommands generically
    * 'command' can be used without any arguments
    * f-stringify some more
    * don't show the full backtrace at 'error' log level
    * missing alias lookup
    * f-stringify some more
    * skip attempting to load codecs that aren't available
    * f-stringify
    * f-stringify and use mode aliases earlier
    * also skip 'importlib._bootstrap' as a debug category
    * use a more reliable timestamp server
    * unused import
    * add full backtrace at debug level
    * bail out if no GPU found
    * no visible logging during self-tests
    * #3625 skip showing scary warnings
    * f-stringify + fix warnings
    * add nvfbc to diagnostics
    * oops: missing exception variable caused an error
    * cosmetic
    * dependency is missing on Debian Bookworm
    * the debian headers are too old
    * the pkgconfig file takes care of the [lib]drm path
    * remove unused framework
    * pynvml 11.515.75
    * ffmpeg 5.1.1
    * update faac / faad url to maintained github fork
    * better libvpx url
    * 4.4 updates
    * #3625 add early check for nvidia driver
    * catch permission errors and report them
    * #3625 more consistent failure messages with missing hardware
    * use the correct loggers
    * keep the 'owned' flag updated
    * unused import
    * oops: no more hex
    * #3504 don't build the nvjpeg decoder by default
    * simplify
    * we must use print here
    * initialize variable so we can handle failures
    * remove support for gcc versions older than 6
    * f-stringify and fix warnings
    * f-stringify and fix warnings
    * fix legacy packet encoders
    * f-stringify
    * #3390 PoC expand server
    * don't use GLib directly
    * don't use GLib directly
    * #3473 also clamp pre-mapped windows
    * f-stringify
    * also makes the code less dense?
    * more generic solution for missing menu items
    * the qr menu may be missing
    * no wayland here..
    * when failing to parse, return 'auto' value
    * simplify validation
    * xsettings watcher may be None
    * f-stringify and fix warnings
    * shortcut out, avoids backtrace splatter
    * type annotation was wrong
    * free wrapper explicitly to avoid warnings
    * #3390 add drm as a pseudo codec
    * Fedora 37 needs an updated Cython
    * #3390 the cursor fix is in 1.9.1
    * #3390 add compatibility glue for older cursor function
    * #3390 add compatibility glue for older versions
    * Cython 3.0 alpha: use pre-release to support python 3.11
    * #3622 handle config file parsing errors more gracefully
    * #3390 dumb double buffering
    * round seconds
    * f-stringify
    * late_start() should only run once
    * log real errors, ignore missing PIL
    * #3390 oops: forgot to add drm module
    * don't import logger if we don't need it
    * skip scary permission warning for socket dirs in XDG_RUNTIME_DIR
    * f-stringify
    * split method
    * cosmetic
    * f-stringify
    * fix logging call
    * win32 DotXpra only uses 'username'
    * disable clipboard proxies until we have a peer for them
    * better window info
    * silence pylint warning
    * minor warnings
    * pycuda depends on numpy
    * restore missing numpy import
    * typo + add reset_logging()
    * constify and cleanup
    * save as jpeg, bail out sooner
    * use ValueError
    * cleanup and remove python2 support (simplify)
    * f-stringify
    * #3619 better exception message for payload size errors
    * #3619 don't compress strings
    * #3390 cleanup and f-stringify
    * oops, fixup missing import from 3c02e27631d982f0540aac9be0d87272529c74d6
    * raise min version
    * f-stringify and minor warnings
    * validate screen dimensions, round if necessary
    * #3483 move most of the locking to cuda_context import
    * better server / session type string (we don't use gtk2)
    * try to normalize mode names better
    * #3390 move finding devices to a reusable function
    * cleanup and f-stringify
    * delay bindings imports until actually needed
    * f-stringify
    * #3390 make save-to-file optional (too slow)
    * validate platform earlier, remove duplicated check
    * #3390 typo: check for 'libdrm'
    * #3390 add kernel module loading helper
    * #3390 move drm to its own module
    * f-stringify and fix pylint warnings
    * #3390 expose drm info when FULL_INFO>1
    * silence pylint warning
    * #3390 cleanup and f-stringify
    * #3390 build dependency updates
    * #3458 we have ffmpeg builds now
    * #3390 add drm query tool
    * #3390 update to latest API
    * #3390 no need for info logging, we can use 'evdi' for debugging
    * f-stringify
    * #3616 add 'autoconnect' checkbox to dialog
    * better error format
    * typo
    * pylint warnings
    * f-stringify, fix minor warnings
    * f-stringify and pylint warnings
    * f-stringify and pylint warnings
    * f-stringify
    * f-stringify, fix minor warnings
    * use our pkgconfig file as template
    * don't use print()
    * assume that the user wants to abort authentication
    * fix pylint warnings
    * whitespace cleanup
    * update tests to use 'wants' array
    * fix minor warnings, avoid print()
    * avoid naked print() in reusable / exported functions
    * #3610 use the last line of output
    * #3610 detect which 'find' command to use
    * f-stringify and remove print()
    * #3524 support remote ssh start
    * oops: typo
    * linter warning
    * f-stringify
    * #3592 move towards generic feature requests
    * also update default file config
    * automatically enable sync-xvfb when using Xephyr or Xnest
    * f-stringify
    * f-stringify
    * also remove session tmp dir
    * f-strings and warnings
    * #3002 bail out if the user cancels pinentry
    * we can't call quit() directly from the authentication thread
    * prettify
    * f-strings
    * typo
    * f-strings
    * f-strings
    * #3478 tool for extracting atom names from values
    * open() warnings and f-strings
    * silence import warning
    * ensure tests don't use prompts
    * re-enable
    * simplify
    * remove unused argument
    * #3610 wait for a valid header on ssh connections
    * more cleanups, warning fixes, f-strings
    * fix more minor warnings
    * fix minor linter warnings
    * server time is better than using CurrentTime
    * use f-string
    * revert fb6621eaf922466a4210f2d03a973893e4bfa74c
    * re-use the superclass method
    * we don't have 'long's any more
    * bug: timestamp clamping should not shortcut out
    * log all the event data
    * simplify some more
    * simplify, a bit
    * update the release notes
    * preserve URL arguments in http request path
    * cosmetic: make code more readable
    * mostly cosmetic refactoring
    * fix error path ('reason' was undefined)
    * unused import
    * #3604 separate logging from gen-dir
    * don't use temporary variable with reserved name
    * OR windows don't have 'client-geometry'
    * f-strings
    * f-strings and fix lint warnings
    * convert to spaces
    * f-strings
    * need ssl attributes to parse
    * honour env to skip coverage
    * #3601 the lz4 compat header file must be included explicitly
    * we now support 1.8 or later
    * #3601 workaround for older versions of lz4
    * #3601 unit test
    * remove print debug statement
    * #3560 also update the client unit test
    * we have to query the keymap to get properties
    * typo
    * oops: missing import
    * remove unused import, add debug logging
    * remove unused arg
    * simplify: raise_xerrors=False is the default
    * unused import
    * silence lint warnings
    * when testing, disable lost-focus-exit behaviour
    * silence linter warnings
    * oops, that was for testing only
    * move x11 tests where they belong
    * #3582 honour FULL_INFO in get_host_info
    * pid is no longer included in host info
    * proxy attributes are now regular display attributes
    * silence some minor lint warnings
    * #3560 forgot to update unit test
    * #1796 make the 'all' list of challenge handlers configurable
    * vfb bits require the 'display' feature
    * remove unused imports
    * avoid None values
    * avoid more None values
    * bencode doesn't like None values
    * add missing indentation
    * build more codecs
    * skip test if numpy is missing
    * tests may not initialize all attributes
    * vfb bits require the 'display' feature
    * try to make it clearer this should not be used
    * skip the dbus test if python-dbus is not installed
    * also honour the PYTHON env var when launching subprocesses
    * typo
    * fix deprecation warning
    * don't use 'which' on absolute paths
    * cosmetic
    * make it possible to test with multiple interpreters in parallel
    * cosmetic
    * we can't import the enums directly
    * skip dbus test if python-dbus is not installed
    * also honour the interpreter here
    * fix uninitialized warning with latest Cython
    * #3373 enable libspng
    * doh: use the same interpreter for running the tests
    * make it easier to run with a different interpreter
    * distinguish connection errors from authentication failures
    * cosmetic
    * cosmetic
    * avoid deprecation warnings
    * oops: also remove import
    * refresh delay is no more (#3560)
    * silence warnings with newer versions of Pillow
    * #3486 never use print() directly from modules
    * better error diagnostics
    * return strings, not bytes
    * simplify
    * avoid errors when python-xdg is not installed
    * downgrade missing paramiko to a warning
    * catch missing python-dbus earlier
    * missing python-dbus is just a warning
    * error handling for menu loading
    * #3601 updated deps
    * #3572 we only need the lib
    * #3601 deb dependencies
    * #3100 cleanup the authentication handler interface
    * #3100 exit more quickly if the http connection requires authentication
    * #3100 make challenge handlers more re-usable
    * don't add the same digest value multiple times
    * cosmetic
    * #3100 make authentication method re-usable
    * #3100 'Basic' http authentication handler
    * cuda context locking contention should be a transient problem
    * the html5 client wants to know the frame type
    * #3598 expose 'low' 'scaling-quality' for nvenc and nvjpeg
    * avoid weird closure errors
    * f-strings
    * #3607 newer clients don't want flattened caps
    * easier to read
    * unused import
* Tue Aug 23 2022
  - Update to version 4.4+git20220823.6f83fe78f:
    * #3607 newer clients don't want flattened caps
    * easier to read
    * unused import
    * os.path.abspath always returns a path
    * MacOS doesn't have an XDG_RUNTIME_DIR
    * show what type of client disconnected
    * #3059 X11 pointer grabs
    * #3059 pointer grabs for win32 using ClipCursor
    * fix desktop servers
    * silence linter warnings
    * #3504 use async calls using a cuda stream
    * #3582 more fine grained filtering
    * re-use value from common
    * move icon functions to a more re-usable location
    * simplify
    * cosmetic
    * oops: 10 seconds is slow
    * #508 workaround win32 focus events
    * #508 also show progress of downloads
    * #508 use the Taskbar to show splash screen progress
    * remove unused 'display' argument
    * #1526 get dpi from comtypes
    * #3504 move nvjpeg code to a separate method
    * #3589 reset fraction and text and re-generating progressbar widget
    * try harder to prevent dangling timers
    * #3589 re-generate new buttons
    * add debug logging
    * remove unused 'tooltip' argument
    * better formatting
    * wrong positional arg
    * fix digest errors with unchunked file transfers
    * better formatting and f-strings
    * avoid errors deleting the temporary file
    * fixup version number conversion
    * drop meaningless 'python-XX' version
    * import errors can be handled generically
    * #3601 remove python-lz4 fallback
    * #3601 remove python-lz4 package dependency
    * #3601 don't require python-lz4 anymore
    * #3601 prefer our own lz4 cython module
    * remove debug
    * #3601 handle memoryviews
    * #3601 handle memoryviews natively
    * remove unused imports
    * #3582 don't assume 32-bit
    * silence some warnings
    * fixup c420dc9170ff08c2d3f3a602114ab0af82e09b8d
    * #3504 show pycuda context cleanup failures
    * x11 bindings return bytes
    * just one repeated typo
    * #2105 bundle (missed from 82b0698e55f591173a5afbd3df6048de60a4d987)
    * update embedded xxHash lib
    * #3592 use namespace for audio caps
    * skip empty values
    * #3592 move clipboard caps to a prefix
* Mon Aug 22 2022
  - Update to version 4.4+git20220807.c52d8ac10:
    * new git snapshot
    * .. and here
    * we can use the same list for '8' and '9'
    * oops: forgot to bump version
    * doh: wrong line
    * ffmpeg 5.1 deprecated 'channels'
    * use newer commit
    * pytools 2022.1.12
    * pbr 5.9.0
    * ffmpeg 5.1
    * python-lz4 4.0.2 + fix macro warning
    * with 'epel-next-release' installed, this is not needed
    * bump date
    * match layout update
    * #3600 try to build python3-lz4 for RHEL 9
    * #2105 detect proxy settings using libproxy
* Sun Aug 21 2022
  - Update to version 4.4+git20220801.cc03f573e:
    * obvious is obvious
    * simplify: cuda-device-context is a video encoder option
    * don't increase the quality artifically
    * don't special case video
    * remove 'text' special cases
    * #3420 add control commands for 'max' options
    * honour refresh attributes
    * #3420 honour max-quality in more places
    * #2105 bundle pysocks with MS Windows and MacOS binaries
    * #3572 brotli option toggles the module
    * 2105 install pysocks on MS Windows build machines
    * #2105 connections via proxies using pysocks
    * Cython 0.29.32
    * Cython 0.29.31
    * revert 4425c08d72e08d4d2f0fe487cdc5f03e99ba8c88 which causes crashes
    * #2779 shortcut for showing the documentation
    * #2779 try harder to find a valid documentation path
    * don't install the manual in a subdirectory
    * #2779 add a shortcut for showing all the shortcuts
    * warn about uinput
* Wed Aug 10 2022 Scott Bradnick <>
  - Making adjustments as per
    * Swapping out '--without-strict'
    * Using CFLAGS '-Wno-error=deprecated-declarations' for all flavors
    * Adding 'ExcludeArch:    %ix86'
* Sun Aug 07 2022 Scott Bradnick <>
  - Making adjustments for 'ffmpeg-4' vs. 'ffmpeg-5'
* Sat Aug 06 2022 Scott Bradnick <>
  - %{_libexecdir} issue was fixed upstream, cleaning up spec file
    * See
* Wed Jul 27 2022
  - Update to version 4.4+git20220726.a03b3f67e:
    * #3597 openSUSE Leap 15.4 still does not use libexec
    * always pop GDK errors
    * #3595 add man page entry
    * #3595 'exit-with-windows' option
    * fix removing monitor: logging was causing an error
    * layout may be 'None'
    * close the splash screen if it loses top level focus
    * #2630 these values aren't 'real' layout names, don't try to use them
    * #2630 modify shadow keymap when '--keyboard-layout=auto'
    * `xpra/x11/`: `'NoneType' object is not iterable`
    * #3594 fix vim typo
    * #3594 backwards compatibility fix
    * f-strings and more dense output
    * safer: don't delete recursively, delete with glob explicitly
    * when calling 'xpra clean' explicitly, we can remove session sub-directories
    * run 'late_cleanup' before trying to remove the session dir
    * don't try to parse 'resize-display' as a resolution if it is a boolean
    * remove spurious import added by IDE
    * distinguish directories from regular files
    * it is possible to run without the 'rgb' encoder
    * make it easier to build without any codecs
    * we can only use the 'native' mapping with existing x11 keycodes
    * simplify: remove unused argument
    * #3592 remove redundant 'xkbmap_' prefix
    * #3592 remove unstructured setxkbmap query data from server
    * #35822 start removing 'setxkbmap -query' and 'setxkbmap -print'
    * #3582 audio info may be missing - and that's fine
    * don't pretend that these versions should work
    * more resilient version parsing
    * #3592 remove xkbmap prefix from client
    * #3582 audio info may be missing - and that's fine
    * #3592 same as f192c0312bc98360aec94e6aa92af90511259401 but for the server
    * #3592 move keymap to a substructure
    * #2303 support agent forwarding with the builtin ssh server
    * cosmetic
    * #2303 ignore '_proxy' command line arguments
    * cosmetic
    * #2303 when client exits, find another auth socket
    * unused import
    * #2303 keep track of sock path
    * #2303 make function more re-usable
    * dead symlinks don't "exist"
    * #3592 remove unused tcp-proxy feature
    * typo - why didn't this trigger problems?
    * the 'install' subcommand does add data files
    * #2303 error handling
    * return the exit code
    * #3592 remove uncompressed 'premult_argb32' icon format
    * #3592 never use zlib for pixel data
    * unused import
* Tue Jul 26 2022 Scott Bradnick <>
  - A few changes related to local builds of Leap 15.4 referencing 150500
* Fri Jul 22 2022
  - Update to version 4.4+git20220721.c00134211:
    * place the verification token at a random address
    * remove ancient mmap token location code
    * #3582 limit audio info
    * always enable bundling - no need for env switch
    * the '_proxy' subcommand doesn't need to load compressors
    * skip lib validation warnings when running 'sdist'
    * #3582 limit client info exposed
    * doh: return the info
    * return a dict even when we hit an error
    * #3591 clamp negative values to display
    * #3591 also drop negative dimensions
    * #2303 honour env var and skip processing ssh agent paths
    * some clients don't have ssh-auth-sock specified.. don't error out
    * silence linter
    * only forward ssl socket options to the ssl wrap function
    * fix ssl breakage: convert attribute names to arguments
* Fri Jul 22 2022
  - Update to version 4.4+git20220720.22e3ae211:
    * don't compress rgb pixels with anything but lz4
    * rename method to prevent confusion
    * #2303 ssh agent forwarding
    * #3582 hide detailed version info
* Wed Jul 20 2022
  - Update to version 4.4+git20220720.d0ae240e2:
    * #3582 skip opengl info
    * fixup estr logging method
    * #2303 make is_socket re-usable
    * #3483 pycuda also imports numpy
    * #3579 more f-strings
    * oops: missing import
    * #3582 mixins info, option to log capabilities
* Tue Jul 19 2022
  - Update to version 4.4+git20220719.d301bf723:
    * #3582 restrict client info exposed
    * the system tray forwarding is challenging
    * we are forced to use appindicator now
    * simplify
    * #3577 simplify
    * #3577 reorder
    * #3577 remove v4l2 legacy workarounds
    * typo
    * too many distros are missing pam pkgconfig files
    * not all Linux distros have this header file
    * another strangely misnamed package: libpam0g'
    * fix misnamed package dependencies
    * RHEL doesn't have a pam-devel package?
    * distros have all moved pam to /usr/include/security/pam*
* Mon Jul 18 2022
  - Update to version 4.4+git20220718.6b84ef9f6:
    * skip all guessing using an env var
    * #3386 fix typo
    * procps-devel is not available on RHEL?
    * pam pkgconfig refs had gone missing
    * refer to Cython 'Extension' class directly
    * oops: nvenc is not a package
    * make it easier to change the number of cores used
    * ignore 'address' warnings building nvenc
    * use booleans for switches
    * no longer used
    * try the local cuda symlink before anything else
    * this doesn't do anything
    * make it easier to choose the number of threads
    * #3577 remove legacy workarounds
    * #3577 add switch for 'argb' codec
    * #3577 group subsystems together
    * #3577 group macos / win32 bundling workarounds together
    * #3577 nvenc must use pkgconfig
    * #3577 enable '-DDEBUG' globally
    * #3577 convert pam module in pkg-config
    * CUDA symlink on MS Windows:
    * #3577 move nvenc tweaks to pkgconfig file
    * ignore temporary build generated installer file
    * #3390 evdi uses c++
    * #3577 use pkgconfig file for nvfbc flags
    * #3577 simplify nvenc / nvjpeg using pkgconfig files on win32
    * #3584 typo
    * fixup bccf36d62f6857094054cb3bd5cefd70b1fd5423: directories must start with a '/'
    * #2753 RPM file list update
    * #2753 add new packaging dependency
    * #3582 limit the info available to remote hosts
    * convert tray menu to use the new qrencode module
    * #56 fix miscalculation of initial refresh rate
    * #3583 update to the new python-cryptography API
    * #3579 (almost) finish this one module
    * #3483 only import numpy once, block if necessary
* Tue Jun 21 2022
  - Update to version 4.4+git20220621.872c7f8d8:
    * #3559 set non zero global quality with vaapi
    * #2400 more indirect dependencies
    * add example pkgconfig files
    * #3543 make it easier to disable inotify watcher
    * move away from slow zlib compression
    * #3556 don't enable hevc by default
    * report codec information using strings
    * add docstring
    * add missing codecs to clean list
    * #3457 add missing toggle for avif
    * #3553 extra args for vfb command
    * Update randr_bindings.pyx
    * Allow override of idealVSync by env. vars
    * Fedora 36 build fix: use a more crude glob
    * doh, typo
    * #3458 disable LTO on Fedora 36
    * new upstream release: 11.515.48
    * show builds from 'git master' as 'beta' builds
    * utility function to hide platform import ugliness
    * better error message formating
    * #3552 only initialize X11 gdk display source on X11..
    * #56 this function must return an int
    * #56 we may have already added this mode
    * #56 don't bother with xinerama workaround when we have randr16
    * better wording
    * oops: was meant to specify the list values
    * fix more warnings
    * silence some minor warnings
    * make code more readable
    * error message would itself cause an error
    * fix chunk number verification
    * cosmetic
* Tue May 31 2022
  - Update to version 4.4+git20220531.56f76c715:
    * fix new warnings generated by latest Cython / gcc on win32
    * also avoid deprecation warnings on win32
    * Update
* Wed May 25 2022
  - Update to version 4.4+git20220523.d5a721cc4:
    * fix webcam forwarding with older versions
    * Most build systems respect the CPP env var instead of just calling cpp
* Sat May 21 2022
  - Update to version 4.4+git20220521.cb25967f8:
    * #3545 opensuse does patch distutils
* Fri May 20 2022
  - Update to version 4.4+git20220519.9be098cc7:
    * #3371 set the server socket even if we don't forward xdg-open
    * we need a frame ancestor to use StreamSaver.js
    * Cython 0.29.30
    * trays don't have a 'client-geometry' to adjust
    * if we fail the checksum, delete the file
    * refactor hash checking functions
    * detect AlmaLinux and Rocky-Linux
    * make code more readable?
    * almalinux list of packages is the same as centos
    * minor fixes
    * update to use cuda 11.7 path
    * #3537 forward port d0d2bae8ad825685a9301855924f3468ae39767d
    * fix debug logging triggering warnings
    * better warning message: include the key
    * #3537 remove DesktopManager and DesktopState
    * #3537 remove overcomplicated ownership-election
    * #3537 clamp window models to the new screen size
    * more understandable message
    * simplify: size can be passed in, no need for a callback here
    * back off more gradually
    * the 'title' lives in the model
    * #3390 stub evdi capture codec
    * try harder to distinguish connection failures vs lost connections
    * only do the context check if we actually access X11 functions
    * log failures to cleanup contents handle
    * use the correct short names
    * these are the correct short names apparently
    * try harder to show a useful hostinfo
    * #3530 always use the free_image_wrapper method to ensure we safely access X11 using the context manager
    * prevent name conflict between errno value and enum
    * make it possible to call clean multiple times without causing errors
    * #3535 only unescape what we use, URL handlers can handle it raw
    * #3486 more thorough testing of json input
    * #3486 indent error details
    * #3486 can't catch an error we can't import
    * fixup c5f7c8804a87eb725e699045800b00322a4633e1: add to the correct prefix
    * #3486 add MSYS2 dependency
    * #3486 add suggested dependencies
    * #3486 fix keycloak auth module thanks to unit tests
    * #3535 unescape URLs
    * force rebuild
    * some distros choke on zstd
* Thu Apr 28 2022
  - Update to version 4.4+git20220428.94954180d:
    * #3533 newer versions of Firefox use smaller max-size
    * make socket info more resilient
    * only query ioctl if we have a valid file descriptor
    * move command lookup by pid to window model
    * #3530 don't send pixels for windows that don't overlap the screen
    * #3530 add 'unityhub' as browser content type
    * #3514 fix launch error on systems without X11
    * fix tabulation
    * log failures to undock systrays
    * #3530 crop the damage area if the window is now smaller
    * add the v4l2 source to the codec loader tool
    * #3371 guess the session if the environment has it
    * parse when called, don't return a generator
    * #3384 pass shadow geometry options to remote server
    * fix generic subcommand substitution
    * file should have been removed as part of 0b23cc0e59fd55047e5e73df7a4d39439584fb2d
    * make the code easier to parse using context managers
    * log the previous dimensions
    * use xsync context manager
    * #3530 use a UI context manager for freeing X11 images
    * don't use xsync context manager on MacOS
    * import X11 error handlers from the correct place
    * #3530 cleaning up the xshm handle may raise X11 errors
    * #3530 add more context checks
    * #3530 call context check when XShm resources are freed
    * lintian hangs on aarch64, skip it
    * #3524 don't modify the monitors when the client connects
    * remove debug logging
    * #3524 make monitor windows fullscreen when desktop-fullscreen is set
    * #3524 remove functions identical in base class
    * #3524 doh: modify the monitor we're setting properties on
    * #3524 better debug logging
    * #3524 refresh all monitors on layout changes
    * #3524 add 'monitor' subcommand
    * #3524 reconfigure monitor models on external resize event
    * #3524 add stub for handling monitor resizing via xrandr
    * add missing context check, XRRSelectInput wrapper
    * #3486 style fixups
    * Refactoring for PR
    * Refactoring for PR
    * #3524 fixups, cleanups, etc
    * cast is not necessary here
    * Refactoring for PR
    * Added keycloak authentication
* Tue Apr 19 2022
  - Update to version 4.4+git20220419.138728c46:
    * #3524 allow the client to add and remove monitors
    * always log the full backtrace
    * #3524 handle individual monitor resizing
    * #3524 doh: don't modify the event which may be used elsewhere
    * #56 / #3524 allow multiple monitors in 'resize-display' option
    * #3524 disentangle 'set-initial-position' and 'requested-position'
    * use 'damage' logging
    * pylint warnings
    * #3524 multi monitor desktop mode
    * #56 let the build auto-detect which variants should use Xdummy
    * we need the dummy installed to check the version number
    * #56 use Xdummy on Debian: add dependency
    * discard invalid workarea values
    * #56 we don't support multiple screens
    * remove debug logging
    * #56 let's hope that newer Debian versions no longer mess up the X11 server
    * #56 ensure the commented out Xdummy command line is valid
    * fix error if XDG_DATA_DIRS is not set
    * #56 make get_monitor_properties reusable
    * we don't support multiple screens, only monitors
    * Fix shadow server test following changes in #3476
    * oops: messed up patch context
    * #56 add disconnect patch to dummy driver builds
    * #56 enable the new exact monitor layout matching code
    * #56 match monitors and outputs
    * #56 try to disable unused crtc's outputs
    * fix benncode error when cuda info is missing
    * oops: using floats breaks backwards compatibility (bencode)
    * #3518 ffplay is video
    * #3519 use 'scroll' encoding more judiciously
    * update patch has zero fuzz
    * #56 keep track of primary monitor, prettify_plug_name
    * #56 enable Xdummy on arm again
    * build the dummy driver on arm64, always build xpra
    * ffmpeg 5.0.1
    * oops: we do still want those
    * #56 build updated dummy driver for Debian distros
    * simplify: don't enable by default on MacOS or MS Windows
    * MacOS needs a Python interpreter to run the signal listener
    * #3493 fix signal watcher libexec path on MacOS and MS Windows
    * ship xpra_signal_listener on MacOS
    * debug logging tweaks
    * fix setting of monitor attributes
    * provide XSync method, use it instead of (useless) XFlush
    * make it easier to initialize DPI awareness without loading GTK
    * latest pillow spits out warnings without this
    * #56 hook up monitor virtualization in seamless server
    * validate mapping size
    * oops: missed during renaming
    * remove unnecessary import
    * use a stronger type for membuf
    * #3504 use a MemBuf to quickly allocate host memory
    * use correct value for bits-per-pixel
    * #3504 make it clearer this is a CUDA buffer
    * #3504 simplify: don't use a download callback
    * explicitly unregister the CUDA RegisteredBuffer
    * #1467 remove redundant pointer limits patch
    * #56 oops: fix backwards compatibility for add_screen_size
    * #56 add modes to output as needed
    * add XSynchronize and XSync wrappers
    * #3366 pixel data is a list of bytes
    * re-use CurrentTime from pxd
    * #56 configure crtcs, outputs and monitors
    * #56 expose monitor info
    * #56 expose primary output, hide gamma for disconnected outputs
    * #56 also include gamma curves
    * #56 set WIDTH_MM and HEIGHT_MM dummy output properties
    * #56 skip irrelevant information
    * #56 capture most crtc / output info
    * #56 switch to milimeters everywhere
    * fix memleak: add missing XRRFreeOutputInfo
    * non ui clients may not have 'screen_sizes' defined
    * make it easier to dump monitor info
    * #56 make the legacy dummy dpi option optional
    * allow a wider range of clocks
    * #3504 free buffers as soon as possible, log alpha channel merge cost
    * #56 oops, missed from a6248574105da32680a9cb2b624cc6d9cf896688
    * #56 enable dynamic resolution matching with randr >= 1.6
    * #56 with dummy 0.4.0 or later no need for pre-defined modelines
    * minor path / extension fixups
    * fix patch path, remove merged patch, use bz2 archive
    * dummy v0.4.0
    * fix 'jpega' decoding using plain 'jpeg' decoder
    * #3504 add 'jpega' support
    * also add jpeg / nvjpeg encoders
    * pylint warning
* Fri Apr 08 2022 Scott Bradnick <>
  - Adding 'Recommends: lsb-release' so 'Information' -> 'Session Info'
    returns results vs. 'unknown'.
* Fri Apr 08 2022 Scott Bradnick <>
  - Removing 'BuildRequires: lsb-release'.
* Fri Apr 08 2022 Scott Bradnick <>
  - Adjusting to use 'distribution-release' for Tumbleweed and
    'openSUSE-release' for < Tumbleweed.
* Fri Apr 08 2022 Scott Bradnick <>
  - Swapping out 'openSUSE-release' (for 'distribution-release') BuildRequires.
* Thu Apr 07 2022 Scott Bradnick <>
  - xpra-paths.patch has been removed because the developer @totaam committed
    as a result of "build tweaks for openSUSE"
* Tue Apr 05 2022 Scott Bradnick <>
  - Updating .spec to accomodate TW (libexec) vs. Leap (lib) for %{_libexecdir}.
* Mon Apr 04 2022
  - Update to version 4.4+git20220404.1e56be683:
    * #3503 don't use gtk for reading atom names
* Mon Apr 04 2022
  - Update to version v4.3+git20220402.2f1c3abe7:
    * #3504 manage the cuda context outside the nvjpeg decoder
    * #3504 cuda gpu buffer transfer for opengl backend
    * #3509 protect access to mutable data
    * check if paths exist before
    * check XDG_DATA_DIRS/icons for pixmaps
    * remove unused declarations
    * #3509 prevent potential race condition
    * don't use arrays if we can use tuples
    * #3504 use pycuda rather than Cython
    * don't store cython generated file
    * #3504 common python definitions cannot live in pxd
    * move common definitions to pxd file
    * #3505 override sourced env with command line
    * #3505 command line can override config files
    * validate the option we're dealing with
    * #3458 revert f5b1b663bd981b326c4720731b7c97a007b2b247 now that cuda 11.5.2 supports GCC 12
    * try to build with gcc 12
    * arch=all triggers warnings, silence them
    * #3505 skip 'false' values
* Tue Mar 29 2022 Scott Bradnick <>
  - Adding a few missing BuildRequires/Requires/Recommends.
* Tue Mar 29 2022
  - Update to version git20220328.5881281f1:
    * #3504 add nvjpeg decoder
    * remove unused definitions
    * misaligned positional arguments
    * remove unused definitions
    * prefer immutable tuples
    * workaround for libx264 version numbers
    * export 'relative-position' and 'parent' from X11 shadow servers
    * doh: group-leader and transient-for had gone AWOL
    * #3476 support OR windows in shadow servers
    * add debug logging to video delay calculations
* Tue Mar 29 2022 Scott Bradnick <>
  - Initial version for xpra with 'xpra-html5' pulled out.
* Mon Mar 28 2022
  - Update to version git20220328.5881281f1:
    * #3504 add nvjpeg decoder
    * remove unused definitions
    * misaligned positional arguments
    * remove unused definitions
    * prefer immutable tuples
    * workaround for libx264 version numbers
    * export 'relative-position' and 'parent' from X11 shadow servers
    * doh: group-leader and transient-for had gone AWOL
    * #3476 support OR windows in shadow servers
    * add debug logging to video delay calculations
* Sat Mar 26 2022
  - Update to version git20220326.5fd33c46d:
    * export 'relative-position' and 'parent' from X11 shadow servers
    * doh: group-leader and transient-for had gone AWOL
    * #3476 support OR windows in shadow servers
    * add debug logging to video delay calculations
    * never delay unless we have a video region
    * log damage image and scroll latency
    * remove unused code
    * #3501 build tweaks for openSUSE
    * #3477 fixup opengl probing (again)
    * #3502 control command for (un)setting start env
* Fri Mar 25 2022
  - Update to version git20220325.7f8ca92ba:
    * #3477 fixup opengl probing (again)
    * #3502 control command for (un)setting start env
* Thu Mar 24 2022
  - Update to version git20220324.785a44e79:
    * #3476 relative window position tracking
    * #3493 forgot to update mswindows exe script path
    * #3493 no need for a man page if the command is hidden
    * missed from d5e3d9b1d0248cca7fc265f5d390e0b9d63a7a82
    * move manual to subdir of /u/s/doc/xpra
    * typo
    * fix distutils deprecation warning
    * #3493 move signal watcher to libexec
    * #3493 these files have moved
    * #3493 'fs' should mirror the real paths
* Wed Mar 23 2022 Scott Bradnick <>
  - Updated to the following source version(s):
    * xpra_ver 4.3.2
    * html5_ver 4.5.2
    * uglifyjs_ver 3.15.3
  - Added pkgconfig requirement for 'xres'.
  - Added a few new/missing items for '%files'.
* Wed Dec 01 2021 Bjørn Lie <>
  - Drop unused pkgconfig(pygtk-2.0) BuildRequires: Not used since
    version 4.0, when python 2 support was dropped.
  - Add pre, post, preun and postun handling of xpra.socket.
* Mon Oct 04 2021 Luigi Baldoni <>
  - Update to version 4.2.3
    * network layer:
      + ensure the http headers cache is never modified
      + invalid packet encoder names should not cause fatal errors
      + preserve audio packets chunking (avoids an HTML5 client
      + 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'
      + 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
      + 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
      + 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
    * 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
  - Update xpra-html5 to version 4.5.1 and uglify-js to 3.14.2
* Tue Aug 10 2021 Luigi Baldoni <>
  - Update to version 4.2.2
    * 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"
    * 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
    client issues:
    * backwards compatibility with v3 servers for ssh start
    * incorrect client exit code
    * '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
    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
    * 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
* Sun Jul 11 2021 Luigi Baldoni <>
  - Update to version 4.2.1
    build and packaging fixes:
    * missing dependencies
    * 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
    * fix RFB server protocol, sockets not timing out with VNC
    * 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
    * 'keydata' connection attribute should override other options
    * correct exit code for encryption errors
    * 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
    * 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
    * 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
* Sun Jun 20 2021 Ferdinand Thiessen <>
  - Add python3-pyinotify as recommended dependency to allow watch
    for video device changes
* Sat Jun 12 2021 Luigi Baldoni <>
  - Update to version 4.2
    * use pinentry for password prompts and ssh prompts
    * nvjpeg encoder - also requires this commit to the html5
    * gui for starting remote sessions
    * new subcommands: recover, displays, list-sessions,
      clean-displays, clean-sockets - #3098, #3099
    * many fixes: window initial position, focus, non-opengl paint
      corruption, slow rendering on MacOS, build scripts, handle
      smooth scroll events with wayland clients, always lossy
      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
  - Update uglify-js to 3.13.9
  - Refresh xpra-paths.patch
* Fri May 07 2021 Dirk Müller <>
  - fix build on architectures without pandoc
* Fri Apr 23 2021 Luigi Baldoni <>
  - Fix build with ffmpeg 4.4 on Leap
* Wed Apr 21 2021 Luigi Baldoni <>
  - Update to version 4.1.3
    * fix window geometry constraints being applied wrong
    * fix xpra start failures when the display is already running
      (with use-display=auto)
    * fix vp9 libvpx encoder failures with older library versions
    * fix 'xpra top' errors when the version string is missing
    * fix server errors when non interactive clients are connected
      (ie: 'xpra top')
    * fix http server error on incomplete installations
    * fix http server builtin script handler
    * fix icon loading errors causing empty start menus
    * fix compilation against ffmpeg 4.4 and later on some
    * exit more quickly with a failure if the VFB failed to start
    * correctly replace existing notifications with the gtk
      notifier backend
    * silence some rare errors and stacktraces
    * support CUDA 11.3
  - Update uglify-js to 3.13.4
* Tue Apr 06 2021 Luigi Baldoni <>
  - Update to version 4.1.2
    * 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'
    * fix client failures due to missing socket directories
    * 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 the server's GetAll dbus property handler
    * fix display-name validation check
    * the 'exec-wrapper' option no longer needs to use an absolute
    * 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
  - Update xpra-html5 to 4.1.2 and uglify-js to 3.13.3
  - Refresh xpra-paths.patch
* Wed Mar 17 2021 Luigi Baldoni <>
  - Update to version 4.1.1 (fixes boo#1182526)
    * ensure splash screen failures are not fatal, fix threading
    * avoid vaapi crashing in ffmpeg encoder
    * `xpra top` fixes:
      + correctly show the version number
      + laggy input handling and screen updates
      + long subcommand timeout
    * fix connection errors with trailing slash in display name
    * workaround API breakage in newer versions of python-zeroconf
    * warn just once if expected GStreamer element properties are
    * map more applications to text mode ('code', 'jetbrains')
    version 4.1:
    * Overhauled container based build system
    * Splash screen
    * `run_scaled` utility script
    * 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
    * MacOS support for images, more text formats, etc
    * MS Windows support for images
    * wayland clients
    * faster server startup
    * `xpra list-windows` subcommand
    * new window control commands: move - resize
    * 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
    * bumped maximum resolution beyond 8K
    * set the initial resolution more easily using the
      'resize-display' option
    * 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
    * IGD / UPNP
    * SO_KEEPALIVE option
    * clients can be queried 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
    * better test coverage
    * cleanup output
  - Refresh xpra-paths.patch
  - Add xpra-html5 (now distributed separately) and uglify-js
    (required by the former) tarballs
  - Spec cleanup
* Thu Feb 25 2021 Antonio Larrosa <>
  - Require the pulseaudio-daemon capability instead of the
    pulseaudio package, so alternative implementations can be used
* Wed Feb 10 2021
  - Fix regex for /bin/bash
* Fri Feb 05 2021
  - Fix requires for /bin/bash



Generated by rpm2html 1.8.1

Fabrice Bellet, Mon May 27 23:42:38 2024