tizen 2.4 release
[external/gupnp.git] / NEWS
1 0.14.1
2 ======
3
4 Changes since 0.14.0:
5
6 - Add sanity checks to GUPnPServiceProxyAction API.
7 - Fix handling of accepted locales.
8 - Handle unavailability of URL base.
9
10 Bugs fixed in this release:
11
12 2203 - gupnp-igd does not work on TP-Link TL-R860 due to empty URLBase tag
13
14 All contributors:
15
16 Sven Neumann <s.neumann@raumfeld.com>
17 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
18
19 0.14.0
20 ======
21
22 Changes since 0.13.5:
23
24 - Don't use deprecated glib, gobject and libsoup APIs.
25 - Check for libuuid only on platforms where we need it.
26 - Explicitly link example apps to needed libraries.
27 - Fix some potential crashes and leaks.
28 - Fix pointer to/from integer conversion on 64-bit machines.
29 - Fix parsing of unsigned integers.
30 - Use locale-independent float <-> string conversions.
31 - Remove some redundant functions and variables.
32 - Remove some unused variables noticed.
33 - Use correct mime-type for XML data.
34 - Various non-functional improvements.
35
36 Bugs fixed in this release:
37
38 2192 - 64bit portability issue with *_register_*_type functions
39 2190 - Build fails because explicit linking is missing
40 2188 - configure.ac should leave out the uuid module check on OSX
41
42 All contributors:
43
44 Ross Burton <ross@linux.intel.com>
45 Sven Neumann <s.neumann@raumfeld.com>
46 Jens Georg <mail@jensge.org>
47 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
48 Nader Morshed <morshed.nader@gmail.com>
49
50 0.13.5
51 ======
52
53 Changes since 0.13.4:
54
55 - Chain up in GUPnPXMLDoc's finalize().
56 - Correct transfer annotation for gupnp_context_get_session().
57 - Prefer g_strcmp0() over strcmp().
58 - Check for body length rather than Content-Length in SOAP requests so we
59   can satsify DLNA CTT test 7.2.5.7.
60 - Explicitly link test apps to needed libraries.
61
62 Bugs fixed in this release:
63
64 2186 - Missing annotation for context_get_session
65
66 All contributors:
67
68 Sven Neumann <s.neumann@raumfeld.com>
69 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
70 Zach Goldberg <zgold@corvette.(none)>
71
72 0.13.4
73 ======
74
75 Changes since 0.13.3:
76
77 - GUPnPService should remove all handlers installed on the shared SoupServer
78   instance when it is disposed.
79 - Fixate subscription timeout to be 300s as per DLNA requirement (7.2.22.1).
80 - Correct type of action argument of GUPnPService::action-invoked.
81 - Remove redundant copying of GValue content in a few places.
82 - Handle multiple variables inside property node in event notifications to be
83   compatible with server-side implementations using older GUPnP
84 - Fix syntax of event notifications with multiple properties.
85 - Add/fix gobject-introspection annotations for various functions.
86 - Some non-functional improvements.
87
88 Bugs fixed in this release:
89
90 2084 - Add scope annotations to various functions
91 2131 - GUPnPServiceAction is a boxed, not a pointer
92 2086 - Fix gtk-doc format on all functions in public GUPnP API
93
94 All contributors:
95
96 Sven Neumann <s.neumann@raumfeld.com>
97 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
98 Zach Goldberg <zgold@corvette.(none)>
99
100 0.13.3
101 ======
102
103 Changes since 0.13.2:
104
105 - Include the Content-Type header in the HTTP messages. This satisfies DLNA
106   CTT test cases 7.2.5.9 and 7.2.29.1.
107 - Use g_message instead of g_warning if we can't connect to DBus.
108 - Make the HTTP server listen on the context's interface only.
109 - Fix some potential crashes in GUPnPServiceProxy and GUPnPContextManager code.
110 - Fix build issues in jhbuild environment.
111 - Fix some gcc warnings.
112 - Add new API to host path for specific user-agent(s).
113 - Add gobject-introspection support:
114   - Provide gobject-introspection GIR and typelib.
115   - Add needed annotations to doc comments.
116   - Add GList variants of action-related functions to satisfy PyGI.
117 - A few non-functional improvments.
118
119 Dependency related changes:
120
121 - gssdp >= 0.7.1
122
123 Bugs fixed in this release:
124
125 2054 - Xbox hacks
126 1965 - gcc warning fixes
127 2039 - GUPnP is hard to use with jhbuild
128 1948 - Signal handler are not disconnected when ContextManager is disposed
129 2030 - gupnp context listens on 0.0.0.0 instead of the context's ip
130 1924 - Content-Type header must contain charset="utf-8" in all HTTP transactions
131 2006 - Implement 3 new functions for language bindings (begin_action_list,
132        end_action_list, gupnp_service_action_get_value_type)
133 1919 - Add GObject Introspection Annotations and Makefile
134 1979 - g_warning make gupnp-igd test fails
135 1906 - Tests failed with gupnp 0.13
136
137 All contributors:
138
139 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
140 Zach Goldberg <zgold@corvette.(none)>
141 Ross Burton <ross@linux.intel.com>
142 Olivier Crête <olivier.crete@collabora.co.uk>
143 Neil Roberts <neil@linux.intel.com>
144 Sven Neumann <s.neumann@raumfeld.com>
145 Jens Georg <mail@jensge.org>
146 Yakup Akbay <yakbay@ubicom.com>
147
148 0.13.2
149 ======
150
151 Changes since 0.13.1:
152
153 - Utilize libconic (Maemo5) if available.
154 - Unix context manager must signal the unavailibility of all contexts when
155   disposed.
156 - Enable silent build rules if they are available.
157 - Fix race-conditions in client-side notification handling.
158 - Unix context manager ignores point-to-point interfaces.
159 - Context manager ignores interfaces without IP addresses.
160 - Don't require timeouts to be specified in subscription requests.
161 - Fix build against gcc 4.[1,2].
162 - Make network manager thread-safe.
163 - Remove idle source on dispose in context manager implementations.
164 - Warn in docs that gupnp_service_info_get_introspection() is evil and why.
165 - Service retrieves introspection data in truly async way.
166 - Fix some leaks.
167 - A bunch of code clean-ups.
168
169 All contributors:
170
171 Olivier Crête <olivier.crete@collabora.co.uk>
172 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
173 Ross Burton <ross@linux.intel.com>
174 Jens Georg <mail@jensge.org>
175 Cem Eliguzel <celiguzel@ubicom.com>
176
177 Bugs fixed:
178
179 1890 - Timeout parsing problem with SUBSCRIBE method
180 1880 - subscription/notification handling is racy
181 1906 - Tests failed with gupnp 0.13
182 1849 - Compile error when using gcc 4.[1,2] and strict aliasing
183 1494 - Ability to deal with multiple network interfaces
184 1881 - networkmanager interaction should use its own dbus connection
185
186 0.13.1
187 ======
188
189 Changes since 0.13:
190
191 - Use unix context manager if NetworkManager service is not available.
192 - Fix some minor leaks.
193
194 All contributors:
195
196 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
197 Ross Burton <ross@linux.intel.com>
198
199 0.13
200 ====
201
202 Changes since 0.12.8:
203
204 - Print reason when fail to fetch description doc
205 - Support for dynamic/multiple networks through a new class, ContextManager.
206   This class creates/destroys new context as new network interfaces go up/down.
207   It also provides two convenient methods to take care of control point and
208   device reference managment for you. Currently we have two implementations of
209   context manager:
210   * unix: The static but guaranteed to work on Unix, implementation. This is the
211           default if none chosen at configure-time.
212   * network-manager: A NetworkManager based implementation.
213 - Idle handlers should use the assigned GMainContext.
214 - Gracefully handle 'no root element in description' scenerio.
215 - "host-ip" property moved from GUPnPContext to parent GSSDPClient.
216 - ControlPoint set itself inactive before getting disposed.
217 - New function to retrieve the capabilities of a DLNA device as announced in
218   the device description.
219 - New function to retrieve the content of arbitrary elements in the device
220   description.
221 - Fixed a crash that happens when service-proxy goes down before subscribtion to
222   it completes.
223 - Correct condition for SID being NULL.
224 - Don't create redundant proxies.
225 - Must not announce earlier versions of resources. This is strictly forbidden
226   according to the latest UPnP specs. Instead GSSDP now handles M-SEARCH
227   requests independent of version requested.
228 - Free app developer from hosting of description documents.
229 - New API to get SoupMessage associated with ServiceAction.
230 - Handle the SOAPAction header being missing.
231 - Fixed strrchr result checking.
232 - Provide and use a wrapper class for xmlDoc objects, GUPnPXMLDoc that is a
233   first-class gobject.
234 - New domains for XML errors.
235 - Many other minor fixes.
236
237 Bugs fixed:
238
239 1626 - Print reason when fail to fetch description doc
240 1769 - audit issues
241 1760 - missing/invalid SOAPAction header crashes gupnp
242 1705 - Provide a public API to get information about a GUPnPServiceAction's HTTP
243        request
244
245 Dependencies changed:
246
247 - gssdp >= 0.7
248
249 All contributors:
250
251 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
252 Ross Burton <ross@linux.intel.com>
253 Sven Neumann <s.neumann@raumfeld.com>
254 Jens Georg <mail@jensge.org>
255 Steven Dorigotti <steven.dorigotti@tvblob.com>
256
257 WARNING: This release is API and ABI incompatible with previous releases.
258
259 0.12.8
260 ======
261
262 Changes since 0.12.7
263
264 - Don't crash if device descriptions don't contain a root element.
265 - Fix pkg-config paths.
266 - Avoid using asserts.
267 - Use the closest match instead of using the icon that was last checked.
268 - Expect xmlRecoverMemory to fail.
269 - Reject action messages with zero content length.
270 - Change version in action answer.
271
272 Bug fixes in this release:
273
274 - bug#1570: gupnp doesn't set the pkgconfig lib dir correctly in 64 bit env.
275 - bug#1574: Avoid using asserts.
276 - bug#1592: gupnp_device_info_get_icon_url() does not return the closest match.
277 - bug#1604: Crash on action without any content.
278
279 All contributors to this release:
280
281 Ross Burton <ross@linux.intel.com>
282 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
283 Steven Dorigotti <steven.dorigotti@tvblob.com>
284 Sven Neumann <s.neumann@raumfeld.com>
285 Jens Georg <mail@jensge.org>
286
287 0.12.7
288 ======
289
290 - Chain up dispose and finalize in GUPnPDeviceInfo [Sven Neumann]
291 - Use a dedicated SoupSession [Sven Neumann]
292 - Fix device icon fallback logic [Ross Burton]
293 - Fix user agent string [Sven Neumann]
294 - Sanity check UDN while parsing [Zeeshan Ali]
295
296 0.12.6
297 ======
298
299 - Port to FreeBSD. [Romain Tartière]
300 - Ship the XML files needed for example app. [Romain Tartière]
301 - Keep a reference on the control-point during signal emission. [Sven Neumann]
302 - Allow passing NULL to ControlPoint constructor, for default resource factory.
303   [Sven Neumann]
304 - Remove debug output that accidentally went in with the last commit.
305   [Sven Neumann]
306
307 0.12.5
308 ======
309
310 - Improved error handling. [Sven Neumann, Jorn Baayen]
311 - Specify character set (UTF-8) in NOTIFY messages. [Jorn Baayen]
312 - Don't export internal functions. [Jorn Baayen]
313 - Fix some crasher bugs. [Zeeshan Ali]
314 - More lenient handling of xml from external sources. [Jorn Baayen,
315   Jussi Kukkonen]
316 - Fix possible reference cycles. [Zeeshan Ali, Jorn Baayen]
317 - Better handling of event subscription timeouts. [Zeeshan Ali]
318
319 0.12.4
320 ======
321
322 - Set Content Type header correctly in soap messages [Zeeshan Ali]
323 - Don't pass arbitrary strings to printf() for security [Sven Neumann]
324 - Handle fscanf failing in get_default_host_ip() [Sven Neumann]
325
326 0.12.3
327 ======
328
329 - Greatly improved client-side bindings [Jussi Kukkonen]
330 - Server-side bindings [JK]
331 - Don't use NULL return values from g_get_application_name [Ross Burton]
332 - Make gupnp_context_get_session public [Jorn Baayen]
333 - Use the specified GMainContext for timeouts [Olivier Crete, Jorn Baayen]
334
335 0.12.2
336 ======
337
338 - Support returning actions outside of the 'action-invoked' signal handler
339   in service implementations. [Zeeshan Ali, Jorn Baayen]
340 - Add explicit dependency on gthread. [Zeeshan Ali, Jorn Baayen]
341
342 0.12.1
343 ======
344
345 - Support Range headers without upper bound. [Jorn Baayen]
346 - Fixed memory management in HTTP GET handler. [Jorn Baayen]
347
348 0.12
349 ====
350
351 - Add tool for generating convenience C wrappers for GUPnP service definitions.
352   [Ross Burton]
353 - Remove xmlDoc argument from gupnp_root_device_new() for simplicity.
354   (xmlDocs can still be passed to gupnp_root_device_new_full())
355   [Jorn Baayen]
356 - Better documentation, new tutorials and sample code. [Ross Burton]
357 - Improved support for Accept-Language header. [Jorn Baayen]
358 - Various internal improvements. [Zeeshan Ali, Jorn Baayen]
359
360 0.10.1
361 ======
362
363 - Bump soname.
364
365 0.10
366 ====
367
368 - Use libsoup 2.4. [Zeeshan Ali Khattak, Jorn Baayen]
369 - Use g_timeout_add_seconds(). [Jorn Baayen]
370 - Use GIO instead of xdgmime. [Jorn Baayen]
371 - Support HTTP Range header in the HTTP server. [Jorn Baayen]
372 - Use GMappedFile to mmap served files of read()ing them. [Jorn Baayen]
373 - Improved documentation. [Ross Burton]
374 - Spew HTTP messages to console when GUPNP_DEBUG is set. [Ross Burton]
375 - Various other fixes. [Ross Burton, Zeeshan Ali Khattak, Jorn Baayen]
376
377 0.8
378 ===
379
380 - New API allowing for subclassing of resource types. 
381   [Zeeshan Ali, Jorn Baayen]
382 - GUPnPDeviceInfo returns subresources with version greater or equal than
383   requested version. [Jorn Baayen]
384 - Servers announce versions less or equal than implemented version.
385   [Jorn Baayen]
386 - Make gupnp_context_get_server() public. [Jorn Baayen]
387 - GError arguments added to all error signals. [Jorn Baayen]
388 - Improved resubscription handling. [Jorn Baayen]
389 - Various other fixes and internal improvements
390   [Ross Burton, Zeeshan Ali, Jorn Baayen].
391
392 0.6
393 ===
394
395 - Added service signal autoconnection feature in the spirit of
396   glade_xml_signal_autoconnect(). [Zeeshan Ali]
397 - Fixed various bugs related to object destruction. Fixes #500, 503.
398   [Jorn Baayen]
399 - Accept 'yes' and 'no' boolean values. [Zeeshan Ali]
400 - More information in error messages. [Zeeshan Ali, Jorn Baayen]
401 - Mark GUPnPServiceIntrospectionCallback() 'error' argument as 'const'.
402   [Jorn Baayen]
403 - Fixed gupnp_device_info_get_model_number() to return the right value.
404   [Zeeshan Ali]
405 - Moved the uuid dependency to Requires.Private, and removed the
406   shared-mime-data build dependency. [Jorn Baayen]
407 - Various other minor fixes. [Zeeshan Ali, Jorn Baayen]
408
409 Special thanks to Stéphane Loeuillet for stress-testing the library and
410 discovering many bugs. (Which are all fixed in this release. :) )
411
412 0.4
413 ===
414
415 - A new series of functions for sending actions taking hash tables of parameter
416   name-GValue pairs. [Jorn Baayen]
417 - New introspection methods for state variable and action retrieval by name.
418   [Zeeshan Ali]
419 - New pkg-config file for building against an uninstalled libgupnp.
420   [Zeeshan Ali]
421 - Improved conversion between GValues and UPnP value types. [Jorn Baayen]
422 - Only include evented state variables in initial event message.
423   [Jorn Baayen]
424
425 0.3
426 ===
427
428 - Allow embedded devices to have their own UDNs. [Jorn Baayen]
429 - Portability fix. [Priit Laes]
430
431 0.2
432 ===
433
434 - Fully implemented server-side API. [Jorn Baayen]
435 - New service introspection support through SCPD documents. [Zeeshan Ali]
436 - M-POST support. [Jorn Baayen]
437 - More error codes split out into several error domains. [Jorn Baayen]
438 - Use Accept-Language header for internationalisation. [Jorn Baayen]
439 - Subresource retreival moved from DeviceProxy to DeviceInfo. [Jorn Baayen]
440 - Bug fixes.
441
442 GUPnP is now feature complete.
443
444 0.1
445 ===
446
447 Initial release. Full client-side API, server side not done yet.