# Change Log All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). ## Next release ## [0.7.0] - 2017-08-31 ### Added * Plugin option to dump the generated Java to the console or a file. * Partial support for inner classes. Antiquoted variables and quasiquotation results can refer to inner classes now. ### Changed * Use a compiler plugin to build the bytecode table and to generate Java code. We no longer need static pointers to find the bytecode at runtime, and we can check at build-time that values are marshaled between matching types in Java and Haskell when using antiquated variables or the result of quasiquotations. Also, now java quasiquotes work inside Template Haskell brackets ([| ... |]). * Use only the lexer in `language-java`. This defers most parsing errors to the `javac` compiler which produces better error messages and might support newer syntactic constructs like anonymous functions. * Java checked exceptions are now allowed in java quasiquotes. ### Fixed * Gradle hooks now produce a correct build-time classpath. ## [0.6.5] - 2017-04-13 ## Added * Exposed loadJavaWrappers. ## [0.6.4] - 2017-04-09 ### Fixed * Fixed handling of repeated antiquotation variables, which in some cases was causing a compilation error. ## [0.6.3] - 2017-03-12 ### Fixed * Setting the `CLASSPATH` using Gradle is now fully supported. It was previously unusable due to a bug (see #42). ## [0.6.2] - 2017-02-21 * Avoid producing warnings about unused inlinejava_bytecode0 bindings. * Support type synonyms in variable antiquotation. * Update lower bounds of jni to 0.3 and jvm to 0.2. ## [0.6.1] - 2016-12-27 * Support passing array objects as arguments / return values. * More robust mangling of inline class name. ## [0.6.0] - 2016-12-13 ### Added * Can set a custom `CLASSPATH` in `Setup.hs` from Gradle build configurations to use when compiling inline expressions. * GHC 8 compatibility * Support inline expressions that compile to multiple .class files (e.g for anonymous classes and anonymous function literals). ### Changed * The return type of inline expressions no longer needs `Reify`/`Reflect` instances. ### Fixed * Fix antiquotation: in [java| $obj.foo() |], `obj` is now recognized as an antiquotation variable. * Passing multiple options to the JVM using `withJVM`. ## [0.5.0] - 2016-12-13 ### Added * First release with support for inline Java expressions. ### Changed * Split lower-level and mid-level bindings into separate packages: jni and jvm.