Universal Plug and Play

UPnP Release Notes

Release 2021.1

  • Changes due to updated internal Remoting interfaces. No functional changes.
  • Fixed a potential stack buffer over-read in Poco::UPnP::GENA::Deserializer, due to wrong std::string constructor being used. This fix also improves performance by avoiding the creation of an additional temporary std::string object.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2020.1

Summary of Changes

  • The UPnP framework now requires a C++14 compiler.
  • Changes due to updated internal Remoting interfaces. No functional changes.
  • Improved compatibility with C++14 by replacing std::auth_ptr with std::unique_ptr.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • The UPnP framework now requires a C++14 compiler (Minimum compiler versions: Visual C++ 2015, GCC 5, Clang 3.4).

Release 2019.2

Summary of Changes

  • No changes since previous release.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2019.1

Summary of Changes

  • No changes since previous release.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2018.1

Summary of Changes

  • Changes due to updated internal Remoting interfaces. No functional changes.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2017.2

Summary of Changes

  • Changes due to updated internal Remoting interfaces. No functional changes.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2017.1

Summary of Changes

  • Changes due to updated internal Remoting interfaces. No functional changes.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2016.2

Summary of Changes

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2016.1

Summary of Changes

  • Changes due to updated internal Remoting interfaces. No functional changes.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2015.2

Summary of Changes

  • Fixed an issue in parsing service descriptions in the ServiceDesc library. Parsing range restrictions for state variables failed if min, max or step were outside signed 32-bit integer range. Now parsing as 64-bit signed integer.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2015.1

Summary of Changes

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2014.1

Summary of Changes

  • Minor changes for compatibility with C++11.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2013.2

Summary of Changes

  • Added the ServiceDesc library which allows for parsing of UPnP Service Description XML documents at runtime. This can be used to find out which actions are actually supported by a given device.
  • The UPnP code generator allows to disable timestamps written to generated code.
  • The UPnP SOAP transport now provides a thread-local Poco::RemotingNG::Context object which can be used to obtain the socket address of the client from within the service method.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2013.1

Summary of Changes

  • The UPnP SOAP Transport no longer uses the special XML empty element syntax and writes an opening and a closing tag instead, as some poorly implemented UPnP stacks cannot handle empty element syntax.
  • The SimpleMediaServer sample has been improved for better compatibility with various UPnP/DLNA media players.
  • The IGDClient class (in samples) no longer shuts down the ORB in its destructor.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2012.1

Summary of Changes

  • The UPnP code generator (UPnPGen) has a new eventSuffix configuration option in the output element, allowing to change the name of generated event member variables.
  • The syntax of specifying Remoting attributes for method parameters has been changed and the UPnP code generator (UPnPGen) has been modified accordingly.
  • IGDClient now has a getPortMapping() method and binds the socket with reuseaddr/reuseport.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • All files generated with previous versions of the UPnP code generator must be re-generated. Also, the files must be reprocessed by the new Remoting NG code generator.

Release 2011.2

Summary of Changes

  • SimpleMediaServer sample now has some improvements which allows it to be accessed from consumer electronics devices such as smart TVs.
  • It is now possible to set a User-Agent for UPnP SOAP requests in Poco::UPnP::SOAP::Transport.
  • Poco::UPnP::SOAP::Serializer now uses "u" namespace prefix for method namespace instead of default "ns1" due to issues with broken third-party UPnP implementations that do not properly parse XML.
  • Fixed a bug in UPnP code generator: eventing enabled is now the default for state variables if no sendEvents attribute is specified.
  • Added option to disable chunked transfer encoding in UPnP SOAP transport to work with broken UPnP implementations.
  • Poco::UPnP::SSDP::SSDPResponder: properly handle SERVER header in SSDP search response.
  • Poco::UPnP::URN and Poco::UPnP::UniqueServiceName no longer store device UUIDs as Poco::UUID, but instead as std::string because some devices use invalid UUIDs that cannot be parsed by Poco::UUID.
  • In order to improve compatibility with third-party implementations, Poco::UPnP::SSDP::SSDPResponder now uses a second socket to send out M-SEARCH and NOTIFY messages.
  • Added InternetGateway1 library to samples.
  • Added IGDClient application to samples.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2011.1p2

Summary of Changes

  • Added workaround to NetworkLight sample to make it discoverable by Windows XP, which has buggy XML device description parsing (XML declaration in device description, no whitespace before XML declaration).

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.

Release 2011.1

Summary of Changes

  • This is the first release of Applied Informatics Universal Plug and Play.

Known Issues

  • None at this time.

Incompatible Changes and Possible Transition Issues

  • None at this time.
Securely control IoT edge devices from anywhere   Connect a Device