Skip to content

Commit

Permalink
Preparing for 0.6.2 release.
Browse files Browse the repository at this point in the history
- Updating `__version__` to `0.6.2` in three places
- Updating `docs/release/latest.rst` and moving old content to
  `0.6.1.rst`
- Updating the `docs/native-libraries.rst.template` after changes
  in previous commit (see failure [1])

[1]: https://circleci.com/gh/dhermes/bezier/1164
  • Loading branch information
dhermes committed Jan 23, 2018
1 parent cea0c8b commit fd0b268
Show file tree
Hide file tree
Showing 7 changed files with 117 additions and 77 deletions.
2 changes: 1 addition & 1 deletion codemeta.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@
"keywords": "Geometry, Curve, B\u00e9zier, Intersection, Python",
"license": "Apache 2.0",
"title": "B\u00e9zier",
"version": "0.6.1"
"version": "0.6.2"
}
24 changes: 12 additions & 12 deletions docs/native-libraries.rst.template
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ Native Libraries

.. note::

This content was last updated October 23, 2017 (shortly after the
``0.5.0`` release). Much of the content is tested automatically to keep
This content was last updated January 23, 2018 (as part of the
``0.6.2`` release). Much of the content is tested automatically to keep
from getting stale, but some of the console code blocks are not. As a
result, this material may be out of date. If anything does not seem
correct --- or even if the explanation is insufficient --- please
Expand Down Expand Up @@ -256,13 +256,13 @@ with a version of ``libgfortran`` that is used by ``libbezier``, e.g.
$ ls -1
libgfortran-ed201abd.so.3.0.0*

For example, the ``_curve_speedup`` module depends on this local copy:
The ``bezier._speedup`` module depends on this local copy:

.. code-block:: console

$ readelf -d _curve_speedup.cpython-36m-x86_64-linux-gnu.so
$ readelf -d _speedup.cpython-36m-x86_64-linux-gnu.so

Dynamic section at offset 0x10d000 contains 27 entries:
Dynamic section at offset 0x2f9000 contains 27 entries:
Tag Type Name/Value
0x000000000000000f (RPATH) Library rpath: [$ORIGIN/.libs]
0x0000000000000001 (NEEDED) Shared library: [libgfortran-ed201abd.so.3.0.0]
Expand Down Expand Up @@ -294,7 +294,7 @@ with copies of ``libgfortran``, ``libquadmath`` and ``libgcc_s``:
libgfortran.4.dylib
libquadmath.0.dylib

For example, the ``_curve_speedup`` module depends on the local copy
The ``bezier._speedup`` module depends on the local copy
of ``libgfortran``:

.. testsetup:: os-x-extension, os-x-delocated-libgfortran
Expand Down Expand Up @@ -323,9 +323,9 @@ of ``libgfortran``:
:mac-os-x-only:
:pyversion: >= 3.6

>>> invoke_shell('otool', '-L', '_curve_speedup.cpython-36m-darwin.so')
$ otool -L _curve_speedup.cpython-36m-darwin.so
_curve_speedup.cpython-36m-darwin.so:
>>> invoke_shell('otool', '-L', '_speedup.cpython-36m-darwin.so')
$ otool -L _speedup.cpython-36m-darwin.so
_speedup.cpython-36m-darwin.so:
@loader_path/.dylibs/libgfortran.4.dylib (...)
/usr/lib/libSystem.B.dylib (...)

Expand Down Expand Up @@ -411,13 +411,13 @@ The Python extension modules (``.pyd`` files) depend directly on this library:
:windows-only:
:pyversion: >= 3.6

>>> invoke_shell('dumpbin', '/dependents', '_curve_speedup.cp36-win_amd64.pyd')
> dumpbin /dependents _curve_speedup.cp36-win_amd64.pyd
>>> invoke_shell('dumpbin', '/dependents', '_speedup.cp36-win_amd64.pyd')
> dumpbin /dependents _speedup.cp36-win_amd64.pyd
Microsoft (R) COFF/PE Dumper Version ...
Copyright (C) Microsoft Corporation. All rights reserved.
<BLANKLINE>
<BLANKLINE>
Dump of file _curve_speedup.cp36-win_amd64.pyd
Dump of file _speedup.cp36-win_amd64.pyd
<BLANKLINE>
File Type: DLL
<BLANKLINE>
Expand Down
76 changes: 76 additions & 0 deletions docs/releases/0.6.1.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
``0.6.1``
=========

|pypi| |docs|

Python Changes
--------------

Documentation
~~~~~~~~~~~~~

