Changes since version 3.1.0 --------------------------- - PHP 5.1.6 is the required version for this release. Changes since version 3.0.1 --------------------------- - Removed removeObjectFactory() from the communicator interface. - PHP 5.1.4 is the required version for this release. - Added identityToString and stringToIdentity to the Communicator interface. - Removed setDefaultContext operation on Communicator. - Eliminated the source of deprecation warnings when E_STRICT is enabled. - Added proxy method ice_getSecure. - Deprecated the following proxy methods: ice_communicator ice_connection ice_newIdentity ice_newFacet ice_newContext ice_newAdapterId ice_newEndpoints These methods will be removed in the next major release. You should use the new methods shown below: ice_getCommunicator ice_getConnection ice_identity ice_facet ice_context ice_adapterId ice_endpoints - Added the property Ice.Default.LocatorCacheTimeout and the proxy method ice_locatorCacheTimeout(). If a cached endpoint is older than the configured cache timeout, the Ice runtime won't use the cached endpoint. Instead, the Ice runtime will query the Ice locator service to retrieve up-to-date endpoints and then update the locator cache. Please see the Ice manual for more information. - Added the proxy method ice_endpointSelection, which allows an application to control how endpoints are selected at connection establishment. Two endpoint selection types are currently supported: Random and Ordered. - Added the proxy method ice_cacheConnection. This method allows you to enable or disable the caching of the connection by the proxy. By default, the proxy will cache the connection to avoid looking it up for each request. Disabling the connection caching is useful to do per-request load balancing: the proxy will select a connection for each request and the request will eventually be sent to different servers. - Added support for the Ice::Connection interface. Changes since version 3.0.0 --------------------------- - Fixed a bug in the Slice parser that caused problems if an included file contained white space in the file name. - Added source compatibility with PHP 5.1.2. A configure script for PHP 5.1.2 is provided as configure-5.1.2.gz. Changes since version 2.1.2 --------------------------- - Removed ice_default() method from proxies. - Added the proxy method ice_connectionId, which allows an application to control connection reuse. - Ice_loadProfile now raises Ice_ProfileNotFoundException if a given profile is not found and Ice_ProfileAlreadyLoadedException if a profile has already been loaded. - Added proxy methods to retrieve the proxy adapter id and endpoints (ice_getAdapterId() and ice_getEndpoints()) and to create a new proxy with a new adapter id or new endpoints (ice_newAdapterId() and ice_newEndpoints()). - Added ice_communicator() and ice_toString() to proxies. The return value of ice_communicator() is always the value of $ICE. - Ice.ObjectImpl is now an abstract class that cannot be instantiated. This change should be transparent to application code. Changes since version 2.1.0 --------------------------- - Added -E option to the various Slice compilers to print preprocessor output on stdout. - A crash occurred if the global variable $ICE was used before a profile was loaded. This now causes an error message. - Attempting to print a proxy value resulted in a fatal error. This has been fixed so that printing a proxy displays it in stringified form. Changes since version 2.0.0 --------------------------- - Added setDefaultContext() and getDefaultContext() to the Ice::Communicator interface. This allows a default context to be established on a communicator-wide basis. See section 29.8.3 in the doc. Added ice_defaultContext to Ice::ObjectProxy. This creates a new proxy that uses the default context established on the communicator. Changes since version 1.1.2 --------------------------- - Compatibility with Ice 2.0.0. - Added the communicator method getProperty(name[, default]). - The configuration directives in an INI file are now named "ice.config", "ice.slice", and "ice.options", for consistency with the global directives. The previous directive names are still supported. - Fixed a bug that prevented Apache 1.x from starting. - The documentation has always stated that same-named constructs cannot be directly nested inside each other. (For example, a module `M' cannot contain a constant named `M'.) The Slice parser compiler did not enforce this correctly up to now for modules containing constructs with the same name as the enclosing module. This has been fixed and now results in a diagnostic. - The Slice parser now deprecates Slice definitions at global scope: only modules can be defined at global scope. Everything else (constants, classes, interfaces, etc.) must be defined inside a module. For the time being, the compiler issues a warning for each global definition but continues to compile the code. Global non-module definitions will elicit a hard error two releases from now. Changes since version 1.1.1 --------------------------- - Fixed a compilation error for Visual C++. Changes since version 1.1.0 --------------------------- - Compatibility with PHP 5.0.0 (final). Changes since version 1.0.3 --------------------------- - Changed facet interface to be compatible with Ice 1.4.0. - Added the proxy methods ice_newContext and ice_getContext. - Fixed a bug that could cause a marshaling exception for uninitialized string data members. - Fixed a marshaling bug that caused an assertion failure in the value demo. Changes since version 1.0.2 --------------------------- - Fixed a link error when compiling with Visual C++ 6.0. Changes since version 1.0.1 --------------------------- - Updated for compatibility with Ice 1.3.0 and PHP5 beta4. The patch in the file patch.txt must be applied to PHP5b4 prior to building it on Unix platforms. - Added the member functions ice_preMarshal and ice_postUnmarshal to Ice_Object. The default implementations do nothing, but subclasses may override them to take special action before marshaling and after unmarshaling, respectively. - Added __toString functions to certain Ice exceptions. - Added support for building on HP-UX with aCC. - Added configure script to simplify building on Linux/Solaris/HP-UX. Changes since version 1.0.0 --------------------------- - Minor fixes for compatibility with PHP 5.0.0b2. - Fixes for Ice 1.2.0 API changes. The ice_flush operation has been removed from proxies, and the operation flushBatchRequests has been added to the communicator. - The base Ice exception class (Ice_Exception) now derives from the PHP base exception class (Exception). Also, the mapping for exceptions now supports an optional string argument to constructors. This argument represents the exception "message" and is passed to the base Exception constructor unmodified.