Submit version 0.20.1 of GUPnP (4186015)
[profile/ivi/GUPnP.git] / NEWS
1 0.20.1
2 ======
3
4 Changes since 0.20.0:
5 - Fix suspicious use of va_list in the code.
6
7 Bugs fixed in this release:
8  - https://bugzilla.gnome.org/show_bug.cgi?id=689813
9
10 All contributors to this release:
11   Krzesimir Nowak <krnowak@openismus.com>
12
13 0.20.0
14 ======
15
16 Changes since 0.19.4:
17 - Fix Accept-Language header generation.
18 - Fix some issues with Windows support on mingw64.
19
20 Bugs fixed in this release:
21  - https://bugzilla.gnome.org/show_bug.cgi?id=683199
22
23 All contributors to this release:
24   Jens Georg <mail@jensge.org>
25
26 0.19.4
27 ======
28
29 Changes since 0.19.3:
30 - Shuffle around some test data.
31 - Fix a GError leak in the linux cm.
32 - Fix a leak in variable notification.
33 - Clarify usage of gupnp_service_proxy_remove_notify.
34
35 All contributors to this release:
36   Jens Georg <mail@jensge.org>
37   Sven Neumann <s.neumann@raumfeld.com>
38   Marcin Nowakowski <marcin.nowakowski@pure.com>
39
40 0.19.3
41 ======
42
43 Changes since 0.19.2:
44 - Work-around missing notification messages.
45
46 All contributors to this release:
47   Jens Georg <mail@jensge.org>
48
49 0.19.2
50 ======
51
52 Changes since 0.19.1:
53
54 - Support Windows.
55 - Fix searching for services in ControlPoint.
56 - Drop deprecated calls to g_type_init on glib >= 2.35.
57 - Fix LD_LIBRARY_PATH in make check.
58 - Explicitly use IPv4 in tests.
59 - Allow autogen.sh to be run out-of-tree.
60 - Expose GSSDPResourceGroup of a root device.
61
62 Bugs fixed in this release:
63  - https://bugzilla.gnome.org/show_bug.cgi?id=687320
64  - https://bugzilla.gnome.org/show_bug.cgi?id=687621
65  - https://bugzilla.gnome.org/show_bug.cgi?id=689028
66  - https://bugzilla.gnome.org/show_bug.cgi?id=688411
67  - https://bugzilla.gnome.org/show_bug.cgi?id=685643
68  - https://bugzilla.gnome.org/show_bug.cgi?id=682580
69  - https://bugzilla.gnome.org/show_bug.cgi?id=672830
70
71 All contributors to this release:
72   Jens Georg <mail@jensge.org>
73   Theppitak Karoonboonyanan <thep@linux.thai.net>
74   Stef Walter <stefw@gnome.org>
75   Juan A. Suarez Romero <jasuarez@igalia.com>
76   Alban Browaeys <prahal@yahoo.com>
77
78 0.19.1
79 ======
80 Changes since 0.19.0:
81 - Include m4 macro for finding vapigen.
82 - Run introspection with make distcheck.
83 - Lower G-I requirement again.
84 - Add gupnp_context_manager_get_port.
85 - Don't stop configure if vapigen can't be found.
86 - Drop some deprecated stuff from VAPI.
87
88 All contributors to this release:
89   Jens Georg <mail@jensge.org>
90
91 0.19.0
92 ======
93
94 Changes since 0.18.4:
95
96 - Add an abstract base class for simple context managers.
97 - Clean-up pkg-config files to not leak libraries.
98 - Generate VAPI from GIR file.
99
100 Dependency-related changes:
101  - Require gssdp >= 0.13.0
102
103 All contributors:
104  Jens Georg <mail@jensge.org>
105  Andreas Henriksson <andreas@fatal.se>
106
107 0.18.0
108 ======
109
110 Changes since 0.17.2:
111
112 - Fix a crash in Linux context manager if the USB cable is unplugged from a
113   USB network device interface.
114
115 All contributors:
116 Jens Georg <mail@jensge.org>
117
118 0.17.2
119 ======
120
121 Changes since 0.17.1:
122
123 - Drop main-context property
124 - Fix a small leak from the default-language property.
125 - Refactor and clean-up internals of GUPnPContextManager.
126
127 Dependency-related changes:
128  - Require gssdp >= 0.11.2.
129
130 All contributors:
131 Jens Georg <mail@jensge.org>
132
133 0.17.1
134 ======
135
136 Changes since 0.17.1:
137
138 - Drop deprecated conic support.
139 - A Linux context manager. Unlinke the generic static unix context-manger,
140   the Linux context-manager can dynamically react to device and address
141   changes, similar to the NetworkManager-based context-manager, but without
142   depending on DBus or NetworkManager.
143 - Fix for a SOAP action parameter validation regression.
144 - Updates to the build system such as:
145   - Modernized autotools.
146   - xz tarballs as default.
147 - Improved OpenBSD support.
148 - More stable RootDevice URIs.
149
150 All contributors:
151
152 Jens Georg <mail@jensge.org>
153 Jasper Lievisse Adriaanse <jasper@humppa.nl>
154 Javier Jardón <jjardon@gnome.org>
155 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
156
157 0.17.0
158 ======
159
160 Changes since 0.16.1:
161
162 - Fix several crashes during initial introspection.
163 - Several fixes regarding SOAP action parameter validation.
164 - Always append a Content-Language header if the client has an Accept-Language
165   header.
166 - Always append an Ext header in SOAP responses.
167 - Improve introspection support:
168   * Classes that throw an error during construction implement GInitable.
169   * Update gobject-introspection autotools integration.
170   * Many annotation fixes.
171 - Tutorial improvements.
172
173 Dependency-related changes:
174  - Require gssdp >= 0.11.0.
175
176 All contributors:
177
178 Jens Georg <mail@jensge.org>
179 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
180 Sven Neumann <s.neumann@raumfeld.com>
181 Santakivi Topi <Topi.Santakivi@digia.com>
182
183 0.16.1
184 ======
185
186 Changes since 0.16.0:
187
188 - Port to new (0.9) NetworkManager APIs.
189 - Correction to 'Content-Type' HTTP header values.
190 - Satisfy strict compiler checks.
191
192 All contributors:
193
194 Dan Williams <dcbw@redhat.com>
195 Sven Neumann <s.neumann@raumfeld.com>
196 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
197
198 0.16.0
199 ======
200
201 Changes since 0.15.1:
202
203 - Set the thread context before doing GDBus operations.
204 - Use the default timeout on DBus calls.
205 - Fix documentation of gupnp_context_manager_new().
206 - Remove redundant code.
207 - Clear the (obsolete) ChangeLog file.
208 - Add some checks on variants.
209 - Don't use uninitialized pointer.
210 - Some coding-style fixes.
211
212 Bugs fixed in this release:
213
214 2224 - GUPnP accesses dbus properties without checking that they exist
215 2223 - Missing handling of gio-style multi-main-context in GUPnPNetworkManager
216
217 All contributors:
218
219 Olivier Crête <olivier.crete@collabora.co.uk>
220 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
221 Sven Neumann <s.neumann@raumfeld.com>
222 Jens Georg <mail@jensge.org>
223 Ross Burton <ross@linux.intel.com>
224 Luis de Bethencourt <luis@debethencourt.com>
225
226 0.15.1
227 ======
228
229 Changes since 0.15.0:
230
231 - Set 'ESSID' on WiFi contexts.
232 - Fix a crasher bug.
233 - Fix some leaks.
234 - Remove a cyclic-reference
235 - Fix logic to find service from list and therefore the issue of wrongly
236   ignoring new services.
237 - Remove all hosted paths from SoupServer before unrefing it.
238
239 Dependency related changes:
240
241 - Require gssdp >= 0.9.2.
242
243 Bugs fixed in this release:
244
245 2212 - Leak in gupnp_root_device_construct
246 2215 - gupnp-control-point ignores services at startup
247 2216 - Leak in gupnp_resource_factory
248 2217 - gupnp-unix-context-manager leaks contexts if interfaces are not up
249 2218 - gupnp-context creates new SoupServers on shutdown
250
251 All contributors:
252
253 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
254 Jens Georg <mail@jensge.org>
255
256 0.15.0
257 ======
258
259 Changes since 0.14.0 not included in 0.14.1:
260
261 - Port from dbus-glib to GDBus.
262 - Enable gzip compression for large action response bodies.
263 - Fix gupnp-binding-tool to generate headers usable in C++.
264
265 Dependency related changes:
266
267 - Require glib >= 2.24.0.
268 - Require libsoup >= 2.28.2.
269 - Require gio >= 2.26 (new dependency).
270 - Drop dependency on dbus-glib.
271
272 Bugs fixed in this release:
273
274 2184 - Migrate from dbus-glib to glib's GDBus
275
276 All contributors:
277
278 Ross Burton <ross@linux.intel.com>
279 Sven Neumann <s.neumann@raumfeld.com>
280 Henry Hoegelow <h.hoegelow@raumfeld.com>
281 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
282 Fargier Sylvain <fargier.sylvain@free.fr>
283
284 0.14.0
285 ======
286
287 Changes since 0.13.5:
288
289 - Don't use deprecated glib, gobject and libsoup APIs.
290 - Check for libuuid only on platforms where we need it.
291 - Explicitly link example apps to needed libraries.
292 - Fix some potential crashes and leaks.
293 - Fix pointer to/from integer conversion on 64-bit machines.
294 - Fix parsing of unsigned integers.
295 - Use locale-independent float <-> string conversions.
296 - Remove some redundant functions and variables.
297 - Remove some unused variables noticed.
298 - Use correct mime-type for XML data.
299 - Various non-functional improvements.
300
301 Bugs fixed in this release:
302
303 2192 - 64bit portability issue with *_register_*_type functions
304 2190 - Build fails because explicit linking is missing
305 2188 - configure.ac should leave out the uuid module check on OSX
306
307 All contributors:
308
309 Ross Burton <ross@linux.intel.com>
310 Sven Neumann <s.neumann@raumfeld.com>
311 Jens Georg <mail@jensge.org>
312 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
313 Nader Morshed <morshed.nader@gmail.com>
314
315 0.13.5
316 ======
317
318 Changes since 0.13.4:
319
320 - Chain up in GUPnPXMLDoc's finalize().
321 - Correct transfer annotation for gupnp_context_get_session().
322 - Prefer g_strcmp0() over strcmp().
323 - Check for body length rather than Content-Length in SOAP requests so we
324   can satsify DLNA CTT test 7.2.5.7.
325 - Explicitly link test apps to needed libraries.
326
327 Bugs fixed in this release:
328
329 2186 - Missing annotation for context_get_session
330
331 All contributors:
332
333 Sven Neumann <s.neumann@raumfeld.com>
334 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
335 Zach Goldberg <zgold@corvette.(none)>
336
337 0.13.4
338 ======
339
340 Changes since 0.13.3:
341
342 - GUPnPService should remove all handlers installed on the shared SoupServer
343   instance when it is disposed.
344 - Fixate subscription timeout to be 300s as per DLNA requirement (7.2.22.1).
345 - Correct type of action argument of GUPnPService::action-invoked.
346 - Remove redundant copying of GValue content in a few places.
347 - Handle multiple variables inside property node in event notifications to be
348   compatible with server-side implementations using older GUPnP
349 - Fix syntax of event notifications with multiple properties.
350 - Add/fix gobject-introspection annotations for various functions.
351 - Some non-functional improvements.
352
353 Bugs fixed in this release:
354
355 2084 - Add scope annotations to various functions
356 2131 - GUPnPServiceAction is a boxed, not a pointer
357 2086 - Fix gtk-doc format on all functions in public GUPnP API
358
359 All contributors:
360
361 Sven Neumann <s.neumann@raumfeld.com>
362 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
363 Zach Goldberg <zgold@corvette.(none)>
364
365 0.13.3
366 ======
367
368 Changes since 0.13.2:
369
370 - Include the Content-Type header in the HTTP messages. This satisfies DLNA
371   CTT test cases 7.2.5.9 and 7.2.29.1.
372 - Use g_message instead of g_warning if we can't connect to DBus.
373 - Make the HTTP server listen on the context's interface only.
374 - Fix some potential crashes in GUPnPServiceProxy and GUPnPContextManager code.
375 - Fix build issues in jhbuild environment.
376 - Fix some gcc warnings.
377 - Add new API to host path for specific user-agent(s).
378 - Add gobject-introspection support:
379   - Provide gobject-introspection GIR and typelib.
380   - Add needed annotations to doc comments.
381   - Add GList variants of action-related functions to satisfy PyGI.
382 - A few non-functional improvments.
383
384 Dependency related changes:
385
386 - gssdp >= 0.7.1
387
388 Bugs fixed in this release:
389
390 2054 - Xbox hacks
391 1965 - gcc warning fixes
392 2039 - GUPnP is hard to use with jhbuild
393 1948 - Signal handler are not disconnected when ContextManager is disposed
394 2030 - gupnp context listens on 0.0.0.0 instead of the context's ip
395 1924 - Content-Type header must contain charset="utf-8" in all HTTP transactions
396 2006 - Implement 3 new functions for language bindings (begin_action_list,
397        end_action_list, gupnp_service_action_get_value_type)
398 1919 - Add GObject Introspection Annotations and Makefile
399 1979 - g_warning make gupnp-igd test fails
400 1906 - Tests failed with gupnp 0.13
401
402 All contributors:
403
404 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
405 Zach Goldberg <zgold@corvette.(none)>
406 Ross Burton <ross@linux.intel.com>
407 Olivier Crête <olivier.crete@collabora.co.uk>
408 Neil Roberts <neil@linux.intel.com>
409 Sven Neumann <s.neumann@raumfeld.com>
410 Jens Georg <mail@jensge.org>
411 Yakup Akbay <yakbay@ubicom.com>
412
413 0.13.2
414 ======
415
416 Changes since 0.13.1:
417
418 - Utilize libconic (Maemo5) if available.
419 - Unix context manager must signal the unavailibility of all contexts when
420   disposed.
421 - Enable silent build rules if they are available.
422 - Fix race-conditions in client-side notification handling.
423 - Unix context manager ignores point-to-point interfaces.
424 - Context manager ignores interfaces without IP addresses.
425 - Don't require timeouts to be specified in subscription requests.
426 - Fix build against gcc 4.[1,2].
427 - Make network manager thread-safe.
428 - Remove idle source on dispose in context manager implementations.
429 - Warn in docs that gupnp_service_info_get_introspection() is evil and why.
430 - Service retrieves introspection data in truly async way.
431 - Fix some leaks.
432 - A bunch of code clean-ups.
433
434 All contributors:
435
436 Olivier Crête <olivier.crete@collabora.co.uk>
437 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
438 Ross Burton <ross@linux.intel.com>
439 Jens Georg <mail@jensge.org>
440 Cem Eliguzel <celiguzel@ubicom.com>
441
442 Bugs fixed:
443
444 1890 - Timeout parsing problem with SUBSCRIBE method
445 1880 - subscription/notification handling is racy
446 1906 - Tests failed with gupnp 0.13
447 1849 - Compile error when using gcc 4.[1,2] and strict aliasing
448 1494 - Ability to deal with multiple network interfaces
449 1881 - networkmanager interaction should use its own dbus connection
450
451 0.13.1
452 ======
453
454 Changes since 0.13:
455
456 - Use unix context manager if NetworkManager service is not available.
457 - Fix some minor leaks.
458
459 All contributors:
460
461 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
462 Ross Burton <ross@linux.intel.com>
463
464 0.13
465 ====
466
467 Changes since 0.12.8:
468
469 - Print reason when fail to fetch description doc
470 - Support for dynamic/multiple networks through a new class, ContextManager.
471   This class creates/destroys new context as new network interfaces go up/down.
472   It also provides two convenient methods to take care of control point and
473   device reference managment for you. Currently we have two implementations of
474   context manager:
475   * unix: The static but guaranteed to work on Unix, implementation. This is the
476           default if none chosen at configure-time.
477   * network-manager: A NetworkManager based implementation.
478 - Idle handlers should use the assigned GMainContext.
479 - Gracefully handle 'no root element in description' scenerio.
480 - "host-ip" property moved from GUPnPContext to parent GSSDPClient.
481 - ControlPoint set itself inactive before getting disposed.
482 - New function to retrieve the capabilities of a DLNA device as announced in
483   the device description.
484 - New function to retrieve the content of arbitrary elements in the device
485   description.
486 - Fixed a crash that happens when service-proxy goes down before subscribtion to
487   it completes.
488 - Correct condition for SID being NULL.
489 - Don't create redundant proxies.
490 - Must not announce earlier versions of resources. This is strictly forbidden
491   according to the latest UPnP specs. Instead GSSDP now handles M-SEARCH
492   requests independent of version requested.
493 - Free app developer from hosting of description documents.
494 - New API to get SoupMessage associated with ServiceAction.
495 - Handle the SOAPAction header being missing.
496 - Fixed strrchr result checking.
497 - Provide and use a wrapper class for xmlDoc objects, GUPnPXMLDoc that is a
498   first-class gobject.
499 - New domains for XML errors.
500 - Many other minor fixes.
501
502 Bugs fixed:
503
504 1626 - Print reason when fail to fetch description doc
505 1769 - audit issues
506 1760 - missing/invalid SOAPAction header crashes gupnp
507 1705 - Provide a public API to get information about a GUPnPServiceAction's HTTP
508        request
509
510 Dependencies changed:
511
512 - gssdp >= 0.7
513
514 All contributors:
515
516 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
517 Ross Burton <ross@linux.intel.com>
518 Sven Neumann <s.neumann@raumfeld.com>
519 Jens Georg <mail@jensge.org>
520 Steven Dorigotti <steven.dorigotti@tvblob.com>
521
522 WARNING: This release is API and ABI incompatible with previous releases.
523
524 0.12.8
525 ======
526
527 Changes since 0.12.7
528
529 - Don't crash if device descriptions don't contain a root element.
530 - Fix pkg-config paths.
531 - Avoid using asserts.
532 - Use the closest match instead of using the icon that was last checked.
533 - Expect xmlRecoverMemory to fail.
534 - Reject action messages with zero content length.
535 - Change version in action answer.
536
537 Bug fixes in this release:
538
539 - bug#1570: gupnp doesn't set the pkgconfig lib dir correctly in 64 bit env.
540 - bug#1574: Avoid using asserts.
541 - bug#1592: gupnp_device_info_get_icon_url() does not return the closest match.
542 - bug#1604: Crash on action without any content.
543
544 All contributors to this release:
545
546 Ross Burton <ross@linux.intel.com>
547 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
548 Steven Dorigotti <steven.dorigotti@tvblob.com>
549 Sven Neumann <s.neumann@raumfeld.com>
550 Jens Georg <mail@jensge.org>
551
552 0.12.7
553 ======
554
555 - Chain up dispose and finalize in GUPnPDeviceInfo [Sven Neumann]
556 - Use a dedicated SoupSession [Sven Neumann]
557 - Fix device icon fallback logic [Ross Burton]
558 - Fix user agent string [Sven Neumann]
559 - Sanity check UDN while parsing [Zeeshan Ali]
560
561 0.12.6
562 ======
563
564 - Port to FreeBSD. [Romain Tartière]
565 - Ship the XML files needed for example app. [Romain Tartière]
566 - Keep a reference on the control-point during signal emission. [Sven Neumann]
567 - Allow passing NULL to ControlPoint constructor, for default resource factory.
568   [Sven Neumann]
569 - Remove debug output that accidentally went in with the last commit.
570   [Sven Neumann]
571
572 0.12.5
573 ======
574
575 - Improved error handling. [Sven Neumann, Jorn Baayen]
576 - Specify character set (UTF-8) in NOTIFY messages. [Jorn Baayen]
577 - Don't export internal functions. [Jorn Baayen]
578 - Fix some crasher bugs. [Zeeshan Ali]
579 - More lenient handling of xml from external sources. [Jorn Baayen,
580   Jussi Kukkonen]
581 - Fix possible reference cycles. [Zeeshan Ali, Jorn Baayen]
582 - Better handling of event subscription timeouts. [Zeeshan Ali]
583
584 0.12.4
585 ======
586
587 - Set Content Type header correctly in soap messages [Zeeshan Ali]
588 - Don't pass arbitrary strings to printf() for security [Sven Neumann]
589 - Handle fscanf failing in get_default_host_ip() [Sven Neumann]
590
591 0.12.3
592 ======
593
594 - Greatly improved client-side bindings [Jussi Kukkonen]
595 - Server-side bindings [JK]
596 - Don't use NULL return values from g_get_application_name [Ross Burton]
597 - Make gupnp_context_get_session public [Jorn Baayen]
598 - Use the specified GMainContext for timeouts [Olivier Crete, Jorn Baayen]
599
600 0.12.2
601 ======
602
603 - Support returning actions outside of the 'action-invoked' signal handler
604   in service implementations. [Zeeshan Ali, Jorn Baayen]
605 - Add explicit dependency on gthread. [Zeeshan Ali, Jorn Baayen]
606
607 0.12.1
608 ======
609
610 - Support Range headers without upper bound. [Jorn Baayen]
611 - Fixed memory management in HTTP GET handler. [Jorn Baayen]
612
613 0.12
614 ====
615
616 - Add tool for generating convenience C wrappers for GUPnP service definitions.
617   [Ross Burton]
618 - Remove xmlDoc argument from gupnp_root_device_new() for simplicity.
619   (xmlDocs can still be passed to gupnp_root_device_new_full())
620   [Jorn Baayen]
621 - Better documentation, new tutorials and sample code. [Ross Burton]
622 - Improved support for Accept-Language header. [Jorn Baayen]
623 - Various internal improvements. [Zeeshan Ali, Jorn Baayen]
624
625 0.10.1
626 ======
627
628 - Bump soname.
629
630 0.10
631 ====
632
633 - Use libsoup 2.4. [Zeeshan Ali Khattak, Jorn Baayen]
634 - Use g_timeout_add_seconds(). [Jorn Baayen]
635 - Use GIO instead of xdgmime. [Jorn Baayen]
636 - Support HTTP Range header in the HTTP server. [Jorn Baayen]
637 - Use GMappedFile to mmap served files of read()ing them. [Jorn Baayen]
638 - Improved documentation. [Ross Burton]
639 - Spew HTTP messages to console when GUPNP_DEBUG is set. [Ross Burton]
640 - Various other fixes. [Ross Burton, Zeeshan Ali Khattak, Jorn Baayen]
641
642 0.8
643 ===
644
645 - New API allowing for subclassing of resource types. 
646   [Zeeshan Ali, Jorn Baayen]
647 - GUPnPDeviceInfo returns subresources with version greater or equal than
648   requested version. [Jorn Baayen]
649 - Servers announce versions less or equal than implemented version.
650   [Jorn Baayen]
651 - Make gupnp_context_get_server() public. [Jorn Baayen]
652 - GError arguments added to all error signals. [Jorn Baayen]
653 - Improved resubscription handling. [Jorn Baayen]
654 - Various other fixes and internal improvements
655   [Ross Burton, Zeeshan Ali, Jorn Baayen].
656
657 0.6
658 ===
659
660 - Added service signal autoconnection feature in the spirit of
661   glade_xml_signal_autoconnect(). [Zeeshan Ali]
662 - Fixed various bugs related to object destruction. Fixes #500, 503.
663   [Jorn Baayen]
664 - Accept 'yes' and 'no' boolean values. [Zeeshan Ali]
665 - More information in error messages. [Zeeshan Ali, Jorn Baayen]
666 - Mark GUPnPServiceIntrospectionCallback() 'error' argument as 'const'.
667   [Jorn Baayen]
668 - Fixed gupnp_device_info_get_model_number() to return the right value.
669   [Zeeshan Ali]
670 - Moved the uuid dependency to Requires.Private, and removed the
671   shared-mime-data build dependency. [Jorn Baayen]
672 - Various other minor fixes. [Zeeshan Ali, Jorn Baayen]
673
674 Special thanks to Stéphane Loeuillet for stress-testing the library and
675 discovering many bugs. (Which are all fixed in this release. :) )
676
677 0.4
678 ===
679
680 - A new series of functions for sending actions taking hash tables of parameter
681   name-GValue pairs. [Jorn Baayen]
682 - New introspection methods for state variable and action retrieval by name.
683   [Zeeshan Ali]
684 - New pkg-config file for building against an uninstalled libgupnp.
685   [Zeeshan Ali]
686 - Improved conversion between GValues and UPnP value types. [Jorn Baayen]
687 - Only include evented state variables in initial event message.
688   [Jorn Baayen]
689
690 0.3
691 ===
692
693 - Allow embedded devices to have their own UDNs. [Jorn Baayen]
694 - Portability fix. [Priit Laes]
695
696 0.2
697 ===
698
699 - Fully implemented server-side API. [Jorn Baayen]
700 - New service introspection support through SCPD documents. [Zeeshan Ali]
701 - M-POST support. [Jorn Baayen]
702 - More error codes split out into several error domains. [Jorn Baayen]
703 - Use Accept-Language header for internationalisation. [Jorn Baayen]
704 - Subresource retreival moved from DeviceProxy to DeviceInfo. [Jorn Baayen]
705 - Bug fixes.
706
707 GUPnP is now feature complete.
708
709 0.1
710 ===
711
712 Initial release. Full client-side API, server side not done yet.