gupnp 0.13.0



Changes since 0.12.8:

- Print reason when fail to fetch description doc
- Support for dynamic/multiple networks through a new class, ContextManager.
  This class creates/destroys new context as new network interfaces go up/down.
  It also provides two convenient methods to take care of control point and
  device reference managment for you. Currently we have two implementations of
  context manager:
  * unix: The static but guaranteed to work on Unix, implementation. This is the
          default if none chosen at configure-time.
  * network-manager: A NetworkManager based implementation.
- Idle handlers should use the assigned GMainContext.
- Gracefully handle 'no root element in description' scenerio.
- "host-ip" property moved from GUPnPContext to parent GSSDPClient.
- ControlPoint set itself inactive before getting disposed.
- New function to retrieve the capabilities of a DLNA device as announced in
  the device description.
- New function to retrieve the content of arbitrary elements in the device
- Fixed a crash that happens when service-proxy goes down before subscribtion to
  it completes.
- Correct condition for SID being NULL.
- Don't create redundant proxies.
- Must not announce earlier versions of resources. This is strictly forbidden
  according to the latest UPnP specs. Instead GSSDP now handles M-SEARCH
  requests independent of version requested.
- Free app developer from hosting of description documents.
- New API to get SoupMessage associated with ServiceAction.
- Handle the SOAPAction header being missing.
- Fixed strrchr result checking.
- Provide and use a wrapper class for xmlDoc objects, GUPnPXMLDoc that is a
  first-class gobject.
- New domains for XML errors.
- Many other minor fixes.

Bugs fixed:

1626 - Print reason when fail to fetch description doc
1769 - audit issues
1760 - missing/invalid SOAPAction header crashes gupnp
1705 - Provide a public API to get information about a GUPnPServiceAction's HTTP

Dependencies changed:

- gssdp >= 0.7

All contributors:

Zeeshan Ali (Khattak) <zeeshanak gnome org>
Ross Burton <ross linux intel com>
Sven Neumann <s neumann raumfeld com>
Jens Georg <mail jensge org>
Steven Dorigotti <steven dorigotti tvblob com>

WARNING: This release is API and ABI incompatible with previous releases.


Changes since 0.12.7

- Don't crash if device descriptions don't contain a root element.
- Fix pkg-config paths.
- Avoid using asserts.
- Use the closest match instead of using the icon that was last checked.
- Expect xmlRecoverMemory to fail.
- Reject action messages with zero content length.
- Change version in action answer.

Bug fixes in this release:

- bug#1570: gupnp doesn't set the pkgconfig lib dir correctly in 64 bit env.
- bug#1574: Avoid using asserts.
- bug#1592: gupnp_device_info_get_icon_url() does not return the closest match.
- bug#1604: Crash on action without any content.

All contributors to this release:

Ross Burton <ross linux intel com>
Zeeshan Ali (Khattak) <zeeshanak gnome org>
Steven Dorigotti <steven dorigotti tvblob com>
Sven Neumann <s neumann raumfeld com>
Jens Georg <mail jensge org>


- Chain up dispose and finalize in GUPnPDeviceInfo [Sven Neumann]
- Use a dedicated SoupSession [Sven Neumann]
- Fix device icon fallback logic [Ross Burton]
- Fix user agent string [Sven Neumann]
- Sanity check UDN while parsing [Zeeshan Ali]


- Port to FreeBSD. [Romain Tartière]
- Ship the XML files needed for example app. [Romain Tartière]
- Keep a reference on the control-point during signal emission. [Sven Neumann]
- Allow passing NULL to ControlPoint constructor, for default resource factory.
  [Sven Neumann]
- Remove debug output that accidentally went in with the last commit.
  [Sven Neumann]


- Improved error handling. [Sven Neumann, Jorn Baayen]
- Specify character set (UTF-8) in NOTIFY messages. [Jorn Baayen]
- Don't export internal functions. [Jorn Baayen]
- Fix some crasher bugs. [Zeeshan Ali]
- More lenient handling of xml from external sources. [Jorn Baayen,
  Jussi Kukkonen]
- Fix possible reference cycles. [Zeeshan Ali, Jorn Baayen]
- Better handling of event subscription timeouts. [Zeeshan Ali]


- Set Content Type header correctly in soap messages [Zeeshan Ali]
- Don't pass arbitrary strings to printf() for security [Sven Neumann]
- Handle fscanf failing in get_default_host_ip() [Sven Neumann]


