Skip to content

Commit 7562718

Browse files
committed
Merge remote-tracking branch 'upstream/4.x' into official-publish-action
2 parents 1d48816 + 2ba8bf6 commit 7562718

20 files changed

Lines changed: 235 additions & 124 deletions

‎.github/workflows/build_wheels_macos.yml‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
5656
fi
5757
- name: Checkout
58-
uses: actions/checkout@v3
58+
uses: actions/checkout@v7
5959
with:
6060
submodules: false
6161
fetch-depth: 0
@@ -69,7 +69,7 @@ jobs:
6969
python${{ matrix.python-version }} setup.py bdist_wheel --py-limited-api=cp37 --dist-dir=wheelhouse -v
7070
delocate-wheel ${{ github.workspace }}/wheelhouse/opencv*
7171
- name: Saving a wheel accordingly to matrix
72-
uses: actions/upload-artifact@v4
72+
uses: actions/upload-artifact@v7
7373
with:
7474
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
7575
path: wheelhouse/opencv*.whl
@@ -100,12 +100,12 @@ jobs:
100100
run: find . -mindepth 1 -delete
101101
working-directory: ${{ github.workspace }}
102102
- name: Checkout
103-
uses: actions/checkout@v3
103+
uses: actions/checkout@v7
104104
with:
105105
submodules: true
106106
fetch-depth: 0
107107
- name: Download a wheel accordingly to matrix
108-
uses: actions/download-artifact@v4
108+
uses: actions/download-artifact@v8
109109
with:
110110
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
111111
path: wheelhouse/
@@ -144,7 +144,7 @@ jobs:
144144
run:
145145
shell: bash
146146
steps:
147-
- uses: actions/download-artifact@v4
147+
- uses: actions/download-artifact@v8
148148
with:
149149
name: wheels
150150
path: wheelhouse/
@@ -192,7 +192,7 @@ jobs:
192192
run:
193193
shell: bash
194194
steps:
195-
- uses: actions/download-artifact@v4
195+
- uses: actions/download-artifact@v8
196196
with:
197197
path: wheelhouse/
198198
- name: Select only OpenCV wheels
@@ -221,7 +221,7 @@ jobs:
221221
run:
222222
shell: bash
223223
steps:
224-
- uses: actions/download-artifact@v4
224+
- uses: actions/download-artifact@v8
225225
with:
226226
path: wheelhouse/
227227
- name: Select only OpenCV wheels

‎.github/workflows/build_wheels_macos_m1.yml‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
4444
fi
4545
- name: Checkout
46-
uses: actions/checkout@v3
46+
uses: actions/checkout@v7
4747
with:
4848
submodules: false
4949
fetch-depth: 0
@@ -57,7 +57,7 @@ jobs:
5757
python${{ matrix.python-version }} setup.py bdist_wheel --py-limited-api=cp37 --dist-dir=wheelhouse -v
5858
delocate-wheel ${{ github.workspace }}/wheelhouse/opencv*
5959
- name: Saving a wheel accordingly to matrix
60-
uses: actions/upload-artifact@v4
60+
uses: actions/upload-artifact@v7
6161
with:
6262
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
6363
path: wheelhouse/opencv*.whl
@@ -82,12 +82,12 @@ jobs:
8282
run: find . -mindepth 1 -delete
8383
working-directory: ${{ github.workspace }}
8484
- name: Checkout
85-
uses: actions/checkout@v3
85+
uses: actions/checkout@v7
8686
with:
8787
submodules: true
8888
fetch-depth: 0
8989
- name: Download a wheel accordingly to matrix
90-
uses: actions/download-artifact@v4
90+
uses: actions/download-artifact@v8
9191
with:
9292
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
9393
path: wheelhouse/
@@ -126,7 +126,7 @@ jobs:
126126
run:
127127
shell: bash
128128
steps:
129-
- uses: actions/download-artifact@v4
129+
- uses: actions/download-artifact@v8
130130
with:
131131
name: wheels
132132
path: wheelhouse/
@@ -174,7 +174,7 @@ jobs:
174174
run:
175175
shell: bash
176176
steps:
177-
- uses: actions/download-artifact@v4
177+
- uses: actions/download-artifact@v8
178178
with:
179179
path: wheelhouse/
180180
- name: Select only OpenCV wheels
@@ -203,7 +203,7 @@ jobs:
203203
run:
204204
shell: bash
205205
steps:
206-
- uses: actions/download-artifact@v4
206+
- uses: actions/download-artifact@v8
207207
with:
208208
path: wheelhouse/
209209
- name: Select only OpenCV wheels

