v0.9.0 Release
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.