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)