‎.github/workflows/build_wheels_manylinux.yml‎

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,16 @@ jobs:
3333
include:
3434
- platform: aarch64
3535
manylinux: 2014
36-
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64:20260102
36+
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64:20260725
3737
- platform: x86_64
3838
manylinux: 2014
39-
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20260102
39+
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20260725
4040
- platform: x86_64
4141
manylinux: 2_28
42-
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20260102
42+
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20260725
4343
- platform: aarch64
4444
manylinux: 2_28
45-
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20260102
45+
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20260725
4646

4747
env:
4848
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
@@ -71,15 +71,15 @@ jobs:
7171
echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
7272
fi
7373
- name: Checkout
74-
uses: actions/checkout@v3
74+
uses: actions/checkout@v7
7575
with:
7676
submodules: false
7777
fetch-depth: 0
7878

7979
- name: Build a package
8080
run: source scripts/build.sh
8181
- name: Saving a wheel accordingly to matrix
82-
uses: actions/upload-artifact@v4
82+
uses: actions/upload-artifact@v7
8383
with:
8484
name: wheel-${{ matrix.platform }}-${{ matrix.manylinux }}-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
8585
path: wheelhouse/opencv*.whl
@@ -93,7 +93,7 @@ jobs:
9393
strategy:
9494
fail-fast: false
9595
matrix:
96-
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
96+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
9797
platform: [x86_64, aarch64]
9898
manylinux: [2014, 2_28]
9999
with_contrib: [0, 1]
@@ -103,28 +103,38 @@ jobs:
103103
env:
104104
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
105105
MB_PYTHON_VERSION: ${{ matrix.python-version }}
106-
NP_TEST_DEP: numpy==1.19.4
107-
NP_TEST_DEP_LATEST: numpy==2.2.6
106+
NP_TEST_DEP_OLD: numpy==1.19.4
107+
NP_TEST_DEP: numpy==2.2.6
108+
NP_TEST_DEP_LATEST: numpy==2.5.0
108109
CONFIG_PATH: travis_config.sh
109110
PLAT: ${{ matrix.platform }}
110111
SDIST: ${{ matrix.build_sdist || 0 }}
111112
ENABLE_HEADLESS: ${{ matrix.without_gui }}
112113
ENABLE_CONTRIB: ${{ matrix.with_contrib }}
113-
DOCKER_TEST_IMAGE: ${{ matrix.platform == 'aarch64' && 'quay.io/opencv-ci/multibuild-focal_arm64v8:2025-11-13' || '' }}
114+
DOCKER_TEST_IMAGE: ${{ matrix.platform == 'aarch64' && 'quay.io/opencv-ci/multibuild-noble_arm64v8:2026-06-15' || '' }}
114115
steps:
115116
- name: Cleanup
116117
run: find . -mindepth 1 -delete
117118
working-directory: ${{ github.workspace }}
118119
- name: Checkout
119-
uses: actions/checkout@v3
120+
uses: actions/checkout@v7
120121
with:
121122
submodules: true
122123
fetch-depth: 0
123124

