2020.2.3
ABI Changes
Packaging
Introduced first-class build and install support for
libbeziervia CMake. Achieved with the following PRsAdded
CMakeLists.txtfiles to enable buildinglibbezierwith CMake (#175).Added
-DTARGET_NATIVE_ARCH:BOOL=OFFflag to enable portable release builds (#182).
and closed the following issues
Use a shared library (rather than a static library) for
libbezier(#54).Enable Python installs to be “hybrid-editable” (#56). (This means that the Python files reference the source tree but the built components, i.e.
libbezierand_speedup.so, are already built and utilize caching of CMake.)Use build system other than Python /
distutils/setuptools(#62).Add ability to disable
-march=nativeflag to make release builds portable across compatible operating systems (#181).
Python Changes
Additive Changes
Packaging
Removed build dependency on
gfortranand other heavyweight tools (and hacks) such asnumpy.distutils. Now,libbeziermust be built before the Python package can be installed and the install location must be provided via theBEZIER_INSTALL_PREFIXenvironment variable. Achieved with the following PRsSwitch from
manylinux1tomanylinux2010for built wheels (#178).Delaying imports of
pkg_resources,scipyandsympyuntil actually needed (if ever) (#194, #195, 38602d8).Adding
matplotlibtopip install bezier[full](8beb036).Avoiding
bezier.dllname collision on Windows in wheels distributed on PyPI (#190). Fixed #189.
Breaking Changes
Removed
bezier.get_dll()helper (#184).
Documentation
Changed “Read the Docs” landing page to point to
.../stable/documentation (i.e. the last published release) instead of.../latestdocumentation (i.e. the last merged commit).Making sure CMake installed trees (on Linux, macOS and Windows) are verified in
doctestas part of CI (48e4166).Making sure
example_*.cABI examples are compiled and run (on Linux and macOS) indoctestas part of CI (ffdcdf7, 9551495, 0766649).Converting (untested, potentially stale) console codeblocks to
doctest(that get run in CI) for Linux sections of binary extension documentation (#188). Fixed #74.