- Greatly improved client-side bindings [Jussi Kukkonen]
- Server-side bindings [JK]
- Don't use NULL return values from g_get_application_name [Ross Burton]
- Make gupnp_context_get_session public [Jorn Baayen]
- Use the specified GMainContext for timeouts [Olivier Crete, Jorn Baayen]


- Support returning actions outside of the 'action-invoked' signal handler
  in service implementations. [Zeeshan Ali, Jorn Baayen]
- Add explicit dependency on gthread. [Zeeshan Ali, Jorn Baayen]


- Support Range headers without upper bound. [Jorn Baayen]
- Fixed memory management in HTTP GET handler. [Jorn Baayen]


- Add tool for generating convenience C wrappers for GUPnP service definitions.
  [Ross Burton]
- Remove xmlDoc argument from gupnp_root_device_new() for simplicity.
  (xmlDocs can still be passed to gupnp_root_device_new_full())
  [Jorn Baayen]
- Better documentation, new tutorials and sample code. [Ross Burton]
- Improved support for Accept-Language header. [Jorn Baayen]
- Various internal improvements. [Zeeshan Ali, Jorn Baayen]


- Bump soname.


- Use libsoup 2.4. [Zeeshan Ali Khattak, Jorn Baayen]
- Use g_timeout_add_seconds(). [Jorn Baayen]
- Use GIO instead of xdgmime. [Jorn Baayen]
- Support HTTP Range header in the HTTP server. [Jorn Baayen]
- Use GMappedFile to mmap served files of read()ing them. [Jorn Baayen]
- Improved documentation. [Ross Burton]
- Spew HTTP messages to console when GUPNP_DEBUG is set. [Ross Burton]
- Various other fixes. [Ross Burton, Zeeshan Ali Khattak, Jorn Baayen]


- New API allowing for subclassing of resource types. 
  [Zeeshan Ali, Jorn Baayen]
- GUPnPDeviceInfo returns subresources with version greater or equal than
  requested version. [Jorn Baayen]
- Servers announce versions less or equal than implemented version.
  [Jorn Baayen]
- Make gupnp_context_get_server() public. [Jorn Baayen]
- GError arguments added to all error signals. [Jorn Baayen]
- Improved resubscription handling. [Jorn Baayen]
- Various other fixes and internal improvements
  [Ross Burton, Zeeshan Ali, Jorn Baayen].


- Added service signal autoconnection feature in the spirit of
  glade_xml_signal_autoconnect(). [Zeeshan Ali]
- Fixed various bugs related to object destruction. Fixes #500, 503.
  [Jorn Baayen]
- Accept 'yes' and 'no' boolean values. [Zeeshan Ali]
- More information in error messages. [Zeeshan Ali, Jorn Baayen]
- Mark GUPnPServiceIntrospectionCallback() 'error' argument as 'const'.
  [Jorn Baayen]
- Fixed gupnp_device_info_get_model_number() to return the right value.
  [Zeeshan Ali]
- Moved the uuid dependency to Requires.Private, and removed the
  shared-mime-data build dependency. [Jorn Baayen]
- Various other minor fixes. [Zeeshan Ali, Jorn Baayen]

Special thanks to Stéphane Loeuillet for stress-testing the library and
discovering many bugs. (Which are all fixed in this release. :) )


- A new series of functions for sending actions taking hash tables of parameter
  name-GValue pairs. [Jorn Baayen]
- New introspection methods for state variable and action retrieval by name.
  [Zeeshan Ali]
- New pkg-config file for building against an uninstalled libgupnp.
  [Zeeshan Ali]
- Improved conversion between GValues and UPnP value types. [Jorn Baayen]
- Only include evented state variables in initial event message.
  [Jorn Baayen]


- Allow embedded devices to have their own UDNs. [Jorn Baayen]
- Portability fix. [Priit Laes]


- Fully implemented server-side API. [Jorn Baayen]
- New service introspection support through SCPD documents. [Zeeshan Ali]
- M-POST support. [Jorn Baayen]
- More error codes split out into several error domains. [Jorn Baayen]
- Use Accept-Language header for internationalisation. [Jorn Baayen]
- Subresource retreival moved from DeviceProxy to DeviceInfo. [Jorn Baayen]
- Bug fixes.

GUPnP is now feature complete.


Initial release. Full client-side API, server side not done yet.

=========  (94.3K)

========  (532K)
  sha256sum: 2f2192f5b95844ed2c0b14d095847d74121dec83faa3a9e3fd672a62b708f41a (406K)
  sha256sum: c132ef0833113db59c5c995c40e3b1517a40e13b894fda64a85123208cac1dc2

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]