diff --git a/.github/workflows/basemap-for-manylinux.yml b/.github/workflows/basemap-for-manylinux.yml index 7281d3bdc..f66b31b5e 100644 --- a/.github/workflows/basemap-for-manylinux.yml +++ b/.github/workflows/basemap-for-manylinux.yml @@ -264,8 +264,8 @@ jobs: run: | apt-get update apt-get install -y gcc g++ make - pip install "numpy < 1.21.5" - if: matrix.arch == 'x86' && matrix.python-version == '3.10' + pip install "numpy < 1.24" + if: matrix.arch == 'x86' && (matrix.python-version >= '3.8' || matrix.python-version >= '3.10') - name: Install package run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dd1513e2..8a6e9b9e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,28 @@ https://keepachangelog.com/en/1.0.0/ https://semver.org/spec/v2.0.0.html +## [1.3.4] - 2022-08-10 + +### Changed +- Upgrade `numpy` upper pin to 1.24. +- Upgrade `pyshp` upper pin to 2.4. +- Upgrade `sphinx` upper pin to 5.0 and require at least Python 3.6 to + build the docs. + +### Fixed +- Update `numpy` build dependency to ensure that builds also work on + MacOS (fixes issue [#547], thanks to @SongJaeIn for testing). +- Fix broken implementation of `Basemap.arcgisimage` (PR [#548], solves + issue [#546]). +- Enforce up-to-date `numpy` dependency when possible: + - Set `numpy >= 1.19` for Python == 3.6 due to `numpy` vulnerabilities + [CVE-2021-41495] and [CVE-2021-41496]. + - Set `numpy >= 1.22` for Python >= 3.8 due to `numpy` vulnerability + [CVE-2021-34141]. +- Enforce up-to-date `pillow` dependency when possible: + - Set `pillow >= 9.0.1` for Python >= 3.7 due to `pillow` + vulnerability [CVE-2022-24303]. + ## [1.3.3] - 2022-05-11 ### Changed @@ -902,6 +924,12 @@ https://semver.org/spec/v2.0.0.html - Fix glitches in drawing of parallels and meridians. +[#548]: +https://github.com/matplotlib/basemap/pull/548 +[#547]: +https://github.com/matplotlib/basemap/issues/547 +[#546]: +https://github.com/matplotlib/basemap/issues/546 [#541]: https://github.com/matplotlib/basemap/pull/541 [#539]: @@ -974,7 +1002,9 @@ https://github.com/matplotlib/basemap/issues/228 https://github.com/matplotlib/basemap/issues/179 [Unreleased]: -https://github.com/matplotlib/basemap/compare/v1.3.3...develop +https://github.com/matplotlib/basemap/compare/v1.3.4...develop +[1.3.4]: +https://github.com/matplotlib/basemap/compare/v1.3.3...v1.3.4 [1.3.3]: https://github.com/matplotlib/basemap/compare/v1.3.2...v1.3.3 [1.3.2]: @@ -1002,14 +1032,22 @@ https://github.com/matplotlib/basemap/compare/v1.0.3rel...v1.0.4rel [1.0.3]: https://github.com/matplotlib/basemap/tree/v1.0.3rel +[CVE-2022-24303]: +https://nvd.nist.gov/vuln/detail/CVE-2022-24303 [CVE-2022-22817]: https://nvd.nist.gov/vuln/detail/CVE-2022-22817 [CVE-2022-22816]: https://nvd.nist.gov/vuln/detail/CVE-2022-22816 [CVE-2022-22815]: https://nvd.nist.gov/vuln/detail/CVE-2022-22815 +[CVE-2021-41496]: +https://nvd.nist.gov/vuln/detail/CVE-2021-41496 +[CVE-2021-41495]: +https://nvd.nist.gov/vuln/detail/CVE-2021-41495 [CVE-2021-34552]: https://nvd.nist.gov/vuln/detail/CVE-2021-34552 +[CVE-2021-34141]: +https://nvd.nist.gov/vuln/detail/CVE-2021-34141 [CVE-2021-33430]: https://nvd.nist.gov/vuln/detail/CVE-2021-33430 [CVE-2021-28678]: diff --git a/packages/basemap/pyproject.toml b/packages/basemap/pyproject.toml index 74777ad04..f9a33dfc0 100644 --- a/packages/basemap/pyproject.toml +++ b/packages/basemap/pyproject.toml @@ -3,7 +3,9 @@ requires = [ 'setuptools', 'wheel', 'numpy == 1.21.4; python_version >= "3.10"', - 'numpy == 1.16.6; python_version == "2.7" or (python_version >= "3.4" and python_version <= "3.9")', + 'numpy == 1.21.4; sys_platform == "darwin" and (python_version >= "3.7" and python_version <= "3.9")', + 'numpy == 1.16.6; sys_platform != "darwin" and (python_version >= "3.7" and python_version <= "3.9")', + 'numpy == 1.16.6; python_version == "2.7" or (python_version >= "3.4" and python_version <= "3.6")', 'numpy == 1.11.3; python_version == "2.6" or (python_version >= "3.2" and python_version <= "3.3")', 'cython >= 0.29, < 3.1; python_version >= "3.3" or python_version < "3.0"', 'cython >= 0.26, < 0.27; python_version == "3.2"' diff --git a/packages/basemap/requirements-doc.txt b/packages/basemap/requirements-doc.txt index b1779f107..cdea62cb0 100644 --- a/packages/basemap/requirements-doc.txt +++ b/packages/basemap/requirements-doc.txt @@ -1 +1 @@ -sphinx >= 3.0, < 3.4; python_version >= "3.5" +sphinx >= 3.0, < 5.0; python_version >= "3.6" \ No newline at end of file diff --git a/packages/basemap/requirements-test.txt b/packages/basemap/requirements-test.txt index 1033dade4..6d37070de 100644 --- a/packages/basemap/requirements-test.txt +++ b/packages/basemap/requirements-test.txt @@ -28,4 +28,4 @@ pillow >= 4.3.0, < 5.0.0; python_version == "3.3" pillow >= 5.4.0, < 6.0.0; python_version == "3.4" pillow >= 7.1.0, < 8.0.0; python_version == "3.5" pillow >= 8.3.2, < 9.0.0; python_version == "3.6" -pillow >= 9.0.0, < 10.0.0; python_version >= "3.7" +pillow >= 9.0.1, < 10.0.0; python_version >= "3.7" diff --git a/packages/basemap/requirements.txt b/packages/basemap/requirements.txt index 799f1f99d..db0507765 100644 --- a/packages/basemap/requirements.txt +++ b/packages/basemap/requirements.txt @@ -6,8 +6,9 @@ numpy >= 1.11, < 1.12; python_version == "3.2" numpy >= 1.11, < 1.12; python_version == "3.3" numpy >= 1.15, < 1.17; python_version == "3.4" numpy >= 1.16, < 1.19; python_version == "3.5" -numpy >= 1.16, < 1.20; python_version == "3.6" -numpy >= 1.21, < 1.23; python_version >= "3.7" +numpy >= 1.19, < 1.20; python_version == "3.6" +numpy >= 1.21, < 1.22; python_version == "3.7" +numpy >= 1.22, < 1.24; python_version >= "3.8" cycler < 0.11; python_version == "3.2" pyparsing >= 1.5, < 2.4.1; python_version == "2.6" @@ -27,4 +28,4 @@ pyproj >= 1.9.3, < 2.1.0; python_version == "3.4" pyproj >= 1.9.3, < 3.4.0; python_version >= "3.5" pyshp >= 1.2, < 2.0; python_version == "2.6" -pyshp >= 1.2, < 2.2; python_version >= "2.7" +pyshp >= 1.2, < 2.4; python_version >= "2.7" diff --git a/packages/basemap/setup.py b/packages/basemap/setup.py index 812fcc04c..19588efe7 100644 --- a/packages/basemap/setup.py +++ b/packages/basemap/setup.py @@ -172,7 +172,7 @@ def run(self): "name": "basemap", "version": - "1.3.3", + "1.3.4", "license": "MIT", "description": diff --git a/packages/basemap/src/mpl_toolkits/basemap/__init__.py b/packages/basemap/src/mpl_toolkits/basemap/__init__.py index c75a9db3a..bdacd1c96 100644 --- a/packages/basemap/src/mpl_toolkits/basemap/__init__.py +++ b/packages/basemap/src/mpl_toolkits/basemap/__init__.py @@ -64,7 +64,7 @@ from mpl_toolkits import basemap_data basemap_datadir = os.path.abspath(list(basemap_data.__path__)[0]) -__version__ = "1.3.3" +__version__ = "1.3.4" # module variable that sets the default value for the 'latlon' kwarg. # can be set to True by user so plotting functions can take lons,lats @@ -4215,7 +4215,7 @@ def warpimage(self,image="bluemarble",scale=None,**kwargs): return im def arcgisimage(self,server='http://server.arcgisonline.com/ArcGIS',\ - service='ESRI_Imagery_World_2D',xpixels=400,ypixels=None,\ + service='World_Imagery',xpixels=400,ypixels=None,\ dpi=96,verbose=False,**kwargs): """ Retrieve an image using the ArcGIS Server REST API and display it on @@ -4232,7 +4232,7 @@ def arcgisimage(self,server='http://server.arcgisonline.com/ArcGIS',\ server web map server URL (default http://server.arcgisonline.com/ArcGIS). service service (image type) hosted on server (default - ESRI_Imagery_World_2D, which is NASA 'Blue Marble' + 'World_Imagery', which is NASA 'Blue Marble' image). xpixels requested number of image pixels in x-direction (default 400). @@ -4284,9 +4284,6 @@ def arcgisimage(self,server='http://server.arcgisonline.com/ArcGIS',\ arcgisimage cannot handle images that cross the dateline for cylindrical projections.""") raise ValueError(msg) - if self.projection != 'cyl': - xmin = (180./np.pi)*xmin; xmax = (180./np.pi)*xmax - ymin = (180./np.pi)*ymin; ymax = (180./np.pi)*ymax # ypixels not given, find by scaling xpixels by the map aspect ratio. if ypixels is None: ypixels = int(self.aspect*xpixels) diff --git a/packages/basemap/src/mpl_toolkits/basemap/proj.py b/packages/basemap/src/mpl_toolkits/basemap/proj.py index c27597ef6..047b5183a 100644 --- a/packages/basemap/src/mpl_toolkits/basemap/proj.py +++ b/packages/basemap/src/mpl_toolkits/basemap/proj.py @@ -10,7 +10,7 @@ # as textwrap.dedent. from matplotlib.cbook import dedent -__version__ = "1.3.3" +__version__ = "1.3.4" _dg2rad = math.radians(1.) _rad2dg = math.degrees(1.)