summaryrefslogtreecommitdiff
path: root/NEWS
blob: e1b02175d928e8018d0b6641900488e168460c8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
Major Changes in 0.13.2:
========================

*** 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.

* Fixes for various CVEs
* Added GStreamer support to the video streaming code
* Fix old migration bug causing migration to never end in some cases
* Fix some vdagent-related regressions introduced in 0.13.1
* Added lz4 compression to the spicevmc channel
* Ongoing code cleanups

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.