- Noting that ``Surface.intersect()`` can return a list of either
``CurvedPolygon`` or ``Surface`` instances
(`16e77d7 <https://github.com/dhermes/bezier/commit/16e77d74c526a216c0c2a74d4536cd1d9f93bcff>`__).

Breaking Changes
~~~~~~~~~~~~~~~~

- Removing ``IntersectionClassification`` enum from ``_status.pxd``
(`4da969e <https://github.com/dhermes/bezier/commit/4da969e65cec37ca5c0a56e956e7a1546be24236>`__).

Non-Public API
~~~~~~~~~~~~~~

- Adding getters and setters for parameters used during curve-curve
intersection
(`ef4ebc0 <https://github.com/dhermes/bezier/commit/ef4ebc0654d863610df982f218449b27bd135afc>`__):

- ``bezier._geometric_intersection.set_max_candidates()``
- ``bezier._geometric_intersection.get_max_candidates()``
- ``bezier._geometric_intersection.set_similar_ulps()``
- ``bezier._geometric_intersection.get_similar_ulps()``

ABI Changes
-----------

Surface Changes
~~~~~~~~~~~~~~~

- Switching from ``int`` to an actual enum for relevant functions with
output values that are enums:

- In ``surface_intersection.h::surface_intersections``, ``contained``
is now a ``SurfaceContained``
(`0a9c0c3 <https://github.com/dhermes/bezier/commit/0a9c0c3736e95deedeecb8d10284c92ebd39469d>`__)
and ``status`` is now a ``Status``
(`c356c32 <https://github.com/dhermes/bezier/commit/c356c32b33781b03785b8868f59efd6ad3076a51>`__)
- In ``curve_intersection.h::bbox_intersect``, ``enum_`` is now a
``BoxIntersectionType``
(`ef856af <https://github.com/dhermes/bezier/commit/ef856aff4e87ab0620d1ce28e7fdbd3395c8ec38>`__)
- In ``curve_intersection.h::curve_intersections``, ``status`` is now a
``Status``
(`ef856af <https://github.com/dhermes/bezier/commit/ef856aff4e87ab0620d1ce28e7fdbd3395c8ec38>`__)

- Adding getters and setters for parameters used during curve-curve
intersection
(`ef4ebc0 <https://github.com/dhermes/bezier/commit/ef4ebc0654d863610df982f218449b27bd135afc>`__):

- ``curve_intersection.h::set_max_candidates``
- ``curve_intersection.h::get_max_candidates``
- ``curve_intersection.h::set_similar_ulps``
- ``curve_intersection.h::get_similar_ulps``

Breaking Changes
~~~~~~~~~~~~~~~~

- Removing inputs ``curve_start / curve_end`` and outputs
``true_start / true_end`` in ``curve.h::specialize_curve``
(`959c547 <https://github.com/dhermes/bezier/commit/959c5473e97e80b1b4e4fd0109f7e79cf1dc36eb>`__)

.. |pypi| image:: https://img.shields.io/pypi/v/bezier/0.6.1.svg
:target: https://pypi.org/project/bezier/0.6.1/
:alt: PyPI link to release 0.6.1
.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=0.6.1
:target: https://bezier.readthedocs.io/en/0.6.1/
:alt: Documentation for release 0.6.1
1 change: 1 addition & 0 deletions docs/releases/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Releases
:maxdepth: 1

latest
0.6.1
0.6.0
0.5.0
0.4.0
Expand Down
87 changes: 25 additions & 62 deletions docs/releases/latest.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Latest Release (``0.6.1``)
Latest Release (``0.6.2``)
==========================

|pypi| |docs|
Expand All @@ -9,68 +9,31 @@ Python Changes
Documentation
~~~~~~~~~~~~~

- Noting that ``Surface.intersect()`` can return a list of either
``CurvedPolygon`` or ``Surface`` instances
(`16e77d7 <https://github.com/dhermes/bezier/commit/16e77d74c526a216c0c2a74d4536cd1d9f93bcff>`__).

Breaking Changes
~~~~~~~~~~~~~~~~

- Removing ``IntersectionClassification`` enum from ``_status.pxd``
(`4da969e <https://github.com/dhermes/bezier/commit/4da969e65cec37ca5c0a56e956e7a1546be24236>`__).
- Converted ``CHANGELOG.md`` file into a
`releases <http://bezier.readthedocs.io/en/0.6.2/releases/index.html>`__
docs page
(`0027cd7 <https://github.com/dhermes/bezier/commit/0027cd7b51433c6b3542f077b08c555ff287e10b>`__).

Non-Public API
~~~~~~~~~~~~~~

