jmespath-0.2.0
This release contains optimizations (see #22), the removal of ANTLR as a dependency (see #25) and a change in the compiler so that we check function arity at compile time (see #27).
The optimizations (see #22) are not huge in themselves, but made it possible to make the in-progress JRuby implementation around five times faster by avoiding string allocations. Adapter#getProperty(T,String)
has also been deprecated as a consequence, and will be removed in version 0.3.0.
The big thing in this release is that we no longer depend on the ANTLR runtime artifact. We still use ANTLR, but we move the runtime into a private package and bundle it in the jmespath-core
artifact. This means that you don't have to worry about ANTLR version conflicts when adding jmespath-java
as a dependency to a large project.
Finally we've made the compiler check function arity at compile time. We believe that errors should be caught as early as possible. In the future we might add more compile time checks to avoid basic argument type errors too, and we will perhaps even make runtime errors optional (see #23).