2020.2.3
ABI Changes
Packaging
Introduced first-class build and install support for
libbezier
via CMake. Achieved with the following PRsAdded
CMakeLists.txt
files to enable buildinglibbezier
with CMake (#175).Added
-DTARGET_NATIVE_ARCH:BOOL=OFF
flag 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.
libbezier
and_speedup.so
, are already built and utilize caching of CMake.)Use build system other than Python /
distutils
/setuptools
(#62).Add ability to disable
-march=native
flag to make release builds portable across compatible operating systems (#181).
Python Changes
Additive Changes
Packaging
Removed build dependency on
gfortran
and other heavyweight tools (and hacks) such asnumpy.distutils
. Now,libbezier
must be built before the Python package can be installed and the install location must be provided via theBEZIER_INSTALL_PREFIX
environment variable. Achieved with the following PRsSwitch from
manylinux1
tomanylinux2010
for built wheels (#178).Delaying imports of
pkg_resources
,scipy
andsympy
until actually needed (if ever) (#194, #195, 38602d8).Adding
matplotlib
topip install bezier[full]
(8beb036).Avoiding
bezier.dll
name 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.../latest
documentation (i.e. the last merged commit).Making sure CMake installed trees (on Linux, macOS and Windows) are verified in
doctest
as part of CI (48e4166).Making sure
example_*.c
ABI examples are compiled and run (on Linux and macOS) indoctest
as 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.