Announcing Chicory 1.0.0-M2: Second Milestone Release
We are working hard on smoothing the edges of Chicory and integrating feedback from the usage of the first Milestone release. To keep the ball rolling and give people early access to the changes we are making we are announcing a second Milestone.
Despite the little time from the previous version there are a bunch of relevant changes.
API breaking changes
The name of com.dylibso.chicory.wasm.Module
was clashing with the automatic import of java.lang.Module
, making it inconvenient in some situations, and we renamed it to com.dylibso.chicory.wasm.WasmModule
.
Features
To maximize compatibility with the spec, we implemented the Tail-Call Optimization Proposal in the interpreter.
We bootstrapped the implementation of the missing SIMD opcodes in a layered way, we are keeping compatibility with Java 11 when they are not necessary, and we started encoding those with the upcoming Vector API. There is a lot of work that can be easily parallelized here, come and join the effort if this sounds like an exciting challenge to you!
AOT improvements
We finished making modules compiled at build time with the aot-maven-plugin-experimental
completely self-contained! You can now emit a binary that runs pure Java Bytecode and only depends on the Chicory runtime library: the original WASM file is not needed. The WasmModule
is now provided by the compiled code. Additionally, we changed the Maven configuration so that you now specify the class name prefix rather than the Machine
class name. See the documentation for Pre-compiled AOT for more details.
Documentation
A number of improvements happened in the documentation site, making the project more accessible to newcomers. We are happy to hear feedback and integrate improvements when you find gaps!
Conclusion
Chicory is quickly stabilizing, and we have also to thank all of our wonderful contributors: without you we would not be where we are today!
Check out Chicory 1.0.0-M2 and we are looking forward to hear from you!