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