Major changes in 0.13.1: ======================== *** IMPORTANT *** The 0.13.x release series is an unstable release series, if you are looking for stability for daily use, please use the latest 0.12.x release. We are trying to keep the code as functional as 0.12, but regressions or bugs could still happen. * add spice_qxl_gl_scanout() spice_qxl_gl_draw_async() for local virgl support * spice_server_set_keepalive_timeout() has been removed in favour of unconditionally sending keepalive probes every 10 minutes * the rework started in 0.13.0 has moved forward. The global RedsState *reds variable has now been removed, GLib mainloop is now used for the RedWorker thread rather than an adhoc implementation, some core classes have been ported to GObject, ... * some crash/leak fixes in corner cases Major changes in 0.13.0: ======================== * Start of a large code rework to attempt to make the codebase more maintainable. With this first release, the huge red_worker.c file has been split in multiple smaller files. * Added public spice_server_set_keepalive_timeout() to make it possible to tweak keepalive on all SPICE connection. This can prevent unwanted idle disconnections if proxies are used between the client and the host. * Fix important memory usage when the webdav channel is used * Do not disconnect when the client requests an unsupported compression type * Fix potential race condition when using multiple QXL devices * Fix display glitch when using XSpice * Improve help string for 'replay -s' * Fix crashes in corner cases (buggy spice-html5 + win10, vnc + SPICE port configured, USB webcam redirection over a slow link) * Fix various compilation warning when building on 32 bit machines * Do not build static libraries by default, this can be reenabled with --enable-static * Fix small leak in MJPEG code Major changes in 0.12.6: ======================== * Removed spicec client code, it has been superseded by remote-viewer and other spice-gtk based clients * Unix socket support * LZ4 support * Let clients specify their preferred image compression format * Allow to record and replay a spice-server session * Fixes for CVE-2015-3247 CVE-2015-5260 and CVE-2015-5261 * spice-protocol submodule has been removed,, spice-protocol must now be installed when building spice-server * Remove write polling in chardevs to reduce wakeups * Various bugs, crashes fixes, code cleanups, ... Major changes in 0.12.5: ======================== * Added Opus support. Celt support will be obsoleted in a future release. * Addition of webdav channel * Force use of TLS 1.0 or newer for TLS connections * Reference manual * Some optimizations improving CPU use * Various bug fixes for race conditions, memory corruption, ... which could be triggered on client disconnections, migration, ... and cause spice-server to misbehave. * Portability fixes * Code cleanups Major changes in 0.12.4: ======================== * log actual address spice-server binds to * main_channel: fix double release of migration target data (rhbz#859027) * red_channel: replace an assert upon threads mismatch with a warning (rhbz#823472) * support for filtering out agent file-xfer msgs (rhbz#961848) ** new library export spice_server_set_agent_file_xfer * mjpeg encoder statistics (mjpeg_encoder_get_stats) * improve stream stats readability and ease of parsing * fix for stuck display_channel over WAN (jpeg_enabled=true) (rhbz#977998) * Use RING_FOREACH_SAFE and other SAFE macros (rhbz#887775) * Some server/tests fixes. Major changes in 0.12.3: ======================== * monitor client bandwidth and latency. * dynamically adjust video stream quality based on client bandwidth & latency. ** new SPICE_MSGC_DISPLAY_STREAM_REPORT ** can also set SPICE_BIT_RATE environment variable to override. * support arbitrary latency of audio stream wrt video stream: ** new SPICE_MSG_PLAYBACK_LATENCY * notify agent on client disconnection ** new VD_AGENT_CLIENT_DISCONNECTED message * better support for switching from qxl to vga mode ** new library export spice_qxl_driver_unload * multiple monitor support in single channel fixes. * stop streams before migration. * don't send empty volume messages. * Bugs fixed: rhbz#891326, rhbz#958276, rhbz#956345 * fixes to inputs, chardev, build fixes. Major changes in 0.12.2: ======================== * Stable Release * Skipped 0.12.1, it existed in git but was never released * spice-server now requires glib2 (like qemu does) * More robust ssl error and certificate handling * Added support for websockets * Tons of seamless migration bugfixes * Also some none seamless migration bugfixes Major changes in 0.12.0: ======================== * Stable Release * support setting client monitor configuration via device QXLInterface::client_monitors_config * support notifying guest of client capabilities QXLInterface::set_client_capabilities * new capability for A8 Surface support * Enable build on armv6+ * Option to quit server after first client disconnects spice_server_set_exit_on_disconnect Major changes in 0.11.3: ======================== * !Development Release! * This entry contains all 0.11.0 .. 0.11.3 changes. * Support seamless migration: no loss of in transit messages. Still not supported for agent, smartcard and usb. * Support a new rendering message, Composite, for much improved linux guest performance. * Support arbitrary resolution & multiple monitors on a single display channel. * Improved keyboard handling under network latency with new SPICE_MSGC_INPUTS_KEY_SCANCODE message. * New libspice-server.so symbols: spice_server_set_seamless_migration spice_server_vm_stop spice_server_vm_start spice_qxl_monitors_config_async * New capabilities: SPICE_DISPLAY_CAP_COMPOSITE SPICE_DISPLAY_CAP_MONITORS_CONFIG SPICE_INPUTS_CAP_KEY_SCANCODE SPICE_MAIN_CAP_AGENT_CONNECTED_TOKENS SPICE_MAIN_CAP_SEAMLESS_MIGRATE * Misc: * char-device.c: Introducing shared flow control code for char devices * Enable build without client, cegui and slirp. Major changes in 0.11.0: ======================== * !Development Release! * 8817549..d905a1f * now using git submodules: spice-common and spice-protocol. * New spice protocol messages: (changes in spice-protocol, here for reference) * SPICE_MSG_MAIN_NAME, SPICE_MSG_MAIN_UUID * SPICE_MSG_DISPLAY_STREAM_DATA_SIZED * New corresponding caps: (changes in spice-protocol, here for reference) * SPICE_MAIN_CAP_NAME_AND_UUID * SPICE_DISPLAY_CAP_SIZED_STREAM. * Send name & uuid to capable clients * add support for frames of different sizes RHBZ #813826 * server: * support a pre-opened file descriptor * Solaris support. Now using poll instead of epoll. * Support IPV6 addresses in channel events RHBZ #788444 * other fixed RHBZ#: 787669, 787678, 819484 * spicec * alsa: use "default" instead of "hw:0,0" * volume keys support RHBZ #552539 * other fixed RHBZ#: 78655, 804561, 641828 * solaris, mingw & windows, 32 bit fixes. * enable server only build. * GNULIB manywarnings.m4 & warnings.m4 module added. * Many more bug fixes & code cleanups. * spice-protocol no longer external. * new server functions: + spice_server_set_name + spice_server_set_uuid + spice_server_set_listen_socket_fd + spice_server_is_server_mouse Major changes in 0.10.1: ======================== * Mini header support * Add server API for injecting a client connection socket * Add Xinerama support to spicec * Many bugfixes / code cleanups * Requires spice-protocol >= 0.10.1 Major changes in 0.10.0: ======================== * 32 bit (little endian) server builds. * ABI compatible with 0.8.2. Major changes in 0.9.2: ======================= * !Development Release! * server: semi-seamless migration support (RHBZ 738266) * client: semi-seamless migration support (RHBZ 725009, 738270) * Various bugfixes / cleanups * require spice-protocol >= 0.9.1 Major changes in 0.9.1: ======================= * !Development Release! * Multi-client support, disabled by default (experimental!) set the environment variable SPICE_DEBUG_ALLOW_MC before starting qemu to enable * Add support for adding generic spicevmc chardev passthrough channels * Add USB redirection channel (using generic spicevmc chardev passthrough) * Various bugfixes / cleanups Major changes in 0.9.0: ======================= * !Development Release! * volume synchronization between client and guest (client->guest only) * turbo-jpeg used to avoid expensive color conversion in mjpeg encoder. * Cleanups Major changes in 0.8.2: ======================= * server: sasl support (fdo bz 34795) * server: support guest async io * server: support guest suspend and hibernate * server: add symbol versioning to libspice-server.so * server: prevent running an old spice-server with a newer qemu * server Bug fixes (RHBZ): 714801, 713474, 674532, 653545 * client Bug fixes (RHBZ): 712938, 710461, 673973, 667689 * require spice-protocol >= 0.8.1 Major changes in 0.8.1: ======================= * client: Fix handling of --smartcard-db option * client: Add --version option * spicec-x11: Work around a bug in xsel * spicec-x11: Don't crash on apps sending bad atoms as TARGETS * server: Make copy paste support configurable * server: Various fixes to agent <-> client data handling Major changes in 0.8.0: ======================= * client: exit nicely for --controller with no SPICE_XPI_SOCKET (rhbz#644292) * client-x11: Use _exit rather then exit on X errors (rhbz#680763) * client-x11: Fix keyb modifiers not syncing from guest to client (rhbz#679467) * server: fix segfault on migration Major changes in 0.7.3: ======================= * Suport building with (and requires) libcacard-0.1.2 * Fixes for building with gcc-4.6 * Server: Drop unnecessary X11 and alsa requires from spice-server.pc * Client: fix minor for old migration support * Client: Remove spice-client watermark (rhbz#662450) Major changes in 0.7.2: ======================= * cmd-line-parser: fix wrong reporting of bad argument in --bla=val case * Server: do not depend on libcacard and CEGUI (when enabled for the client) * Server: send 1 instead of 4 as topdown flag "true" value * Client: accept 4 as top down flag value for compatibility with older servers * Client: stop blinking keyboard when out of focus * Client: log subject-host mismatch, and raise ssl warnings to errors Major changes in 0.7.1: ======================= * Brown paper bag release * Update SPICE_SERVER_VERSION * Include server/tests/test_util.h in the make dist generated tarbals, so that they actually compile Major changes in 0.7.0: ======================= * Many small bugfixes to the spice client * Support for smartcards (CAC) Major changes in 0.6.3: ======================= Major changes in this release: * Foreign menu and controller support for the client for XPI / ActiveX browser plugin usage (same API as the 0.4 client) * Copy and paste support in the client * Image copy and paste support in the X client * Fix fullscreen mode of the X client under compiz and KDE * Various portability and bug fixes Major changes in 0.6.2: ======================= 0.6.2 was skipped because a small but nasty bug was found while preparing the release (and it was already tagged as 0.6.2 in git). Major changes in 0.6.1: ======================= Major changes in this release: * New libspice API to handle backwards compatibility * Fix X crash in X client * Fix memory leaks and crashes * Portability fixes Major changes in 0.6.0: ======================= Major changes in this releas: * Various bugfixes * Make build work on arm7 * Fix build for python 2.5 * Don't allow video streams on non-primary surface * Fix shared memory leaks in client * Add some new libspice-server APIs for configuration options * Convert SpiceVDIPort API to generic SpiceCharDevice API * Add capabilities negotiation to agent Major changes in 0.5.3: ======================= Major changes in this release: * Various changes in the network protocol to make it more efficient. * New commandline arguments to enable/disable jpeg and zlib-over-glz. * Initial work on clipboard sharing added * Fix color channel order for mjpegs when connecting to older spice server. Major changes in 0.5.2: ======================= This is the first release of the unstable 0.5.x series leading up to 0.6. With this release the API of spice-server is considered stable, but the network protocol and QXL PCI ABI are still unstable. The major changes compared to the 0.4 series are: * New, more efficient network protocol * Support for offscreen surfaces in guest driver * New spice-server API * A marshalling/demarshalling system that isolates the network protocol parsing from the internal types * A PCI parsing and validation layer making it easier to get backwards compatibility, cleaning up the internals ans makes security review easier. * WAN support, including lossy compression using jpeg and zlib compression. * Easier to build. No more dependencies on forked versions of pixman and cairo. Separate module spice-protocol containing headers used when building drivers and qemu.