- Fix usbid parsing regression introduced in !78 (v0.39)
- !91 - Fix crash with division by 0 rhbz#1941627
- !97 - #157 - Fix detecting pyparsing module
- Add API to allocate SpiceUsbDevice (for Android) spice_usb_device_manager_allocate_device_for_file_descriptor()
- !93 - #137 - add support for TLS-SNI
- !92 - Support USB emulation for MacOS
- !96 - Support side mouse buttons
- !85 - #75 - add spice_display_keyboard_ungrab()
- !81 - GL fix warning fix and improve scanout logic
- !84 - Fix leak and warnings in gstaudio and spicy
- !86, !87, !90 - Several introspection fixes and improvements
- !33 - Remove PulseAudio backend
- !34 - Remove support to CELT codec
- !42 - Drop capabilities from usb-acl-helper binary
- !45 - #123 - Install ACL helper in libexec directory
- !48 - Add support to Wayland mouse in server mode
- !49 - #126 - Read all SASL buffer
- !54 - Add Copy & Paste support over Webdav
- !58 - Improve input and display on HiDPI displays
- !64 - Add support for Physical size display
- !69 - Fix leak on Display's surface
- !74 - Fix read overflow on (not seamless) migration code
- !75 - Fix usb redirect on connect, see rhbz#1874740
- !77 - Fixes buffer overflow in QUIC CVE-2020-14355
- Require polkit >= 0.101
- Require meson >= 0.53
- Require glib-2.0 >= 2.52
- #108 - Add CD/DVD redirection, to allow mounting ISO images from client.
- #99 - Fix display scaling with EGL and HiDPI monitors
- #19 - Fix display corruption on HiDPI
- #82 - Various clipboard fixes & improvements, related to host/guest races & cltipboard managers
- rhbz#1720532 - Fix buffer overflow on sending data with shared-folders
- rhbz#1695618 - Fix hang over failed migration
- API: add spice_display_channel_change_preferred_video_codec_types()
- Several usbredir related fixes and code improvements
- Several video stream related fixes and code improvements
- Several shared-folder related fixes and code improvements
- file-xfer: fix stuck transfer while transfering multiple big files at once
- file-xfer: fix possible crash on Windows
- Migration: Fix metadata swap of channels
- build-sys: remove autotools (transition to meson completed)
- Require spice-protocol >= 0.14.1
- Require libusb >= 1.0.21
- Translations:
- Update Italian
- Add Russian
- Deprecated: SpiceMainChannel:color-depth and SpiceSession::color-depth see (rhbz#1543538 and rhbz#1350853).
- Fix race condition on keyboard modifiers
- Fix cursor on Wayland: Fixes hidden cursor #83
- Fix clipboard on X11: avoid request client clipboard data when is known that there is no data.
- Improve code around usb redirection feature
- Fix on usb redirection: Don't add same device twice
- Fix on smartcard: Warn if multiple readers are detected
- Add instrumentation for frame and queue statistics of SpiceDisplay using Recorder library
- Fix Warnings with GStreamer >= 1.14 on video decoding due setting buffer's PTS
- Fix some Critical warnings when build without GNOME desktop integration
- Fix Criticals when no primary monitor is set
- Documentation fixes
- Added optional dependency: Recorder
- Require GStreamer >= 1.10 (optional)
- Require usbredir >= 0.7.1 (optional)
- Translations:
- Added Czech
- Fix Italian
- Add meson build: autotools will be removed in a future release
- Deprecate PulseAudio backend: it will be removed in a future release, please use GStreamer instead and report issues
- Add H265 stream support (requires GStreamer support)
- Add SpiceQmpPort helper to interact with QEMU monitor over a Spice port
- Display a message if EGL support is required (with dmabuf local rendering)
- Many GstVideoOverlay improvements
- Smooth-scrolling improvements
- Fix accumulating decoded frames with GStreamer
- Fix reconnection handling
- Fix small memory leaks due to bad refcount of images in the cache
- Fix build for newer LibreSSL 2.7
- Fix a crash on Windows with libusb 1.0.22 when UsbDk is not installed
- Require GStreamer >= 1.0 (no longer optional)
- Require spice-protocol >= 0.12.15
- Require json-glib >= 1.0
- Require Gtk+ >= 3.22 (optional)
- Require usbredir >= 0.5 (optional)
- Require libusb >= 1.0.16 (optional)
- Require libcacard >= 2.5.1 (optional)
- Require lz4 >= 1.7.3 (optional)
- TLS v1.0 was disabled (rhbz#1521053)
- New SpiceSession::disconnected signal
- Use GstVideoOverlay if possible to render directly on Gstreamer's sink element
- Handling smooth-scroll for scroll events on touchpads in Wayland
- CELT codec is disabled by default but configure will error out if detects that its headers are available unless --enable-celt051/--disable-051 is used.
- Glib requirement bumped to 2.46
- Spice-protocol bumped to 0.12.14
- The spice-controller library was removed
- Fix migration regression introduced in v0.34 (rhbz#1558043)
- Fix connecting from big endian machine including SASL authentication
- Webdav: Fix some runtime warnings
- Introspection: Fixes for SpicePortChannel, SpiceDisplayChannel, SpiceRecordChannel, SpiceInputsChannel, SpiceMainChannel
- Enable ACL support on FreeBSD (fdo#104525)
- win32: Convert locale dir from UTF-8 to local encoding
- Fix width computation for palette images (rhbz#1508847)
- Introduction of spice+tls:// URI format to tls all channels
- Fix keycodes on Xwayland (rhbz#1479682)
- Memory leak fixes, new tests
- NOTE: this is the last release with the spice-controller library
- add VP9 codec support
- API: add spice_display_change_preferred_video_codec_type()
- API: add new SpiceCursorChannel:cursor property, deprecate "cursor-set" signal
- API: spice_audio_new() is no longer in public header (it was deprecated for a long while)
- fix clipboard crash and other regressions from 0.33
- report invalid or stopped streams to the server
- use playbin instead of decodebin with gstreamer > 1.9
- support GST_DEBUG_BIN_TO_DOT_FILE debug
- deprecate a few esoteric options from --spice group: --spice-color-depth, --spice-cache-size, --spice-glz-window-size used mainly for development. They may be available with spicy in the future.
- win32: handle failures when starting win-usb manager
- win32: removed windows usb-clerk support, replaced by UsbDk
- win32: fix alt-tab & grab issues
- spicy learned to tweak codec preference, cancel transfer, and resize precisely for debugging purposes
- use keycodemapdb submodule, drop perl(Text::CSV) dependency
- file-xfer: fix bad filename encoding
- file-xfer: handle new error kind
- build-sys fixes for macos
- replace some deprecated gtk code
- memory leak fixes, new tests
- lz4 compression of USB channel
- keyboard: pause key fixes, set keypress-delay to 0 on local socket
- mouse: fix pointer grabbing in server mode
- clipboard: fix copying text from old application without UTF8_STRING target (motif)
- file-xfer changes: grouping all transferred files per operation
- new spice_file_transfer_task_get_{total_bytes,transferred_bytes} API and associated properties
- new SpiceChannel:socket property
- fix rendering issues with CSD on Windows
- fix gettext support, some translations updates
- fix display refresh issue on f25 after resize (init egl only when required)
- many leaks and races fixes, new tests
libspice-client-gtk API/ABI break: library soname/version has been bumped, and deprecated symbols have been removed. In practice, most of the API (in particular for language bindings) should be unchanged.
- drop gtk+ 2.0 support
- require gtk+ >= 3.12 and glib >= 2.36
- add GStreamer as a backend for mjpeg, vp8 & h264 decoding This allows the upcoming Spice server release to send video regions with better codecs.
- a number of spice-gtk structures are now private
- spice-gtk widget is no longer a GtkDrawingArea but an opaque type with only guarantee to be a GtkWidget
- virgl: use GtkGlArea if possible (on wayland only atm)
- virgl: various fixes (multiple display, resize, canvas-less support)
- win-usbredir: use UsbDk backend when available and various improvements
- ensure that dnd file copy get cancelled
- some JP and KR keyboard handling fixes on Windows
- fix SASL GSSAPI
- fix ipv6 proxy address handling
- allow smaller widget with scaling enabled
- add spice_main_request_mouse_mode() to request mouse mode
- add SpiceGtkSession:sync-modifiers to change modifiers sync behaviour
- various video decoding improvements
- use GTask instead of GSimpleAsyncResult
- misc bindings, leaks, warnings, and spelling fixes
- NOTE: this is the last release to support gtk+ 2.0
- add local GL scanout support for virtio-gpu/virgl guests
- new file-transfer API, to be able to monitor transfers etc
- new spice_display_change_preferred_compression() API
- better authentication error reports
- usbredir: drop isoc packets on low bandwidth (rhbz#1264156)
- usbredir: add counter of free channels (rhbz#1298772)
- add a toplevel include header spice-client-gtk.h
- grab keyboard based on session focus (rhbz#1275231)
- don't print error message on successful file transfer (rhbz#1265562)
- allow simultaneous support for Pulse and GStreamer audio
- remove GSlice usage
- some BE endianness fixes
- misc leak and use after-free fixes
- documentation fixes
- spice-protocol is no longer bundled with spice-gtk. Requires spice-protocol >= 0.12.10
- Handle single headed monitors that have a non-zero x, y config
- various small improvements to 'spicy' test application
- Fix build with automake < 1.13
- various bug fixes and improvements
- New API:
- spice_main_update_display_enabled()
- Add SpiceSession::preferred-compression property and --spice-preferred-compression commandline switch (requires a yet-to-be-released version of spice server)
- ability to set the SpiceDisplay::keypress-delay property via a new SPICE_KEYPRESS_DELAY environment variable
- sync guest audio volume with client volume
- use stream volume for PulseAudio source
- on Windows, fail early during initialization if the usbclerk service can't be reached
- fix audio and usb managers to work with client provided fds
- many crasher and bug fixes
- webdav improvements:
- no longer spawn a server thread
- no longer use local TCP sockets & port
- provides read-only mode with SpiceSession:share-dir-ro
- requires libphodav-2.0 glib-2.0 >= 2.43.90 libsoup-2.4 >= 2.49.91
- drop gstreamer 0.10 in favour of 1.0
- add spice+unix://path connection support
- accept URI with empty parameters value, such as spice://localhost?port=5900&tls-port=
- fixed lz4 support
- silence some harmless warnings
- misc API documentation improvements
- switch-host migration fixes
- learn to build --without-gtk
- bugs and regressions fixes
- add GStreamer 1.0 audio support
- add LZ4 compression algorithm support
- learn to release the keyboard grab on release keys pressed (ctrl+alt by default), to let alt+f4/alt-tab and others for client side
- session and channels life-cycle changes: a channel will no longer hold a reference after session disconnection
- migration fixes, fail early on client provided fds (this is left to solve in the future)
- fix support for Gtk+ 3.0 on Windows
- clipboard size fixes
- server-side pointer drawing on grab
- new APIs: spice_usb_device_get_libusb_device() spice_session_is_for_migration()
- build-sys improvements
- allow transferring multiple files at once with dnd
- avoid guest-side fd leak when transferring empty files with dnd
- add support for passing a username with SASL authentication
- hide guest cursor when ungrabbing mouse in server mode
- make sure client cursor is in the same position as the guest cursor when ungrabbing mouse in server mode
- add man page for command line options of application using spice-gtk
- strip '\0' from text clipboard data
- fix synchronization of keyboard modifiers
- coroutine improvements
- use http by default when SPICE_PROXY uri has no scheme
- Fix SPICE_GTK_MICRO_VERSION define for default value
- Make "phodav", the webdav server, an external dependency rather than a submodule
- support folder sharing, via WebDAV channel
- add HTTPS proxy support (requires glib 2.28), and Basic auth
- add SPICE_GTK_CHECK_VERSION macro
- advertise SASL capability early (to help fips-enabled servers)
- fix crash when releasing primary surface
- fix a few memory leaks with SASL
- fix spice_display_get_pixbuf() with offset area
- build-sys improvements
- note: until now, providing an invalid plain-port didn't error, and was falling back silently on tls-port. With this release, an error will be reported if the port can't be opened.
- support Opus codec for audio channels
- ssl: use tls 1.0 or better
- support gdbus instead of dbus-glib when available
- misc build-sys, compile and runtime fixes
- improve inverted cursor support
- use system-wide trust certificate store
- make sasl support work with other method than MD5
- fix some clipboard crasher, limit clipboard size
- fix various regressions: usbredir, alt-tab on win32, palette crash, agent notification, old protocol support, sasl ending crash, gthread coroutine crash, close sockets on migration, pulse backend crash
- fix a few memory leaks
- build-sys improvements
- improve inverted cursor support
- win32 usb redirected device uninstall fix
- add support for libusb hotplug API
- smartcard initialization fixes
- c&p converts line-endings if necessary
- rendering and overall performance improvements
- build and bindings fixes
- adaptive video streaming support (sync with PulseAudio backend only)
- add spice_usb_device_manager_get_devices_with_filter()
- add --spice-secure-channels to explicitely specify secure channels
- multi-monitor, win32, USB redir fixes
- add basic gtk+ wayland and broadway backend support
- removed the GnomeRR code
This is a bugfix only release, except the snappy name change
- snappy has been renamed to spicy-screenshot
- Several file-xfer fixes and improvements
- Many win32 and USB redirection related fixes
- Compile and work again with RHEL6 and older glib releases
- misc fixes and improvements
- Build fix with Gtk+ unstable.
- MinGW build fixes with old headers
- Fix USB coldplug race
- Fixes rhbz#908057
- Update spice-common with fedora 875348, 826036 fixes
- Multi-monitor fixes (avoid monitor order shuffling, fix mouse offset if monitor 0 is not at +0+0 and let agent do monitor offset)
- Add support for VD_AGENT_CAP_SPARSE_MONITORS_CONFIG
- Add controller & session "proxy" properties
- Add drag and drop file copy support to send file to guest, you will need capable agent to use that feature. Adds spice_main_file_copy_async()
- Introspection fixes
- Build fixes
- Fix crash with SSL connection (#890464)
- Send monitor config to the agent on spice_main_set_display_enabled() (#881072)
- Fix channel leak and wrong condition in spice_channel_flush()
- Build fixes
- Add HTTP Proxy support (only with glib >= 2.26)
- Add "port" channel support, to allow arbitrary communication on top of spice connection
- usb-redir: fix migration support
- win32: various keyboard & mouse fixes
- Add info message when USB dialog is empty
- Fix initial black screen on some 16bits guest
- Various bug fixes and improvements
- Support for seamless migration
- Improve scaling handling, add downscale-only property to give more control over scaling
- Better handle key press/release events in high-latency situations, this should avoid unwanted key repetitions
- Improve unescaping in URI parsing
- Fix symbol versioning which was broken in 0.13
- Fix for CVE-2012-4425
- Various bug fixes and improvements
- ABI break! SONAME has been bumped, all programs and libraries linking to spice-gtk need to be recompiled against this version
- Add support for USB device redirection on Windows
- Add monitors config support (multiple monitors in same display)
- Inhibit automount on GNOME desktop, to ease USB redirection
- Better video support (reduce some glitches)
- Misc migration fixes
- Various bug fixes and improvements
- Fix memory leak when guest is resized
- Fix color-depth setting
- Hide/Show cursor correctly when needed
- Fix blue-tinted video with old Spice servers
- Correct scroll-event not received with recent Gtk+
- Fix various migrations issues
- Allow to disable CELT encoding at runtime with SPICE_DISABLE_CELT
- Various crash fixes (on pubkey, recording, clipboard)
- Build changes (common submodule) and fixes
- Fix semi-seamless migration regression
- Add Spice session UUID and name support
- Add foreign menu support to controller library
- Add a simple controller testing tool spice-controller-dump
- Build fixes
- USB redir is now aware of host/guest side filtering
- you can query spice_usb_device_manager_can_redirect_device()
- fix the usbredir channel lifetime to be equal to session lifetime
- set keepalive on channel socket
- fix hangs on windows when using ssl chanels
- add a SpiceDisplay::zoom-level to maintain a scaling ratio
- add controller ENABLE_SMARTCARD option
- remove a few warnings, ui improvements, build fixes
- Add command line options for setting the cache size and the glz window size
- Add a USB device selection widget to libspice-client-gtk
- Various bug fixes and code improvements
- add USB redirection support, see Hans comments in the log and that post for details: http://hansdegoede.livejournal.com/11084.html
- introduce SpiceGtkSession to deal with session-wide Gtk events, such as clipboard, instead of doing it per display
- many cursor and keyboard handling improvements
- handle the new "semi-seamless" migration
- support new Spice mini-headers
- better coroutines: fibers on windows & jmp on linux
- add Vala vapi bindings generation
- many bug fixes and code improvements
- smartcard support
- better video playback performance (jpeg-turbo & audio improvements)
- support for audio volume (needs qemu support)
- controller support for Windows (NamedPipe)
- make perl-Text-CSV optional for tarball builds
- new spice_get_option_group()/spice_set_session_option()
- keyboard improvements, grab-sequence can be configured, various windows fixes
- new tool spicy-stats, to collect informations during a session
- bugfixes: memleak fixes, SASL fixes, crash with virt-manager
- various build fixes, should build on MacOS as well now
- multi-head is working now!
- change client resolution if guest can't
- support sharing large clipboard, and images
- multiple clibpoard selection
- support SASL authentication
- add experimental/unstable controller API
- and a bunch of various smaller fixes
- Compatibility with gtk2 and gtk3
- Migrations: seamless and switch host methods
- SSL verification: public key, subject and host checks added
- spice:// url parsing learned "password" argument
- spicy: recent connexions UI added
- various minor fixes
- sync video with pulseaudio backend
- build with mingw, and run on Windows
- various minor fixes
- fix Windows QXL driver support
- fully asynchronous operations using coroutines (thanks go to gtk-vnc devs)
- cairo display (old XShm display can be enabled with --with-x11)
- scaling support for cairo display
- experimental audio support using GStreamer
- API reference gtk-doc
- more cursor type support
- various fixes and cleanup
- gtk: disconnect record stream when record_stop()
- README: add a few missing dependencies
- build: use git-version-gen
- build: re-enable -Wflags, and fix a few warnings
- build: fix make -j
- gtk: add zlib decoder
- gtk: add jpeg decoder
- gtk: progressive agent message recomposition
- gtk: add dispay config
- gtk: add clipboard sharing for text
- TODO: update
- gtk: put some g_message() under SPICE_DEBUG
- gtk: add channel.set_capability()
- gtk: add {session,channel}_open_fd()
- gtk: add CELT playback
- gtk: add CELT recording
- gtk: save/restore spicy configuration
- gtk: don't uncork new streams
- gtk: delay PA stream creation when context is ready
- gtk: visibility option for statusbar/toolbar in spicy
- desktop display, using GLZ compression
- audio playback/recording with PulseAudio
- video in mjpeg
- python and gobject-introspection modules
- spicy: a simple Gtk client
- snappy: a command line screenshot tool