LIGHTSTREAMER CHANGELOG ======================= This file contains the changelog for the following components: - Lightstreamer Server - SDK for Java Adapter Development - SDK for .NET Adapter Development - SDK for Adapter Remoting Infrastructure - SDK for Web Client Development - SDK for Flash/Flex Client Development (JS Bridge) - SDK for Flash/Flex Client Development (Native AS) - SDK for Java SE Client Development - SDK for Java ME Client Development - SDK for .NET Client Development - SDK for Generic Client Development - SDK for JMX Extension Development -------------------- Lightstreamer Server -------------------- 3.4.8 build 1398 Released on 6 Mar 2008 Fixed a bug affecting the dispatching of events in the following cases: - Items requested in DISTINCT mode with snapshot (only snapshot events could be affected) - Items requested in DISTINCT and RAW mode at the same time - Items requested in COMMAND and RAW mode at the same time (only non-snapshot ADD and DELETE events could be affected) In all those cases, the bug might cause some events to be sent with null field values. Note that the bug always caused the following warning to be logged: "Data type other than String or byte array received in update event" Fixed a bug that might cause configuration subelements to be missed, in case they were defined immediately after the containing elements, as in "val". Commonly used configuration files were not affected, as elements and sublements are usually placed in different lines of text. Hidden the LS_password argument value from the log of client requests for new sessions. Added the configuration element to override. Changed the session ID generation algorithm. 3.4.7 build 1395 Released on 11 Feb 2008 Inhibited socket reuse when refusing a request for a new session because of the load shedding mechanism. Added a configuration element to customize the error page, which is returned upon unexpected request URLs. See in lightstreamer_conf.xml and the basic "ErrorPage.html" page added under "conf". Introduced a simple variable-expansion feature for the Server configuration file. See the introduction comment in lightstreamer_conf.xml. Fixed a bug which caused a logging operation to throw an exception. This only happened when the DEBUG level or the custom TRACE level were enabled on the LightstreamerLogger.preprocessor category. This also caused the processing of all updates to fail. 3.4.6 build 1393 Released on 4 Jan 2008 Revised and simplified the error page, which is returned upon unexpected request URIs. Extended the scope of the new configuration element to some error messages returned by the Server, which still reported the Server version number. 3.4.6 build 1391 Released on 6 Dec 2007 Excluded the logging of the health check requests from the filtering imposed by the configuration element. 3.4.6 build 1390 Added the configuration element, that allows the Server version number to be excluded from the "Server" HTTP header response. Improved the checks for incorrect answers from the Data or Metadata Adapter. 3.4.6 build 1389 Released on 22 Nov 2007 Extended the notifications to web clients for sessions closed on the server side to the case of polling, when the closure occurs between two polling requests. In these cases, the web client library version 4.2.2 or newer will no longer try to recover by opening a new session. Fixed a bug which affected the notifications to web clients for sessions closed on the server side; the bug prevented them from reaching the client in case a rebind had taken place. 3.4.6 build 1387 Fixed a bug which might cause error notifications to web clients (intended for the onServerError event handler) to fail and issue a javascript error. 3.4.6 build 1385 Released on 15 Nov 2007 Changed the format of the included build.number file. Introduced the notification to the clients of the name of the server socket which handles a session request (the name is the one assigned through the or configuration element). Introduced a special /lightstreamer/healthcheck request that can be used by load balancers to test the responsiveness of each Server instance in a cluster. See the configuration element for details. Fixed a compatibility issue with Nokia Browser, which prevented some client requests from being received by the Server. 3.4.5 build 1383 Changed the policy for the management of the conversion of update event field values to a transferrable format. See the new configuration element for details. Fixed a compatibility bug that, under particular configuration settings, could lead to a "NoSuchMethodError" in the startup phase if JDK 1.4 were used, thus causing the Server startup to fail. 3.4.5 build 1382 Fixed a bug related to the management of unexpected conditions from the NIO library. In case the "Unexpected empty read/write on a readable/writable socket; forcing a 50 ms pause" message was issued, the pause might be significantly longer. 3.4.5 build 1380 Changed the default configuration for the events_pool_size and pump_pool_size configuration elements. Now each pool starts with one thread for each available processor. 3.4.5 build 1376 Removed a compatibility issue with Flex player under Internet Explorer, which prevented HTTPS connections to Lightstreamer Server from working. 3.4.5 build 1375 Removed redundand calls to the wantsTablesNotification API. 3.4.5 build 1374 Upgraded the included log4j library to the latest version (1.2.15). The library introduces a new TRACE level, which is not used and should not be confused with the TRACE#com.lightstreamer.log4j.TraceLevel custom level. Added a check to prevent possible browser-originated duplicated messages upon sendMessage calls issued by web clients. The check is effective since Web Client Library version 4.2 build 1320. Introduced a configuration flag to suppress the use of special notifications in order to send unchanged fields to the clients. See the Server configuration element for details. Revised and extended the TRACE level logging of request management problems. 3.4.4 build 1369 Added the support for the customization of the choice of a suitable cipher suite operated by the Server upon each new HTTPS connection. See the Server configuration element for details. 3.4.4 build 1364 Fixed a bug on the management of SSL connections that might cause the writing of very long fields to fail and the whole connection to be closed. 3.4.4 build 1361 Added a workaround for a problem with native Flex clients running under IE, which might cause the start of the streaming to be delayed. The library for native Flex clients is still to be released at this moment. 3.4.4 build 1360 Revised and extended the implementation of the HTTP protocol, though it is still based on HTTP 1.0 version. Introduced the "LightstreamerLogger.connections.http" logger, which reports at WARN level each case in which an HTTP header is ignore because of a protocol implementation limitation. It is assumed that no client actually uses those header values. The default configuration of the logger hides such notifications. Slight improvement on real bandwidth estimation for text mode connections. 3.4.4 build 1355 Extended the text client interface in order to let the client ask for Server capabilities (see the LS_report_info querystring parameter). 3.4.3 build 1353 Fixed a bug which might cause the initial license check to fail when in the presence of some unusual network interfaces. 3.4.3 build 1352 Changed the policy for the allocation of the IO buffers. The buffers are now allocated in heap space rather than in native space. The IO buffers are usually small (about 1 KB). 3.4.3 build 1351 Revised some details in the text output protocol syntax; forced the use of \r\n as the line separator in the answers to control requests, instead of a system dependent line separator. This ensures better compliance with the protocol documentation in "Network Protocol Tutorial.pdf", with no impact on the existing client libraries. Fixed some mistakes in the documentation of the various error notifications. 3.4.3 build 1350 Fixed a bug in the embedded Monitor Console that could prevent log lines filtering in case of high logging activity. 3.4.3 build 1347 Added the support for native Flex clients. See the "flex_crossdomain_enabled" element in the Server configuration file for a detailed comment. The library for native Flex clients is still to be released at this moment. 3.4.3 build 1345 Removed the dependencies on Sun's proprietary APIs. This required changing the BASE64 enconding/decoding implementation. This also required changing the user-agent specified in the connection to the proxy if proxy authentication is needed in order to access the Trial License Server. 3.4.3 build 1344 Fixed a bug (that was introduced in build 1321) which might cause the Server to enqueue in an incorrect order events for the same item coming from the Data Adapter within the same millisecond. The bug only affects events notified by the Data Adapter through any of the "update" methods; the "smartUpdate" methods, available when the SmartDataProvider interface is implemented, are handled correctly. The bug may also affect events coming within a larger time interval, in case the System.currentTimeMillis implementation precision is broader than one millisecond. For instance, on some Windows systems, the precision is about 15 ms. 3.4.3 build 1340 Introduced a workaround for Sun's bug 6403933 (about NIO implementation), which might cause 100% CPU usage for short intervals in Linux. It replaces a simpler workaround, that forced the NIO thread to sleep for 50 ms in those cases. 3.4.3 build 1337 Fixed a bug in the support for the internal Load Test Toolkit, which, on some machines, might cause errors of a few milliseconds in the measured times; this might even lead to small negative latencies. 3.4.3 build 1336 Fixed an error in the MetadataProviderAdapter javadoc: the getUserSessions method is deprecated. 3.4.3 build 1334 Fixed a bug affecting the management of the HTTP requests with the HEAD method. Revised the log messages related to license check. 3.4.3 build 1331 Improved the protection of the pages supplied by the Server in order to carry user data. See the and elements in the Server configuration file. Note: the configuration for the new element set in the default Server configuration file assumes Web Client Library version 4.2 build 1309 or above on the client side; in order to support previous versions, just remove the new configuration element. Fixed a bug on the management of RAW mode and unfiltered dispatching when a maximum frequency limit is imposed by the Edition. This kind of service is no longer refused, but rather it is supported subject to the frequency limit. Note that this may cause significant data latency if the source update frequency is higher than the frequency limit imposed by the Edition. 3.4.2 build 1325 Removed a compatibility issue introduced on version 3.4.2 build 1323 that prevented the Server from running on a 1.4 JVM. 3.4.2 build 1324 Improved security and vulnerability prevention. 3.4.2 build 1323 Fixed a bug that might cause a javascript error on the client in case of unlicensed client version. Added extensions to the web interface in order to support the new 4.2 Web Client Library. The thick client interface has not changed. Upgraded the internal monitor pages to Web Client Library version 4.2. Viewing the internal monitor with the current production, development or demo license may be no longer allowed. The old internal monitor pages can be restored by replacing lib/ls-monitor.jar with the old one. 3.4.1 build 1322 Revised the internal locking strategy, in order to minimize synchronization requirements for the processing of Data Adapter update notifications. 3.4 build 1321 Fixed a bug that affected items requested in COMMAND mode: the end-of-snapshot notification to the client could be delayed until the first update was produced by the Data Adapter. 3.4 build 1320 Fixed a bug that prevented the correct loading of a configuration file starting with a comment node. 3.4 build 1316 Introduced suitable configuration flags for the sizing of the internal thread pool devoted to the management of the client requests. See the sample configuration file for details. 3.4 build 1313 Improved the encoding of special characters in the push stream in order to use less bytes for typical JSON-style data values. Fixed a bug that might cause the available bandwidth not being completely used in case of polling with an unlimited bandwidth granted to the session. 3.4 build 1309 Extended the logging in case of problems in trial license check. Moved the native libraries to a single "native" directory, under "lib". 3.4 build 1308 Extended the sample Metadata Adapters (i.e. FileBasedProvider and LiteralBasedProvider)in order to support the configuration, in adapters.xml, of the allowed subscription modes for the various items, inquired by the Kernel through the "modeMayBeAllowed" method. The default behaviour is still to allow any mode for any item, but this is not recommended, because the Server does not support more than one mode out of MERGE, DISTINCT and COMMAND for the same item. In such a case, the Server would just manage each item in the mode specified by the first Client request it receives for the item. 3.4 build 1307 Tested the compatibility with the new Java 1.6 release. Extended the support for production licenses on all platforms, if java 1.6 is used to run the Server. 3.4 build 1306 Added the support for production licenses on the x86_64 processors, running either Windows or Linux. Addressed a compatibility issue with Opera browser, gaining a slight improvement on client-side performances. 3.4 build 1305 Added the and configuration elements, that allow the thread pools devoted to the management of the events flow to be sized, based on the number of processors. The default size of these thread pools has been changed from 10 to 1. 3.4 build 1300 Fixed a bug that prevented the Server to communicate the configuration setting to the web clients for an early check of the length of the requests. 3.4 build 1299 Improved the heuristic strategy adopted by the Server in order to identify connections kept open by intermediate proxies but closed on the client side. 3.4 build 1298 Revised the deployment structure and improved its inline documentation. In particular, all the sdk and documentation stuff has been moved to the new "DOCS-SDKs" directory. Introduced the support for multiple server sockets. The new cumulative and elements provide for this, though the old elements used for socket configuration (i.e. and ) are still available as shortcuts. The old configuration elements for backlog, listening interface and keystore are also still available and set optional default values for those properties. As a consequence, old style socket configuration is still supported by the new Server. Moreover, the old element is no longer needed and has been discontinued. As a consequence, if the OFF configuration item is defined but the element is defined too, then the latter element should be commented out. See the new sample configuration file for details. Extended the log messages with server socket identification, where useful. A single thread pool is now used for the management of all the requests on all server sockets; the related task queue is reported by the getQueueStageHTTPAccept method of the Load MBean exposed through the JMX interface. Introduced a further restriction on the internal monitor data provider based on the server sockets defined. The visibility of the monitor provider on the various server sockets has to be explicitly declared in the Server configuration. This means that the new subelement Y has to be added inside the element in the Server configuration file in order make the new Server behave like the old one. See the new sample configuration file for details. Discontinued the support for the "truststore" block in the configuration file. In order to statically configure a truststore that can be used by the adapters, the -Djavax.net.ssl.trustStore= and -Djavax.net.ssl.trustStorePassword= items can be added to the JVM command line by extending the JAVA_OPTS variable in the launch script (in this case, a relative should be expressed as relative to the launch directory, not the configuration file directory, as was the case with the "truststore" block). Deprecated the configuration element. A control link address can be supplied by just defining one or both of the and elements. The old IP configuration item is still supported for backward compatibility, but an explicit configuration through the element, with the local IP specified, is recommended in its place. Discontinued the support for the configuration element. HTML pages generated by Lightstreamer Server will never contain any window.onError setting. Introduced the support for client remote logging. 3.3.4 build 1293 Fixed an error on the configuration of the Java Service Wrapper (which is used to run Lightstreamer Server as a service on Windows). Because of this error, the internal Monitor pages were not supplied by Lightstreamer Server when running as a service. Fixed an incompleteness in the recent Java Service Wrapper upgrade (build 1285). Set a zero expiry time on all pages of the internal Monitor. This should minimize, in case of an upgrade of the Monitor pages, the risks of page inconsistency due to page caching on the browser. Fixed a bug that, under particular conditions, might prevent the latest web client library (build 1248) from establishing a polling session. 3.3.4 build 1289 Fixed a bug that prevented the Server running in Allegro or Presto edition from supporting the internal monitor. 3.3.4 build 1286 Suppressed the determination of the remote hostname on the client activity report of the internal monitor. The remote hostname determination can be enabled by adding the new "enable_hostname_lookup" configuration element inside the "monitor_provider" element and setting it to Y. 3.3.4 build 1285 Performed an upgrade of some 3rd party software included. The Java Service Wrapper has been upgraded to version 3.2.1. The Java UUID Generator has been upgraded to version 2.0. Changed license terms of 3rd party software included. 3.3.4 build 1284 Added the support for 4.0.8 version Web Client Library, where only global variables with names starting with "LS_" are available for the interaction with the engine page. Older Web Client Library versions are still supported, too. Fixed a bug which prevented the JMX "Session" MBean from getting the current client host address for a polling session. 3.3.3 build 1280 Fixed a bug on the current bandwidth determination for a session in polling mode. Bandwidth constraints on polling sessions are now slightly stronger. Extended the logging of pushed data through the LightstreamerLogger.push log4j category to polling connections. 3.3.2 build 1276 Introduced the configuration element as an alternative to for HTML clients. In the new element, the domain name part of the address can be omitted, so that the domain configured in the front-end pages can be used. 3.3.2 build 1274 Introduced the logging needed to support a tool for load tests (for internal use only). 3.3.2 build 1271 Used the Last-Modified header in place of the Expiry header for static pages, in order to improve browser cache management in case of upgrade of the Server static resources. Improved the internal Monitor Console front-end. 3.3.2 build 1269 Changed the charset declaration, to overcome the Internet Explorer limitations for UTF-8. 3.3.2 build 1267 Changed the default settings that affect session rebinding, in order to overcome possible client-side overload. 3.3.2 build 1264 Fixed a bug that might cause memory problems in case of overlapping requests from the client. 3.3.2 build 1263 Specified the charset on the StockListDemo HTML resources, in order to improved the compliance with old browsers. 3.3.2 build 1262 Added the support for control connections optimization on the client side. Slightly changed the "request_limit" configuration flag meaning (see the default configuration file for details). 3.3.1 build 1261 Improved the logging of client request processing. Improved the support for multiple control connection attempts by HTML clients. 3.3.1 b1 build 1260 Corrected a configuration inconsistency in the log4j default configuration file. 3.3.1 b1 build 1256 Fixed a bug that might cause a polling sequence to be stopped. 3.3.1 b1 build 1254 Added the support for javascript mode answers. Response pages in javascript format can be requested by urls ending in ".js" (e.g. "/lightstreamer/control.js"). Added the support for sending messages from the client to the Server. The message is managed by the Metadata Adapter associated to the Session currently owned by the client. Messages can be sent through urls of the form "/lightstreamer/send_message.*". 3.3 build 1253 Fixed a bug that caused the browser to notify the connection as open when the error page is shown after an HTTPS request. Removed the logging of an Exception when an HTTPS request is aborted by the client during the handshake. 3.3 build 1249 Introduced the new 3.3 version. Old licenses are not supported by this version. Introduced the new editions: Allegro, Presto and Vivace. See http://www.lightstreamer.com/pushEngines.htm for a summary of edition-related restrictions. Upgraded the internal monitor console front-end resources to use Web Client Library version 4.0. Revised the configuration of the JCE provider. The settings in the "java.security" JVM configuration file are used. In particular, the "ssl.KeyManagerFactory.algorithm" and "ssl.TrustManagerFactory.algorithm" properties are needed. They are usually set by the factory configuration. On the other hand, the keyStore type cannot be configured; only "jks" is supported. 3.2 build 1244 Added the detection of clients issuing a connection close on their side and waiting for a connection close by the Server. In such cases, the Server now closes its connection immediately. Any client that closed its end and still waited for data from the Server would no longer be supported. This only holds for streaming connections if asynchronous sockets are used. 3.2 build 1243 Removed the dependency on SUN's JCE provider, which is still the default. The configuration of a different JCE provider is still undocumented. 3.2 build 1242 Fixed a problem with the returned javascript that could raise unwanted popups in https enabled front-ends. 3.2 build 1240 Fixed a bug on connection closure, that might cause the browser to show a garbage page on some unpredictable cases. 3.2 b3 build 1239 Added a trailing pause in the foreground launch script for Windows. 3.2 b3 build 1238 Introduced the support for "asynchronous polling". The polling connection requests can now specify a maximum idle time, that allows the Server to wait for available data before returning. The classical "synchronous" polling can be seen as a special case of asynchronous polling with a zero idle time. Introduced an optional upper limit on the frequency of polling requests on a session. The limit can be set through the new "min_interpoll_millis" configuration flag. Introduced an upper limit on the time an open connection can be kept inactive by the Server (this holds for both streaming and asynchronous polling connections). The limit is set through the "max_still_millis" or the new "max_idle_millis" configuration flags. 3.2 b1 build 1234 Introduced an optional check to warn of slow adapter calls. The check is enabled by default. 3.2 a1 build 1224 Slight improvement on real bandwidth estimation for text mode connections. 3.2 a1 build 1223 Set to unlimited the size of the thread pool for the management of synchronous read/write operations. This pool is used only when the Server is run with java runtime 1.4 and only for HTTPS connections management. In this case, the pool may grow if HTTPS clients require to "keep-alive" their connections. 3.2 a1 build 1222 Extended the asynchronous approach to all read/write operations on sockets (it had been introduced only for push activity). Now the Server performance should scale better on intense connection activity too. -------------------------------- SDK for Java Adapter Development -------------------------------- 3.4.8 build 1398 (compatible with Server since 3.3.1 b1) Released on 6 Mar 2008 3.4.7 build 1395 (compatible with Server since 3.3.1 b1) Released on 11 Feb 2008 Clarified on the javadocs the conditions in which an update event, after being passed to the ItemEventListener, can still be used by the Data Adapter. Also clarified the conditions in which a custom Metadata Adapter can be used when the LiteralBasedProvider is requested by client API specifications. 3.4.6 build 1393 (compatible with Server since 3.3.1 b1) Released on 4 Jan 2008 3.4.6 build 1391 (compatible with Server since 3.3.1 b1) Released on 6 Dec 2007 3.4.6 build 1389 (compatible with Server since 3.3.1 b1) Released on 22 Nov 2007 3.4.6 build 1385 (compatible with Server since 3.3.1 b1) Released on 15 Nov 2007 3.4.4 build 1372 (compatible with Server since 3.3.1 b1) Tested the sample Adapters for compatibility with the new version of log4j libraries used for the Server (1.2.15). Upgraded the JMS example generator to include log4j library version 1.2.15. 3.4.4 build 1364 (compatible with Server since 3.3.1 b1) Extended the provided JMS-based StockListDemo Data Adapter example, by adding configuration istructions for the JBoss Messaging JMS provider. 3.4.3 build 1362 (compatible with Server since 3.3.1 b1) Extended the reusable Metadata Adapters provided with the SDK. The new "prefilter_frequency" configuration parameter is now supported. 3.4.1 build 1322 (compatible with Server since 3.3.1 b1) Revised and clarified the Data Adapter interface requirements, in order to avoid possible issues due to a lack of synchronization. See the Data Adapter interface javadocs for details. Revised the sample StockListDemo Data Adapter source code accordingly. 3.4 build 1309 (compatible with Server since 3.3.1 b1) Introduced a new example Data Adapter, named StockListDemo_JMS_DataAdapter, which demonstrates getting data for the StockListDemo front-end from an external generator process, through JMS. 3.3.1 b1 build 1254 (compatible with Server since 3.3.1 b1) Added notifyUserMessage to the MetadataProvider interface. Metadata Adapters that inherit from the MetadataProviderAdapter abstract class (the usual case) are unaffected by the extension; Metadata Adapters that directly inherit from MetadataProvider are also unaffected, unless the new messaging service is used on the client side. 3.3 build 1244 (compatible with Server since 3.0.1) Revised the javadocs, to take into consideration the new editions (Allegro, Presto and Vivace). 3.2 b1 build 1234 (compatible with Server since 3.0.1) Removed the deprecated "GroupInfo" class and removed from MetadataProvider the deprecated interface methods using it. Revised the implementation of the StockListDemo example, to show how a Data Adapter can interact with a data feed. -------------------------------- SDK for .NET Adapter Development -------------------------------- 1.3.2960.18717 (compatible with Adapter Remoting Infrastructure since 1.1) Released on 11 Feb 2008 Reviewed the API documentation. 1.3.2893.27841 (compatible with Adapter Remoting Infrastructure since 1.1) Released on 6 Dec 2007 Removed the burst.cs source file from the sample source files in DotNetStockListDemo\src_data_adapter; the example was not part of the StockListDemo Data Adapter. 1.3.2837.24089 (compatible with Adapter Remoting Infrastructure since 1.1) Released on 9 Oct 2007 Removed the deployment case based on the "piped" mode from the Remote StockListDemo Adapter example included. Only the standard "socket" mode is now shown. 1.3.2819.29975 (compatible with Adapter Remoting Infrastructure since 1.1) Removed a locale-dependent date formatting in the provided StockListDemo example, which might cause compatibility issues with some of the provided example clients. 1.3.2798.29601 (compatible with Adapter Remoting Infrastructure since 1.1) Simplified the LiteralBasedProvider.cs sample code. 1.3.2795.18928 (compatible with Adapter Remoting Infrastructure since 1.1) Improved the custom adapter initialization through the MetadataProviderServer and DataProviderServer classes, by using empty hashtables as the default to be supplied for the adapters Init call. Added checks for null item lists or field lists returned by GetItems or GetSchema. 1.3.2747.24605 (compatible with Adapter Remoting Infrastructure since 1.1) Added a version of the library identified with a "strong name". This, among other benefits, makes it possible to register the DLL in the Global Access Cache. See the SDK README.TXT for details. 1.3.2746.18556 (compatible with Adapter Remoting Infrastructure since 1.1) Fixed a bug that prevented the use of null values in the update events; actually, they are allowed, though just considered as missing fields. 1.3.2725.16801 (compatible with Adapter Remoting Infrastructure since 1.1) Fixed a bug in the Adapter initialization phase, which might cause an Adapter with a slow Init() method to be used before Init() termination. Propagated to Start() any exceptions thrown in the Init() method; previously, they were notified to the custom asynchronous exception handler. Added a DEBUG level log for all request, reply and notify lines (see the sample exe.config configuration files). 1.3.2641.18418 (compatible with Adapter Remoting Infrastructure since 1.1) Extended the Server abstract class, which offers the support for custom Remote Server main programs. Custom exception handling is now possible. Revised the StockListDemo sample code and sample deployment, in order to add the demonstration of a sample custom server. 1.2.2613.30708 (compatible with Adapter Remoting Infrastructure since 1.1) Revised and clarified the Data Adapter interface requirements, in order to avoid possible issues due to a lack of synchronization. See the Data Adapter interface documentation for details. Revised the sample StockListDemo Data Adapter source code accordingly. 1.1.2488.16523 (compatible with Adapter Remoting Infrastructure since 1.0) Clarified the way the arguments of the init() method (for both the Data and the Metadata Adapter) are supplied. 1.1.2467.27750 (compatible with Adapter Remoting Infrastructure since 1.0) Removed the implementation classes and methods from the public interface and the documentation. Only the Remote Adapter interfaces and the Remote Server class are now exposed. The generic LiteralBasedProvider Metadata Adapter is also exposed, as part of the DotNetAdapter dll. 1.0.2376.20919 (compatible with Adapter Remoting Infrastructure since 1.0) Just changed the policy for package versioning: the assemby version of DotNetAdapter_N2.dll is used. 1.0.2376.20896 (compatible with Adapter Remoting Infrastructure since 1.0) --------------------------------------- SDK for Adapter Remoting Infrastructure --------------------------------------- 1.1 build 25 (compatible with Server Adapter Interface since 3.3.1) Released on 9 Oct 2007 Improved internal cache management of user profile data. 1.1 build 24 (compatible with Server Adapter Interface since 3.3.1) Revised some exception messages. 1.1 build 23 (compatible with Server Adapter Interface since 3.3.1) Tested the Proxy Adapter for compatibility with the new version of log4j libraries used for the Server (1.2.15). 1.1 build 22 (compatible with Server Adapter Interface since 3.3.1) Revised the protocol and the protocol documentation. Some update event notifications have been eliminated, as not really different than the "Update by Map" notification. They are still temporarily supported by the Proxy Adapter. Added examples of Proxy Adapter configuration. Such examples were mistakenly missing until now. Changed the management of the server sockets used to accept the connections from the Remote Servers. The server sockets are now closed after the Remote Server connections have been established. Added timeout checks also for the requests performed asynchronously. This may cause FailureException returned by slow subscribe/unsubscribe requests to be ignored. 1.1 build 21 (compatible with Server Adapter Interface since 3.3.1) Improved the performance in case of a burst of subscriptions. 1.1 build 19 (compatible with Server Adapter Interface since 3.3.1) Fixed a bug that might cause a misleading exception to be reported in case of high subscription load. 1.1 build 17 (compatible with Server Adapter Interface since 3.3.1) Revised the error management for base64 decoding. 1.1 build 16 (compatible with Server Adapter Interface since 3.3.1) Improvement on the Adapter performances. 1.1 build 15 (compatible with Server Adapter Interface since 3.3.1) Improvement on the Adapter performances. 1.1 build 13 (compatible with Server Adapter Interface since 3.3.1) Extended the remoting protocol, in order to enforce the association of each update notification with a specific subscribe request instance. See the remoting protocol documentation for details. Fixed a bug that might cause unexpected behavior, in the (unlikely) event of fast subscribe-unsubscribe or unsubscribe-subscribe sequences. 1.0 build 12 (compatible with Server Adapter Interface since 3.3.1) Improved the initialization phase, to manage the case in which the Remote Adapter produces update events before any subscription (this may make sense in some cases, though the updates are ignored). 1.0 build 10 (compatible with Server Adapter Interface since 3.3.1) Fixed a bug that might cause legal session requests to be refused in case multiple sessions for the same user overlap. 1.0 build 8 (compatible with Server Adapter Interface since 3.3.1) Fixed a bug that might cause some answers from the .NET process to be lost. 1.0 build 7 (compatible with Server Adapter Interface since 3.3.1) ------------------------------ SDK for Web Client Development ------------------------------ 4.2.3 build 1329.12 (compatible with Server since 3.4.6) Released on 6 Mar 2008 Extended the NonVisualTable in order to better manage items subscribed to in COMMAND mode. See setCommandLogic in the jsdocs for details. Revised the documentation of UpdateItemInfo, which was not clear about the command logic behaviour. Revised the documentation of group, schema, item and field descriptors; fixed documentation errors about descriptors for extra fields. 4.2.2 build 1329.9 (compatible with Server since 3.4.6) Released on 11 Feb 2008 Fixed a bug that might cause the getTables method on a PushPage object to fail with an exception. 4.2.2 build 1329.7 (compatible with Server since 3.4.6) Released on 4 Jan 2008 4.2.2 build 1329.6 (compatible with Server since 3.4.6) Fixed a compatibility issue with Internet Explorer 6, which affected cookie management and could prevent multiple application istances from finding an engine to share when "SHARE_SESSIONS" was specified in "createEngine". 4.2.2 build 1329.4 (compatible with Server since 3.4.6) Released on 22 Nov 2007 Fixed a bug, introduced in build 1323, which caused the "onClientAlert" and "onServerError" event handlers to be called with wrong values for the arguments. 4.2.2 build 1329.3 (compatible with Server since 3.4.6) Revised the implementation of the access to the Master Push-page from a Push-page starting in a newly created popup. Under particular conditions, the access could fail on Internet Explorer. Reduced the occurrences of the "Unable to find the Engine" debug alert to only signal when the Engine has not been found after a significant time has elapsed since page start. 4.2.2 build 1329.1 (compatible with Server since 3.4.6) Released on 15 Nov 2007 Changed the format of the included build.number file. Changed the management of the case in which an active session is closed on the Server side. The event is now notified to the onServerError event handler; error codes from 30 to 39 have been reserved for these notifications. As a consequence, the default handling is to issue an alert and the status is set to DISCONNECTED, without any recovery attempt. Added new methods to notify the client of some load balancing details. See "getSessionServerName" and "getSessionServerAddress" in the jsdocs for the LightstreamerEngine class for details. Fixed a bug on Safari compatibility management which prevented reconnections after disconnections from working correctly on Safari. 4.2.1 build 1329 (compatible with Server since 3.4.2) Addressed a compatibility problem with Opera browser, which prevents the "SHARE_SESSION" policy on "createEngine" from working when different application instances run on different windows. The "NEW_SESSION" policy is now automatically applied in those cases. 4.2.1 build 1328 (compatible with Server since 3.4.2) Fixed a bug that prevented full reentrancy support in onClientError and onStatusChange; now any API method can be called from inside any event handler. 4.2.1 build 1323 (compatible with Server since 3.4.2) Introduced the "Engine migration" feature, which provides automatic recovery from Engine closure when the SHARE_SESSION policy is used for Engine creation. This brings a number of consequences, some of which may pose small backward compatibility issues: - Upon migration, no call to onEngineCreation is performed; the Engine object supplied to onEngineReady has been automatically configured based on the last available state of the previous object. This is limited to the SHARE_SESSION case. - The "isMasterPushPage" method has been introduced, to make it possible to identify the Master Push-Page also in case of migration. This is not limited to the SHARE_SESSION case. - After migration, any page may have become the Master Push-Page, even a page which, on starting, called "seekEngine" rather than "createEngine". This is limited to the SHARE_SESSION case. - As event handlers for the Engine object are not restored upon migration, they should not be set in onEngineCreation, but only in onEngineReady; handlers that should be specific for the Master Push-Page can be set after testing for "isMasterPushPage". This is limited to the SHARE_SESSION case. - The Engine object supplied to onEngineCreation and onEngineReady is now a local proxy; it is different than the object that can still be accessed through the deprecated "lsengine_config.js" and "getEngineReference". This is not limited to the SHARE_SESSION case. - The received Engine object only shows the event handlers locally defined on the Push-Page; the initial value of the handlers is "undefined". This is not limited to the SHARE_SESSION case. - Any page can now set event handlers for the Engine object and handlers set by different pages are all executed, each in the local Push-Page context; only if no handlers are defined for an event, a default handler is executed in the Engine page context. This is not limited to the SHARE_SESSION case. Removed the documentation of the methods that were deprecated upon introduction of the 4.2 version. 4.2 build 1320 (compatible with Server since 3.4.2) Fixed a compatibility issue with Internet Explorer, which could prevent the correct page initialization when the library "js" files were included inside the page body element. Fixed a bug that, under particular conditions, might cause a call to "onEngineReady" to receive a not fully initialized LightstreamerEngine object. 4.2 build 1319 (compatible with Server since 3.4.2) Fixed a compatibility issue with Safari browser, which could bring the focus to the master pushpage when session rebind occurred. Fixed a bug that could prevent the stream-sense algorithm from behaving correctly with Safari browser. Added a check to prevent possible browser-originated duplicated messages upon sendMessage calls. The check is effective since Server version 3.4.4 build 1371. Extended the setRemoteAlertsOnClientError method to add optional limits on the length and overall number of messages to be sent to the Server. 4.2 build 1318 (compatible with Server since 3.4.2) Fixed a bug that might cause some onEngineLost event handler calls to be lost when immediately followed by the subsequent onEngineReady call. 4.2 build 1317 (compatible with Server since 3.4.2) Fixed a bug on the management of the ScrollTable, which caused cell value formatting, set through onChangingValues, to be lost upon scrolling. 4.2 build 1316 (compatible with Server since 3.4.2) Improved the library startup phase, by eliminating some unnecessary page requests; this also eliminates a problem, related with uneven session requests distribution, observed with some load balancers. 4.2 build 1314 (compatible with Server since 3.4.2) Assured the compatibility with the OpenAjax Hub 1.0 4.2 build 1312 (compatible with Server since 3.4.2) Added the onClientAlert event handler, which gives the application control over the notification to the user of critical conditions, related to its environment, that prevent the application from working. See the jsdocs for the PushPage class for details. 4.2 build 1309 (compatible with Server since 3.4.2) Added the support for the Server configuration element, introduced in Server version 3.4.3. 4.2 build 1308 (compatible with Server since 3.4.2) Revised the Server denomination in some error and notification messages. 4.2 build 1307 (compatible with Server since 3.4.2) Revised the management of the debug alerts and onClientError notifications in the startup phases. The initial setting for debug and remote alerts on the Engine page is now inherited from the Master Push-Page. Error notifications occurring before Engine page or Push-Page initialization are now buffered and sent to the proper listener upon initialization completion. 4.2 build 1306 (compatible with Server since 3.4.2) Fixed a bug that limited the StreamSense behaviour under Safari 1.x. Restricted the "seekEngine" behaviour in order to prevent a Push-Page from linking to an Engine page created by a different instance of the same front-end application if the "onSimilarEngineFound" argument passed to the "createEngine" method was "FAIL" or "NEW_SESSION". In these cases, it is mandatory that a pointer to a reference Push-Page is provided to "seekEngine", in order to link to a suitable Engine. 4.2 build 1302 (compatible with Server since 3.4.2) Added new utility methods to the LightstreamerEngine object. See "getPushPages" in the JSDocs for lsengine.js and "getWindowReference", "getClassName", "getTables" in the JSDocs for lspushpage.js for details. Revised the way in which the Engine is added to the front-end. The "setEngineReference", "loadEngine", "loadEngineMinimal" and "getEngineReference" methods have been deprecated in favour of the new "createEngine" and "seekEngine" methods. The "onEngineCreation" event handler has also been added in support of "createEngine". This also makes any direct reference to the "lsengine.html" page and to the "lsengine_config.js" configuration file deprecated. See the JSDocs for lspushpage.js for details. Revised the way in which conflicts on the Engine page are handled. This typically applies to situations in which the same Lightstreamer-enabled application is opened twice on the same browser instance. The concept of application name has replaced that of Engine name. In particular, the "getApplicationName" method now replaces "getEngineName". See also "createEngine" and "seekEngine" in the JSDocs for lspushpage.js for details. Changed the URLs used for the streaming connections to the Server. This should make it more evident, when investigating on the current loading activity on the browser, that a streaming connection is in place. 4.1.1 build 1300 (compatible with Server since 3.3.4) Improved security and vulnerability prevention. 4.1 build 1290 (compatible with Server since 3.3.4) Addressed an issue with Safari browser, in which an ongoing streaming page blocks all page load requests on any parent page (this only affects programmatic requests, not clicking the "refresh" button, for instance). A typical case is when replacing the main Push Page, which holds the Engine Page as an IFRAME. Now, calling changeStatus("DISCONNECTED") before requesting the new page load ensures the correct behaviour on all browsers. 4.1 build 1289 (compatible with Server since 3.3.4) Fixed an obfuscation bug which prevented the recently addede "onStart" event handler from being visible. 4.1 build 1286 (compatible with Server since 3.3.4) Revised and improved the StreamSense algorithm and the various mechanisms for the recovery after unexpected disconnections from the Server. 4.1 build 1284 (compatible with Server since 3.3.4) Addressed a compatibility problem with the KHTML browsers (e.g. Safari) that could cause the "getEngineReference" method to return a wrong value when called too early. Now, a null pointer will be returned in these cases, until a correct value could be returned. 4.1 build 1283 (compatible with Server since 3.3.4) Overcome a compatibility problem with Opera, that could prevent the full initialization of Pushpages defined as siblings of the Engine page. In fact, the "onload" event handler may not be called by Opera on such Pushpages. 4.1 build 1281 (compatible with Server since 3.3.4) Fixed a bug, introduced with build 1279, that affected the recovery with polling when streaming was not allowed, for applications where long user names were used. 4.1 build 1280 (compatible with Server since 3.3.4) Fixed a bug that affected visualization in case of visual tables with holes (i.e. tables with fields for which cells are defined for some but not all rows). Guaranteed the compatibility with TIBCO General Interface on all browsers. Added a lookup for the OpenAjax hub services; if found, the "Lightstreamer" prefix is registered. 4.1 build 1279 (compatible with Server since 3.3.4) Improved the mechanism of recovery after unexpected disconnections. If streaming was active, only streaming connection attempts will be tried. Improved the mechanism of recovery of subscription requests that don't reach the Server. Redundant requests (which may cause error notifies on the Server log) are minimized. 4.1 build 1273 (compatible with Server since 3.3.4) Improved the efficiency of the DOM manipulation. Found an issue about using the full hostname as the domain name in Internet Explorer. The issue was never observed before and might have been introduced by recent upgrades (possibly on the browser side). The issue has not been solved, as it should not impact production scenarios. Using the Web Server hostname as a subpart of Lightstreamer Server hostname should be avoided, though page redirections or similar techniques. 4.1 build 1272 (compatible with Server since 3.3.4) Fixed a bug that affected push cells that were defined with nested HTML markup, rather than just text, as their initial content. For such cells, the initial content were not correctly preserved at startup. Now, if HTML push is enabled for the related table, the initial content is fully preserved; otherwise, using nested HTML as the initial cell content is no longer supported. 4.1 build 1266 (compatible with Server since 3.3.4) Fixed a bug in the cell fading implementation that might, in case of big pages, cause a 100% CPU usage if cell fading were enabled. 4.1 build 1265 (compatible with Server since 3.3.4) Addressed an issue with memory allocation in Firefox. A pushing page, continuously changing the cell contents on the screen through a VisualTable subinstance, could cause Firefox to allocate a growing amount of memory. Now the memory growth is still present, but negligible. No growth of the memory usage has been observed with IE. 4.1 build 1264 (compatible with Server since 3.3.4) Fixed a bug on the getTable method of the PushPage class, which might, in some cases, raise a javascript error. 4.1 build 1261 (compatible with Server since 3.3.4) Added the "onStart" event handler on all Table objects, in order to notify that a table has been successfully subscribed to through the Server. It may also notify that the table has been resubscribed to, in case of connection restart. Addressed an issue with domain setting in Firefox. Setting the domain as being the same as the hostname is now possible. This technique can be used when Lightstreamer Server and the Web Server are on different ports of the same machine. Addressed a compatibility issue with Opera browser, gaining a slight performance improvement. 4.1 build 1258 (compatible with Server since 3.3.4) Fixed a bug that might cause very long subscription requests to be refused. Fixed a bug on the management of subscription problems that might, in case of slow connections, cause table subscriptions to be performed twice, with the second subscription replacing the first one. 4.1 build 1257 (compatible with Server since 3.3.4) Removed trailing compatibility conflicts with some javascript frameworks. Fixed a bug that might prevent the correct recovery of a ChartTable in case of stream connection recovery. 4.1 build 1255 (compatible with Server since 3.3.4) Introduced the remote logging, triggered by the new setRemoteAlertsOnClientError of the Context object. Enabling this option, error notifications issued by client library code are sent to the Server in order to be logged through the Server logging system. Enabling this feature requires Server version 3.4 or greater. 4.1 build 1254 (compatible with Server since 3.3.4) Introduced a check on the javascript setTimeout behaviour to detect cases in which it is not as expected. In these cases, the connection is closed, in order to avoid possible loops of recovery attempts. Unexpected setTimeout behaviours have been observed on Firefox 1.0. Deprecated the setStreamProtocol/getStreamProtocol methods, as only the protocol used for loading the lsengine.html page is allowed for connecting to Lightstreamer Server. Deprecated the setControlProtocol/getControlProtocol methods, as the use of different protocols and ports for Stream and Control connections, though still allowed, is no longer supported. Deprecated, for the same reason, the setStreamPort/getStreamPort and setControlPort/getControlPort methods, replaced by the new setLSPort/getLSPort methods. Added checks on the hostname and domain specified, to help tracking domain-related configuration problems. 4.0.8 build 1251 (compatible with Server since 3.3.4) Fixed a bug that, under particular conditions, might cause a spurious request of "lsblank.html" to Lightstreamer Server. Revised some internal mechanisms for the recovery after connection problems that, under particular conditions, might cause a strict loop of unsuccessful recovery attempts. 4.0.8 build 1248 (compatible with Server since 3.3.4) Fixed a bug that could prevent the establishment of a session on some browsers when a local director is used in front of a Server pool and the control link addresses are configured for the Server instances (see the Server configuration file for details). In particular, the bug affected Safari browser, but did not affect the most common browsers. Removed an incompatibility problem on the recognition of push cells detached from the page in IE5. 4.0.8 build 1247 (compatible with Server since 3.3.4) Used only names starting with "LS_" for global variables and functions internally defined by library code in the Engine page. This eliminates the risk of name conflicts with custom variables defined in the lsengine_config.js configuration script file. The only global names introduced by library code in the Engine page which don't start with "LS_" are the public interface class names. This breaks the compatibility with Server versions earlier than 3.3.4 4.0.7 build 1244 (compatible with Server since 3.3.2) Removed the compatibility conflicts with some javascript frameworks. Fixed a bug that, in some cases, could prevent the recovery of a streaming session with a polling session for a client which stays behind a blocking proxy. 4.0.7 build 1240 (compatible with Server since 3.3.2) Changed the network protocol for HTTP clients, in order to introduce standardized symbols. This breaks the compatibility with old versions of the Server. Used only names starting with "LS_" for global variables and functions internally defined by library code in the PushPage. This eliminates the risk of name conflicts with custom variables. The only global names introduced by library code in the PushPage which don't start with "LS_" are the public interface class names. 4.0.6 build 1238 (compatible with Server since 3.3.2) Fixed an error on the resume of a streaming connection after a streaming problem that was recovered through a polling connection. 4.0.6 build 1235 (compatible with Server since 3.3.2) Fixed an error in positioning labels for charts (ChartTable's) in Firefox. 4.0.6 build 1234 (compatible with Server since 3.3.2) Introduced the support for explicit specifications of groups and schemas as arrays of items and arrays of fields, respectively. Introduced the optional GroupDescriptor and SchemaDescriptor classes. See the JSDocs for lspushpage.js for details. Introduced the support for explicit specifications of items and fields by name; this holds both for the API method parameters and for the cell attributes. Introduced the optional ItemDescriptor and FieldDescriptor classes. See the JSDocs for lspushpage.js for details. Extended the onItemUpdate, onLostUpdates, onEndOfSnapshot and onChangingValues event handlers to the use of the item name; added the getMetapushSortFieldName method as a name-based alternative to getMetapushSortField. Extended the support for field names to extra fields, which are no longer bound to be represented by numbers. Put a workaround to suppress a loading bar that, in some cases, is shown by IE during streaming. Extended the ShowValues interface: a missing entry in the array of values makes the library leave the current value in the corresponding cell. Fixed a bug on the addField method with the "remember" flag set as false. Revised the precondition checks on various methods. Suppressed a wrong error message which might be issued by Firefox in case Lightstreamer Server was not found. Fixed a bug affecting the initial stylesheets for DynaScroll and DynaMetapush table rows. Fixed a bug affecting scrolling of row stylesheets for Scroll and Metapush table rows. Fixed bugs triggered by null values received from the Server; Metapush and DynaMetapush table sorting and the isValueChanging and getNewValue methods have been corrected. Fixed a bug affecting the domNode parameter supplied to the onChangingValues event handler; it might be null for row deletion notifications. Fixed bugs that affected table operation during recovery from a stream connection interruption; removeTable and getId methods have been corrected. Introduced the POST method for stream connection requests; this eliminates length limitations on user and password values. Allowed setClearOnAdd(true) for ChartTable; improved setClearOnAdd(true) support for ScrollTable. 4.0.5 build 1233 (compatible with Server since 3.3.2) Introduced a charset declaration, to overcome the Internet Explorer limitations for UTF-8. 4.0.5 build 1230 (compatible with Server since 3.3.2) Introduced the minimal loading of the Engine page, through a specific querystring for the lsengine.html page. Deprecated the use of an empty querystring as an alias for the ?config=lsengine_config.js querystring. Added the loadEngineMinimal method as an alternative to loadEngine that performs the minimal loading of the Engine page. 4.0.4 build 1228 (compatible with Server since 3.3.2) Added new getters for some properties of the Connection object; see the Connection JSDoc for details. Added the sorting configuration in the MetaPushTable and DynaMetaPushTable objects; see the related JSDocs for details. Added the isPushedHtmlEnabled getter for the VisualTable object. 4.0.3 build 1226 (compatible with Server since 3.3.2) Removed the limitations on the loadEngine method, which can now be called at any time. Removed the limitations on the setMaxDynaRows for a DynaScrollTable, which can now be called at any time. 4.0.3 build 1219 (compatible with Server since 3.3.2) Removed the limitations on the Engine status methods, which can now be called at any time. 4.0.3 build 1217 (compatible with Server since 3.3.2) Improved the support of the Konqueror browser. Optimized the implementation of table subscriptions, by packing requests for different tables into single requests to the server. 4.0.2 build 1214 (compatible with Server since 3.3.1 b1) Eliminated a spurious history entry that could appear on Firefox when the "document.domain" was explicitly set before the LightstreamerEngine binding. Improved the implementation of color fading for the push cells. 4.0.2 b1 build 1213 (compatible with Server since 3.3.1 b1) Added the support for sending messages from the client to the Server. See sendMessage on the LightstreamerEngine JSDoc for details. 4.0.1 a1 build 1209 (compatible with Server since 3.3.1 b1) Extended the use, whenever possible, of XmlHttpRequest to the polling case. This also eliminates the unwanted notifications of page reloading that could be observed on the browser. Revised the conditions for the placement of the "bind" and "loadEngine" calls on a Push-page. Current code is unaffected. 4.0.1 a1 build 1207 (compatible with Server since 3.3.1 b1) Revised the client-server communication implementation, by using XmlHttpRequest, whenever possible, in order to perform control requests. This also eliminates some unwanted effects that could be observed on the browser history. 4.0 build 1202 (compatible with Server since 3.3) Revised the implementation of loadEngine in order to wait (whenever possible) for the full Push-page loading before opening the Engine page. 4.0 build 1199 (compatible with Server since 3.3) Postponed the initial check for the Engine page reference configuration. However, the check is for debugging purpose only. 4.0 build 1198 (compatible with Server since 3.3) Ported to the new 3.3 Server. 4.0 build 1196 (compatible with Server since 3.1) Fixed a mismatch with the documentation. Used "row" in place of "position" as a special attribute for Push Cells that have to be associated with ScrollTable or MetapushTable objects. The "position" attribute is still supported for backward compatibility. 4.0 build 1194 (compatible with Server since 3.1) Achieved full compatibility with Opera (for HTTP) and Safari. 4.0 build 1193 (compatible with Server since 3.1) Introduced debug alerts to warn of severe problems in the Engine page initialization. Fixed a bug affecting DynaScroll data tables in case of table recovery after a disconnection and reconnection. Fixed a bug affecting the displaying of deleted and readded keys in MetapushTable and DynaMetapushTable data tables. Revised the mechanism of cell clearing. The "class" attribute declared in a cell is also applied in order to clear the cell. 4.0 build 1191 (compatible with Server since 3.1) Changed the querystring conventions for the lsengine.html URL. The form "lsengine.html?CONFIG_URL" has been generalized to the form "lsengine.html?config=CONFIG_URL". Backward compatibility for older URLs has been granted. 4.0 build 1190 (compatible with Server since 3.1) Removed the onClientError handler call upon exceptions from this same handler. 4.0 build 1189 (compatible with Server since 3.1) Fixed a trailing "lsblank.html" issue (causing no practical effects). 4.0 build 1187 (compatible with Server since 3.1) Fixed an obfuscation error affecting the visibility of the onLostUpdates event handler. Fixed a bug on the use of the session-specific control URL, if specified by the Server. 4.0 build 1186 (compatible with Server since 3.1) Fixed an obfuscation error affecting the visibility of the onEndOfSnapshot event handler. 4.0 build 1184 (compatible with Server since 3.1) Improved the compliance with popup blockers. 4.0 build 1183 (compatible with Server since 3.1) Revised the preconditions for the use of the loadEngine method. See the loadEngine JSDoc for details. ------------------------------------------------- SDK for Flash/Flex Client Development (JS Bridge) ------------------------------------------------- 1.0 build 18.48.12 (Compatible with Web Client SDK version 4.2.3 build 1329.12) Released on 6 Mar 2008 Ported to the current Web Client Library build. 1.0 build 18.48.9 (Compatible with Web Client SDK version 4.2.2 build 1329.9) Released on 11 Feb 2008 Ported to the current Web Client Library build. 1.0 build 18.48.7 (Compatible with Web Client SDK version 4.2.2 build 1329.7) Released on 4 Jan 2008 Ported to the current Web Client Library build. 1.0 build 18.48.4 (Compatible with Web Client SDK version 4.2.2 build 1329.4) Released on 22 Nov 2007 Ported to the current Web Client Library build. 1.0 build 18.48.1 (Compatible with Web Client SDK version 4.2.2 build 1329.1) Released on 15 Nov 2007 Changed the format of the included JsBuild.number and AsBuild.number files. Ported to the current Web Client Library build. 1.0 build 18.48 (Compatible with Web Client SDK version 4.2.1 build 1329) Ported to the current Web Client Library build. 1.0 build 18.47 (Compatible with Web Client SDK version 4.2.1 build 1328) Fixed a bug which prevented the creation of a flash bridge dynamically (i.e. after the page had been loaded). Added a check for the case in which the callbacks installed on the flash object cannot be accessed. This case now stops any operation by the flash object. Removed a compatibility issue with Opera browser, which prevented the data to reach the flash object. Ported to the current Web Client Library build. 1.0 build 18.36 (Compatible with Web Client SDK version 4.2 build 1317) Ported to the current Web Client Library build. 1.0 build 17.32 (Compatible with Web Client SDK version 4.2 build 1313) Ported to the current Web Client Library build. 1.0 build 17.31 (Compatible with Web Client SDK version 4.2 build 1312) Ported to the current Web Client Library build. 1.0 build 15.30 (Compatible with Web Client SDK version 4.2 build 1311) Ported to the current Web Client Library build. 1.0 build 15.28 (Compatible with Web Client SDK version 4.2 build 1309) Ported to the current Web Client Library build. 1.0 build 15.26 (Compatible with Web Client SDK version 4.2 build 1307) Ported to the current Web Client Library build. 1.0 build 14.21 (Compatible with Web Client SDK version 4.2 build 1302) Ported to the current Web Client Library build. 1.0 build 12.19 (Compatible with Web Client SDK version 4.1.1 build 1300) Ported to the current Web Client Library build. 1.0 build 11.9 (Compatible with Web Client SDK version 4.1 build 1290) Included in Lightstreamer distribution. ------------------------------------------------- SDK for Flash/Flex Client Development (Native AS) ------------------------------------------------- 1.0.1 build 24.11 (Compatible with Server since 3.4.4) Released on 6 Mar 2008 Fixed a bug which might prevent the connection recovery after a Server restart from working. However, the bug only manifested itself on "debug players". Ensured that any operation on the connection state (e.g. disconnections and new connections) can be performed while handling any event, without conflicts. 1.0.1 build 24.9 (Compatible with Server since 3.4.4) Released on 11 Feb 2008 Fixed a bug on the setKeyPolicy method of the VisualTable class, which only affected the case in which a number was supplied as either argument. Fixed a bug that caused "\u" patterns in the field values to be automatically expanded as "\uxxxx" unicode sequences. They should rather be preserved and made visible to custom code. Fixed a bug that might cause any connection retry to fail after the first attempt to connect to the Server had failed. 1.0.1 build 24.4 (Compatible with Server since 3.4.4) Released on 4 Jan 2008 Fixed a bug which prevented the notifications for lost events from being correctly forwarded to client code. Fixed a bug which might cause some update events to be lost in case of a burst of updates from the Server. Fixed a bug which prevented error responses upon stream or control requests from being correctly notified to client code. Revised the ControlErrorEvent event class; the reference to the involved Table object is now provided. 1.0 build 24 (Compatible with Server since 3.4.4) Released on 19 Oct 2007 Improved the included demo, in order to allow Server host, port and protocol to be configured without the need for a recompilation. 1.0 build 23 (Compatible with Server since 3.4.4) Included in Lightstreamer distribution. ---------------------------------- SDK for Java SE Client Development ---------------------------------- 2.2.2 build 1054.3 (compatible with Server since 3.3.1) Released on 11 Feb 2008 Fixed bugs about the notifications to the ConnectionListener ("lsclient" interface). Failure of an internal rebind now causes onFailure instead of onDataError. The documented notification sequence pattern also contained a mistake. Added a check for an empty array passed to unsubscribeTables in "lsclient" interface. This prevents an error issued by the Server. Changed the format of the included build.number file. 2.2.2 build 1054 (compatible with Server since 3.3.1) Released on 3 Sep 2007 2.2.2 build 1052 (compatible with Server since 3.3.1) Fixed a bug on the bandwidth estimate feature of the "lsproxy" interface. 2.2.2 build 1051 (compatible with Server since 3.3.1) Fixed some bugs which prevented the correct working of the library when used by an applet. 2.2.2 build 1050 (compatible with Server since 3.3.1) Added a check that makes a trailing "/" in the "pushServerUrl" and "pushServerControlUrl" connection properties be managed. 2.2.2 build 1049 (compatible with Server since 3.3.1) Changed the default for the suggested response Content-Length for the streaming connections. Now, the size is no longer left as the server default, but it is set to a very long value (50000000). 2.2.2 build 1044 (compatible with Server since 3.3.1) Added a check to transparently split a batch of control requests if it would exceed the limit for the length of a request HTTP body configured for the Server. Server version 3.4.4 or greater is needed for this functionality to be enabled. 2.2.2 build 1045 (compatible with Server since 3.3.1) Restored the documentation, which, on the previous build, was corrupted. 2.2.2 build 1044 (compatible with Server since 3.3.1) Removed an outdated note on the SimpleTableInfo constructor documentation. 2.2.2 build 1038 (compatible with Server since 3.3.1) Fixed bugs on the ConnectionInfo and ConnectionConstraints equality tests that could unnecessarily restrict the conditions for object equality. 2.2.2 build 1037 (compatible with Server since 3.3.1) Revised and documented the default client settings. 2.2.2 build 1036 (compatible with Server since 3.3.1) Filtered some "Wrong window number" error notifications that in no way could signal an abnormal condition. 2.2.2 build 1035 (compatible with Server since 3.3.1) Added the support for sending messages from the client to the Server. The message is managed by the Metadata Adapter associated to the Session currently owned by the client. The support is available only in the "lsclient" interface, not the "lsproxy" interface. 2.2.1 build 1034 (compatible with Server since 3.2 b3) Revised the javadocs and error messages, to take into consideration the new editions (Allegro, Presto and Vivace). 2.2.1 build 1033 (compatible with Server since 3.2 b3) Added the support for "asynchronous polling". Also, a new "ConnectionInfo.isPolling" flag has been introduced and must be explicitly set in order to request polling behaviour. The "ConnectionInfo.pollingMillis" flag can now be set to zero also in case of polling behaviour. 2.2 build 1030 (compatible with Server since 3.1) Added version numbering and inserted into Lightstreamer main distribution package, in the "sdk_for_j2se-clients" directory under the installation home directory. Improved the compliance of the connection management with Sun's HTTP 1.1 client implementation. ---------------------------------- SDK for Java ME Client Development ---------------------------------- 2.0.2 build 101.10 (Compatible with Server since 3.3.1) Released on 6 Mar 2008 Ensured that any operation on the connection state (e.g. disconnections and new connections) can be performed while handling any event, without conflicts. 2.0.2 build 101.8 (compatible with Server since 3.3.1) Released on 11 Feb 2008 Added the setRetryTimeout method on the ConnectionPolicy class. This helps avoid connection attempt loops. Allowed the modification of the "isMidp2" flag on the LSClient class, but just for testing purpose. Improved the performances of the library. Fixed a bug which caused the setKeepAliveInterval method of the ConnectionPolicy class to be ineffective. 2.0.1 build 101.3 (compatible with Server since 3.3.1) Released on 4 Jan 2008 Revised the reconnection attempt loop after an unsuccessful connection attempt. A protection timeout after each connection failure has been added. Fixed a bug which prevented the interruption of the attempt loop upon a subsequent closeConnection. 2.0.1 build 101.2 (compatible with Server since 3.3.1) Fixed a bug which prevented the notifications for lost events from being correctly forwarded to client code. Fixed a bug which prevented error responses upon stream or control requests from being correctly notified to client code. Extended the SimpleTableListener and ExtendedTableListener interfaces with the onControlError method. Changed the format of the included build.number file. 2.0 build 101 (compatible with Server since 3.3.1) Released on 3 Sep 2007 2.0 build 100 (compatible with Server since 3.3.1) Changed the default for the suggested response Content-Length for the streaming connections. Now, the size is no longer left as the server default, but is set to 1000000. Added the setContentLength method to the ConnectionInfo interface in order to customize the Content-Length. Added a check to transparently split a batch of control requests if it would exceed the limit for the length of a request HTTP body configured for the Server. Server version 3.4.4 or greater is needed for this functionality to be enabled. Changed the package name of the supplied example source code. 2.0 build 88 (compatible with Server since 3.3.1) Included in Lightstreamer distribution. ------------------------------- SDK for .NET Client Development ------------------------------- 1.0.2958.28575 (compatible with Server since 3.3.1) Released on 11 Feb 2008 Fixed bugs about the notifications to the ConnectionListener. Failure caused by problems during a rebind is now properly notified. The documented notification sequence pattern also contained a mistake. Added a check for an empty array passed to UnsubscribeTables. This prevents an error issued by the Server. Fixed a bug, which caused the default Adapter name to be "STOCKLISTDEMO" instead of null (which means the Server default). Fixed an issue in the API documentation, which suppressed all notifications about exceptions that can be thrown by API calls. Changed the default connection URL in the included demo. 1.0.2837.23804 (compatible with Server since 3.3.1) Released on 9 Oct 2007 1.0.2749.29308 (compatible with Server since 3.3.1) Added a check that makes a trailing "/" in the "pushServerUrl" and "pushServerControlUrl" connection properties be managed. 1.0.2747.29135 (compatible with Server since 3.3.1) Added a version of the library identified with a "strong name". This, among other benefits, makes it possible to register the DLL in the Global Access Cache. See the SDK README.TXT for details. 1.0.2739.27446 (compatible with Server since 3.3.1) Changed the default for the suggested response Content-Length for the streaming connections. Now, the size is no longer left as the server default, but is set to a very long value (50000000). 1.0.2735.20708 (compatible with Server since 3.3.1) Fixed a bug which might cause undesired delays while reading the updates from the socket stream. The delays only consisted in an unnecessary wait for the next packet; therefore, such delays were small and could be significant only with a low overall update rate, though still limited by the keepalive rate. 1.0.2721.23222 (compatible with Server since 3.3.1) Added a check to transparently split a batch of control requests if it would exceed the limit for the length of a request HTTP body configured for the Server. Server version 3.4.4 or greater is needed for this functionality to be enabled. Extended the PushConnException to include the origin exception. This may help diagnostics and recovery actions in the calling code. 1.0.2692.31072 (compatible with Server since 3.3.1) Temporarily disabled the reuse of HTTP connections in the .NET 2.0 library, as a workaround for a known limitation in .NET 2.0 HTTP implementation, which issues a connection error when an underlying attempt to reuse a kept-alive connection fails. 1.0.2657.23049 (compatible with Server since 3.3.1) Removed an outdated note on the SimpleTableInfo constructor documentation. 1.0.2547.16940 (compatible with Server since 3.3.1) Fixed a bug in the example StockListDemo client. Until now, the client did not consider the host and port command line parameters. 1.0.2453.20102 (compatible with Server since 3.3.1) ---------------------------------- SDK for Generic Client Development ---------------------------------- 3.4.8 build 1398 (compatible with Server since 3.4.6) Released on 6 Mar 2008 3.4.7 build 1395 (compatible with Server since 3.4.6) Released on 11 Feb 2008 Added an error case for attempts to rebind to a session that was created from an HTML client (previously, it was a SYNC ERROR case). Added an error case for control connections which fail because of some unexpected precondition (e.g. a delete of a nonexistent subscription). Previously, this kind of error gave rise to a generic error page and could stop the evaluation of an aggregated control request. 3.4.6 build 1393 (compatible with Server since 3.4.6) Released on 4 Jan 2008 3.4.6 build 1391 (compatible with Server since 3.4.6) Released on 6 Dec 2007 Fixed an error in the protocol documentation, in paragraph 4.6.3 The keyword for the "overflow" message, reported as "O", is actually "OV". Fixed an out-of-date reference in the protocol documentation, in paragraph 2.1.3 Removed spurious lines in the protocol documentation, in paragraph 4.1 3.4.6 build 1389 (compatible with Server since 3.4.6) Released on 22 Nov 2007 3.4.6 build 1385 (compatible with Server since 3.4.6) Released on 15 Nov 2007 Introduced the notification, upon session start, of the name of the server socket which handles a session request (the name is the one assigned through the or configuration element). 3.4.5 build 1376 (compatible with Server since 3.4) Fixed an error in the protocol documentation. The LS_requested_buffer_size, LS_requested_max_frequency and LS_snapshot parameter names for the "Multiple Window Mode" (paragraph 4.3.2) should be followed by a window counter. The related examples were also wrong. 3.4.4 build 1362 (compatible with Server since 3.4) Created a dedicated directory within Lightstreamer distribution (previously the documentation was at DOCs/SDKs root level). --------------------------------- SDK for JMX Extension Development --------------------------------- 3.4.8 build 1398 (compatible with Server since 3.4) Released on 6 Mar 2008 3.4.7 build 1395 (compatible with Server since 3.4) Released on 11 Feb 2008 3.4.6 build 1393 (compatible with Server since 3.4) Released on 4 Jan 2008 3.4.6 build 1391 (compatible with Server since 3.4) Released on 6 Dec 2007 Improved the supplied documentation. 3.4.6 build 1389 (compatible with Server since 3.4) Released on 22 Nov 2007 3.4.6 build 1385 (compatible with Server since 3.4) Released on 15 Nov 2007 3.4.5 build 1373 (compatible with Server since 3.4) Added suitable documentation for the monitoring statistics which the Server makes available to external clients. 3.4.4 build 1366 (compatible with Server since 3.4) Revised the getDelayMillis method of the Load MBean. Revised the documentation of the getQueueStageHTTPAccept and getQueueStageHTTPSAccept methods of the Load MBean, which was not correct since version 3.4. 3.4 build 1298 (compatible with Server since 3.4) Changed the meaning of the getQueueStageHTTPAccept and getQueueStageHTTPSAccept methods of the Load MBean, as now only one thread pool is used for all socket management. 3.2 build 1240 (compatible with Server since 3.1)