# Changelog

## [0.1.5] - 2026-08-14

### Added
- **The About screen links to the manual** — a "Read the manual" button, with the address shown under it.

### Fixed
- **The About screen shows its hero image in the installed app.** The image was addressed from the root of the drive, which only works while running from a dev server. It also shows the version you are running instead of a number typed in beside it.
- **The status bar and copied stats name the size mode the way the buttons do** — "50%", not "1:2".

## [0.1.4] - 2026-08-14

### Added
- **Marks — pin any frame, as many as you like.** **M** or **+** marks the frame at the playhead, **Shift+M** marks it and asks for a name. Each mark shows as an amber tick on the timeline and a chip below it; click a chip to jump there. Dragging the playhead snaps to a nearby mark, and the mark you are on is highlighted. **, / .** jump between marks, **−** deletes the one you are on, and chips rename on a double-click.
- **Export marks to a text file.** `.txt` writes an aligned table, `.csv` a spreadsheet — both with the timecode, the frame number, the seconds, and the name.
- **Marks come back with the video.** Leave the exported file next to it as `<video-name>_marks.txt` and REEL DEAL loads it on open, reading the frame numbers so every mark returns to the exact frame. Marks are not saved on their own — export before closing.
- **Save dialogs open in the folder you last saved to.** Frames remember their own folder, trims and upscales theirs, so a run of stills all lands in one place.

### Changed
- **The size buttons read 100%, 50%, and 25%.** The native-size button now says **100%** instead of the video's aspect ratio, **½** is now **50%**, and **25%** is new. The status bar names the same mode, and still shows the aspect ratio beside it.
- **The arrow keys step one frame instead of one second.** Shift with an arrow steps five frames. Either one pauses playback first. Videos with no frame rate in their file details step 1/30 second and say so in the status bar.

### Fixed
- **A size button resizes the window where it sits.** The window grows and shrinks from its own top-left corner instead of jumping back to the middle of the screen. It only slides when the new size would hang off the edge, and then only far enough to fit — the status bar says so when it does.
- **A size button now sizes the window in both directions.** It used to follow the video's height while the width stayed put.
- **The picture comes out at the size the button promises.** 100% gives one screen pixel per video pixel, 50% half of that, 25% a quarter — measured, not approximately. Two things used to eat the difference: the window frame, because the app set the outer window size to numbers that described the area inside it, and the rows of chrome, whose heights were guessed at in code and left the tab bar out entirely. The app now measures the real chrome and sets the inner size, so nothing is skimmed off the video. The error was small at 100% and obvious at 25%.
- **Showing the thumbnails or the stats panel keeps the video at its exact size.** So does a long row of mark chips. Anything that changes the height of the chrome re-sizes the window to match.
- **The toolbar scrolls sideways** when a window is narrower than its buttons, so nothing becomes unreachable at 25%.
- **A long list of marks no longer crowds out the video.** The chip row now stops at two lines and scrolls.
- **The status bar shows the version you are actually running.** It had a version number typed into it, which had been stuck at v0.1.0 for three releases.
- **Saving a frame writes the frame on screen.** It used to write the next frame whenever the playhead sat inside a frame — which is nearly always, after a scrub or a frame step. The player and ffmpeg round opposite ways at a frame boundary; the app now asks ffmpeg for the frame you are looking at.

## [0.1.3] - 2026-08-09

### Added
- **Click the video to pause or resume it.** Space and the play/pause button still work the same way. A click that closes the right-click menu only closes the menu — it does not change playback.

## [0.1.2] - 2026-08-09

### Fixed
- **Videos open and play again.** After the Electron 43 upgrade every file failed with "Chromium cannot decode this file", whatever the format. The internal address the app uses to hand a file to the player had to change shape for the new Electron, and until it did, the player could not read any video.
- **Scrubbing and seeking work properly.** The player can once more jump straight to a point in the middle of a file instead of reading it from the start, so dragging the playhead in long videos stays quick.
- **Filenames with spaces, emoji, and other odd characters load correctly.**

## [0.1.1] - 2026-08-09

### Changed
- **Upgraded the app's underlying Electron engine from version 28 to 43.** Electron 28 was two years out of security patches; this brings the app back onto a supported, patched release with no change to how the app looks or behaves.
- **Drag-and-drop file paths now use Electron's modern API** instead of a property removed in newer Electron versions, so dropping video files onto the app (both the main window and the empty-state drop zone) keeps working exactly as before.
- **Crash reporting for background processes (GPU, etc.) now uses Electron's current event**, matching the crash-handling already in place for the main window.
