Shapely 1.8.0

From the 1.8.0 release notes:

Shapely 1.8.0 is a transitional version. There are a few bug fixes and new features, but it largely exists to warn about the upcoming changes in 2.0.0. See the new migration guide for more details on how to update your code from Shapely 1.8 to 2.0.

One of the upcoming changes: the geometry objects of 2.0 will be immutable, simplifying their implementation, and making it possible to hash them. Here's an example of the warning you'll see when you set a new attribute on a version 1.8 geometry object.

>>> from shapely.geometry import Point
>>> pt = Point(0, 0)
>>> pt.id = 1
<stdin>:1: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0