Skip to content

v0.9.0 Release

Choose a tag to compare

@CnlPepper CnlPepper released this 30 Jul 20:46
· 9 commits to master since this release
2487a86

Build changes:

  • The legacy setuptools build system has been replaced with meson-python.
    • The dev/build.sh and dev/clean.sh scripts have been updated to work with the new build system.
    • A meson.build generator script is provided to automate the discovery of pyx, pxd,py and data files. Please see dev/generate_meson_files.py.
    • When installed in editable mode, any modified pyx files will automatically trigger a rebuild when python attempts to import from the package. Please be aware that (as with the previous build system) changes to pxd files will require a clean rebuild of the project.
    • A dev/install_editable.sh script is provided to simplify the installation of the package in editable mode with verbose build output enabled.
    • Meson-python performs the build out of the project folder, so the project source folders will no longer be polluted with build artefacts.
    • Cython build annotations are now always enabled, the annotation files can be found in the build folder under the build artefacts folder associated with each so file (*.so.p folder).
  • The codebase has been migrated to Cython 3.
    • This migration was made possible due to the contributions of Koyo Munechika (@munechika-koyo).

Python support:

  • Raysect now requires Python v3.9 and above.
    • From version v0.9.0 Raysect is dropping support for Python versions older than v3.9.
    • Users of older versions of Python should remain using Raysect v0.8.1 and plan for a migration to v0.9.0+.

API changes:

  • Corrected spelling of all classes, methods and functions where "targeted" was incorrectly spelt "targetted".

New:

  • Added a torus primitive (contribute by Koyo Munechika).

Known issues:

  • Compiling raysect current produces a large number of Cython deprecation warnings. These will be resolved in a future release.