Releases: shapely/shapely
2.0.4
Wheels for Python versions >= 3.9 will be compatible with the upcoming NumPy 2.0 release (as well as with supported NumPy 1.x versions).
Bug fixes:
- Fix bug in
to_wkt
with multiple empty Z geometries (#2012). - Fix bug in
to_ragged_array
for an array of Points with missing values (#2034).
For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-4
2.0.3
Bug fixes:
- Fix regression in the
oriented_envelope
ufunc to accept array-like input in case of GEOS<3.12 (#1929).
Packaging related:
- The binary wheels are not yet compatible with a future NumPy 2.0 release, therefore a
numpy<2
upper pin was added to the requirements (#1972). - Upgraded the GEOS version in the binary wheel distributions to 3.11.3.
For a full changelog , see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-3
2.0.2
Bug fixes:
- Fix regression in the (in)equality comparison (
geom1 == geom2
) using__eq__
to
not ignore the z-coordinates (#1732). - Fix
MultiPolygon()
constructor to accept polygons without holes (#1850). - Fix
minimum_rotated_rectangle
(oriented_envelope
) to always return
the minimum area solution (instead of minimum width). In practice, it will use the
GEOS implementation only for GEOS 3.12+, and for older GEOS versions fall back to the
implementation that was included in Shapely < 2 (#1670). - Fix
from_ragged_array
to work with read-only array input (#1744). - Fix the handling of z coordinates
shapely.ops.substring
(#1699).
Wheels are available for Python 3.12 (and still include GEOS 3.11.2). Building
from source is now compatible with Cython 3.
For a full changelog , see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-2
2.0.1
Bug fixes:
- Fix regression in the
Polygon()
constructor taking a sequence of Points (#1662). - Fix regression in the geometry constructors when passing
decimal.Decimal
coordinate values (#1707). - Fix
STRtree()
to not make the passed geometry array immutable as side-effect of the constructor (#1714). - Fix the
directed
keyword inshapely.ops.linemerge()
(#1695).
Improvements:
- Expose the function to get a matplotlib Patch object from a (Multi)Polygon (without already plotting it) publicly as :func:
shapely.plotting.patch_from_polygon
(#1704).
For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-1
2.0.0
Shapely version 2.0.0 is a major release featuring a complete refactor of the internals and new vectorized (element-wise) array operations providing considerable performance improvements.
For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-0
Relevant changes in behaviour compared to 2.0rc3:
- Added temporary support for unpickling shapely<2.0 geometries.
2.0rc3
Version 2.0 rc 3
2.0rc2
Version 2.0 rc 2
2.0rc1
Relevant changes in behaviour compared to 2.0b2:
- The
Point(..)
constructor no longer accepts a sequence of coordinates consisting of more than one coordinate pair (previously, subsequent coordinates were ignored) (#1600). - Fix performance regression in the
LineString()
constructor when passing a numpy array of coordinates (#1602).
Wheels for 2.0rc1 published on PyPI include GEOS 3.11.1.
2.0b2
Relevant changes in behaviour compared to 2.0b1:
- Fix for compatibility with PyPy (#1577).
- Fix to the
Point()
constructor to accept arrays of length 1 for the x and y coordinates (fix compatibility with Shapely 1.8). - Raise ValueError for non-finite distance in the
buffer()
andoffset_curve()
methods on the Geometry classes (consistent with Shapely 1.8). - Add
__format__
specification for geometry types (#1556).
2.0b1
Relevant changes in behaviour compared to 2.0a1:
- Renamed the
tolerance
keyword tomax_segment_length
in thesegmentize
function. - Renamed the
quadsegs
keyword in the top-levelbuffer
andoffset_curve
functions and theresolution
keyword in the Geometry classbuffer
andoffset_curve
methods all toquad_segs
. - Added use of
GEOSGeom_getExtent
to speed up bounds calculations for GEOS >= 3.11. - Restored the behaviour of
unary_union
to return an empty GeometryCollection for an empty or all-None sequence as input (and the same forintersection_all
andsymmetric_difference_all
). - Fixed the Geometry objects to be weakref-able again (#1535).
- The
.type
attribute is deprecated, use.geom_type
instead (which already existed before as well) (#1492).
Wheels for 2.0b1 published on PyPI include GEOS 3.11.0.