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