Releases: SciTools/cartopy
REL: v0.23
This release is compatible with Python 3.12 and Numpy 2.
Some of the major new features are:
- Updates to the Gridliner to turn it into a Matplotlib Artist (which greatly enhances performance and interactivity)
- Better support for Compound paths split across boundaries
- Addition of GSHHS Antarctica features
- Turning the Cartopy FeatureArtist into a Matplotlib Collection which enables arrays of values and styles to be used with the collection of geometries in the FeatureArtist (i.e. colormapping the features based on array values is supported)
- Updates to the shapefile readers and improved documentation across the project.
See the below list for a detail of all PRs included in this release.
What's Changed
- REL: Include sdist in PyPI release process by @greglucas in #2229
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.9 by @dependabot in #2234
- Bump pypa/gh-action-pypi-publish from 1.8.9 to 1.8.10 by @dependabot in #2235
- Bump pypa/cibuildwheel from 2.14.1 to 2.15.0 by @dependabot in #2232
- Pass options of stock_img to imshow by @smartlixx in #2230
- Consolidate mpl version checks by @rcomer in #2238
- Add documentation, kwargs for Reader by @lgolston in #2236
- Bump actions/checkout from 3 to 4 by @dependabot in #2241
- Bump pypa/cibuildwheel from 2.15.0 to 2.16.0 by @dependabot in #2244
- Make GridLiner into an Artist by @rcomer in #2249
- Bump minimum Matplotlib version to 3.5 by @rcomer in #2258
- Gridliner: don't destroy and recreate artists by @rcomer in #2252
- Fix gridliner when datalim updated by constrained layout by @rcomer in #2254
- STY: increase max line length to 88 by @rcomer in #2261
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2255
- MNT: Update gitignore items by @greglucas in #2267
- Add xfails to current owslib failures by @greglucas in #2264
- DOC: Change Stamen image tiles over to Google by @greglucas in #2265
- Bump pypa/cibuildwheel from 2.16.0 to 2.16.2 by @dependabot in #2257
- MNT: Add Python 3.12 to the tests and enable release testing by @greglucas in #2272
- FIX: Handle invalid geometries for rectangular projections by @greglucas in #2262
- Update Matplotlib min version in pyproject.toml by @rcomer in #2276
- ENH: Add Stadia Maps image tile server class by @greglucas in #2269
- MNT: Remove beautifulsoup4 from docs requirements by @greglucas in #2274
- Matplotlib 3.8 test warning by @lgolston in #2277
- MNT: remove deprecated Gridliner properties by @rcomer in #2280
- Revert "MNT: xfail owslib tests and documentation that use NASA" by @greglucas in #2281
- MNT: Use ruff for formatting checks by @greglucas in #2273
- DOC: fix LAND zorder in feature example by @rcomer in #2287
- Bump pyshp min version to v2.3 by @rcomer in #2290
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 by @dependabot in #2294
- FIX: Handle non-earth bodies within Projections by @greglucas in #2283
- Bump actions/setup-python from 4 to 5 by @dependabot in #2299
- Bump actions/download-artifact from 3 to 4 by @dependabot in #2302
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #2303
- FIX: Remove force_path_ccw of contours by @greglucas in #2298
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2309
- TST: Skip scipy tests if scipy isn't installed by @greglucas in #2282
- MNT: Move cartopy feature download script into the package by @greglucas in #2263
- Allow GSHHS levels 5 and 6 for Antarctica. by @kdungs in #2317
- Relicense from LGPL-3 to BSD-3 by @lbdreyer in #2285
- DOC: don't use deprecated collections attribute by @rcomer in #2324
- MNT: xfail owslib tests and documentation that use NASA (again) by @rcomer in #2327
- FIX: use compound paths to draw transformed geometries by @rcomer in #2325
- Preparations for the new v5 SciTools CLA by @trexfeathers in #2306
- MNT: add sg_execution_times.rst to .gitignore by @rcomer in #2331
- Make
FeatureArtist
aCollection
by @rcomer in #2323 - MNT: Remove wmts-time from expected doc failures by @greglucas in #2332
- FIX: gridliner auto-updates by default (and always in future) by @rcomer in #2330
- Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 by @dependabot in #2334
- MNT: remove FeatureArtist.draw args and kwargs by @rcomer in #2333
- DOC: add example showing FeatureArtist is a ScalarMappable by @rcomer in #2340
- MNT: deprecate the style module by @rcomer in #2337
- FIX: Add xfail for bad test url by @greglucas in #2344
- Improve matrixing in GHA to work with #2303 by @trexfeathers in #2313
- CI: skip xfail output by @rcomer in #2345
- Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 by @dependabot in #2343
- Prepare for Numpy 2.0 by @greglucas in #2338
- CI: Only run coverage on a single runner by @greglucas in #2347
- DOC: Address several typos by @lgolston in #2348
- DOC: Skip failing WMTS time example again due to flaky servers by @greglucas in #2349
- Bump pypa/cibuildwheel from 2.16.2 to 2.16.5 by @dependabot in #2322
- Bump pypa/cibuildwheel from 2.16.5 to 2.17.0 by @dependabot in #2350
- CI: Ruff linter settings warning by @lgolston in #2352
- DOC: Update several links by @lgolston in #2353
- MNT: xfail deprecated Google Image Tile API by @greglucas in #2365
- DOC: Show module docstring by @lgolston in #2354
- FIX: Deepcopy of CRS with str/epsg by @lgolston in #2356
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2363
- BLD: Use numpy2.0.0rc1 to build the package by @greglucas in #2366
- DOC: Add whatsnew entry for v0.23 by @greglucas in #2346
New Contributors
Full Changelog: v0.22.0...v0.23.0
v0.22.0
What's Changed
- Backport PRs for 0.20.1 by @QuLogic in #1904
- Address Shapely 2.0 Deprecations by @akrherz in #1930
- Cache transformer crs for v0.20.x by @greglucas in #1931
- Backport recent master commits to v0.20.x by @greglucas in #1969
- Backports for 0.20.x by @dopplershift in #2059
- Add Matplotlib geo projections by @QuLogic in #1249
- V0.20.x merge into main by @greglucas in #2079
- Remove Google Group link by @rcomer in #2082
- Compatibility with shapely 2.0 (remove usage of lgeos) by @jorisvandenbossche in #2080
- Add antarctic_ice_shelf_polys to downloaded data by @xylar in #2097
- TST: Use geom_type for Shapely geometry assertions by @greglucas in #2106
- Updated Ordnance Survey img_tile to new OS API by @dchirst in #2105
- DOC: remove upper limit to shapely in MacOS installation guide by @neutrinoceros in #2112
- Address test failures and remove some xfails by @greglucas in #2114
- MNT: Remove mentions of GDAL by @greglucas in #2115
- TST/FIX: Test for instance rather than string in class representation by @greglucas in #2130
- Specify proj 8 for minimal versions build by @rcomer in #2132
- FIX: plot after contour shouldn't shrink extent by @rcomer in #2129
- DOC: Pin Sphinx less than version 6 by @greglucas in #2131
- fix identification of native_srs for wms services by @raphaelquast in #2136
- allow multiple OGC_SRS synonyms for WebMaps by @raphaelquast in #2138
- CI: Update CircleCI conda python version by @greglucas in #2140
- MNT: Use pathlib throughout the codebase by @greglucas in #2116
- Oblique Mercator class by @trexfeathers in #2096
- Add pre-commit hooks and fixes by @greglucas in #1934
- DOC: add omerc to projections list by @bjlittle in #2146
- add pre-commit.ci badge by @bjlittle in #2148
- retire stickler-ci by @bjlittle in #2149
- configure dependabot by @bjlittle in #2155
- pre-commit: adopt codespell hook by @bjlittle in #2153
- Bump actions/checkout from 2 to 3 by @dependabot in #2157
- Bump actions/upload-artifact from 2 to 3 by @dependabot in #2158
- pre-commit: adopt sort-all hook by @bjlittle in #2151
- add ci manifest check by @bjlittle in #2154
- update and add new pre-commit git-hooks by @bjlittle in #2159
- pre-commit: adopt isort hook by @bjlittle in #2150
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2164
- updated thresholds/values to work with PROJ 9.2 by @kirillrdy in #2163
- pre-commit for local checks by @rcomer in #2170
- Check for mask in GeoQuadMesh.get_array test by @rcomer in #2174
- MNT: bump python versions and dependency minimum versions by @rcomer in #2169
- Update release action by @dopplershift in #2172
- Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 by @dependabot in #2177
- Use current NOAA data for aurora example by @lgolston in #2180
- Add api-token for CircleCI redirector action by @bjlittle in #2185
- Fix information cut off in crs docs by @lgolston in #2183
- FIX: close the path on GeoSpines around the boundary by @greglucas in #2186
- Fix bounds error in shapereader for null records by @lgolston in #2188
- Avoid a deprecation warning from numpy 1.25 in crs._safe_pj_transform by @neutrinoceros in #2194
- Pass 'keep' instead of '' in AxesGrid example by @lgolston in #2196
- Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 by @dependabot in #2200
- Preset Stamen tile file extension, opacity by @lgolston in #2202
- DOC: coastlines 'auto' clarification by @rcomer in #2204
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2206
- Added add_cyclic to API reference and What's new Version 0.21 by @mcuntz in #2189
- Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8 by @dependabot in #2210
- ENH: enable passing RGB(A) to polormesh by @rcomer in #2166
- precompute finite value mask for kdtree query by @chrishavlin in #2201
- Create ocean bathymetry example by @lgolston in #2195
- TST: Update Lambert Conformal test tolerances by @greglucas in #2209
- Remove GEOS dependency in favor of Shapely by @greglucas in #2083
- MNT: update contour for mpl v3.8 by @rcomer in #2213
- TST: Avoid contour warning for MPL3.8 by @greglucas in #2215
- update conda yml by @rcomer in #2214
- use ContourSet.set_paths by @rcomer in #2218
- Broken links in what's new pages by @lgolston in #2220
- Enhanced OGC reader by @mcuntz in #2191
- Reduce sphinx warnings by @lgolston in #2221
- DOC: Remove mentions of Travis CI by @greglucas in #2222
- BLD: Wheels! by @greglucas in #2197
- FIX: contourf nested contours by @rcomer in #2225
- DOC: Add v0.22 whats new page by @greglucas in #2219
- CI: Change pip install pin for releasing by @greglucas in #2226
New Contributors
- @xylar made their first contribution in #2097
- @dchirst made their first contribution in #2105
- @trexfeathers made their first contribution in #2096
- @dependabot made their first contribution in #2157
- @pre-commit-ci made their first contribution in #2164
- @kirillrdy made their first contribution in #2163
- @lgolston made their first contribution in #2180
- @chrishavlin made their first contribution in #2201
Full Changelog: v0.21.0...v0.22.0
v0.21.1
This is a patch release to allow shapely 2.0 to be installed and used with Cartopy.
What's Changed
- Compatibility with shapely 2.0 (remove usage of lgeos) by @jorisvandenbossche in #2110
Full Changelog: v0.21.0...v0.21.1
v0.21.0
Installation Updates
- Pyproj now handles all the transformations and therefore the PROJ header files are no longer explicitly required by Cartopy.
- Shapely 2.0 is not compatible with this release of Cartopy, and thus Shapely must be pinned <2 during installation.
What's Changed
- Loosen OSGB tests if grids are unavailable by @QuLogic in #1884
- Remove use of distutils by @QuLogic in #1883
- Regenerate all tick test images by @QuLogic in #1882
- Use UTF8 degree symbol directly by @QuLogic in #1885
- Various test improvements by @QuLogic in #1887
- DOC: Adding an environment file for development by @greglucas in #1890
- added missing shapefile group to download script by @georgemccabe in #1894
- Switch to pytest-mpl for image testing by @QuLogic in #1891
- MNT: Update matplotlib.axes calls to super() by @greglucas in #1896
- Update streamplot test for Matplotlib 3.5.0rc1 by @QuLogic in #1899
- Parametrize inline gridliner tests by @QuLogic in #1900
- Use Gridliner transform for inline labels also by @QuLogic in #1903
- Remove deprecations by @greglucas in #1897
- FIX: pcolor shading with nearest by @greglucas in #1892
- fix imshow when image is RGBA by @ludwigVonKoopa in #1906
- address shapely 2.0 deprecations by @akrherz in #1914
- Added support for 2-dimensional coord in add_cyclic_point. by @mcuntz in #1753
- MNT: Add a cache to the Transformer creation in transform_points by @greglucas in #1918
- FIX: Remove edgecolor from filled features by @greglucas in #1933
- DOC: Add instructions for contributing to Cartopy by @greglucas in #1939
- [doc] Provide install instructions for Ubuntu/Debian by @gpotter2 in #1941
- TST: Update test tolerances for MPL 3.5 by @greglucas in #1938
- MNT: Remove requests and flufl installations by @greglucas in #1949
- DEPR: implement API changes that were scheduled for cartopy>0.18 by @neutrinoceros in #1957
- MNT: Update the natural earth test by @greglucas in #1962
- CI: Fix min dependency build by switching to Linux by @greglucas in #1963
- Parametrize projection test images by @QuLogic in #1964
- FIX: Calculate bbox for pcolormesh by @greglucas in #1958
- CI: Avoid newer openssl version due to WMTS tests by @greglucas in #1977
- Rename master branch to main by @QuLogic in #1976
- fix title of projections.rst by @mathause in #1983
- FIX: Add clip limits to Nightshade floating point calculations by @greglucas in #1989
- TST: Increase dtype of sample data calculations by @greglucas in #1994
- ENH: Allow a single geometry in add_geometries by @greglucas in #1999
- Minimum Python 3.8 by @greglucas in #1990
- Flake8 updating by @greglucas in #1991
- MNT: Remove convert_path from setup script by @greglucas in #2027
- API: GH #2013 make regrid arguments, docstring consistent by @ellequelle in #2014
- TST: Removing unnecessary cleanup decorator by @greglucas in #2023
- TST: Force an orientation in the lakes shapereader test by @greglucas in #2028
- Revert "CI: Avoid newer openssl version due to WMTS tests" by @greglucas in #2038
- examples: define 'sample_data' for all examples by @phil-blain in #2044
- Explicitly calling numpy asanyarray over the inputs. by @axnsantana in #2050
- FIX: setup.py should output "... 8.0.0 or later" if proj is missing or too old by @weatherfrog in #1992
- Remove use of setuptools_scm_git_archive by @dopplershift in #2057
- TST: Change testing method for tolerances by @greglucas in #2056
- Fix image tests by @dopplershift in #2058
- Replace _autoscaleX_on with get_autoscalex_on() in GeoAxes by @holzschu in #2054
- docs: fix simple typo, noticable -> noticeable by @timgates42 in #2061
- Additional support for LINZ Maps Tiles by @aluthfian in #2048
- Use contextlib.ExitStack in more places by @QuLogic in #2070
- MNT: Change map_projection to projection for Axes creation by @greglucas in #1980
- Pyproj geodesic trace by @greglucas in #2069
- Fix Axes clearing with Matplotlib 3.6+ by @QuLogic in #2071
- FIX: change deprecated map_projection in test suite by @greglucas in #2073
- TST: Update test path search and pytest deprecations by @greglucas in #2075
- Add functionality for correct transforms in ax.annotate by @abrammer in #2065
- Calculate vertical coord, even if not explicitely requested by @guziy in #2077
- FIX: Allow values less than -180 to be wrapped too by @greglucas in #1998
- DOC: What's new for v0.21 release by @greglucas in #2074
New Contributors
- @georgemccabe made their first contribution in #1894
- @ludwigVonKoopa made their first contribution in #1906
- @mcuntz made their first contribution in #1753
- @gpotter2 made their first contribution in #1941
- @neutrinoceros made their first contribution in #1957
- @mathause made their first contribution in #1983
- @ellequelle made their first contribution in #2014
- @phil-blain made their first contribution in #2044
- @axnsantana made their first contribution in #2050
- @weatherfrog made their first contribution in #1992
- @holzschu made their first contribution in #2054
- @aluthfian made their first contribution in #2048
- @abrammer made their first contribution in #2065
- @guziy made their first contribution in #2077
Full Changelog: v0.20.0...v0.21.0
v0.20.3
This is the third bug fix release in the 0.20.x series. This mainly fixes a problem with installing from the existing PyPI source distributions with new setuptools_scm.
What's Changed
- FIX: Add clip limits to Nightshade floating point calculations by @greglucas in #1989
- TST: Change testing method for tolerances by @greglucas in #2056
- Remove use of setuptools_scm_git_archive by @dopplershift in #2057
- Fix image tests by @dopplershift in #2058
Full Changelog: v0.20.2...v0.20.3
v0.20.2
This is the second bugfix release of the v0.20.x series.
What's Changed
- Address Shapely 2.0 Deprecations by @akrherz in #1930
- Cache transformer crs for v0.20.x by @greglucas in #1931
- Backport recent master commits to v0.20.x by @greglucas in #1969
Full Changelog: v0.20.1...v0.20.2
v0.20.1
This is the first bugfix of the v0.20.x series.
See the list of bugfixes on the milestone:
https://github.com/SciTools/cartopy/milestone/31?closed=1
v0.20.0
Changes include:
Using pyproj for coordinate transformations, which added support for building with Proj 8.
Updating the download URLs for the NaturalEarth and Mapbox APIs, and bundling a download script in the release.
Better handling of gridliner visibility and labeling.
Updated documentation.
And many others.
There are several bug fixes as well. See the milestone for more information.
v0.19.0.post1
This release only updates the contents contained in the sdist as the previous version did not contain the compiled Cython extensions. All features are the same as v0.19.0