Releases: Xpra-org/xpra
Releases · Xpra-org/xpra
Release list
v6.5.3
- 🔧 Platforms, build and packaging:
- 🍎 macOS:
- MS Windows:
- Mmap issues:
- Encodings:
- aom decoder closing / leaking
- invalid aom image metadata
- openh264 decoder returning outdated frames
- openh264 decoder: handle main profile
- dav1d decoder image metadata (unused)
- BGRX must use opaque alpha
- channels swapped, miscalculated rowstride, 30-bit issues
- prefer BGRX / BGRA
- cairo: discard unused alpha
- webp currently unused rgb format swapped channels
- scroll encoding visual corruption
- safer scroll paints with unaccelerated client windows
- encode client misinterprets response
amfencoder abrubt quality scale- nvenc set hevc level
- nvenc: stop using deprecated presets
- nvenc: ensure YUV444 is only advertized when available, same for ARGB and r210
- nvenc: detect actual encoder size restrictions
- Major:
- errors during client disconnection
- keymap not applied + forwards compatibility and test
- microphone forwarding selects the wrong device
- system suspend + resume never unblocks window updates
- missed main thread lockups
- clipboard events cause connection to drop
- only request clipboard image if we don't have it yet
xpra upgradefails with duplicatedmodein session files- allow upgrades on displays where no window manager is left
- record client tracks focus, server syncs it
- segfault querying pulseaudio X11 properties
- Minor:
- cursor logging errors
- add keysym table + fix AltGr with native win32 client
- zero is a valid uid / gid
- allow lookup of session names starting with a digit
- CI build of Wayland client bindings
- always send window move / resize events to record clients
BACKWARDS_COMPATIBLEcan be set via env switch- drop audio
removesilencesince it never worked properly
- Network:
- OpenGL:
- actually check the pixel upload format exists
- verify the rgb buffer size before uploading it
- discard alpha padding in RGBX uploads
- [try harder to hide the test window](http...
v6.5.2
- 🔧 Platforms, build and packaging:
- Major:
- macOS client crash with audio enabled or speaker state changes
- Gtk X11 clients OpenGL errors
- missing wheel events with MS Windows clients
- shadow sessions can hang with VNC connections
- parsing of bind options using legacy form
- incomplete asynchronous keyboard initialization always apply initial settings
- X11 atom-name typos
- power events not used
- nvenc: choose a profile matching the chroma format
- Clipboard:
- Minor:
- tray and system-tray are independent
- webcam does not restart following suspend + resume
- missing window raise / restack
- don't request OpenGL contexts with depth or stencil buffers
- ssh agent symlink not cleaned up, update properly
- Cython CSC module validation
- ensure we never use dialogs from secondary threads
- validate port numbers ourselves
recordforwards compatibility- example clients now usable: handle more base packet types
- wheel events may land in the wrong location
- audio: unnecessary restarts
peercredwrongly queried on all stream sockets- IPv6 socket warnings
- Stricter Types:
- Cosmetic:
- skip notification warnings during cleanup
- system tray does not detect mmap
- clipboard type hint
- webcam suspend test failure
- invalid type used in unreachable runtime path
- X11 client tests for all display bit depths
- cleanup unavailable server log requests
- simplify: env values have a non-None default
- stray commas
- silence macOS legacy SSL warnings
v5.1.6
- Platforms, build and packaging:
- honour pkgconfig file for Gtk build paths + fixup
- MSWindows clients unstable resizing of headerbar windows
- MS Windows builds should install the qrencode library
- don't rely on CPython import side-effects
- remove Ubuntu Plucky, add Ubuntu Resolute
- update active Fedora releases
- macOS packaging update for newer GStreamer versions, newer python-zeroconf
- macOS source files missing from source distribution
GLibUnixwarnings on macOS- RHEL 10 packaging for libyuv
- openh264 RPM packaging conflicts
pynvml 13.610.43
- Security:
- RCE: URL parsing subversion
- don't download to
$HOMEas fallback - no longer enable control channel on clients by default
- tighten file transfer authorization
- reject malformed file transfer input
- never download to a dot file
- verify download path stays within the download directory
- restrict which types of URLs can be opened
- bind requested-file auto-accept to a client-generated send-id
- ensure file-transfer error handlers clean up properly
- Major:
- Minor:
- openh264 codecs could crash
- window size-constraints not honoured with OpenGL backend
- broken screenshot subcommand with shadow servers
- fail fast
- Gtk fails to guess the backend to use for the splash screen
- headerbar windows missing a title
- failure to stop a proxy instance should not propagate
- proxy deadlocks
- "raise windows" tray menu entry nonfunctional
- ensure cleanup methods are always called from the correct context
- socket directory double-quoted in runner script
- no need to try to use invalid displayfd values
- ssh proxied connections used the wrong config
- keyboard errors with X11 servers missing the Xkb extension
- workarea calculations could fail
monitormode is desktop-like for clients
- Network:
- SSL:
- Keyboard:
- Cosmetic:
- theoretically unsafe path evaluation
- more helpful message for incomplete installation issues
- server logs errors when processing info requests
- return correct type
- headerbar enum warnings
- redundant / confusing statement
monitormode should get the same warnings asdesktop- key event logging could mess up the log output
- nested dictionary formatting
- static gravity warning is obsolete
- hide bandwidth menu when the feature is not available
- message shows incorrect mmap limit
- remove legacy unused file
- remove bogus statements
v6.5.1
- 🔧 Platforms, build and packaging:
- Security:
- RCE: URL parsing subversion
- don't download to
$HOMEas fallback - never download to a dot file
- restrict which types of URLs can be opened
- verify download path stays within the download directory
- ensure auto-accepted file download matches the request
- harden requested file response validation
- only load pillow if needed
- ensure that the server only uses one of the allowed encodings
- no longer enable control channel on clients by default
- validate untrusted mDNS record fields before building connection URIs
- Major:
- Minor:
- gsettings lookup always failed in desktop servers
- ssh proxied connections used the wrong config
- error handling in fdproxy
- encode client fails to use
mmaptransfers - keyboard errors with X11 servers missing the Xkb extension
- internal errors updating av-sync delay
- mmap write errors should fall through
- safer network capability parsing
- don't send raw xpm icons
- workarea calculations could fail
- experimental client backends failed to use jpeg
monitormode is desktop-like for clients
- 📁 File-transfers:
- 🌈 Encodings:
- 💄 Cosmetic:
- no need to try to use invalid displayfd values
- socket directory double-quoted in runner script
- message shows incorrect mmap limit
- logging error when notification icon parsing fails
- notification theme icon default size + fixup test
- remove legacy unused file
- remove bogus statements
- match method signature
- planar data debug logging errors
- remove duplicated keys, add missing one
- incorrect metadata used for debug logging
- webcam handshake function
v6.5
- 🔧 Platforms, build and packaging:
- 🖧 Network:
- ⚡ OpenGL:
- 🌈 Encodings:
- 🕮 Documentation:
- ✨ Features:
- wayland backend
- memory savings and optimizations
- wireshark dissector
- multiple content-types per window
- faster content-type detection
- content aware cairo upscaling filter
- session recording client and replay tool
- asynchronous initialization
- more specific content types
- notification forwarding fixes and improvements
- fido2 authentication module
- support
image/pngwith Gtk clipboard backend (Wayland) - monitor geometry syncing tools
- snap window resize to increment grid
- support free-threaded builds
- better unit test coverage
xpra topGUI
- 📷 Webcam:
- 💄 Cosmetic:
v5.1.5
- Platforms, build and packaging:
- Ubuntu Noble and earlier fails to install
- Python compatibility regression and again
- prefer non-dot ssh paths on MS Windows
pyu2fmissing build dependency- partial support for some RHEL 10 clones
pynvml13.590.48pycuda2026.1cx_Freezecompatibility update- remove EOL Ubuntu releases: Lunar, Mantic, Plucky and Oracular
- add packaging for Ubuntu Questing and Resolute
- avoid gi warnings on MS Windows
- MacOS:
- MS Windows:
- Major:
- virtual monitor geometry synchronization + fixup + another
- virtual display refresh rate confusion
- handle notify2 backend failures gracefully
- initial "fast" socket read could spin until the connection failed + fixup
- DND errors under Wayland
- X11 calls missing trap context
- missing CUDA context when clients connect early
- CUDA context leak
- missing encodings
- override-redirect windows using outdated dimensions
- sub-image use after free
- video downscaling becomes sticky
- audio source could buffer to much
- saved ssh key fingerprint never matched
- explicit ssl handshake
- generating image menu items is excruciatingly slow
- header bar transparency issues
- handle failure to add screen size more gracefully
- Printing:
- Keyboard:
- Minor:
- try harder to locate the notification icons but not
SVGs - honour the
XPRA_MONITOR_CHANGE_REINITenvironment variable - spurious UI thread events on client startup
- expose
desktopflag for desktop windows - window size changed mis-detection
- better backwards compatibility for exposing version data
XPRA_MIN_DPIwould actually clamp the DPI to that value- bail out early when connection is already closed
- clipboard tray menu entry is not pre-selected
netdev_querymodule is optional- bump version of the notification spec we claim to support
- slots interfere with pygobject and should not be used
- pulseaudio setup race condition
- add guard against threading issues
- move-resize could miss the last event
- NVENC's
hevcdoes support lossless mode - about dialog cannot be shown again
- honour move-resize in read-only mode
- revert: do honour
USPosition/PPositionandUSSize/PSize - [always interact with Gtk from the main thread](https://...
- try harder to locate the notification icons but not
v6.4.4
- Platforms, build and packaging:
- MacOS:
- verify signing key is available
- missing X11 libraries + silence warnings generated by bundler and setuptools
- enable
avifsupport - hide
AMFandGStreamercodec warnings - record SBOM more reliably
- workaround
GioUnix-2.0.typelibwarnings - support newer
GdkPixbufversions - avoid Gtk critical warning and remove corresponding logging workaround
- Major:
- virtual display refresh rate confusion
- handle virtual resolution failures more gracefully
- missing CUDA context causing NVENC failures
- CUDA context leak
- clients connecting quickly may miss some server encodings + cleanup + fixup + another
- override-redirect windows using outdated dimensions
- broken distro detection, RHEL 10 clones Xvfb failures
- sub-image use after free
- video downscaling becomes sticky
- proxy server fails to locate sessions
- audio source could buffer too much
- saved ssh key fingerprint never matched
- ensure that hello is delivered before 'encodings' packet + alternative reverted
- generating image menu items is excruciatingly slow
- SSL:
- Minor:
- keyboard repeat rate lost after client sets new keymap
- server shows missing X11 context warnings with some clients
- honour
XPRA_NVIDIA_HARDWAREboth ways - clipboard tray menu entry is not pre-selected
- bump version of the notification spec we claim to support
- slots interfere with pygobject and should not be used
- handle refresh rate out of range more gracefully
- pulseaudio device detection and initialization
- try harder to find notification icons but not
SVGs, and handle invalid calls gracefully - move-resize could miss the last event
- AV1 codec test data does not match the metadata
- configuration backup filename truncated
- NVENC's
hevcdoes support lossless mode - missing bandwidth and lantency data in sesion info graphs
- about dialog cannot be shown again, must be destroyed
- window not resized in read-only mode, also handle move-resize
- errors when running with
system-tray=no - use default cursor as fallback
- pointer overlay artifacts
- revert: do honour
USPosition/PPositionandUSSize/PSize - always interact with Gtk from the main thread
- missing
qrcodesubcommand, error generatingqrimage - missing data from info requests
- honour info
fullflag expandsubcommand needsx11bindings, server hierarchy error- webcam client sanity checks
- header bar transparency issues
- cairo missing hint
- cancelled file transfers cause logging error
- file transfer errors in deny / error paths
- file transfer data not freed on error
- [remove duplicated server load info](5dcc8b1...
v6.4.3
- Platforms, build and packaging:
- Major:
- Cosmetic:
v6.4.2
- Platforms, build and packaging:
- SSH:
- Printing:
- incorrect cups backend exit codes could cause DoS ie:
FILE_TOO_BIG - incomplete printer forwarding compatibility check
- newer servers expect a print handler for hello requests
- expose detailed diagnostics to the print client
- undefined diagnostic method aborts printing
- use more widely compatible socket syntax
- don't catch all exceptions types
- print client needed
fileandprintermodules unecessarily - SELinux warnings
- incorrect cups backend exit codes could cause DoS ie:
- Major:
- Minor:
- Cosmetic:
v6.4.1
- Platforms, build and packaging:
- MS Windows issues:
- Major:
- printer cannot be enabled
- virtual monitor geometry synchronization
- broken Gtk Wayland clipboard
exit-sshoption was getting lost- auto-reconnect from seamless ssh start
- handle paramiko failure to compare agent keys more gracefully
- Wayland client crash loading X11 bindings
- ibus deamonizer fails with non-default interpreter + fixup
- proxy server startup is incomplete
- missing audio on remote ssh start + update unit tests
- Keyboard:
- secondary connections cannot use keyboard when sharing
- default keyboard configuration should have default modifier mappings
- help clients figure out modifier mappings
- use a default translation map if we don't have keycode definitions
- some keys could not be accessed
- skip modifiers warning during initialization
- clear modifiers before changing the keymap
- client keyboard 'options' attribute was not forwarded
- honour layout and variant overrides
- Minor:
- expose
desktopflag for desktop windows - future correctness: use argument provided
- Qt6 client failed to run
- handle missing gtk widget component more gracefully
- cleanup errors if setup failed
- wrong location for handler registration
- window size changed mis-detection
- missing packet handlers
- make locating the interpreter more resilient + fixup
execauth can use http headers + fixup- client can specify username using environment variable
- expose
- Cosmetic:
- splash screen warnings
- misplaced packet handler registration
- remove unused cython functions
- remove duplicated methods
- remove Gtk keymap warning
- confusing message
- more useful message
- show the source of the error
- some exceptions have no message
- prevent cleanup warnings
- more resilient mmap cleanup
- broken links in documentation
- overwritten cursor attributes
- always log full failure details at debug level
- printing debug logging is incorrect
- debug logging record misformed
- invalid type hint