124125
- name: Setup Environment variables
125-
run: if [ "3.10" == "${{ matrix.python-version }}" -o "3.11" == "${{ matrix.python-version }}" -o "3.12" == "${{ matrix.python-version }}" -o "3.13" == "${{ matrix.python-version }}" -o "3.14" == "${{ matrix.python-version }}" ]; then echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_LATEST)" >> $GITHUB_ENV; else echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; fi
126+
run: |
127+
if [ "3.8" == "${{ matrix.python-version }}" -o "3.9" == "${{ matrix.python-version }}" ]
128+
then
129+
echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_OLD)" >> $GITHUB_ENV
130+
elif [ "3.10" == "${{ matrix.python-version }}" -o "3.11" == "${{ matrix.python-version }}" -o "3.12" == "${{ matrix.python-version }}" -o "3.13" == "${{ matrix.python-version }}" ]
131+
then
132+
echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV
133+
else
134+
echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_LATEST)" >> $GITHUB_ENV
135+
fi
126136
- name: Download a wheel accordingly to matrix
127-
uses: actions/download-artifact@v4
137+
uses: actions/download-artifact@v8
128138
with:
129139
name: wheel-${{ matrix.platform }}-${{ matrix.manylinux }}-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
130140
path: wheelhouse/
@@ -171,7 +181,7 @@ jobs:
171181
echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
172182
fi
173183
- name: Checkout
174-
uses: actions/checkout@v3
184+
uses: actions/checkout@v7
175185
with:
176186
submodules: false
177187
fetch-depth: 0
@@ -193,7 +203,7 @@ jobs:
193203
set -x
194204
echo "skipping tests because of sdist"
195205
- name: saving artifacts
196-
uses: actions/upload-artifact@v4
206+
uses: actions/upload-artifact@v7
197207
with:
198208
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
199209
path: dist/opencv*.tar.gz
@@ -210,7 +220,7 @@ jobs:
210220
run:
211221
shell: bash
212222
steps:
213-
- uses: actions/download-artifact@v4
223+
- uses: actions/download-artifact@v8
214224
with:
215225
path: wheelhouse/
216226
- name: Select only OpenCV wheels
@@ -257,7 +267,7 @@ jobs:
257267
run:
258268
shell: bash
259269
steps:
260-
- uses: actions/download-artifact@v4
270+
- uses: actions/download-artifact@v8
261271
with:
262272
path: wheelhouse/
263273
- name: Select only OpenCV wheels
@@ -286,16 +296,16 @@ jobs:
286296
run:
287297
shell: bash
288298
steps:
289-
- uses: actions/download-artifact@v4
299+
- uses: actions/download-artifact@v8
290300
with:
291301
path: wheelhouse/
292302
- name: Select only OpenCV wheels
293303
run: |
294304
mkdir dist dist-contrib dist-headless dist-contrib-headless
295-
cp wheelhouse/wheel-*/opencv_python-* wheelhouse/wheel-*/opencv-python-[^h]* dist/
296-
cp wheelhouse/wheel-*/opencv_contrib_python-* wheelhouse/wheel-*/opencv-contrib-python-[^h]* dist-contrib/
297-
cp wheelhouse/wheel-*/opencv_python_headless-* wheelhouse/wheel-*/opencv-python-headless-* dist-headless/
298-
cp wheelhouse/wheel-*/opencv_contrib_python_headless-* wheelhouse/wheel-*/opencv-contrib-python-headless-* dist-contrib-headless/
305+
cp wheelhouse/opencv_python-* wheelhouse/opencv-python-[^h]* dist/
306+
cp wheelhouse/opencv_contrib_python-* wheelhouse/opencv-contrib-python-[^h]* dist-contrib/
307+
cp wheelhouse/opencv_python_headless-* wheelhouse/opencv-python-headless-* dist-headless/
308+
cp wheelhouse/opencv_contrib_python_headless-* wheelhouse/opencv-contrib-python-headless-* dist-contrib-headless/
299309
- name: Upload wheels for opencv_python
300310
uses: pypa/gh-action-pypi-publish@release/v1
301311
with:

‎.github/workflows/build_wheels_windows.yml‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ on:
1717

