Skip to content

Commit 158af78

Browse files
shrimblyclaude
andcommitted
update release notes and changelog for full v0.4.0 scope
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 8fcf84d commit 158af78

2 files changed

Lines changed: 28 additions & 15 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,34 @@ All notable changes to the Sharp Frames project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [0.4.0] - 2026-07-16
8+
## [0.4.0] - 2026-07-18
99

1010
### Added
11-
- Scrollable frame timeline with keyboard navigation and full-result visualization
11+
- Scrollable full-frame selection timeline with click-to-inspect and keyboard navigation
12+
- Inline terminal frame preview via Sixel/Kitty raster graphics with an external-viewer fallback
13+
- Automatic color space detection and conversion to sRGB for HDR and wide-gamut sources (BT.2020, HLG, PQ)
1214
- Resolution-normalized focus scoring for more consistent comparisons across source sizes
13-
- Cross-platform CI coverage for Python 3.10 through 3.13 on Linux, macOS, and Windows
15+
- Trend-aware outlier detection with improved defaults
16+
- Responsive selection layout that keeps the preview and chart visible on short terminals
17+
- Shared alpha-preserving image decode/resize/encode helpers
18+
- Cross-platform CI coverage for Python 3.10 through 3.13 on Linux, macOS, and Windows, plus the minimum supported Textual version
1419
- Regression coverage for selection quality, output collisions, cancellation, and runtime cleanup
1520

1621
### Changed
1722
- Selection methods now balance sharpness and temporal distribution more consistently
1823
- Frame extraction, analysis, preview, and saving pipelines provide stricter validation and failure reporting
1924
- Image-directory exports preserve content while correctly handling format conversion and case-insensitive filename collisions
20-
- Configuration and selection screens provide clearer controls, status, and keyboard behavior
25+
- Configuration and selection screens provide clearer controls, status, and keyboard behavior; the processing screen is vertically centered
26+
- Textual requirement raised to 5.0 or newer; new dependencies `textual-image` and `Pillow`
2127

2228
### Fixed
2329
- FFmpeg and FFprobe process cleanup, cancellation, timeout, and pipe handling
2430
- Partial or failed image reads being treated as valid zero-quality frames
2531
- Selection previews disagreeing with the frames produced during processing
2632
- Output metadata reporting frames that were not successfully saved
2733
- Platform-specific dependency guidance and Windows-safe process startup
34+
- Start Over after saving returning to the middle of setup instead of the first step
35+
- Cancel during setup leaving the application running on an empty screen
2836

2937
## [0.3.1] - 2025-01-29
3038

‎RELEASE_NOTES.md‎

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,28 @@
22

33
## Highlights
44

5-
- Explore the complete analyzed frame set in a scrollable timeline with keyboard navigation.
6-
- Get more reliable selections from resolution-normalized focus scoring and improved temporal distribution.
5+
- Explore the complete analyzed frame set in a scrollable timeline — click any bar to preview that frame directly in the terminal.
6+
- iPhone and HDR sources (BT.2020, HLG, PQ) are detected and converted to sRGB automatically.
7+
- Get more reliable selections from resolution-normalized focus scoring, trend-aware outlier detection, and improved temporal distribution.
78
- Preview and execution now share the same selection rules, so displayed counts and chosen frames agree.
89

9-
## Reliability and Compatibility
10-
11-
- Hardened FFmpeg and FFprobe cancellation, timeouts, output draining, and temporary-directory cleanup.
12-
- Unreadable images are excluded and reported instead of silently receiving valid-looking scores.
13-
- Image exports handle format conversion, partial failures, metadata accuracy, and case-insensitive filename collisions.
14-
- CI covers Linux, macOS, and Windows on Python 3.10, 3.11, 3.12, and 3.13.
15-
1610
## Interface Improvements
1711

12+
- Full-frame selection timeline with click-to-inspect, horizontal scrolling, and keyboard navigation (arrows, PgUp/PgDn through selected frames, Ctrl+PgUp/PgDn paging, Home/End).
13+
- Inline frame preview rendered through Sixel or Kitty terminal graphics, with an external-viewer fallback (press `O`).
14+
- Responsive layout keeps the preview and chart visible on short terminals (down to 80×24) while preserving the spacious layout on large ones.
15+
- Start Over returns to the first setup step with a clean configuration, and Cancel exits the application.
1816
- Clearer configuration controls and validation feedback.
19-
- Improved selection chart contrast, spacing, scrolling, and keyboard controls.
2017
- More actionable dependency and processing errors across supported platforms.
2118

19+
## Reliability and Compatibility
20+
21+
- HDR and wide-gamut color spaces are converted to sRGB/BT.709 through FFmpeg `zscale`, with a clear error for unsupported BT.2020 constant-luminance sources.
22+
- Hardened FFmpeg and FFprobe cancellation, timeouts, output draining, and temporary-directory cleanup.
23+
- Unreadable images are excluded and reported instead of silently receiving valid-looking scores.
24+
- Image exports preserve alpha and handle format conversion, partial failures, metadata accuracy, and case-insensitive filename collisions.
25+
- CI covers Linux, macOS, and Windows on Python 3.10, 3.11, 3.12, and 3.13, plus the minimum supported Textual version.
26+
2227
## Upgrade
2328

2429
```bash
@@ -27,4 +32,4 @@ pip install --upgrade sharp-frames
2732
pipx upgrade sharp-frames
2833
```
2934

30-
FFmpeg and FFprobe remain required for video processing and must be available on `PATH`.
35+
New dependencies (`textual-image`, `Pillow`) install automatically. FFmpeg and FFprobe remain required for video processing and must be available on `PATH`; HDR-to-SDR conversion additionally requires FFmpeg built with `zscale`/`libzimg` support.

0 commit comments

Comments
 (0)