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