Skip to content

Releases: shapely/shapely

2.1.0

03 Apr 09:13
4940c64
Compare
Choose a tag to compare

Shapely 2.1.0 is a feature release with various new functions, improvements and bug fixes. Highlights include initial support for geometries with M or ZM values, functionality for coverage validation and simplification, and a set of new top-level functions.

Shapely supports Python >= 3.10, and binary wheels on PyPI include GEOS 3.13.1 and are now also provided for musllinux (Alpine) x86_64 platforms.

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-1-0

2.1.0rc1

15 Mar 14:55
Compare
Choose a tag to compare
2.1.0rc1 Pre-release
Pre-release

Shapely version 2.1.0 is a major release featuring various new functions, improvements and bug fixes. This is a first release candidate.

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-1-0-unreleased

2.0.7

31 Jan 02:55
ec8f6cd
Compare
Choose a tag to compare

Shapely 2.0.7 fixes 3 bugs:

  • Fix compilation error on certain Linux platforms, such as Alpine (#1945).
  • Fixes crash when reading nonlinear geometry types (CircularString, CompoundCurve, MultiCurve, CurvePolygon, MultiSurface) from WKB/WKT with GEOS >= 3.13; these types are not yet supported in Shapely and now raise a NotImplementedError (#2160)
  • Fix the project() method to return a Python float (#2093).

Wheels include GEOS 3.11.4.

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-7.

2.0.6

19 Aug 21:56
Compare
Choose a tag to compare

Wheels are available for Python 3.13 (and still include GEOS 3.11.4).

Bug fixes:

  • Fix compatibility with NumPy 2.1.0 (#2099).

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-6

2.0.5

13 Jul 10:51
Compare
Choose a tag to compare

Binary wheels on PyPI include GEOS 3.11.4 from 2024-06-05. Furthermore, universal2 wheels are removed for macOS since both x86_64 and arm64 wheels are provided.

Bug fixes:

  • Fix Point x/y/z attributes to return Python floats (#2074).
  • Fix affinity for Apple silicon with NumPy 2.0 by reverting matmul, and use direct matrix multiplication instead (#2085).

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-5

2.0.4

16 Apr 22:26
Compare
Choose a tag to compare

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

16 Feb 14:21
Compare
Choose a tag to compare

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

12 Oct 20:37
Compare
Choose a tag to compare

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

30 Jan 08:56
Compare
Choose a tag to compare

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 in shapely.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

12 Dec 13:16
Compare
Choose a tag to compare

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.