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