- Adding getters and setters for parameters used during curve-curve
intersection
(`ef4ebc0 <https://github.com/dhermes/bezier/commit/ef4ebc0654d863610df982f218449b27bd135afc>`__):

- ``bezier._geometric_intersection.set_max_candidates()``
- ``bezier._geometric_intersection.get_max_candidates()``
- ``bezier._geometric_intersection.set_similar_ulps()``
- ``bezier._geometric_intersection.get_similar_ulps()``

ABI Changes
-----------

Surface Changes
~~~~~~~~~~~~~~~

- Switching from ``int`` to an actual enum for relevant functions with
output values that are enums:

- In ``surface_intersection.h::surface_intersections``, ``contained``
is now a ``SurfaceContained``
(`0a9c0c3 <https://github.com/dhermes/bezier/commit/0a9c0c3736e95deedeecb8d10284c92ebd39469d>`__)
and ``status`` is now a ``Status``
(`c356c32 <https://github.com/dhermes/bezier/commit/c356c32b33781b03785b8868f59efd6ad3076a51>`__)
- In ``curve_intersection.h::bbox_intersect``, ``enum_`` is now a
``BoxIntersectionType``
(`ef856af <https://github.com/dhermes/bezier/commit/ef856aff4e87ab0620d1ce28e7fdbd3395c8ec38>`__)
- In ``curve_intersection.h::curve_intersections``, ``status`` is now a
``Status``
(`ef856af <https://github.com/dhermes/bezier/commit/ef856aff4e87ab0620d1ce28e7fdbd3395c8ec38>`__)

- Adding getters and setters for parameters used during curve-curve
intersection
(`ef4ebc0 <https://github.com/dhermes/bezier/commit/ef4ebc0654d863610df982f218449b27bd135afc>`__):

- ``curve_intersection.h::set_max_candidates``
- ``curve_intersection.h::get_max_candidates``
- ``curve_intersection.h::set_similar_ulps``
- ``curve_intersection.h::get_similar_ulps``

Breaking Changes
~~~~~~~~~~~~~~~~

- Removing inputs ``curve_start / curve_end`` and outputs
``true_start / true_end`` in ``curve.h::specialize_curve``
(`959c547 <https://github.com/dhermes/bezier/commit/959c5473e97e80b1b4e4fd0109f7e79cf1dc36eb>`__)

.. |pypi| image:: https://img.shields.io/pypi/v/bezier/0.6.1.svg
:target: https://pypi.org/project/bezier/0.6.1/
:alt: PyPI link to release 0.6.1
.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=0.6.1
:target: https://bezier.readthedocs.io/en/0.6.1/
:alt: Documentation for release 0.6.1
- Collapsed all Cython-generated modules into a single ``bezier._speedup``
module (`8bcb319 <https://github.com/dhermes/bezier/commit/8bcb319c6dcb9e523037d688028d8a38c6b2b630>`__).

- This is the change that **prompted the release**.
- Dropped the five ``bezier._HAS_*_SPEEDUP`` members for a single
``bezier._HAS_SPEEDUP`` (this was the previous approach
before ``0.6.0``).
- Renamed a few of the Cython helper functions to avoid name collision.
- This was done to fix a bug and prevent future bugs. The issue was that a
mutable Fortran global (``MAX_CANDIDATES``) was being included via an
object file in **separate** extension modules. When one module updated
the global, the other module never saw the update (because it was a
different copy).

.. |pypi| image:: https://img.shields.io/pypi/v/bezier/0.6.2.svg
:target: https://pypi.org/project/bezier/0.6.2/
:alt: PyPI link to release 0.6.2
.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=0.6.2
:target: https://bezier.readthedocs.io/en/0.6.2/
:alt: Documentation for release 0.6.2
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import setup_helpers_windows


VERSION = '0.6.2.dev1' # Also in ``codemeta.json`` and ``__init__.py``.
VERSION = '0.6.2' # Also in ``codemeta.json`` and ``__init__.py``.
AUTHOR = 'Danny Hermes' # Also in ``__init__.py``.
README_FILENAME = os.path.join(os.path.dirname(__file__), 'README.rst')
NUMPY_MESSAGE = """\
Expand Down
2 changes: 1 addition & 1 deletion src/bezier/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
# and related. This is **entirely** to accomodate builds where
# ``bezier`` is imported from source (and not installed).
__author__ = 'Danny Hermes'
__version__ = '0.6.2.dev1'
__version__ = '0.6.2'
"""str: The current version of :mod:`bezier`."""
__all__ = [
'__author__',
Expand Down

0 comments on commit fd0b268

Please sign in to comment.