GoProX v01.01.01
GoProX v01.01.01
Changes since v00.52.00
Major Changes Since v00.52.00
New GoPro Models Supported
- HERO (2024): Added full support for the new HERO (2024) camera model
- HERO13 Black: Added support for HERO13 Black
Official Firmware Updates
- HERO (2024): H24.03.02.20.00
- HERO13 Black: H24.01.02.02.00
- HERO12 Black: H23.01.02.32.00
- HERO11 Black: H22.01.02.32.00, H22.01.02.10.00, H22.01.02.01.00, H22.01.01.20.00, H22.01.01.12.00, H22.01.01.10.00
- HERO11 Black Mini: H22.03.02.50.00, H22.03.02.30.00, H22.03.02.00.00
- HERO10 Black: H21.01.01.62.00, H21.01.01.50.00, H21.01.01.46.00, H21.01.01.42.00, H21.01.01.30.00
- HERO9 Black: HD9.01.01.72.00, HD9.01.01.60.00
- HERO8 Black: HD8.01.02.51.00, HD8.01.02.50.00
- GoPro Max: H19.03.02.02.00, H19.03.02.00.00
- The Remote: GP.REMOTE.FW.02.00.01, GP.REMOTE.FW.01.02.00
Labs Firmware Updates
- HERO13 Black: H24.01.02.02.70
- HERO12 Black: H23.01.02.32.70
- HERO11 Black: H22.01.02.32.70, H22.01.02.10.70, H22.01.01.20.70
- HERO11 Black Mini: H22.03.02.50.71b, H22.03.02.30.70
- HERO10 Black: H21.01.01.62.70, H21.01.01.46.70
- HERO9 Black: HD9.01.01.72.70
- HERO8 Black: HD8.01.02.51.75
- GoPro Max: H19.03.02.02.70, H19.03.02.00.75, H19.03.02.00.71
Core Functionality Improvements
- Enhanced firmware discovery, validation, and download automation
- Improved release automation and changelog generation with code block formatting
- Robust argument parsing and error handling in all scripts
- Major improvements to release documentation and process transparency
- Strict enforcement of output file locations and naming conventions
- Improved test coverage and validation for all supported models
Infrastructure & Process
- Complete git history rewrite for repository clarity and maintainability
- Improved GitHub Actions workflows for release, dry run, and Homebrew updates
- Automated Homebrew formula updates with SHA256 verification
- Enhanced AI instructions and project documentation for future maintainers
- Comprehensive documentation of git history rewrite issues and solutions
Release Notes Format Improvements
- Commit lines now displayed in markdown code blocks instead of bullet lists
- Improved readability and consistency in release note formatting
- Better visual separation between different commit sections
For a full list of issues and commits, see the release notes for the latest version.
Issues Addressed
Issue #68: Enhancement: AI Instructions Tracking and Evolution
e646268 docs(release): rename major changes summary for release 01.01.01 (refs #68)
cfd5710 feat(release): wrap commit lines in markdown code blocks instead of bullet lists (refs #68)
7194a2f docs: add project standard notice directing contributors to follow AI_INSTRUCTIONS.md (refs #68)
046dea3 docs(release): rename major changes summary for release 01.01.00 (refs #68)
e2dfc77 docs: add comprehensive guide for git history rewrite issues and solutions (refs #68)
03cd8c0 fix(workflow): add step to force rewritten git history in release automation (refs #68)
8e67427 docs(release): rename major changes summary for release 01.00.14 (refs #68)
a5d6bf6 docs(ai): add rule to always create latest major changes summary via AI, never by copying (refs #68)
c93bba1 docs(release): document strict parameter validation and update usage for full-release.zsh; feat(release): enforce strict argument parsing, add --base alias (refs #68)
4d90826 fix(release): improve commit range logic in generate-release-notes script (refs #68)
254f2da fix(workflow): ensure all jobs use complete git history after filter-repo rewrite (refs #68)
12eeba4 docs: move debug files to docs/ directory (refs #68)
42768fe fix(release): improve file rename logic to handle existing files properly (refs #68)
8a2f8aa docs(release): rename major changes summary for release 01.00.14 (refs #68)
37e0b74 fix(workflow): add GitHub CLI setup for issue title fetching in release notes (refs #68)
54cf6b2 docs(release): rename major changes summary for release 01.00.14 (refs #68)
fcdddb7 docs: add requirements for new GoPro models and firmware in major changes summary (refs #68)
7b115ca fix(release): improve error handling for summary file rename step (refs #68)
9d31201 fix(monitor): properly parse job status and add timestamps before icons (refs #68)
2575e1b docs(release): rename major changes summary for release 01.00.14 (refs #68)
1f27624 docs: add content priority requirement for major changes summaries (refs #68)
e9869af fix(monitor): display job status icons properly in formatted box (refs #68)
5813014 docs(release): rename major changes summary for release 01.00.14 (refs #68)
92b9d9d cleanup: remove incorrectly named major changes summary file (refs #68)
a35285a fix(release): allow GitHub Actions to output release notes to workspace root (refs #68)
1d597ba docs(release): rename major changes summary for release 01.00.14 (refs #68)
5101f33 enforce output directory requirement: add validation to release notes script; update AI instructions with critical output file requirements (refs #68)
d22cc93 release notes: fix issue title formatting and number parsing; remove quotes around issue numbers; handle API errors gracefully (refs #68)
553ef2b docs(release): rename major changes summary for release 01.00.14 (refs #68)
35be513 release: add mandatory checklist to AI instructions; create major changes summary since base version; enforce summary file requirement in full-release script (refs #68)
327e576 cleanup: remove GitHub backup tar.gz files from repo; add *.tar.gz to .gitignore (refs #68)
f8e5576 full-release: check for uncommitted changes in .github/workflows; require clean workflow state before release (refs #68)
541ec25 full-release: support --major, --minor, --patch options; pass bump type to bump-version script (refs #68)
9560cd2 bump-version: support --major, --minor, --patch (default minor); fix output so only version string is used for validation; info messages no longer pollute version string (refs #68)
1b9405b docs(release): rename major changes summary for release 01.00.14 (refs #68)
83763a4 docs(release): add latest major changes summary for dry run (refs #68)
2a05c48 docs: clarify summary file naming convention for release automation (refs #68)
3ab31f4 release: always rename and overwrite versioned summary file if latest exists (refs #68)
5f2d405 release(notes): insert versioned major changes summary and sort issues descending (refs #68)
2d680ea release: error and exit if uncommitted changes exist in scripts/release/ (refs #68)
88882b7 release: always parse intended new version and handle summary file for dry runs and real releases (refs #68)
e239d28 docs(release): update latest major changes summary before release test run (refs #68)
f8a237a docs: require AI to create or update latest-major-changes file before every release run (refs #68)
2d6e4d2 docs(release): add v01.00.14 major changes summary since v00.52.00 (refs #68)
5600d5e release: fix issue grouping and remove AI summary logic from release notes generation (refs #68)
785e39b release: fix issue grouping and remove AI summary logic from release notes generation (refs #68)
dc16109 release: update release scripts and remove AI summary script; prep for release with 00.52.00 baseline (refs #68)
aec9c55 docs: require commit/push of all scripts/release/ changes before release or dry run; enforce dry run before real release (refs #68)
aacec23 docs: add rule requiring commit and push before release dry runs (refs #68)
28f90ed release: restore clean baseline for release automation and notes (refs #68)
f62fb2e docs: update AI instructions to use full-release.zsh for all release operations (refs #68)
f08eb11 docs: update AI instructions for dry-run automation and issue list sync (refs #68)
6e1372b chore: add script to generate Markdown list of GitHub issues (refs #68)
0c6fedb docs: update AI instructions for project and issue awareness (refs #68)
cbea03a docs: update release workflow instructions to require --push for version bump (refs #68)
00cb8f8 docs: update AI instructions for issue creation automation (refs #68)
Issue #67: Enhanced default behavior: Automatic GoPro SD card detection and firmware management
da0a24d Add enhanced default behavior with automatic GoPro SD card detection and firmware management (refs #67 #63)
Issue #66: Repository Cleanup and Organization
ef8b82d docs: add official GoPro firmware URL format documentation (refs #60 #64 #66)
48e8795 Fix: update script header and usage for download-missing-firmware.zsh to match new naming and location (refs #66)
Issue #65: Enhancement/Workflow: Automate maintenance of latest firmware packages (official & labs)
e284997 Add initial firmware-tracker.md to wiki (#65)
21cda74 Add generate_firmware_wiki_table: Markdown firmware table generator for GoProX project (#65)
Issue #64: Enhancement: Exclude firmware zip files from release packages via .gitattributes
ef8b82d docs: add official GoPro firmware URL format documentation (refs #60 #64 #66)
ca124f3 Refactor .gitattributes to exclude all firmware zip files from package builds and track them with Git LFS. Introduce optimized-filter-repo.zsh script for enhanced git filter-repo operations with performance monitoring and user-friendly output. (refs #64)
Issue #63: Enhancement: Rename SD card volume label to HERO11-8909 format
da0a24d Add enhanced default behavior with automatic GoPro SD card detection and firmware management (refs #67 #63)
1d26874 Add GoPro SD card volume renaming script and detection documentation (refs #63)
Issue #62: Enhancement: Add firmware URL validation tool
b85463a fix: update HERO11 Black Labs H22.01.01.20.70 firmware URL to direct GitHub raw link (refs #60, #62)
1d574ad fix: treat HTTP 302 as valid for firmware URL validation (refs #62)
ac2faf9 chore: add MIT License header to validate_firmware_urls (closes #62)
7af0d5d feat: add validate_firmware_urls script for automated firmware URL checking (refs #62)
Issue #60: Feature: Redesign firmware processing to use URL-based fetch and local cache
ef8b82d docs: add official GoPro firmware URL format documentation (refs #60 #64 #66)
a76e115 Add new scripts for managing firmware: add_firmware_url.zsh for adding firmware URLs and download_missing_firmware.zsh for downloading missing firmware files. Also, include new firmware files for The Remote with associated metadata and download URLs. (refs #60)
b85463a fix: update HERO11 Black Labs H22.01.01.20.70 firmware URL to direct GitHub raw link (refs #60, #62)
8bc3e47 feat: implement URL-based fetch and caching for firmware and labs updates (refs #60)
5bf1458 chore: clean up all download.url files to contain only the direct firmware URL (refs #60)
Issue #20: Workflow: Implement git-flow Model
ca96b15 feat(release): generate release notes grouped by issue with titles, unreferenced commits under 'Others'
- Add scripts/release/generate-release-notes.zsh for issue-based release notes
- Update release-automation.yml to use new script for changelog generation
- Fix zsh array handling for robust grouping and formatting (refs #20)
0cd2de0 docs: update release process and AI instructions for unified full-release workflow (refs #20)
97d5384 release: unify, automate, and dry-run enable full release process (refs #20)
3e88b37 release: revert unsupported --run-name flag in workflow trigger (refs #20)
0344ce1 release: set workflow run name to version in release automation (refs #20)
128402d fix: remove unsupported set-run-name job and dynamic run name (refs #20)
2cd4ed4 release: update automation workflow, scripts, and documentation (refs #20)
ee8daf8 chore: remove old script locations after move to scripts/release/ (refs #20)
6b6cae4 docs: Clarify version bump script usage and release process (refs #20)
b9fd4b1 Bump version to v01.00.01 to test SHA256 fix (refs #20)
e03dfb9 fix: use GitHub-generated tarball SHA256 instead of local tarball SHA256 (refs #20)
a452e89 refactor: remove auto-release workflow and add push step to release script (refs #20)
6cd1d1e Bump version to v01.00.00 for major release (refs #20)
9e3e06d fix: make Homebrew update optional and add token-based authentication (refs #20)
6e00cc4 fix: add GH_TOKEN to version-bump workflow for GitHub CLI authentication (refs #20)
86e3d80 Bump version to v00.62.00 for full release test (refs #20)
3e58cd6 fix: use rsync and temp directory to prevent file changes during tarball creation (refs #20)
ec215d7 fix: prevent tarball from including itself in build-packages step (refs #20)
1102aef fix: update release-automation.yml workflow for compatibility (refs #20)
4332735 test: bump version to 00.61.00 and fix release scripts for zsh compatibility (refs #20)
18e45be Add automated release process with version bump detection and release scripts (refs #20)
Other Commits
e7926be Bump version to v01.01.01
a390f15 Bump version to v01.01.00
70fe393 release monitor: use distinct icons for job steps (✅ success, ❌ fail, 🐐 skipped, ⚠️ cancelled, ⏳ running/queued) for clearer progress display
68cb6e3 Bump version to v01.00.14
b15fa8d feat(release): add AI summary generation for release notes
f6c371c Bump version to v01.00.13
a4afc4e Bump version to v01.00.12
f80734f Bump version to v01.00.11
4ad684f Bump version to v01.00.10
02bc40b Bump version to v01.00.09
c36c709 ci: dynamically set workflow run name to include version number
d7be936 Bump version to v01.00.06
c4a6a8d docs: add AI_INSTRUCTIONS.md and reference in README
cb18e58 feat: add output/ directory for transient files
9bbb9b3 feat: enhance monitor-release.zsh with improved formatting and real-time output
0fd8b5e Bump version to v01.00.05
8e1ec1c fix: Resolve HOMEBREW_TOKEN context access error in release workflow
a02ddf1 feat: Add comprehensive YAML linting automation
32096df Bump version to v01.00.04
549eedb fix: Update workflow to use codeload URL for correct SHA256 calculation
8a7eb37 Bump version to v01.00.03
ac47d42 docs: Remove references to deleted version-bump workflow
d44c958 docs: Update release process documentation
fa9c1dc fix: Resolve SHA256 mismatch in automated release workflow
2450f2c feat: Add auto-increment functionality to bump-version script
3979947 Bump version to v01.00.02
81f5d97 feat: Major firmware management improvements and discovery tools
2071396 Restore firmware .zip files using download-missing-firmware script
1242c18 Add GitHub restore information documentation
e91bbab Reorganize scripts by function and clean up repository
dffb6b2 Exclude GoProX.wiki from main repository tracking
a3e9df5 Add backup directories to .gitignore
d19f5e9 Standardize script headers: Add consistent MIT license and usage information
414f3f4 Reorganize scripts: Move all utility scripts to scripts/ directory
7599d47 Add monitoring script for git filter-repo operations
a32c6f7 Add and update all new and modified firmware files in firmware and firmware.labs trees, including new HERO (2024) and HERO13 Black firmwares - now tracked with Git LFS
fd58316 fix: format script name in generated output for consistency
c0319f0 add .keep
0a67a8d Update TheRemote firmware url
d555423 fix: robust firmware update logic to reliably find and unzip latest firmware for GoPro devices
24332f7 docs: update README for clarity, zsh code blocks, and developer setup wiki link
70264ee Bump developer version to v00.60.dev
f53a5c2 Eliminate error when processed directory is completly empty
bacf078 Proper handling of empty artist and copyright tags to avoid file not found errors
be6fca2 Update shortened copyright string
d9861d2 Fix remaining ~ expansion issues
5373a73 Fix ~ expansion for process
9cff628 Fix ~ expansion for import
df32408 Add name mappings for GoPro Hero 12 and 13
050ce34 Fix ~ expansion for archive
9da3339 Fix ~ to home expansion
a29cf26 Update copyright to 2025
104cd80 Bump developer version to v00.53.dev
Installation
The recommended way to install or update GoProX is via Homebrew:
brew install fxstein/fxstein/goproxOr, add the tap manually and then install:
brew tap fxstein/fxstein
brew install goproxTo upgrade to the latest version:
brew upgrade goproxIf you encounter issues, you can uninstall and reinstall:
brew uninstall goprox
brew install goproxNote: Homebrew installs to
/opt/homebrew/bin/goproxon Apple Silicon and/usr/local/bin/goproxon Intel Macs.
For configuration and advanced setup, see the project README or run:
goprox --setup