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.h
header. Fully working C examples have been added for each routine inbezier/curve.h
and 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
.pxd
Declarations” 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.html
to/python/binary-extension.html
/pxd/...
to/python/pxd/...
.
Moving all algorithm specific documentation under a specific URL path (6e9c825). In particular, moving
/algorithm-helpers.html
to/algorithms/helpers.html
/curve-curve-intersection.html
to/algorithms/curve-curve-intersection.html
ABI Changes
New Features
Added
surface.h::compute_area
helper 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.length
property,Surface.area
property andSurface.is_valid
property (34d48d6).
Build
Renaming
libbezier.dll
shared library tobezier.dll
on 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=native
for 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
black
code 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=True
environment variable when running unit tests and other related tests (d84dffb).