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
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).