Releases: SciTools/cartopy
REL: v0.24.1
REL: v0.24.0
What's Changed
- MNT: add missing 'needs network' markers by @rcomer in #2369
- TST: add configuration for no-network tests by @rcomer in #2371
- Fix incorrect internal use of PlateCarree by @dopplershift in #2378
- CI: add scheduled testing against nightlies by @rcomer in #2376
- MNT: drop py39 support and bump min package versions by @rcomer in #2380
- Removed dict annotation from GeoAxes.gridlines by @BhavyeMathur in #2386
- xfail WMS tile tests by @rcomer in #2388
- Bump pypa/cibuildwheel from 2.17.0 to 2.18.1 by @dependabot in #2389
- Make Gridliner deprecation warning show up by @rcomer in #2387
- FIX: ensure Gridliner is up-to-date for title adjustment by @rcomer in #2393
- Bump pypa/cibuildwheel from 2.18.1 to 2.19.1 by @dependabot in #2398
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 by @dependabot in #2399
- Fix failing gouraud shading mask creation in pccolormesh by @e-k-m in #2401
- CI: Fix image upload path to remove shapely-dev by @greglucas in #2402
- TST/FIX: Do difference ourselves rather than numpy to avoid datatype cast by @greglucas in #2403
- DOC: Remove expected NASA failing images because they work now by @greglucas in #2404
- MNT: Remove unneeded matplotlib inheritance by @greglucas in #2405
- fix treatment of spine paths with explicit path-codes by @raphaelquast in #2362
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2408
- Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 by @dependabot in #2410
- CI: Put release build conditional in the first job to avoid building every time by @greglucas in #2409
- FIX/MNT: Simplify project geometry handling by @greglucas in #2407
- FIX: contour sticky edges match dataLim by @rcomer in #2414
- FIX: imshow arguments should be popped before passing upstream by @greglucas in #2416
- Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 by @dependabot in #2421
- Make renderer parameter optional in GeoAxes.get_tightbbox by @rcomer in #2424
- Support shading=None in pcolor(mesh) by @rcomer in #2426
- Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.1 by @dependabot in #2432
- TST: add pyproj to nightly tests by @rcomer in #2430
- Bump pypa/cibuildwheel from 2.20.0 to 2.21.0 by @dependabot in #2435
- Bump pypa/cibuildwheel from 2.21.0 to 2.21.1 by @dependabot in #2437
- DOC: add choropleth name to example by @rcomer in #2438
- Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2 by @dependabot in #2439
- FIX:
_trigger_patch_reclip
takes axes instance by @rcomer in #2441 - Bump pypa/cibuildwheel from 2.21.1 to 2.21.2 by @dependabot in #2445
- Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3 by @dependabot in #2446
- add a special projection for EPSG:27572 by @ThibHlln in #2427
- DOC/CI: Prepare for v0.24 release by @greglucas in #2440
New Contributors
- @BhavyeMathur made their first contribution in #2386
- @e-k-m made their first contribution in #2401
- @ThibHlln made their first contribution in #2427
Full Changelog: v0.23.0...v0.24.0
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.