1818
jobs:
1919
Build:
20-
runs-on: windows-2025
20+
runs-on: windows-2022
2121
strategy:
2222
fail-fast: false
2323
matrix:
@@ -46,7 +46,7 @@ jobs:
4646
echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
4747
fi
4848
- name: Checkout
49-
uses: actions/checkout@v4
49+
uses: actions/checkout@v7
5050
with:
5151
submodules: false
5252
fetch-depth: 0
@@ -70,7 +70,7 @@ jobs:
7070
set "CI_BUILD=1" && python setup.py bdist_wheel --py-limited-api=cp37 --dist-dir=%cd%\wheelhouse -v
7171
shell: cmd
7272
- name: Saving all wheels
73-
uses: actions/upload-artifact@v4
73+
uses: actions/upload-artifact@v7
7474
with:
7575
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}-${{ matrix.platform }}
7676
path: wheelhouse/opencv*
@@ -84,7 +84,7 @@ jobs:
8484
strategy:
8585
fail-fast: false
8686
matrix:
87-
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
87+
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
8888
platform: [x86, x64]
8989
with_contrib: [0, 1]
9090
without_gui: [0, 1]
@@ -102,7 +102,7 @@ jobs:
102102
rm -rf ./.??* || true
103103
working-directory: ${{ github.workspace }}
104104
- name: Checkout
105-
uses: actions/checkout@v4
105+
uses: actions/checkout@v7
106106
with:
107107
submodules: true
108108
fetch-depth: 0
@@ -112,7 +112,7 @@ jobs:
112112
python-version: ${{ matrix.python-version }}
113113
architecture: ${{ matrix.platform }}
114114
- name: Download a wheel accordingly to matrix
115-
uses: actions/download-artifact@v4
115+
uses: actions/download-artifact@v8
116116
with:
117117
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}-${{ matrix.platform }}
118118
path: wheelhouse/
@@ -145,7 +145,7 @@ jobs:
145145
run:
146146
shell: bash
147147
steps:
148-
- uses: actions/download-artifact@v4
148+
- uses: actions/download-artifact@v8
149149
with:
150150
path: wheelhouse/
151151
- name: Select only OpenCV wheels
@@ -192,7 +192,7 @@ jobs:
192192
run:
193193
shell: bash
194194
steps:
195-
- uses: actions/download-artifact@v4
195+
- uses: actions/download-artifact@v8
196196
with:
197197
path: wheelhouse/
198198
- name: Select only OpenCV wheels
@@ -220,7 +220,7 @@ jobs:
220220
run:
221221
shell: bash
222222
steps:
223-
- uses: actions/download-artifact@v4
223+
- uses: actions/download-artifact@v8
224224
with:
225225
path: wheelhouse/
226226
- name: Select only OpenCV wheels

‎LICENSE-3RD-PARTY.txt‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3573,3 +3573,31 @@ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35733573
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35743574
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
35753575
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3576+
3577+
------------------------------------------------------------------------------
3578+
3579+
dav1d library is redistributed within all opencv-python Linux packages.
3580+
3581+
Copyright © 2018-2025, VideoLAN and dav1d authors
3582+
All rights reserved.
3583+
3584+
Redistribution and use in source and binary forms, with or without
3585+
modification, are permitted provided that the following conditions are met:
3586+
3587+
1. Redistributions of source code must retain the above copyright notice, this
3588+
list of conditions and the following disclaimer.
3589+
3590+
2. Redistributions in binary form must reproduce the above copyright notice,
3591+
this list of conditions and the following disclaimer in the documentation
3592+
and/or other materials provided with the distribution.
3593+
3594+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
3595+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
3596+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
3597+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
3598+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
3599+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
3600+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
3601+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3602+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
3603+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ Python 3.x compatible pre-built wheels are provided for the officially supported
243243
- 3.11
244244
- 3.12
245245
- 3.13
246+
- 3.14
246247

247248
### Backward compatibility
248249

0 commit comments

Comments
 (0)