Skip to content

Commit 7cd1005

Browse files
authored
Release v0.7.2 (#579)
## 1. Version Identifiers, Branch Prep - [x] Create release branch `releases/0.7.2` off `main`; fast-forward it to `main` as release work lands. - [x] Bump `__version__` in `scenedetect/__init__.py` (`0.7.2`) - [x] Bump `docs/LATEST_VERSION` (`0.7.2`, matches the branch suffix so `generate-docs.yml` updates `docs/latest`) - [x] Regular release: no `-dev` suffix ## 2. Documentation, Website, Changelog - [x] Docstrings / API docs reflect any signature changes (`sphinx-build -W` completes clean). - [x] `docs/api/migration_guide.rst` reviewed - 0.7.2 is additive-only (deprecation warnings for the `framerate` aliases were already documented), no update needed. - [x] Changelog has release notes: 0.7.2 section with summary, CLI / API / Packaging subsections, restore-old-behavior commands for the `detect-hist` / `detect-hash` default changes (#559). - [x] `website/pages/download.md` updated (v0.7.2, October 11, 2026, installer links point at the `v0.7.2` tag). - [x] `website/pages/changelog.md`: 0.7.2 section moved from the Development section to the top (nested under `## PySceneDetect 0.7`); fresh 0.7.3 stub left at the bottom. - [x] `website/pages/index.md` and `README.md`: latest release version and date updated. - [x] `website/pages/benchmarks.md`: v0.7.2 default column added; note that the default-settings results predate the change (regeneration deferred, #559). - [ ] `docs/cli.rst`: generator output matches the committed file. Known drift: line 423 carries a hand-written sentence from fe725f2 that `docs/generate_cli_docs.py` does not produce, and `check-docs.yml` does not run the generator before its diff check, so CI cannot catch this. Decide: move the sentence into the CLI help string, or drop it; add the generator run to the workflow. ## 3. Tests - [x] Static analysis passing (ruff check + format clean, pyright 0 errors). - [x] Unit tests green locally: 464 passed / 2 skipped on `releases/0.7.2`. - [ ] Release test suite green in CI: all 4 jobs (`static`, `release-tests`, `install-matrix`, `long-stress`) on the tag. - [ ] `pip-audit` clean or exceptions documented in the changelog (pillow 12.3.0 override from 0.7.1 still in place; moviepy 2.2.1 still caps `pillow<12.0`). - [x] `packaging/build_all.py` produces all 4 artifacts at 0.7.2 (`scenedetect` and `scenedetect-headless`; `scenedetect-core` is discontinued, #558). ## 4. Prepare Windows Distribution - [x] `packaging/windows/requirements.txt` updated (PyAV 19.0.1, click 8.5.0, numpy 2.5.4, platformdirs 4.13.0, tqdm 4.70.1) and bundled ffmpeg bumped to 9.0.2 in `appveyor.yml`. First Windows bundle on PyAV 19 and FFmpeg 9. - [x] `scripts/update_installer.py` run: `.aip` at ProductVersion 0.7.2, fresh ProductCode, MSI filename `PySceneDetect-0.7.2-win64.msi`; parity with `__version__` verified. - [ ] Run AppVeyor build on release branch, ensure resulting portable distribution and MSI installer are correct (smoke-test a PyAV-backend run in the frozen exe). ## 5. Tag & Draft Release - [x] Final commit on `releases/0.7.2`: "[releases] Release 0.7.2" (e152f24). - [ ] Tag `v0.7.2` on that commit and push. Wait for all tests/builds to pass. - [ ] Approve code signing request on SignPath, download `scenedetect-signed.zip` - [ ] Finalize Windows artifacts locally: drop `scenedetect-signed.zip` into `dist/signed/`, run `python scripts/finalize_windows_dist.py` (rebuilds portable .zip from the signed .msi, writes manifest + SHA256SUMS, runs `scripts/validate_release.py`). - [ ] Draft release on Github using the tagged commit: full changelog and release notes, signed portable .ZIP, signed .MSI installer, Python .whl/.tar.gz packages, and checksum manifests (`PySceneDetect-0.7.2-win64.manifest.json` + `SHA256SUMS`) - [ ] Verify all artifacts uploaded to Github release are valid and named correctly - [ ] Smoke-test all release artifacts ## 6. Publish & Release Checks - [ ] Dispatch `release.yml` (Release Orchestrator) with `tag=v0.7.2` while the release is still a **draft**. It runs the verify-then-publish ladder (MSI install/upgrade test -> TestPyPI -> publish Github release -> PyPI -> Docker), verifying each stage before the next. - [ ] Verify the Docker image on GHCR: `ghcr.io/breakthrough/pyscenedetect:latest` and the version tag. - [ ] Verify both projects: https://pypi.org/project/scenedetect/ and https://pypi.org/project/scenedetect-headless/. - [ ] Deploy website: `generate-website.yml` - [ ] Deploy docs: `generate-docs.yml` - [ ] Merge this PR (release branch back into `main`), verify `docs/LATEST_VERSION` is correct - [ ] [Manually dispatch `generate-docs.yml`](https://github.com/Breakthrough/PySceneDetect/actions/workflows/generate-docs.yml) against `releases/0.7.2` to update www.scenedetect.com/docs/latest - [ ] Smoke-test PyPI release: in a fresh venv, `pip install scenedetect==0.7.2`; CLI launches and `scenedetect version` looks correct. - [ ] Verify download links on website are correct, PyPI project page is up to date and correct. - [ ] Post-release on `main`: start the next development version (`__version__`, changelog stub). - [ ] Clear / archive release-scoped tracking files. - [ ] Announce: project site, relevant issues / discussions closed and linked to the release.
2 parents c323ff2 + 9df42d6 commit 7cd1005

8 files changed

Lines changed: 51 additions & 49 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
----------------------------------------------------------
1515

16-
### Latest Release: v0.7.1 (July 21, 2026)
16+
### Latest Release: v0.7.2 (October 11, 2026)
1717

1818
**Website**: [scenedetect.com](https://www.scenedetect.com)
1919

‎docs/LATEST_VERSION‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.7.1
1+
0.7.2

‎packaging/windows/installer/PySceneDetect.aip‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
<ROW Property="DialogBitmap" Value="dialog.jpg" MultiBuildValue="DefaultBuild:installer_logo.jpg" Type="1" MsiKey="DialogBitmap"/>
2424
<ROW Property="MSIFASTINSTALL" MultiBuildValue="DefaultBuild:3"/>
2525
<ROW Property="Manufacturer" Value="Brandon Castellano"/>
26-
<ROW Property="ProductCode" Value="1033:{61D7DE50-E4E4-456F-9361-413F73DA43FC} " Type="16"/>
26+
<ROW Property="ProductCode" Value="1033:{52723D44-AB44-425E-BB50-F18C934B90A6} " Type="16"/>
2727
<ROW Property="ProductLanguage" Value="1033"/>
2828
<ROW Property="ProductName" Value="PySceneDetect"/>
29-
<ROW Property="ProductVersion" Value="0.7.1" Options="32"/>
29+
<ROW Property="ProductVersion" Value="0.7.2" Options="32"/>
3030
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
3131
<ROW Property="UpgradeCode" Value="{D0AF0419-DBD5-455C-A4AC-4518A35DD23E}"/>
3232
<ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
@@ -159,7 +159,7 @@
159159
<ROW Directory="x86simdsort_Dir" Directory_Parent="npysort_Dir" DefaultDir="X86-SI~1|x86-simd-sort"/>
160160
</COMPONENT>
161161
<COMPONENT cid="caphyon.advinst.msicomp.SideBySideGuidComponent">
162-
<ROW Component="AI_CustomARPName" Value="{875513D0-8249-4DFA-BE9C-4A2A1B22F171}"/>
162+
<ROW Component="AI_CustomARPName" Value="{53ECFB54-3F34-441E-8083-B984D28F2057}"/>
163163
<ROW Component="AI_DisableModify" Value="{5AB8A335-BCAB-4C0A-8A69-E2AE7542AB47}"/>
164164
<ROW Component="AI_ExePath" Value="{F7DEDE0C-FDB1-411C-B347-A482CE69721F}"/>
165165
<ROW Component="APPDIR" Value="{6B122BDD-2BF8-41D4-92E0-884DD60467B4}"/>
@@ -291,7 +291,7 @@
291291
</COMPONENT>
292292
<COMPONENT cid="caphyon.advinst.msicomp.MsiCompsComponent">
293293
<ROW Component="ACT" ComponentId="{31CB1D42-690C-4AA9-ABEB-7591D8240C30}" Directory_="Australia_Dir" Attributes="0" KeyPath="ACT" Type="0"/>
294-
<ROW Component="AI_CustomARPName" ComponentId="{875513D0-8249-4DFA-BE9C-4A2A1B22F171}" Directory_="APPDIR" Attributes="260" KeyPath="DisplayName" Options="1"/>
294+
<ROW Component="AI_CustomARPName" ComponentId="{53ECFB54-3F34-441E-8083-B984D28F2057}" Directory_="APPDIR" Attributes="260" KeyPath="DisplayName" Options="1"/>
295295
<ROW Component="AI_DisableModify" ComponentId="{5AB8A335-BCAB-4C0A-8A69-E2AE7542AB47}" Directory_="APPDIR" Attributes="260" KeyPath="NoModify" Options="1"/>
296296
<ROW Component="AI_ExePath" ComponentId="{F7DEDE0C-FDB1-411C-B347-A482CE69721F}" Directory_="APPDIR" Attributes="260" KeyPath="AI_ExePath"/>
297297
<ROW Component="APPDIR" ComponentId="{6B122BDD-2BF8-41D4-92E0-884DD60467B4}" Directory_="APPDIR" Attributes="0"/>
@@ -1743,7 +1743,7 @@
17431743
<ROW Action="AI_CleanPrePrereq" Condition="AI_BOOTSTRAPPER AND (NOT AI_PrereqsFulfilled)" Sequence="699"/>
17441744
</COMPONENT>
17451745
<COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
1746-
<ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="." PackageFileName="PySceneDetect-0.7.1-win64" Languages="en" InstallationType="4" ExtUI="true" UseLargeSchema="true" MsiPackageType="x64"/>
1746+
<ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="." PackageFileName="PySceneDetect-0.7.2-win64" Languages="en" InstallationType="4" ExtUI="true" UseLargeSchema="true" MsiPackageType="x64"/>
17471747
</COMPONENT>
17481748
<COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
17491749
<ROW Path="&lt;AI_DICTS&gt;ui.ail"/>

‎scenedetect/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080

8181
# Used for module identification and when printing version & about info
8282
# (e.g. calling `scenedetect version` or `scenedetect about`).
83-
__version__ = "0.7.1"
83+
__version__ = "0.7.2"
8484

8585
init_logger()
8686
logger = getLogger("pyscenedetect")

‎tests/release/synthetic.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def generate_vfr_swing(output_path: str):
4141
"color=white:size=320x240:duration=5:rate=1",
4242
"-filter_complex",
4343
"[0:v][1:v][2:v]concat=n=3:v=1:a=0",
44-
"-vsync",
44+
"-fps_mode",
4545
"vfr",
4646
output_path,
4747
]
@@ -61,7 +61,7 @@ def generate_vfr_pts_gap(output_path: str):
6161
"testsrc2=duration=5:rate=30",
6262
"-vf",
6363
"select='not(between(n,30,32))'",
64-
"-vsync",
64+
"-fps_mode",
6565
"vfr",
6666
output_path,
6767
]

