Skip to main content

Announcing Chicory 1.0.0-M2: Second Milestone Release

· 2 min read
Andrea Peruffo
Principal Software Engineer @ Red Hat
David Phillips
CTO @ Starburst Data

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!