Change History

This section lists the changes between Esper releases. The changes introduced in each release are split into the following categories.

  • API changes: Any changes to the API that may impact existing users.
  • Major changes: Major new features.
  • Minor changes: Smaller changes and bug fixes.

Version 1.0.5 (update)

Released August 22, 2006

API changes

  • Added methods to net.esper.client.Configuration and EPRuntime to configure and process XML DOM and Map events

Major changes

  • Added support for the "first" keyword in output rate limiting for outputting only the first matching event for an interval
  • Added support for XML events represented by a document object model (DOM) instances of org.w3c.dom.Node
  • Added support for Map events represented by a java.util.Map including object values

Minor changes

  • New AutoId RFID example for XML event processing, includes simulator for running from the command line
  • New chapter on Event Representations

Version 1.0.0 (final production)

Released July 24, 2006

API changes

  • Added method on Configuration to add auto-import

Major changes

  • Added support for invoking Java library static methods, invoking user-defined static methods, and defining an auto-import list
  • Sort view ext:sort now also allowing multiple columns to sort on
  • Added NOT, modulo (%) and SQL string concatention operator (||)

Minor changes

  • New example 'Market Feed Monitor' which showcases rate calculation and fall-off detection. With a simulator to run from a command line.
  • Build scripts now build Linux tarball; Shell scripts for compiling and running examples reworked.

Version 0.9.5 (Beta enhancements release)

Released July 3, 2006

API changes

  • None

Major changes

  • Support for "insert into" clause allowing chains of EQL statements and merging of event streams
  • Capability added to sort output using an "order-by" clause
  • Support for bit-wise AND (&), OR (|) and XOR(^) operators

Minor changes

  • Bug fix for allowing boolean expression in select clauses, such as "select a and b from MyEvent..."

Version 0.9.1 (Beta bug fix release)

Released June 10, 2006

API changes

  • None

Major changes

  • None

Minor changes

  • New EQL example 'Transaction 3-event challenge' which shows EQL in use for detecting missing events and computing latency totals overall and grouped. Added scripts for compiling and executing the example.
  • Bug fix in EQL for statements that contain only aggregation functions in the select clause such as "select sum(volume) from StockTick". The engine was incorrectly posting an event per event posted by the stream's window, rather then a single aggregate event.
  • Bug fix in EQL group-statements by without output rate limiting. This problem occured using a group-by clause without output rate limit and resulted in multiple events posted that include prior groups for each event posted by the window.

Version 0.9.0 (Beta Release)

Released June 4, 2006

API changes

  • None

Major changes

  • Support for output rate limiting based on number of events and time-based, and choice of last or all events
  • Support for outer joins for an unlimited number of event streams (was limited to 2 streams)
  • Renamed view "std:last" to "std:lastevent"

Minor changes

  • New example computing RSI (a financial indicator) using a simple pattern listener
  • New reserved keywords: last, events, output, seconds, minutes

Version 0.8.5 (Beta Release)

Released April 22, 2006

API changes

  • None

Major changes

  • Group-by view has been renamed from "std:group" to "std:groupby" since group is a reserved keyword
  • Support for the "group by" and "having" clauses
  • Support for aggregation functions: max, min, sum, avg, count, median, stddev, avedev; including distinct and count(*)

Minor changes

  • The univariate statistics view "stat:uni" changed the name of derived event properties to "stddev" and "stddevpa" from formerly "stdev" and "stdevpa" to stay consistent with the aggregate functions of the same name

Version 0.8.0 (Beta Release)

Released March. 24, 2006.

API changes

  • Renamed method on Configuration for configuring event type alias

Major changes

  • Support for event inheritance and interface implementation, polymorphism, superclasses
  • Support for simple, mapped, indexed, nested and combinations of event properties
  • Refined exception texts to better indicate problem reasons

Minor changes

  • Documentation enhancements
  • Configuration XML file schema changes: renamed 'event' tag to 'event-type' and replaced 'name' with 'alias'

Version 0.7.5 (Alpha Release)

Released Feb. 21, 2006.

API changes

  • Added optional Configuration parameter to EPServiceProviderManager to control engine configuration

Major changes

  • EQL supports outer joins: left, right and full join on 2 streams
  • EQL supports IS NULL, = NULL, IS NOT NULL, and !=
  • EQL allows new built-in function MAX(a, b,...) and MIN(a, b,...)
  • Event Pattern use of results in filters, such as "every a=EventX -> every b=EventY(objectID=a.objectID)"
  • EQL and Event Pattern: Removed requirement that event names have () postfix, e.g. 'every a=X' is now equivalent to 'every a=X()'

Minor changes

  • Event Patterns - improved removal of permanently false patterns (e.g. B arrives in 'A and not B')
  • Documentation enhancements
  • Added ATM sample to show simple join

Version 0.7.0 (Alpha Release)

Released Jan. 16, 2006.

API changes

  • None

Major changes

  • None

Minor changes

  • None