‎website/pages/changelog.md‎

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,40 @@
33

44
## PySceneDetect 0.7
55

6+
### PySceneDetect 0.7.2 (October 11, 2026)
7+
8+
PySceneDetect 0.7.2 ships improved defaults for the histogram and perceptual hash detectors, adds PyAV 19 support, and fixes several timing and output bugs. **Default output of `detect-hist` and `detect-hash` will change in this release due to improved default values**.
9+
10+
#### CLI Changes
11+
12+
- [improvement] `HistogramDetector` (`detect-hist`) default `threshold` changed from 0.05 to 0.20 and default `bins` from 256 to 128, calibrated from the [benchmarks](https://www.scenedetect.com/benchmarks/). Output for this detector will change if you are not setting both parameters explicitly. [#559](https://github.com/Breakthrough/PySceneDetect/issues/559)
13+
- Use `detect-hist -t 0.05 -b 256` or `HistogramDetector(threshold=0.05, bins=256)` to restore the previous behavior.
14+
- [improvement] `HashDetector` (`detect-hash`) default `threshold` changed from 0.395 to 0.35 and default `size` from 16 to 8, calibrated from the [benchmarks](https://www.scenedetect.com/benchmarks/). Output for this detector will change if you are not setting both parameters explicitly. [#559](https://github.com/Breakthrough/PySceneDetect/issues/559)
15+
- Use `detect-hash -t 0.395 -s 16` or `HashDetector(threshold=0.395, size=16)` to restore the previous behavior.
16+
- [improvement] `detect-threshold` now ignores fade-outs shorter than `0.1s` by default. Use `--min-out-length 0` to restore the previous behavior. The API default remains `0` [#278](https://github.com/Breakthrough/PySceneDetect/issues/278)
17+
- [feature] Added `save-keyframes` command to export detected cuts using `# keyframe format v1` for Aegisub-compatible tools [#534](https://github.com/Breakthrough/PySceneDetect/issues/534). Frame numbers are currently approximate for VFR input [#569](https://github.com/Breakthrough/PySceneDetect/issues/569)
18+
- [feature] Add `--min-out-length`/`min_out_length` to `detect-threshold`/`ThresholdDetector`, which requires that fades stay below the threshold for the given duration [#278](https://github.com/Breakthrough/PySceneDetect/issues/278)
19+
- [general] `-f`, `--frame-rate`, and `--framerate` are now aliases of the same CLI option, and all forms appear in help and documentation. If multiple forms are given, the last value is used [#548](https://github.com/Breakthrough/PySceneDetect/issues/548)
20+
- [bugfix] Progress bar now reaches 100% when processing variable framerate (VFR) videos, with both the OpenCV and PyAV backends [#561](https://github.com/Breakthrough/PySceneDetect/issues/561)
21+
- [bugfix] Fix `AdaptiveDetector` / `detect-adaptive` emitting scenes shorter than `min_scene_len` when `window_width` is large, by applying the minimum-length check to the emitted (target) frame instead of the current frame [#408](https://github.com/Breakthrough/PySceneDetect/issues/408)
22+
23+
#### API Changes
24+
25+
- [api] Legacy `framerate` argument aliases in `FrameTimecode`, `open_video()`, and the video backends now emit a `DeprecationWarning`; use `frame_rate` instead. When both forms are provided, `frame_rate` takes precedence [#548](https://github.com/Breakthrough/PySceneDetect/issues/548)
26+
- [api] `write_scene_list()` now also accepts a path (`str` or `pathlib.Path`) as the first argument in addition to an open file handle; paths are opened and closed automatically [#523](https://github.com/Breakthrough/PySceneDetect/issues/523)
27+
- [api] Scene-list output functions for EDL, FCPXML, FCP7 XML, and OTIO now accept an open text file handle, a string path, or a `pathlib.Path`; paths are opened and closed automatically [#567](https://github.com/Breakthrough/PySceneDetect/issues/567)
28+
- [bugfix] `ThresholdDetector`/`detect-threshold` with method `CEILING` now classifies the first frame with the `CEILING` rule instead of the `FLOOR` rule, which anchored a leading fade one frame late and could emit a spurious cut at the first frame (thanks @MuhammadBilalKhan267)
29+
- [bugfix] Fix `min_scene_len` given in frames dropping cuts that are exactly `min_scene_len` frames apart at NTSC framerates (e.g. 29.97 fps), by comparing frame counts instead of converting to seconds [#577](https://github.com/Breakthrough/PySceneDetect/issues/577)
30+
- [bugfix] Fix `TypeError` when opening videos with the `pyav` backend on PyAV 19.0 or newer (PyAV 19 is now supported)
31+
- [bugfix] Fix `pyav` backend duration calculation fallback
32+
- [bugfix] Fix `pyav` backend not releasing the file handle it opened when the stream is garbage collected, which emitted a `ResourceWarning` under `python -X dev` [#568](https://github.com/Breakthrough/PySceneDetect/issues/568)
33+
- [bugfix] Work around an intermittent segfault on exit with the OpenCV backend on Windows when opening PNG image sequences with `opencv-python` 4.14 or 5.0 (upstream: [opencv/opencv#30017](https://github.com/opencv/opencv/issues/30017)) [#575](https://github.com/Breakthrough/PySceneDetect/issues/575)
34+
35+
#### Packaging
36+
37+
- [general] The Windows distribution now bundles PyAV 19 and FFmpeg 9.0
38+
- [general] The `scenedetect-core` package introduced in 0.7.1 has been discontinued, and its only release (0.7.1) yanked from PyPI. Existing `scenedetect-core` installs keep working but will not receive updates. Install either `scenedetect` or `scenedetect-headless`. [#558](https://github.com/Breakthrough/PySceneDetect/issues/558)
39+
640
### PySceneDetect 0.7.1 (July 21, 2026)
741

842
PySceneDetect 0.7.1 adds support for concatenating multiple videos, along with several stability and robustness fixes for the PyAV and OpenCV backends.
@@ -781,36 +815,4 @@ Both the Windows installer and portable distributions now include signed executa
781815
Development
782816
==========================================================
783817

784-
## PySceneDetect 0.7.2 (TBD)
785-
786-
PySceneDetect 0.7.2 ships improved defaults for the histogram and perceptual hash detectors, adds PyAV 19 support, and fixes several timing and output bugs. **Default output of `detect-hist` and `detect-hash` will change in this release due to improved default values*.
787-
788-
#### CLI Changes
789-
790-
- [improvement] `HistogramDetector` (`detect-hist`) default `threshold` changed from 0.05 to 0.20 and default `bins` from 256 to 128, calibrated from the [benchmarks](https://www.scenedetect.com/benchmarks/). Output for this detector will change if you are not setting both parameters explicitly. [#559](https://github.com/Breakthrough/PySceneDetect/issues/559)
791-
- Use `detect-hist -t 0.05 -b 256` or `HistogramDetector(threshold=0.05, bins=256)` to restore the previous behavior.
792-
- [improvement] `HashDetector` (`detect-hash`) default `threshold` changed from 0.395 to 0.35 and default `size` from 16 to 8, calibrated from the [benchmarks](https://www.scenedetect.com/benchmarks/). Output for this detector will change if you are not setting both parameters explicitly. [#559](https://github.com/Breakthrough/PySceneDetect/issues/559)
793-
- Use `detect-hash -t 0.395 -s 16` or `HashDetector(threshold=0.395, size=16)` to restore the previous behavior.
794-
- [improvement] `detect-threshold` now ignores fade-outs shorter than `0.1s` by default. Use `--min-out-length 0` to restore the previous behavior. The API default remains `0` [#278](https://github.com/Breakthrough/PySceneDetect/issues/278)
795-
- [feature] Added `save-keyframes` command to export detected cuts using `# keyframe format v1` for Aegisub-compatible tools [#534](https://github.com/Breakthrough/PySceneDetect/issues/534). Frame numbers are currently approximate for VFR input [#569](https://github.com/Breakthrough/PySceneDetect/issues/569)
796-
- [feature] Add `--min-out-length`/`min_out_length` to `detect-threshold`/`ThresholdDetector`, which requires that fades stay below the threshold for the given duration [#278](https://github.com/Breakthrough/PySceneDetect/issues/278)
797-
- [general] `-f`, `--frame-rate`, and `--framerate` are now aliases of the same CLI option, and all forms appear in help and documentation. If multiple forms are given, the last value is used [#548](https://github.com/Breakthrough/PySceneDetect/issues/548)
798-
- [bugfix] Progress bar now reaches 100% when processing variable framerate (VFR) videos, with both the OpenCV and PyAV backends [#561](https://github.com/Breakthrough/PySceneDetect/issues/561)
799-
- [bugfix] Fix `AdaptiveDetector` / `detect-adaptive` emitting scenes shorter than `min_scene_len` when `window_width` is large, by applying the minimum-length check to the emitted (target) frame instead of the current frame [#408](https://github.com/Breakthrough/PySceneDetect/issues/408)
800-
801-
#### API Changes
802-
803-
- [api] Legacy `framerate` argument aliases in `FrameTimecode`, `open_video()`, and the video backends now emit a `DeprecationWarning`; use `frame_rate` instead. When both forms are provided, `frame_rate` takes precedence [#548](https://github.com/Breakthrough/PySceneDetect/issues/548)
804-
- [api] `write_scene_list()` now also accepts a path (`str` or `pathlib.Path`) as the first argument in addition to an open file handle; paths are opened and closed automatically [#523](https://github.com/Breakthrough/PySceneDetect/issues/523)
805-
- [api] Scene-list output functions for EDL, FCPXML, FCP7 XML, and OTIO now accept an open text file handle, a string path, or a `pathlib.Path`; paths are opened and closed automatically [#567](https://github.com/Breakthrough/PySceneDetect/issues/567)
806-
- [bugfix] `ThresholdDetector`/`detect-threshold` with method `CEILING` now classifies the first frame with the `CEILING` rule instead of the `FLOOR` rule, which anchored a leading fade one frame late and could emit a spurious cut at the first frame (thanks @MuhammadBilalKhan267)
807-
- [bugfix] Fix `min_scene_len` given in frames dropping cuts that are exactly `min_scene_len` frames apart at NTSC framerates (e.g. 29.97 fps), by comparing frame counts instead of converting to seconds [#577](https://github.com/Breakthrough/PySceneDetect/issues/577)
808-
- [bugfix] Fix `TypeError` when opening videos with the `pyav` backend on PyAV 19.0 or newer (PyAV 19 is now supported)
809-
- [bugfix] Fix `pyav` backend duration calculation fallback
810-
- [bugfix] Fix `pyav` backend not releasing the file handle it opened when the stream is garbage collected, which emitted a `ResourceWarning` under `python -X dev` [#568](https://github.com/Breakthrough/PySceneDetect/issues/568)
811-
- [bugfix] Work around an intermittent segfault on exit with the OpenCV backend on Windows when opening PNG image sequences with `opencv-python` 4.14 or 5.0 (upstream: [opencv/opencv#30017](https://github.com/opencv/opencv/issues/30017)) [#575](https://github.com/Breakthrough/PySceneDetect/issues/575)
812-
813-
#### Packaging
814-
815-
- [general] The Windows distribution now bundles PyAV 19 and FFmpeg 9.0
816-
- [general] The `scenedetect-core` package introduced in 0.7.1 has been discontinued, and its only release (0.7.1) yanked from PyPI. Existing `scenedetect-core` installs keep working but will not receive updates. Install either `scenedetect` or `scenedetect-headless`. [#558](https://github.com/Breakthrough/PySceneDetect/issues/558)
818+
## PySceneDetect 0.7.3 (TBD)

‎website/pages/download.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ Both provide the same `scenedetect` Python module -- install only one of them.
2525
## Windows Build (64-bit Only) &nbsp; <span class="wy-text-neutral"><span class="fa fa-windows"></span></span>
2626

2727
<div class="important">
28-
<h3 class="wy-text-neutral"><span class="fa fa-forward wy-text-info"></span> Latest Release: <b class="wy-text-neutral">v0.7.1</b></h3>
29-
<h4 class="wy-text-neutral"><span class="fa fa-calendar wy-text-info"></span>&nbsp; Release Date:&nbsp; <b>July 21, 2026</b></h4>
30-
<a href="https://github.com/Breakthrough/PySceneDetect/releases/download/v0.7.1/PySceneDetect-0.7.1-win64.msi" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Installer</b>&nbsp;&nbsp;(recommended)</a> &nbsp;&nbsp;&nbsp;&nbsp;
31-
<a href="https://github.com/Breakthrough/PySceneDetect/releases/download/v0.7.1/PySceneDetect-0.7.1-win64.zip" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Portable .zip</b></a> &nbsp;&nbsp;&nbsp;&nbsp;
28+
<h3 class="wy-text-neutral"><span class="fa fa-forward wy-text-info"></span> Latest Release: <b class="wy-text-neutral">v0.7.2</b></h3>
29+
<h4 class="wy-text-neutral"><span class="fa fa-calendar wy-text-info"></span>&nbsp; Release Date:&nbsp; <b>October 11, 2026</b></h4>
30+
<a href="https://github.com/Breakthrough/PySceneDetect/releases/download/v0.7.2/PySceneDetect-0.7.2-win64.msi" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Installer</b>&nbsp;&nbsp;(recommended)</a> &nbsp;&nbsp;&nbsp;&nbsp;
31+
<a href="https://github.com/Breakthrough/PySceneDetect/releases/download/v0.7.2/PySceneDetect-0.7.2-win64.zip" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Portable .zip</b></a> &nbsp;&nbsp;&nbsp;&nbsp;
3232
<a href="../cli/" class="btn btn-success" style="margin-bottom:8px;" role="button"><span class="fa fa-book"></span>&nbsp; <b>Getting Started</b></a>
3333
</div>
3434

@@ -48,7 +48,7 @@ docker run --rm -v "$(pwd):/files" ghcr.io/breakthrough/pyscenedetect \
4848
-i /files/video.mp4 detect-adaptive split-video -o /files
4949
```
5050

51-
The `latest` tag (the default when no tag is given) points to the most recent recommended build, the `main` tag tracks the development branch, and version tags (e.g. `0.7.1`) point to specific releases. `podman` can be used in place of `docker` in the commands above.
51+
The `latest` tag (the default when no tag is given) points to the most recent recommended build, the `main` tag tracks the development branch, and version tags (e.g. `0.7.2`) point to specific releases. `podman` can be used in place of `docker` in the commands above.
5252

5353
## Post Installation
5454

‎website/pages/index.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<img alt="PySceneDetect" src="img/pyscenedetect_logo_small.png" />
44

55
<div class="important">
6-
<h3 class="wy-text-neutral"><span class="fa fa-info-circle wy-text-info"></span>&nbsp; Latest Release: <b>v0.7.1</b> (July 21, 2026)</h3>
6+
<h3 class="wy-text-neutral"><span class="fa fa-info-circle wy-text-info"></span>&nbsp; Latest Release: <b>v0.7.2</b> (October 11, 2026)</h3>
77
<a href="download/" class="btn btn-success" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Download</b></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="changelog/" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-reorder"></span>&nbsp; <b>Changelog</b></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="docs/latest/" class="btn btn-warning" style="margin-bottom:8px;" role="button"><span class="fa fa-gear"></span>&nbsp; <b>Documentation</b></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="cli/" class="btn btn-danger" style="margin-bottom:8px;" role="button"><span class="fa fa-book"></span>&nbsp; <b>Getting Started</b></a>
88
</div>
99

0 commit comments

Comments
 (0)