diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index cc2343f..6fe5084 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml @@ -24,13 +24,8 @@ jobs: - windows-2022 - macos-11 - macos-12 - node-version: [14.x, 16.x, 18.x, 20.x] + node-version: [16.x, 18.x, 20.x] python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] - exclude: - - node-version: 14.x # node-gyp not compatible with Python 3.11 - python-version: "3.11" - - node-version: 14.x # node-gyp not compatible with Python 3.12 - python-version: "3.12" steps: - name: Use Node.js ${{ matrix.node-version }} @@ -70,15 +65,8 @@ jobs: strategy: matrix: platform: [ubuntu-20.04, ubuntu-22.04, windows-2019, macos-11] - node-version: [14.x, 16.x, 18.x, 20.x] + node-version: [16.x, 18.x, 20.x] python-version: ["3.8", "3.9", "3.10", "3.11"] - exclude: - - node-version: 14.x # Node.js crypto not compatible with Ubuntu 22 - platform: ubuntu-22.04 - - node-version: 16.x # Node.js crypto not compatible with Ubuntu 22 - platform: ubuntu-22.04 - - node-version: 14.x # node-gyp not compatible with Python 3.11 - python-version: "3.11" steps: - name: Use Node.js ${{ matrix.node-version }} diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index b444675..2732481 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -22,13 +22,8 @@ jobs: - windows-2022 - macos-11 - macos-12 - node-version: [14.x, 16.x, 18.x, 20.x] + node-version: [16.x, 18.x, 20.x] python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] - exclude: - - node-version: 14.x - python-version: "3.11" - - node-version: 14.x - python-version: "3.12" steps: - uses: actions/checkout@v3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a4648d..372f234 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.5.0] + - Add Python 3.12 support and upgrade the built-in Python to 3.12.2 + - Drop Node.js 14 support + ### [1.4.3] 2023-10-29 - Fix [#104](https://github.com/mmomtchev/pymport/issues/104), do not mess up the loading of additional binary modules after `pymport` diff --git a/README.md b/README.md index 51a592f..703c2e8 100644 --- a/README.md +++ b/README.md @@ -52,14 +52,12 @@ There is also a [medium stort](https://medium.com/@mmomtchev/using-numpy-and-pan | Platforms | Versions | | --------- | -------------------------------------------------------- | | OS | Windows 2019 & 2022, Ubuntu 20.04 & 22.04, macOS 11 & 12 (x86 only) | -| Node.js | 14.x, 16.x and 18.x | -| Python | 3.8, 3.9, 3.10 and 3.11 | +| Node.js | 16.x, 18.x and 20.x | +| Python | 3.8, 3.9, 3.10, 3.11 and 3.12 | except for the following combinations that are not supported: -* **Node.js 14.x with Python 3.11**: rebuilding from source is not possible due to `node-gyp` version being too old to support Python 3.11, upgrading `npm` or using the precompiled binaries solves this issue - -* **Node.js 14.x/16.x on Ubuntu 22.04**: rebuilding from source against the system-installed Python is not possible due to Node.js containing a built-in OpenSSL 1.1 with exported symbols while the system-provided Python is built vs OpenSSL 3.0, upgrading Node.js or using the precompiled interpreter solves this issue +* **Node.js 16.x on Ubuntu 22.04**: rebuilding from source against the system-installed Python is not possible due to Node.js containing a built-in OpenSSL 1.1 with exported symbols while the system-provided Python is built vs OpenSSL 3.0, upgrading Node.js or using the precompiled interpreter solves this issue * **Python 3.11.x on Windows**: An upstream bug requires a specific workaround in this case [#44](https://github.com/mmomtchev/pymport/issues/44) @@ -78,7 +76,7 @@ The wiki has a list of some known and hard to fix issues: # License -Copyright 2022-2023 Momtchil Momtchev and contributors +Copyright 2022-2024 Momtchil Momtchev and contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. diff --git a/package.json b/package.json index 8520c2c..ea55118 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "typescript": "^4.9.5" }, "engines": { - "node": ">= 14.0.0" + "node": ">= 16.0.0" }, "dependencies": { "@mapbox/node-pre-gyp": "^1.0.11",