Skip to content

Full Moon (Beta) (v0.9.0)

Compare
Choose a tag to compare
@Clemapfel Clemapfel released this 29 Apr 20:44
· 130 commits to master since this release
05a827c

It is here! In the works for many weeks, jluna 0.9 arrives, bringing with it major restructuring of the entire library, along with multi-threading support. This release will be upgraded to 1.0 in winter 2022, unless something else comes up. No new features are planned to be added until then, making jluna finally feature complete.

The entire manual was rewritten from scratch, in a tone that is more suited for novice users less familiar with C++ or Julia. Furthermore, the need box / unbox was reduced, now only being necessary in performance critical environments. It is recommended that you reread the manual, especially the new sections on multi-threading and benchmarks

The following features were added:

  • unsafe library
  • multi-threading & thread-safety
  • as_julia_function
  • benchmark interpretation in the manual
  • cmake tests

This release removed deprecation warnings, potentially making old syntax invalid. In particular, the following things were renamed:

  • All functions jluna::State are no in jluna::
  • register_function was removed and replaced with as_julia_function, see the manual for more detail
  • all functions in julia_extension.hpp were removed

The following headers were removed:

  • expression.hpp
  • function.hpp
  • julia_extension.hpp
  • state.hpp

The following headers were added:

  • multi_threading.hpp
  • safe_utilities.hpp
  • unsafe_utilities.hpp

If porting your application from 0.8.4 to 0.9.0 gives you difficulties, feel free to open an issue. No actual functionality was removed, it was either renamed or moved to a different part of jluna that was better suited for it.

Windows support may have been borked with this release, I will try to get an environment to test this asap. Until then, simply use clang on windows, rather than MSVC.

Thank you,
C.