Esper 8 introduces a new architecture in that it now offers an EPL compiler that produces byte code and a runtime environment for deploying EPL byte code. This is in contrast to the Esper 7 and earlier architecture which was a monolithic interpreter architecture. Directly and indirectly related to the new compiler+runtime design are many improvements and changes to the APIs and features that Esper 8 has. The EPL language however has not seen any changes. Thus migrating applications face API changes only. The EPL behaves the same between Esper 7 and Esper 8.

There are many significant advantages of the new architecture. Read Esper-8 Compiler and Runtime to understand how Esper 8 is better.

There is a post about Esper-8 Conceptual Differences to Older Versions that overviews the concepts in Esper that are impacted the most. Read this to gain background information on the changes.

There are many changes to configuration and since most applications have some configuration there is a document on Esper-8 Migrating Configuration From Older Versions for help migrating to the new layout. There is an online application for converting XML configuration documents into the new schema at http://esper-config-upgrade7to8.appspot.com

We have put step-by-step help into Esper-8 Migrating Step-By-Step For Existing Applications  for developers that want to move to Esper 8.

The changes to Esper public APIs are significant. To help you we have documented them in detail in Esper-8 Migrating API Uses From Older Versions.

There are no EPL changes between Esper 7 and Esper 8. We have still documented the things to look out for in Esper-8 Migrating EPL from Older Versions due to the compiler design and API changes.

There are a few functionalities that didn't make sense anymore with the new compiler and runtime architecture and that were superseded. See Esper-8 Migrating What is Deprecated .