5 - Add a gupnp_context_manager_rescan_control_points feature.
6 - Fix VAPI generation if g-i version is >= 1.36.
7 - Some internal documentation updates.
8 - Check SID and return a proper error.
9 - Fix error code returned on invalid NT and NTS headers.
10 - Fix SEQ to be a uint32.
11 - Fall-back to unix static CM if netlink sockets are not availabe on runtime.
12 - Prevent some C++ name mangling in the examples.
13 - Fix compiling with -Wall -Wextra.
15 Bugs fixed in this release:
16 - https://bugzilla.gnome.org/show_bug.cgi?id=697314
17 - https://bugzilla.gnome.org/show_bug.cgi?id=696289
18 - https://bugzilla.gnome.org/show_bug.cgi?id=698192
19 - https://bugzilla.gnome.org/show_bug.cgi?id=698125
21 All contributors to this release:
22 Jens Georg <mail@jensge.org>
23 Jussi Kukkonen <jussi.kukkonen@intel.com>
24 Sébastien Bianti <sebastien.bianti@linux.intel.com>
26 Changes in dependencies:
27 vapigen >= 0.20 if gobject-introspection is >= 1.36
33 - Fix some typos in docs and warning messages.
34 - Fix argument order issue introduced with the va_list fix in 0.20.1.
35 - Add some tests for this bug.
37 Bugs fixed in this release:
38 - https://bugzilla.gnome.org/show_bug.cgi?id=695591
39 - https://bugzilla.gnome.org/show_bug.cgi?id=696762
41 All contributors to this release:
42 Jens Georg <mail@jensge.org>
43 Benjamin Kerensa <bkerensa@ubuntu.com>
49 - Fix suspicious use of va_list in the code.
51 Bugs fixed in this release:
52 - https://bugzilla.gnome.org/show_bug.cgi?id=689813
54 All contributors to this release:
55 Krzesimir Nowak <krnowak@openismus.com>
61 - Fix Accept-Language header generation.
62 - Fix some issues with Windows support on mingw64.
64 Bugs fixed in this release:
65 - https://bugzilla.gnome.org/show_bug.cgi?id=683199
67 All contributors to this release:
68 Jens Georg <mail@jensge.org>
74 - Shuffle around some test data.
75 - Fix a GError leak in the linux cm.
76 - Fix a leak in variable notification.
77 - Clarify usage of gupnp_service_proxy_remove_notify.
79 All contributors to this release:
80 Jens Georg <mail@jensge.org>
81 Sven Neumann <s.neumann@raumfeld.com>
82 Marcin Nowakowski <marcin.nowakowski@pure.com>
88 - Work-around missing notification messages.
90 All contributors to this release:
91 Jens Georg <mail@jensge.org>
99 - Fix searching for services in ControlPoint.
100 - Drop deprecated calls to g_type_init on glib >= 2.35.
101 - Fix LD_LIBRARY_PATH in make check.
102 - Explicitly use IPv4 in tests.
103 - Allow autogen.sh to be run out-of-tree.
104 - Expose GSSDPResourceGroup of a root device.
106 Bugs fixed in this release:
107 - https://bugzilla.gnome.org/show_bug.cgi?id=687320
108 - https://bugzilla.gnome.org/show_bug.cgi?id=687621
109 - https://bugzilla.gnome.org/show_bug.cgi?id=689028
110 - https://bugzilla.gnome.org/show_bug.cgi?id=688411
111 - https://bugzilla.gnome.org/show_bug.cgi?id=685643
112 - https://bugzilla.gnome.org/show_bug.cgi?id=682580
113 - https://bugzilla.gnome.org/show_bug.cgi?id=672830
115 All contributors to this release:
116 Jens Georg <mail@jensge.org>
117 Theppitak Karoonboonyanan <thep@linux.thai.net>
118 Stef Walter <stefw@gnome.org>
119 Juan A. Suarez Romero <jasuarez@igalia.com>
120 Alban Browaeys <prahal@yahoo.com>
124 Changes since 0.19.0:
125 - Include m4 macro for finding vapigen.
126 - Run introspection with make distcheck.
127 - Lower G-I requirement again.
128 - Add gupnp_context_manager_get_port.
129 - Don't stop configure if vapigen can't be found.
130 - Drop some deprecated stuff from VAPI.
132 All contributors to this release:
133 Jens Georg <mail@jensge.org>
138 Changes since 0.18.4:
140 - Add an abstract base class for simple context managers.
141 - Clean-up pkg-config files to not leak libraries.
142 - Generate VAPI from GIR file.
144 Dependency-related changes:
145 - Require gssdp >= 0.13.0
148 Jens Georg <mail@jensge.org>
149 Andreas Henriksson <andreas@fatal.se>
154 Changes since 0.17.2:
156 - Fix a crash in Linux context manager if the USB cable is unplugged from a
157 USB network device interface.
160 Jens Georg <mail@jensge.org>
165 Changes since 0.17.1:
167 - Drop main-context property
168 - Fix a small leak from the default-language property.
169 - Refactor and clean-up internals of GUPnPContextManager.
171 Dependency-related changes:
172 - Require gssdp >= 0.11.2.
175 Jens Georg <mail@jensge.org>
180 Changes since 0.17.1:
182 - Drop deprecated conic support.
183 - A Linux context manager. Unlinke the generic static unix context-manger,
184 the Linux context-manager can dynamically react to device and address
185 changes, similar to the NetworkManager-based context-manager, but without
186 depending on DBus or NetworkManager.
187 - Fix for a SOAP action parameter validation regression.
188 - Updates to the build system such as:
189 - Modernized autotools.
190 - xz tarballs as default.
191 - Improved OpenBSD support.
192 - More stable RootDevice URIs.
196 Jens Georg <mail@jensge.org>
197 Jasper Lievisse Adriaanse <jasper@humppa.nl>
198 Javier Jardón <jjardon@gnome.org>
199 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
204 Changes since 0.16.1:
206 - Fix several crashes during initial introspection.
207 - Several fixes regarding SOAP action parameter validation.
208 - Always append a Content-Language header if the client has an Accept-Language
210 - Always append an Ext header in SOAP responses.
211 - Improve introspection support:
212 * Classes that throw an error during construction implement GInitable.
213 * Update gobject-introspection autotools integration.
214 * Many annotation fixes.
215 - Tutorial improvements.
217 Dependency-related changes:
218 - Require gssdp >= 0.11.0.
222 Jens Georg <mail@jensge.org>
223 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
224 Sven Neumann <s.neumann@raumfeld.com>
225 Santakivi Topi <Topi.Santakivi@digia.com>
230 Changes since 0.16.0:
232 - Port to new (0.9) NetworkManager APIs.
233 - Correction to 'Content-Type' HTTP header values.
234 - Satisfy strict compiler checks.
238 Dan Williams <dcbw@redhat.com>
239 Sven Neumann <s.neumann@raumfeld.com>
240 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
245 Changes since 0.15.1:
247 - Set the thread context before doing GDBus operations.
248 - Use the default timeout on DBus calls.
249 - Fix documentation of gupnp_context_manager_new().
250 - Remove redundant code.
251 - Clear the (obsolete) ChangeLog file.
252 - Add some checks on variants.
253 - Don't use uninitialized pointer.
254 - Some coding-style fixes.
256 Bugs fixed in this release:
258 2224 - GUPnP accesses dbus properties without checking that they exist
259 2223 - Missing handling of gio-style multi-main-context in GUPnPNetworkManager
263 Olivier Crête <olivier.crete@collabora.co.uk>
264 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
265 Sven Neumann <s.neumann@raumfeld.com>
266 Jens Georg <mail@jensge.org>
267 Ross Burton <ross@linux.intel.com>
268 Luis de Bethencourt <luis@debethencourt.com>
273 Changes since 0.15.0:
275 - Set 'ESSID' on WiFi contexts.
278 - Remove a cyclic-reference
279 - Fix logic to find service from list and therefore the issue of wrongly
280 ignoring new services.
281 - Remove all hosted paths from SoupServer before unrefing it.
283 Dependency related changes:
285 - Require gssdp >= 0.9.2.
287 Bugs fixed in this release:
289 2212 - Leak in gupnp_root_device_construct
290 2215 - gupnp-control-point ignores services at startup
291 2216 - Leak in gupnp_resource_factory
292 2217 - gupnp-unix-context-manager leaks contexts if interfaces are not up
293 2218 - gupnp-context creates new SoupServers on shutdown
297 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
298 Jens Georg <mail@jensge.org>
303 Changes since 0.14.0 not included in 0.14.1:
305 - Port from dbus-glib to GDBus.
306 - Enable gzip compression for large action response bodies.
307 - Fix gupnp-binding-tool to generate headers usable in C++.
309 Dependency related changes:
311 - Require glib >= 2.24.0.
312 - Require libsoup >= 2.28.2.
313 - Require gio >= 2.26 (new dependency).
314 - Drop dependency on dbus-glib.
316 Bugs fixed in this release:
318 2184 - Migrate from dbus-glib to glib's GDBus
322 Ross Burton <ross@linux.intel.com>
323 Sven Neumann <s.neumann@raumfeld.com>
324 Henry Hoegelow <h.hoegelow@raumfeld.com>
325 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
326 Fargier Sylvain <fargier.sylvain@free.fr>
331 Changes since 0.13.5:
333 - Don't use deprecated glib, gobject and libsoup APIs.
334 - Check for libuuid only on platforms where we need it.
335 - Explicitly link example apps to needed libraries.
336 - Fix some potential crashes and leaks.
337 - Fix pointer to/from integer conversion on 64-bit machines.
338 - Fix parsing of unsigned integers.
339 - Use locale-independent float <-> string conversions.
340 - Remove some redundant functions and variables.
341 - Remove some unused variables noticed.
342 - Use correct mime-type for XML data.
343 - Various non-functional improvements.
345 Bugs fixed in this release:
347 2192 - 64bit portability issue with *_register_*_type functions
348 2190 - Build fails because explicit linking is missing
349 2188 - configure.ac should leave out the uuid module check on OSX
353 Ross Burton <ross@linux.intel.com>
354 Sven Neumann <s.neumann@raumfeld.com>
355 Jens Georg <mail@jensge.org>
356 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
357 Nader Morshed <morshed.nader@gmail.com>
362 Changes since 0.13.4:
364 - Chain up in GUPnPXMLDoc's finalize().
365 - Correct transfer annotation for gupnp_context_get_session().
366 - Prefer g_strcmp0() over strcmp().
367 - Check for body length rather than Content-Length in SOAP requests so we
368 can satsify DLNA CTT test 7.2.5.7.
369 - Explicitly link test apps to needed libraries.
371 Bugs fixed in this release:
373 2186 - Missing annotation for context_get_session
377 Sven Neumann <s.neumann@raumfeld.com>
378 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
379 Zach Goldberg <zgold@corvette.(none)>
384 Changes since 0.13.3:
386 - GUPnPService should remove all handlers installed on the shared SoupServer
387 instance when it is disposed.
388 - Fixate subscription timeout to be 300s as per DLNA requirement (7.2.22.1).
389 - Correct type of action argument of GUPnPService::action-invoked.
390 - Remove redundant copying of GValue content in a few places.
391 - Handle multiple variables inside property node in event notifications to be
392 compatible with server-side implementations using older GUPnP
393 - Fix syntax of event notifications with multiple properties.
394 - Add/fix gobject-introspection annotations for various functions.
395 - Some non-functional improvements.
397 Bugs fixed in this release:
399 2084 - Add scope annotations to various functions
400 2131 - GUPnPServiceAction is a boxed, not a pointer
401 2086 - Fix gtk-doc format on all functions in public GUPnP API
405 Sven Neumann <s.neumann@raumfeld.com>
406 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
407 Zach Goldberg <zgold@corvette.(none)>
412 Changes since 0.13.2:
414 - Include the Content-Type header in the HTTP messages. This satisfies DLNA
415 CTT test cases 7.2.5.9 and 7.2.29.1.
416 - Use g_message instead of g_warning if we can't connect to DBus.
417 - Make the HTTP server listen on the context's interface only.
418 - Fix some potential crashes in GUPnPServiceProxy and GUPnPContextManager code.
419 - Fix build issues in jhbuild environment.
420 - Fix some gcc warnings.
421 - Add new API to host path for specific user-agent(s).
422 - Add gobject-introspection support:
423 - Provide gobject-introspection GIR and typelib.
424 - Add needed annotations to doc comments.
425 - Add GList variants of action-related functions to satisfy PyGI.
426 - A few non-functional improvments.
428 Dependency related changes:
432 Bugs fixed in this release:
435 1965 - gcc warning fixes
436 2039 - GUPnP is hard to use with jhbuild
437 1948 - Signal handler are not disconnected when ContextManager is disposed
438 2030 - gupnp context listens on 0.0.0.0 instead of the context's ip
439 1924 - Content-Type header must contain charset="utf-8" in all HTTP transactions
440 2006 - Implement 3 new functions for language bindings (begin_action_list,
441 end_action_list, gupnp_service_action_get_value_type)
442 1919 - Add GObject Introspection Annotations and Makefile
443 1979 - g_warning make gupnp-igd test fails
444 1906 - Tests failed with gupnp 0.13
448 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
449 Zach Goldberg <zgold@corvette.(none)>
450 Ross Burton <ross@linux.intel.com>
451 Olivier Crête <olivier.crete@collabora.co.uk>
452 Neil Roberts <neil@linux.intel.com>
453 Sven Neumann <s.neumann@raumfeld.com>
454 Jens Georg <mail@jensge.org>
455 Yakup Akbay <yakbay@ubicom.com>
460 Changes since 0.13.1:
462 - Utilize libconic (Maemo5) if available.
463 - Unix context manager must signal the unavailibility of all contexts when
465 - Enable silent build rules if they are available.
466 - Fix race-conditions in client-side notification handling.
467 - Unix context manager ignores point-to-point interfaces.
468 - Context manager ignores interfaces without IP addresses.
469 - Don't require timeouts to be specified in subscription requests.
470 - Fix build against gcc 4.[1,2].
471 - Make network manager thread-safe.
472 - Remove idle source on dispose in context manager implementations.
473 - Warn in docs that gupnp_service_info_get_introspection() is evil and why.
474 - Service retrieves introspection data in truly async way.
476 - A bunch of code clean-ups.
480 Olivier Crête <olivier.crete@collabora.co.uk>
481 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
482 Ross Burton <ross@linux.intel.com>
483 Jens Georg <mail@jensge.org>
484 Cem Eliguzel <celiguzel@ubicom.com>
488 1890 - Timeout parsing problem with SUBSCRIBE method
489 1880 - subscription/notification handling is racy
490 1906 - Tests failed with gupnp 0.13
491 1849 - Compile error when using gcc 4.[1,2] and strict aliasing
492 1494 - Ability to deal with multiple network interfaces
493 1881 - networkmanager interaction should use its own dbus connection
500 - Use unix context manager if NetworkManager service is not available.
501 - Fix some minor leaks.
505 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
506 Ross Burton <ross@linux.intel.com>
511 Changes since 0.12.8:
513 - Print reason when fail to fetch description doc
514 - Support for dynamic/multiple networks through a new class, ContextManager.
515 This class creates/destroys new context as new network interfaces go up/down.
516 It also provides two convenient methods to take care of control point and
517 device reference managment for you. Currently we have two implementations of
519 * unix: The static but guaranteed to work on Unix, implementation. This is the
520 default if none chosen at configure-time.
521 * network-manager: A NetworkManager based implementation.
522 - Idle handlers should use the assigned GMainContext.
523 - Gracefully handle 'no root element in description' scenerio.
524 - "host-ip" property moved from GUPnPContext to parent GSSDPClient.
525 - ControlPoint set itself inactive before getting disposed.
526 - New function to retrieve the capabilities of a DLNA device as announced in
527 the device description.
528 - New function to retrieve the content of arbitrary elements in the device
530 - Fixed a crash that happens when service-proxy goes down before subscribtion to
532 - Correct condition for SID being NULL.
533 - Don't create redundant proxies.
534 - Must not announce earlier versions of resources. This is strictly forbidden
535 according to the latest UPnP specs. Instead GSSDP now handles M-SEARCH
536 requests independent of version requested.
537 - Free app developer from hosting of description documents.
538 - New API to get SoupMessage associated with ServiceAction.
539 - Handle the SOAPAction header being missing.
540 - Fixed strrchr result checking.
541 - Provide and use a wrapper class for xmlDoc objects, GUPnPXMLDoc that is a
543 - New domains for XML errors.
544 - Many other minor fixes.
548 1626 - Print reason when fail to fetch description doc
550 1760 - missing/invalid SOAPAction header crashes gupnp
551 1705 - Provide a public API to get information about a GUPnPServiceAction's HTTP
554 Dependencies changed:
560 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
561 Ross Burton <ross@linux.intel.com>
562 Sven Neumann <s.neumann@raumfeld.com>
563 Jens Georg <mail@jensge.org>
564 Steven Dorigotti <steven.dorigotti@tvblob.com>
566 WARNING: This release is API and ABI incompatible with previous releases.
573 - Don't crash if device descriptions don't contain a root element.
574 - Fix pkg-config paths.
575 - Avoid using asserts.
576 - Use the closest match instead of using the icon that was last checked.
577 - Expect xmlRecoverMemory to fail.
578 - Reject action messages with zero content length.
579 - Change version in action answer.
581 Bug fixes in this release:
583 - bug#1570: gupnp doesn't set the pkgconfig lib dir correctly in 64 bit env.
584 - bug#1574: Avoid using asserts.
585 - bug#1592: gupnp_device_info_get_icon_url() does not return the closest match.
586 - bug#1604: Crash on action without any content.
588 All contributors to this release:
590 Ross Burton <ross@linux.intel.com>
591 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
592 Steven Dorigotti <steven.dorigotti@tvblob.com>
593 Sven Neumann <s.neumann@raumfeld.com>
594 Jens Georg <mail@jensge.org>
599 - Chain up dispose and finalize in GUPnPDeviceInfo [Sven Neumann]
600 - Use a dedicated SoupSession [Sven Neumann]
601 - Fix device icon fallback logic [Ross Burton]
602 - Fix user agent string [Sven Neumann]
603 - Sanity check UDN while parsing [Zeeshan Ali]
608 - Port to FreeBSD. [Romain Tartière]
609 - Ship the XML files needed for example app. [Romain Tartière]
610 - Keep a reference on the control-point during signal emission. [Sven Neumann]
611 - Allow passing NULL to ControlPoint constructor, for default resource factory.
613 - Remove debug output that accidentally went in with the last commit.
619 - Improved error handling. [Sven Neumann, Jorn Baayen]
620 - Specify character set (UTF-8) in NOTIFY messages. [Jorn Baayen]
621 - Don't export internal functions. [Jorn Baayen]
622 - Fix some crasher bugs. [Zeeshan Ali]
623 - More lenient handling of xml from external sources. [Jorn Baayen,
625 - Fix possible reference cycles. [Zeeshan Ali, Jorn Baayen]
626 - Better handling of event subscription timeouts. [Zeeshan Ali]
631 - Set Content Type header correctly in soap messages [Zeeshan Ali]
632 - Don't pass arbitrary strings to printf() for security [Sven Neumann]
633 - Handle fscanf failing in get_default_host_ip() [Sven Neumann]
638 - Greatly improved client-side bindings [Jussi Kukkonen]
639 - Server-side bindings [JK]
640 - Don't use NULL return values from g_get_application_name [Ross Burton]
641 - Make gupnp_context_get_session public [Jorn Baayen]
642 - Use the specified GMainContext for timeouts [Olivier Crete, Jorn Baayen]
647 - Support returning actions outside of the 'action-invoked' signal handler
648 in service implementations. [Zeeshan Ali, Jorn Baayen]
649 - Add explicit dependency on gthread. [Zeeshan Ali, Jorn Baayen]
654 - Support Range headers without upper bound. [Jorn Baayen]
655 - Fixed memory management in HTTP GET handler. [Jorn Baayen]
660 - Add tool for generating convenience C wrappers for GUPnP service definitions.
662 - Remove xmlDoc argument from gupnp_root_device_new() for simplicity.
663 (xmlDocs can still be passed to gupnp_root_device_new_full())
665 - Better documentation, new tutorials and sample code. [Ross Burton]
666 - Improved support for Accept-Language header. [Jorn Baayen]
667 - Various internal improvements. [Zeeshan Ali, Jorn Baayen]
677 - Use libsoup 2.4. [Zeeshan Ali Khattak, Jorn Baayen]
678 - Use g_timeout_add_seconds(). [Jorn Baayen]
679 - Use GIO instead of xdgmime. [Jorn Baayen]
680 - Support HTTP Range header in the HTTP server. [Jorn Baayen]
681 - Use GMappedFile to mmap served files of read()ing them. [Jorn Baayen]
682 - Improved documentation. [Ross Burton]
683 - Spew HTTP messages to console when GUPNP_DEBUG is set. [Ross Burton]
684 - Various other fixes. [Ross Burton, Zeeshan Ali Khattak, Jorn Baayen]
689 - New API allowing for subclassing of resource types.
690 [Zeeshan Ali, Jorn Baayen]
691 - GUPnPDeviceInfo returns subresources with version greater or equal than
692 requested version. [Jorn Baayen]
693 - Servers announce versions less or equal than implemented version.
695 - Make gupnp_context_get_server() public. [Jorn Baayen]
696 - GError arguments added to all error signals. [Jorn Baayen]
697 - Improved resubscription handling. [Jorn Baayen]
698 - Various other fixes and internal improvements
699 [Ross Burton, Zeeshan Ali, Jorn Baayen].
704 - Added service signal autoconnection feature in the spirit of
705 glade_xml_signal_autoconnect(). [Zeeshan Ali]
706 - Fixed various bugs related to object destruction. Fixes #500, 503.
708 - Accept 'yes' and 'no' boolean values. [Zeeshan Ali]
709 - More information in error messages. [Zeeshan Ali, Jorn Baayen]
710 - Mark GUPnPServiceIntrospectionCallback() 'error' argument as 'const'.
712 - Fixed gupnp_device_info_get_model_number() to return the right value.
714 - Moved the uuid dependency to Requires.Private, and removed the
715 shared-mime-data build dependency. [Jorn Baayen]
716 - Various other minor fixes. [Zeeshan Ali, Jorn Baayen]
718 Special thanks to Stéphane Loeuillet for stress-testing the library and
719 discovering many bugs. (Which are all fixed in this release. :) )
724 - A new series of functions for sending actions taking hash tables of parameter
725 name-GValue pairs. [Jorn Baayen]
726 - New introspection methods for state variable and action retrieval by name.
728 - New pkg-config file for building against an uninstalled libgupnp.
730 - Improved conversion between GValues and UPnP value types. [Jorn Baayen]
731 - Only include evented state variables in initial event message.
737 - Allow embedded devices to have their own UDNs. [Jorn Baayen]
738 - Portability fix. [Priit Laes]
743 - Fully implemented server-side API. [Jorn Baayen]
744 - New service introspection support through SCPD documents. [Zeeshan Ali]
745 - M-POST support. [Jorn Baayen]
746 - More error codes split out into several error domains. [Jorn Baayen]
747 - Use Accept-Language header for internationalisation. [Jorn Baayen]
748 - Subresource retreival moved from DeviceProxy to DeviceInfo. [Jorn Baayen]
751 GUPnP is now feature complete.
756 Initial release. Full client-side API, server side not done yet.