News
- Jun 4, 2006
- H2O 2.1 released! Several bug fixes and improvements, along with new security features. Download today!
- Mar 19, 2006
- H2O 2.0 is released! Plenty of new features, including: distributed events, JXTA transport, pluglet hierarchies, logging and debugging support, to name only a few.
- All news:
- click
Change Log
H2O 2.1 (Jun 4, 2006) [CVS log]
New features
- Improved pluglet post-destroy and kernel and client post-mortem cleanup.
- More access control via new access, modify, and bind permissions for pluglets, and access, modify permissions for sessions.
- New password authentication protocol with delayed password prompt.
- Added scoping of users via security realms.
Bug fixes
- Several fixes/improvements in RMIX JXTA transport.
- JAR attribute Pluglet-Dynamic-Library-Path not resolving system properties (e.g. pvm.arch).
- Several minor memory leaks plumbed; also, cleanup of unresponsive sessions fixed.
- class cast exceptions under some circumstances when passing custom objects to pluglet remote methods.
- Occassional assertion failures in pluglet and session state machines.
H2O 2.0 (Mar 19, 2006) [CVS log]
New features
- Naming Service Suppport
- HDNS Distributed Naming Service
- JNDI interface to Jini "reggie"
- Name service registrator pluglet
- Distributed Events
- Using REVENTS for system and application-level events
- JAR download progress monitoring
- Communication
- JXTA transport (experimental)
- Tunneling sockets.
- Kernel and APIs
- Stringent thread control
- Pluglet parent-child relationships
- Transient pluglets
- New session establishment APIs
- Configuration, logging, and debugging
- Revamped configuration
- Extensive logging support
- Arbitrary kernel command-line options
- Remote debugging support
- Tools
- Built-in SSH client in H2O GUI
- JAR download progress monitoring in H2O GUI
Bug fixes
- Asynchronous calls causing IllegalInterfaceExceptons
- Crashes on Java 1.4.1
- Occasional deadlocks on kernel shutdown
- Race condition if a kernel or pluglet context is requested while a session is being closed, resulting in returning "dead" contexts
- NPE in DeploymentDescriptor initializer when used at the kernel side
- destroy() method not always called on destroyed pluglets
- Multiple display bugs in H2O GUI
- Fixed serialization of socket factories into URL schemes
- Fixed multiple crashes when pluglets were acting as H2O clients to other kernels
- Support for digitally signed JARs
- Fixed missing and obscure exception stack traces
- Revised shutdown procedure to allow pluglets to shutdown cleanly before their clients are disconnected
- SSL socket factories now working with IBM JDK
- Tests now passing on IBM JDK
- Fixed StreamCorruptedExceptions observed on IBM JDK
H2O 1.2 (Jan 26, 2005) [CVS log]
Feature release. Important new features include:
- pluglet URIs. You can now refer to pluglets by URIs. Pluglet URI = kernel URI + pluglet name, which is now unique. Since the client gets to pick the pluglet name, pluglets you can now be destroyed/redeployed under the same name and URI. GUIDs are still supported to distinguish between individual pluglet instances (and for applications that want to keep track of pluglet state changes) in case of such redeployment.
- automated session management. H2O client now does not need to worry that much about sessions, since the system handles them under the scenes. Sessions are now created (or reused) when needed, and automatically closed when no longer in use (as detected by garbage collector) on upon program exit.
- Improved staging API. It is now possible to copy files between the kernel and user's local file systems, without requiring that the origin resource is accessible via URL.
- Enhanced deployment API. You can now store/load deployment descriptors, and descriptor lists, in the XML format.
- Auto-deploy pluglet lists. You can specify a list of pluglets to be deployed automatically upon kernel startup.
- Non-IP transports. You can now export kernel and pluglet endpoints using exotic transports, not based on host/port addressing. Work is under way to support JXTA sockets as a transport layer and enable P2P grids with H2O.
- Unit-testing framework. The release contains a set of unit tests that are run on the distribution. It facilitates testing and debugging; by including it, we hope to encourage users to contribute unit tests.
H2O 1.1_01 (Jul 17, 2004) [CVS log]
Mostly a bug-fix release, although it also introduced extended documentation and one important new piece of functionality: resource staging.
Bug fixes:
- INPROC_PASSBYREF binding now works properly
- Fixed support for JAR files with indexes
- Fixed resolution of non-canonical resource names
- GUI was storing too much static data in the registry
- other minor fixes
H2O 1.1 (Jun 6, 2004) [CVS log]
- analyzed and revised trust model: granting permission to the client will now delegate it automatically to all the code that is executed on his behalf. In the future, client-supplied policies will be supported to allow clients to decidedly restrict permissions that is delegated to the code they execute. Kernel administrators still have an option to grant permissions not on merely an identity basis, but e.g. requiring that both conditions are set: (1) operation requested by given client and (2) the code bears appropriate signatures and/or comes from a trusted code base.
- configuration: can now merge user databases and security policies from multiple files; can now specify system permissions directly in the config file
- updated, revised, and documented 8-step tutorial (the "tutorial" directory within the distribution)
- GUI enhancements and bug fixes; policy and user database configuration, more human-friendly format of displayed information; better error reporting; etc.
- many bug fixes in the core API; improved reliability and usability
- experimental support for resource staging and dynamic download of dynamically linked libraries
- local bindings: INPROC and INPROC_PASSBYREF to connect pluglets within local kernel without going through the networking layer yet still maintain full remote call semantics
- new SOAP provider based on Apache AXIS
- When binding to pluglets, SSL may now be enabled on top of other transport than TCP/IP
H2O 1.0 beta 2 (Mar 25, 2004)
- a few bugfixes: exceptions when pluglet deploys and accesses other pluglets, client hangs when session closed by the kernel or diconnected while waiting for activation; exceptions in pluglet init accessing init params if none were specified
H2O 1.0 beta 1 (Feb 17, 2004)
The security is a major theme of this release. The current H2O security model enables secure communication between clients and kernels, mutual authentication of clients and kernels, and a sandbox model which protects kernel provider resources from untrusted pluglets. The security policy can be configured according to given situation. The default policy is relatively open as it allows everybody to deploy pluglets into the kernel and to use them. However, the policy prohibits pluglets from accessing the filesystem and other sensitive system resources. The specific new features include:
- authentication: kernel provider authenticates to clients via a X.509 certificate (generated automatically if not specified), clients authenticate to kernel provider via username/password list;
- secure communication: secure sessions (SSL), optionally, encryption may be disabled without affecting integrity control and replay detection
- communication protocols: H2O kernels and pluglets now can use any combination of RMI protocols / transport mechanisms to communicate; e.g. possible to switch SOAP/HTTPS to RPC on compressed sockets, etc.
- simplified API and event model
- new, more involved examples (ring message passing, matrix multiplication) and a step-by-step programming tutorial
- kernel configuration support (lib/KernelConfig.xml file)
- introduced default, first contact protocol (SOAP 1.1) and default port names; the kernel reference is now just a URL; often, it suffices to know the host name to be able to connect to the kernel
- enhancements of H2O-GUI; mostly related to security management
- numerous bug fixes and security fixes
- support for MS Windows platforms
- RMIX-related improvements: isolated pluggable transport, experimental support for data compression, access to communication link-related data, and more (see rmix/README for complete list)
H2O 0.8.2 (Jul 16, 2003)
- support for access control policy which enables resource providers to control usage of their resources by defining a "sandbox" in which H2O users operate
- added the abstraction of a login session, added to the client API and supported by the H2O GUI
- numerous improvements and fixes in H2O-GUI and the kernel
- new RMIX providers and RMIX bugfixes (see rmix/README for details)
- added support for MS Windows with CygWin
H2O 0.8.1 beta 1 (Mar 17, 2003)
- support for session security (possibility to establish secure communication context between client and server)
- remote authentication and kernel policies are still pending
H2O 0.8 beta 1 (Feb 6, 2003)
- The first release