Contents
- Added WebEvent bundle, implementing the Poco::OSP::WebEvent::WebEventService for delivering asynchronous notifications to browser clients using a WebSocket based on a subject-based publish-subscribe mechanism. See the WebEvent sample for more information.
- The Net bundle now unregisters the Poco::Net::HTTPStreamFactory and Poco::NetFTPStreamFactory when stopping.
- The NetSSL_OpenSSL bundle now unregisters the Poco::Net::HTTPSStreamFactory when stopping.
- The WebServer and SecureWebServer bundles now correctly set serverName and softwareVersion in the Poco::Net::HTTPServerParams object. Previously, serverName was set to what is actually the softwareVersion. Furthermore, it is now possible to specify a listening host name or IP address in the configuration (in addition to the port number).
- The OSP Command Shell application (ospsh) now supports command-line editing with the NetBSD Editline library (libedit). The library is automatically detected by the build system (checking for /usr/include/histedit.h).
- The OSP web server can now be disabled through the configuration by specifying a port number of 0.
- Poco::OSP::ServiceRegistry::unregisterService() now checks for a null ServiceRef.
- The Bundle Creator tool supports a new command-line option (—no-deflate, -N) to disable compression of bundle file contents.
- The OSP Web Server now supports gzip content compression for static content in bundles.
- Added Visual Studio project and solution files for 64-bit builds on Visual Studio 2008 and 2010.
- Added basic iOS support to OSP (enabled by compiling OSP with -DPOCO_OSP_STATIC). This allows for static registration of bundle activators. This way, parts of OSP can also be used on platforms that don't support dynamic loading of shared libraries (such as iOS).
- Poco::OSP::Web::WebSessionManager: it is now possible to control the domain and path of the session cookie by including them in the appName (e.g., myCookie@.mydomain.com/path).
- Added Crypto bundle for deploying POCO Crypto library.
- OSP Shell services command now supports —properties option to print service properties.
- OSP Web Server: if a request handler factory now returns a 0 pointer instead of a proper request handler instance, a 404 error is reported.
- OSP Web Server: added Poco::OSP::Web::WebServerService. Subclasses of this class are registered by the standard web server and secure web server bundles and can be used to find port numbers and server params of running web servers.
- Web Index bundle no longer responds to arbitrary request URIs, only / and /index.html (fixes a potential security issue where a request for a non-existing path would automatically resolve to the Web Index bundle, even if it's not meant to be shown).
- Web Info bundle now displays additional information and uses Poco::Net::NetworkInterface class instead of DNS to enumerate IP addresses (fixes exception with embedded systems that lack proper DNS configuration).
- Added convenience methods getValue() and setValue() to Poco::OSP::Web::WebSession.
- ServiceRegistry: when registering or unregistering a service, the lock on the registry is now released before the corresponding event is fired. This allows registration or deregistration of services from within the event handler. Previously, this would cause a deadlock.
- Added Poco::OSP::ServiceFinder utility class template.
- BundleCreator: added support for extension bundles.
- OSP: added support for extension bundles.
- The path(list) passed to BundleRepository can now include wildcard, as well as direct paths to bundles.
- fixed a bug in BundleLoader::unloadBundle(): now correctly fires a bundleUnloaded event instead of a bundleLoaded event.
- OSP/Python now works with Python 2.6 as well.
- fixed a 64-bit compatibility issue with OSP Python bundle
- OSP: added ExtensionPoint::removeExtension()
- OSP BundleCreator now fully supports variable expansion in bundle spec file
- fixed #0000098: bad characters in OSP ServiceRegistry documentation
- fixed #0000099: Poco::OSP::Service::type() and isA()
- The Remoting bundles have been renamed from poco.remoting.* to com.appinf.remoting.* as poco.* is now strictly reserved for bundles related to the open source POCO C++ Libraries. If you have dependencies on Remoting bundles in your bundles, please change the bundle names accordingly. Also, make sure to remove the old poco.remoting bundles from your bundle repositories.
- Based on POCO C++ Libraries 1.3.5
- Bundles now have a numeric ID, valid and guaranteed to be unique during the runtime of the containing application. The ID of a bundle can be obtained with the id() member function.
- New OSP Command Shell Service, allows for command-line based management of OSP applications. The shell can also be extended with custom commands.
- Added OSPBundleSign library, which provides support for cryptographically signing bundles, as well as for verifying the signature of bundles.
- New SystemEvents class providing systemStarted and systemShuttingDown events. The SystemEvents object is available from the BundleContext with the systemEvents() member function.
- fixed 0000064: Bundle generator copies .abc (.svn) files into bundles
- bugfix: bundle unload triggered wrong event
- added sample for PreferencesService to OSP
- the Remoting SOAP listener now works with the OSP web server (now a port must be specified together with ref="osp.web" in the listeners.xml file)
- the OSP web server no longer crashes if a request handler factory returns null
Release 1.3 of the POCO C++ Libraries is the first official release supporting the Open Service Platform.
- OSP Web: check client IP address when accessing a WebSession
- BundleCreator: empty dependency version in bundlespec is okay
- fixed OSP shared library names to match naming conventions
- Stopping a Remoting Transport bundle (such as poco.remoting.binary or poco.remoting.soap) before stopping the Remoting bundle will no longer crash the application, due to insufficient cleanup when unloading the transport library.
- OSP bundle shared library names have been changed to match naming conventions.
The default user name and password is "admin", and "admin", respectively. See the AuthService documentation for information on how to change the password.