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