0.9.0
Documentation
Documenting the C ABI
libbezier(4608364). Fixed #63. This documentation contains a page for each “module” which corresponds to the underlying Fortran module. Each module documents the routines in the corresponding header file, e.g. the surface document corresponds to thebezier/surface.hheader. Fully working C examples have been added for each routine inbezier/curve.hand for the enum inbezier/status.h.Adding section about environment variables to development document (5186e24). Fixed #78.
Remove dependency on
rawgit.com(04d0f8d). The website is being turned down. Fixed #130.Renaming the “Native Libraries” document as “Binary Extension” (f99db20). In the process, changed most references to the “native” Python extension to instead call it a “binary” extension.
Added a “Cython
.pxdDeclarations” document (f99db20). Fixed #122.Moving all Python specific documentation under a specific URL path (3db483b). In particular, moving
/reference/...to/python/reference/.../python-binary-extension.htmlto/python/binary-extension.html/pxd/...to/python/pxd/....
Moving all algorithm specific documentation under a specific URL path (6e9c825). In particular, moving
/algorithm-helpers.htmlto/algorithms/helpers.html/curve-curve-intersection.htmlto/algorithms/curve-curve-intersection.html
ABI Changes
New Features
Added
surface.h::compute_areahelper that can be used to compute the area of both a surface and a curved polygon (d4d7249).
Breaking Changes
Python Changes
New Features
Non-Public API
Removing getters and setters for parameters used during curve-curve intersection (2fda3ae):
bezier._geometric_intersection.set_max_candidates()bezier._geometric_intersection.get_max_candidates()
Removing cached values for
Curve.lengthproperty,Surface.areaproperty andSurface.is_validproperty (34d48d6).
Build
Renaming
libbezier.dllshared library tobezier.dllon Windows (d17a9bc). This follows the correct convention on Windows.Adding Python 3.7 support and making it the default version used for testing (e368e9f).
Dropping support for Python 3.5 (f99db20).
Adding back
-march=nativefor non-wheel builds (1566019). This way, when installing from source (either via a local checkout or from the source distribution on PyPI) the most optimal machine instructions will be produced. Fixed #99.Removing all traces of 32-bit support for macOS (d7620ad). This was driven by a decision from the NumPy maintainers.
Miscellany
Adopted
blackcode formatter (f21b52d).Adding project URLs and keywords for PyPI (cfb070d).
Added 20 new surface-surface functional tests (9fd9c1e). See #121 for more information.
Removed time and memory benchmarks due to flakiness and lack of an environment that could be used for benchmarking (6a30dc2). See #125 to follow discussion on re-enabling such benchmarks.
Using
DEBUG=Trueenvironment variable when running unit tests and other related tests (d84dffb).