1v0.37
2=====
3
4- Deprecated: SpiceMainChannel:color-depth and SpiceSession::color-depth see
5  ([rhbz#1543538] and [rhbz#1350853]).
6- Fix race condition on keyboard modifiers
7- Fix cursor on Wayland: Fixes hidden cursor #83
8- Fix clipboard on X11: avoid request client clipboard data when is known that
9  there is no data.
10- Improve code around usb redirection feature
11- Fix on usb redirection: Don't add same device twice
12- Fix on smartcard: Warn if multiple readers are detected
13- Add instrumentation for frame and queue statistics of SpiceDisplay using
14  [Recorder] library
15- Fix Warnings with GStreamer >= 1.14 on video decoding due setting buffer's PTS
16- Fix some Critical warnings when build without GNOME desktop integration
17- Fix Criticals when no primary monitor is set
18- Documentation fixes
19- Added optional dependency: [Recorder]
20- Require GStreamer >= 1.10 (optional)
21- Require usbredir >= 0.7.1 (optional)
22- Translations:
23  - Added Czech
24  - Fix Italian
25
26[Recorder]: https://github.com/c3d/recorder
27[rhbz#1543538]: https://bugzilla.redhat.com/show_bug.cgi?id=1543538
28[rhbz#1350853]: https://bugzilla.redhat.com/show_bug.cgi?id=1350853
29
30v0.36
31=====
32
33- Add meson build: autotools will be removed in a future release
34- Deprecate PulseAudio backend: it will be removed in a future
35  release, please use GStreamer instead and report issues
36- Add H265 stream support (requires GStreamer support)
37- Add SpiceQmpPort helper to interact with QEMU monitor over a Spice port
38- Display a message if EGL support is required (with dmabuf local rendering)
39- Many GstVideoOverlay improvements
40- Smooth-scrolling improvements
41- Fix accumulating decoded frames with GStreamer
42- Fix reconnection handling
43- Fix small memory leaks due to bad refcount of images in the cache
44- Fix build for newer LibreSSL 2.7
45- Fix a crash on Windows with libusb 1.0.22 when UsbDk is not installed
46- Require GStreamer >= 1.0 (no longer optional)
47- Require spice-protocol >= 0.12.15
48- Require json-glib >= 1.0
49- Require Gtk+ >= 3.22 (optional)
50- Require usbredir >= 0.5 (optional)
51- Require libusb >= 1.0.16 (optional)
52- Require libcacard >= 2.5.1 (optional)
53- Require lz4 >= 1.7.3 (optional)
54
55v0.35
56=====
57
58- TLS v1.0 was disabled (rhbz#1521053)
59- New SpiceSession::disconnected signal
60- Use GstVideoOverlay if possible to render directly on Gstreamer's sink element
61- Handling smooth-scroll for scroll events on touchpads in Wayland
62- CELT codec is disabled by default but configure will error out if detects that
63  its headers are available unless --enable-celt051/--disable-051 is used.
64- Glib requirement bumped to 2.46
65- Spice-protocol bumped to 0.12.14
66- The spice-controller library was removed
67- Fix migration regression introduced in v0.34 (rhbz#1558043)
68- Fix connecting from big endian machine including SASL authentication
69- Webdav: Fix some runtime warnings
70- Introspection: Fixes for SpicePortChannel, SpiceDisplayChannel,
71  SpiceRecordChannel, SpiceInputsChannel, SpiceMainChannel
72- Enable ACL support on FreeBSD (fdo#104525)
73- win32: Convert locale dir from UTF-8 to local encoding
74- Fix width computation for palette images (rhbz#1508847)
75- Introduction of spice+tls:// URI format to tls all channels
76- Fix keycodes on Xwayland (rhbz#1479682)
77- Memory leak fixes, new tests
78
79v0.34
80=====
81
82- NOTE: this is the last release with the spice-controller library
83- add VP9 codec support
84- API: add spice_display_change_preferred_video_codec_type()
85- API: add new SpiceCursorChannel:cursor property, deprecate "cursor-set" signal
86- API: spice_audio_new() is no longer in public header (it was deprecated
87  for a long while)
88- fix clipboard crash and other regressions from 0.33
89- report invalid or stopped streams to the server
90- use playbin instead of decodebin with gstreamer > 1.9
91- support GST_DEBUG_BIN_TO_DOT_FILE debug
92- deprecate a few esoteric options from --spice group:
93  --spice-color-depth, --spice-cache-size, --spice-glz-window-size used
94  mainly for development. They may be available with spicy in the future.
95- win32: handle failures when starting win-usb manager
96- win32: removed windows usb-clerk support, replaced by UsbDk
97- win32: fix alt-tab & grab issues
98- spicy learned to tweak codec preference, cancel transfer, and resize
99  precisely for debugging purposes
100- use keycodemapdb submodule, drop perl(Text::CSV) dependency
101- file-xfer: fix bad filename encoding
102- file-xfer: handle new error kind
103- build-sys fixes for macos
104- replace some deprecated gtk code
105- memory leak fixes, new tests
106
107v0.33
108=====
109
110- lz4 compression of USB channel
111- keyboard: pause key fixes, set keypress-delay to 0 on local socket
112- mouse: fix pointer grabbing in server mode
113- clipboard: fix copying text from old application without UTF8_STRING
114  target (motif)
115- file-xfer changes: grouping all transferred files per operation
116- new spice_file_transfer_task_get_{total_bytes,transferred_bytes} API
117  and associated properties
118- new SpiceChannel:socket property
119- fix rendering issues with CSD on Windows
120- fix gettext support, some translations updates
121- fix display refresh issue on f25 after resize (init egl only when
122  required)
123- many leaks and races fixes, new tests
124
125v0.32
126=====
127
128libspice-client-gtk API/ABI break: library soname/version has been
129bumped, and deprecated symbols have been removed.  In practice, most
130of the API (in particular for language bindings) should be unchanged.
131
132- drop gtk+ 2.0 support
133- require gtk+ >= 3.12 and glib >= 2.36
134- add GStreamer as a backend for mjpeg, vp8 & h264 decoding
135  This allows the upcoming Spice server release to send video
136  regions with better codecs.
137- a number of spice-gtk structures are now private
138- spice-gtk widget is no longer a GtkDrawingArea but an opaque type
139  with only guarantee to be a GtkWidget
140- virgl: use GtkGlArea if possible (on wayland only atm)
141- virgl: various fixes (multiple display, resize, canvas-less support)
142- win-usbredir: use UsbDk backend when available and various
143  improvements
144- ensure that dnd file copy get cancelled
145- some JP and KR keyboard handling fixes on Windows
146- fix SASL GSSAPI
147- fix ipv6 proxy address handling
148- allow smaller widget with scaling enabled
149- add spice_main_request_mouse_mode() to request mouse mode
150- add SpiceGtkSession:sync-modifiers to change modifiers sync behaviour
151- various video decoding improvements
152- use GTask instead of GSimpleAsyncResult
153- misc bindings, leaks, warnings, and spelling fixes
154
155v0.31
156=====
157
158- NOTE: this is the last release to support gtk+ 2.0
159- add local GL scanout support for virtio-gpu/virgl guests
160- new file-transfer API, to be able to monitor transfers etc
161- new spice_display_change_preferred_compression() API
162- better authentication error reports
163- usbredir: drop isoc packets on low bandwidth (rhbz#1264156)
164- usbredir: add counter of free channels (rhbz#1298772)
165- add a toplevel include header spice-client-gtk.h
166- grab keyboard based on session focus (rhbz#1275231)
167- don't print error message on successful file transfer (rhbz#1265562)
168- allow simultaneous support for Pulse and GStreamer audio
169- remove GSlice usage
170- some BE endianness fixes
171- misc leak and use after-free fixes
172- documentation fixes
173
174v0.30
175=====
176- spice-protocol is no longer bundled with spice-gtk. Requires
177  spice-protocol >= 0.12.10
178- Handle single headed monitors that have a non-zero x, y config
179- various small improvements to 'spicy' test application
180- Fix build with automake < 1.13
181- various bug fixes and improvements
182- New API:
183  - spice_main_update_display_enabled()
184  - Add SpiceSession::preferred-compression property and
185    --spice-preferred-compression commandline switch (requires a
186    yet-to-be-released version of spice server)
187- ability to set the SpiceDisplay::keypress-delay property via a new
188  SPICE_KEYPRESS_DELAY environment variable
189
190v0.29
191=====
192
193- sync guest audio volume with client volume
194- use stream volume for PulseAudio source
195- on Windows, fail early during initialization if the usbclerk service
196  can't be reached
197- fix audio and usb managers to work with client provided fds
198- many crasher and bug fixes
199
200v0.28
201=====
202
203- webdav improvements:
204 - no longer spawn a server thread
205 - no longer use local TCP sockets & port
206 - provides read-only mode with SpiceSession:share-dir-ro
207 - requires libphodav-2.0 glib-2.0 >= 2.43.90 libsoup-2.4 >= 2.49.91
208- drop gstreamer 0.10 in favour of 1.0
209- add spice+unix://path connection support
210- accept URI with empty parameters value,
211  such as spice://localhost?port=5900&tls-port=
212- fixed lz4 support
213- silence some harmless warnings
214- misc API documentation improvements
215- switch-host migration fixes
216- learn to build --without-gtk
217- bugs and regressions fixes
218
219v0.27
220=====
221
222- add GStreamer 1.0 audio support
223- add LZ4 compression algorithm support
224- learn to release the keyboard grab on release keys pressed (ctrl+alt
225  by default), to let alt+f4/alt-tab and others for client side
226- session and channels life-cycle changes: a channel will no longer
227  hold a reference after session disconnection
228- migration fixes, fail early on client provided fds (this is left to
229  solve in the future)
230- fix support for Gtk+ 3.0 on Windows
231- clipboard size fixes
232- server-side pointer drawing on grab
233- new APIs:
234  spice_usb_device_get_libusb_device()
235  spice_session_is_for_migration()
236- build-sys improvements
237
238v0.26
239=====
240
241- allow transferring multiple files at once with dnd
242- avoid guest-side fd leak when transferring empty files
243  with dnd
244- add support for passing a username with SASL authentication
245- hide guest cursor when ungrabbing mouse in server mode
246- make sure client cursor is in the same position as the guest cursor when
247  ungrabbing mouse in server mode
248- add man page for command line options of application using spice-gtk
249- strip '\0' from text clipboard data
250- fix synchronization of keyboard modifiers
251- coroutine improvements
252- use http by default when SPICE_PROXY uri has no scheme
253
254v0.25
255=====
256
257- Fix SPICE_GTK_MICRO_VERSION define for default value
258- Make "phodav", the webdav server, an external dependency rather than
259  a submodule
260
261v0.24
262=====
263
264- support folder sharing, via WebDAV channel
265- add HTTPS proxy support (requires glib 2.28), and Basic auth
266- add SPICE_GTK_CHECK_VERSION macro
267- advertise SASL capability early (to help fips-enabled servers)
268- fix crash when releasing primary surface
269- fix a few memory leaks with SASL
270- fix spice_display_get_pixbuf() with offset area
271- build-sys improvements
272- note: until now, providing an invalid plain-port didn't error, and
273  was falling back silently on tls-port. With this release, an error
274  will be reported if the port can't be opened.
275
276v0.23
277=====
278
279- support Opus codec for audio channels
280- ssl: use tls 1.0 or better
281- support gdbus instead of dbus-glib when available
282- misc build-sys, compile and runtime fixes
283
284v0.22
285=====
286
287- improve inverted cursor support
288- use system-wide trust certificate store
289- make sasl support work with other method than MD5
290- fix some clipboard crasher, limit clipboard size
291- fix various regressions:
292  usbredir, alt-tab on win32, palette crash, agent notification, old
293  protocol support, sasl ending crash, gthread coroutine crash, close
294  sockets on migration, pulse backend crash
295- fix a few memory leaks
296- build-sys improvements
297
298v0.21
299=====
300
301- improve inverted cursor support
302- win32 usb redirected device uninstall fix
303- add support for libusb hotplug API
304- smartcard initialization fixes
305- c&p converts line-endings if necessary
306- rendering and overall performance improvements
307- build and bindings fixes
308
309v0.20
310=====
311
312- adaptive video streaming support (sync with PulseAudio backend only)
313- add spice_usb_device_manager_get_devices_with_filter()
314- add --spice-secure-channels to explicitely specify secure channels
315- multi-monitor, win32, USB redir fixes
316- add basic gtk+ wayland and broadway backend support
317- removed the GnomeRR code
318
319v0.19
320=====
321
322This is a bugfix only release, except the snappy name change
323- snappy has been renamed to spicy-screenshot
324- Several file-xfer fixes and improvements
325- Many win32 and USB redirection related fixes
326- Compile and work again with RHEL6 and older glib releases
327- misc fixes and improvements
328
329v0.18
330=====
331
332- Build fix with Gtk+ unstable.
333- MinGW build fixes with old headers
334- Fix USB coldplug race
335- Fixes rhbz#908057
336
337v0.17
338=====
339
340- Update spice-common with fedora 875348, 826036 fixes
341- Multi-monitor fixes (avoid monitor order shuffling, fix mouse offset
342  if monitor 0 is not at +0+0 and let agent do monitor offset)
343- Add support for VD_AGENT_CAP_SPARSE_MONITORS_CONFIG
344- Add controller & session "proxy" properties
345- Add drag and drop file copy support to send file to guest, you will
346  need capable agent to use that feature. Adds spice_main_file_copy_async()
347- Introspection fixes
348- Build fixes
349
350v0.16
351=====
352
353- Fix crash with SSL connection (#890464)
354- Send monitor config to the agent on spice_main_set_display_enabled() (#881072)
355- Fix channel leak and wrong condition in spice_channel_flush()
356- Build fixes
357
358v0.15
359=====
360
361- Add HTTP Proxy support (only with glib >= 2.26)
362- Add "port" channel support, to allow arbitrary communication on top
363  of spice connection
364- usb-redir: fix migration support
365- win32: various keyboard & mouse fixes
366- Add info message when USB dialog is empty
367- Fix initial black screen on some 16bits guest
368- Various bug fixes and improvements
369
370v0.14
371=====
372
373- Support for seamless migration
374- Improve scaling handling, add downscale-only property to give more
375  control over scaling
376- Better handle key press/release events in high-latency situations,
377  this should avoid unwanted key repetitions
378- Improve unescaping in URI parsing
379- Fix symbol versioning which was broken in 0.13
380- Fix for CVE-2012-4425
381- Various bug fixes and improvements
382
383v0.13
384=====
385
386- ABI break! SONAME has been bumped, all programs and libraries
387  linking to spice-gtk need to be recompiled against this version
388- Add support for USB device redirection on Windows
389- Add monitors config support (multiple monitors in same display)
390- Inhibit automount on GNOME desktop, to ease USB redirection
391- Better video support (reduce some glitches)
392- Misc migration fixes
393- Various bug fixes and improvements
394
395v0.12
396=====
397
398- Fix memory leak when guest is resized
399- Fix color-depth setting
400- Hide/Show cursor correctly when needed
401- Fix blue-tinted video with old Spice servers
402- Correct scroll-event not received with recent Gtk+
403- Fix various migrations issues
404- Allow to disable CELT encoding at runtime with SPICE_DISABLE_CELT
405- Various crash fixes (on pubkey, recording, clipboard)
406- Build changes (common submodule) and fixes
407
408v0.11
409=====
410
411- Fix semi-seamless migration regression
412- Add Spice session UUID and name support
413- Add foreign menu support to controller library
414- Add a simple controller testing tool spice-controller-dump
415- Build fixes
416
417v0.10
418=====
419
420- USB redir is now aware of host/guest side filtering
421- you can query spice_usb_device_manager_can_redirect_device()
422- fix the usbredir channel lifetime to be equal to session lifetime
423- set keepalive on channel socket
424- fix hangs on windows when using ssl chanels
425- add a SpiceDisplay::zoom-level to maintain a scaling ratio
426- add controller ENABLE_SMARTCARD option
427- remove a few warnings, ui improvements, build fixes
428
429v0.9
430====
431
432- Add command line options for setting the cache size and the glz window size
433- Add a USB device selection widget to libspice-client-gtk
434- Various bug fixes and code improvements
435
436v0.8
437====
438
439- add USB redirection support, see Hans comments in the log and that
440  post for details: http://hansdegoede.livejournal.com/11084.html
441- introduce SpiceGtkSession to deal with session-wide Gtk events, such
442  as clipboard, instead of doing it per display
443- many cursor and keyboard handling improvements
444- handle the new "semi-seamless" migration
445- support new Spice mini-headers
446- better coroutines: fibers on windows & jmp on linux
447- add Vala vapi bindings generation
448- many bug fixes and code improvements
449
450v0.7
451====
452
453- smartcard support
454- better video playback performance (jpeg-turbo & audio improvements)
455- support for audio volume (needs qemu support)
456- controller support for Windows (NamedPipe)
457- make perl-Text-CSV optional for tarball builds
458- new spice_get_option_group()/spice_set_session_option()
459- keyboard improvements, grab-sequence can be configured, various windows fixes
460- new tool spicy-stats, to collect informations during a session
461- bugfixes: memleak fixes, SASL fixes, crash with virt-manager
462- various build fixes, should build on MacOS as well now
463
464v0.6
465====
466
467- multi-head is working now!
468- change client resolution if guest can't
469- support sharing large clipboard, and images
470- multiple clibpoard selection
471- support SASL authentication
472- add experimental/unstable controller API
473- and a bunch of various smaller fixes
474
475v0.5
476====
477
478- Compatibility with gtk2 and gtk3
479- Migrations: seamless and switch host methods
480- SSL verification: public key, subject and host checks added
481- spice:// url parsing learned "password" argument
482- spicy: recent connexions UI added
483- various minor fixes
484
485v0.4
486====
487
488- sync video with pulseaudio backend
489- build with mingw, and run on Windows
490- various minor fixes
491
492v0.3
493====
494
495- fix Windows QXL driver support
496- fully asynchronous operations using coroutines
497  (thanks go to gtk-vnc devs)
498- cairo display (old XShm display can be enabled with --with-x11)
499- scaling support for cairo display
500- experimental audio support using GStreamer
501- API reference gtk-doc
502- more cursor type support
503- various fixes and cleanup
504
505v0.2
506====
507
508- gtk: disconnect record stream when record_stop()
509- README: add a few missing dependencies
510- build: use git-version-gen
511- build: re-enable -Wflags, and fix a few warnings
512- build: fix make -j
513- gtk: add zlib decoder
514- gtk: add jpeg decoder
515- gtk: progressive agent message recomposition
516- gtk: add dispay config
517- gtk: add clipboard sharing for text
518- TODO: update
519- gtk: put some g_message() under SPICE_DEBUG
520- gtk: add channel.set_capability()
521- gtk: add {session,channel}_open_fd()
522- gtk: add CELT playback
523- gtk: add CELT recording
524- gtk: save/restore spicy configuration
525- gtk: don't uncork new streams
526- gtk: delay PA stream creation when context is ready
527- gtk: visibility option for statusbar/toolbar in spicy
528
529v0.1.0
530======
531
532- desktop display, using GLZ compression
533- audio playback/recording with PulseAudio
534- video in mjpeg
535- python and gobject-introspection modules
536- spicy: a simple Gtk client
537- snappy: a command line screenshot tool
538