Releases: Romancha/GPStitch
Releases · Romancha/GPStitch
Release list
0.18.0
🆕 New
- User-defined FFmpeg profiles — The FFmpeg Profile selector now lists your own encoding profiles from
~/.gopro-graphics/ffmpeg-profiles.json(the same filegopro-dashboard.pyreads) alongside the built-in ones, with the output container chosen automatically from the codec (#17) - Editable unit labels — The Metric Unit widget gained an editable "Label / Format" field in Advanced Mode, so you can rename or localise overlay labels (e.g. ALT → Höhe, or type a literal km/h) (#19)
🐞 Fixes
- Fixed the editor and Quick Mode preview ignoring an attached GPX/FIT file when the video already contained embedded GPS — the preview now uses the external track you provided, matching the actual render (#18)
v0.17.0
🆕 New
- Canvas size controls in Advanced Mode — Width × height inputs in the Advanced Mode toolbar let you resize the editor canvas directly, and the size-mismatch warning now offers a one-click "Resize canvas to
🐞 Fixes
- Fixed render crash on Windows when log lines contained non-ASCII characters (e.g. the
→arrow from pillarbox pre-processing) — state files are now written as UTF-8 instead of the system locale (cp1252) - Fixed pillarbox pre-processing scaling custom-canvas videos down to 1920×1080 —
_needs_pillarboxnow reads canvas dimensions from the template's sidecar JSON, matching what--overlay-sizepasses to the renderer
v0.15.0
🐞 Fixes
- Fixed orientation widgets (Pitch, Roll, Yaw) rendering as tiny empty rectangles in CLI renders — the subprocess was not loading CORI/ACCL/GRAV tracks from GoPro GPMF data, while the editor preview worked correctly (#15)
- Fixed startup crash when unrecognized environment variables with
GPSTITCH_prefix are present (#3)
v0.14.2
✨ Improvements
- Canvas size mismatch warning — Advanced Mode now shows an informational banner when the editor's template canvas dimensions don't match the loaded video's resolution, so users understand why widgets may appear misplaced in the rendered output
🐞 Fixes
- Fixed custom templates rendering at the wrong overlay size —
--overlay-sizeis now read from the template's sidecar metadata instead of falling back to a hardcoded 1920×1080, which caused widget misalignment for any canvas dimensions other than default - Fixed predefined template canvas dimensions being estimated from widget bounding boxes instead of the layout's true size (e.g.
default-3840x2160now correctly reports 3840×2160)
v0.14.1
🆕 New
- Timezone auto-correction for non-GoPro cameras — Automatically detects and corrects UTC offset when video
creation_timelacks timezone info, improving time alignment with external GPS data (#9) - Independent video and GPS file fields — Video and GPS files are now decoupled in the upload UI; replacing the video no longer clears the GPS file (#10)
- Degree unit for orientation metrics — Pitch, Roll, and Yaw widgets now support a degree (°) unit option (#14)
✨ Improvements
- Manual Offset panel refinements — Seconds are now displayed in the time preview, and Video/GPS labels clarify which timestamp is which (#11)
- Time Sync mode descriptions — Each sync mode (Auto, GPX Timestamps, Manual) now shows an inline explanation in the UI (#11)
🐞 Fixes
- Fixed
creation_timetimezone validation rejecting valid non-GoPro videos when the metadata timestamp had no UTC indicator (#9)
v0.14.0
🆕 New
- Independent video and GPS file selection — Video and GPS file fields are now fully decoupled; changing the video file no longer clears the GPS file, making it easier to mix and match files (#10)
✨ Improvements
- Added Time Sync mode descriptions to the UI for better discoverability (#11)
🐞 Fixes
- Fixed incorrect timezone detection for non-GoPro cameras (e.g. Insta360) where
creation_timeis written as local time but reported as UTC — now cross-validates against GPS data and falls back to file mtime (#9)
v0.13.0
🆕 New
- Independent video and GPS file selection — Video and GPS file fields are now fully decoupled; changing the video file no longer clears the GPS file, making it easier to mix and match files (#10)
✨ Improvements
- Added Time Sync mode descriptions to the UI for better discoverability (#11)
🐞 Fixes
- Fixed incorrect timezone detection for non-GoPro cameras (e.g. Insta360) where
creation_timeis written as local time but reported as UTC — now cross-validates against GPS data and falls back to file mtime (#9)
v0.12.1
🆕 New
gpstitch-dashboardCLI command — Standalone entry point that works as a drop-in replacement forgopro-dashboard.pywith all GPStitch patches applied (DJI support, timecode preservation, audio copy, etc.). Use the "Get Command" button in the UI to generate a ready-to-run command (#5)
🐞 Fixes
- Fixed README showing Python 3.14+ requirement instead of 3.12+ (#4)
v0.12.0
🎉 Major Features
DJI Osmo Action Embedded GPS Support
Full support for DJI Osmo Action cameras (Action 4/5/6) with DJI GPS Bluetooth Remote Controller — no secondary GPX or SRT file needed.
- Automatic detection — Embedded GPS telemetry is identified during upload and shown in the UI
- Protobuf decoder — Extracts GPS data from the DJI meta stream (
djmdcodec) embedded in video files - End-to-end pipeline — Preview, render, and CLI command generation all work with embedded GPS data out of the box
- GPX export — Extracted GPS is converted to timeseries and GPX for use in the overlay engine