Case study: photoframe 3.0.0
说明与用途
photoframe 项目分支已发布第一个稳定版(v3.0.0),新增 Immich 支持、兼容新版 Raspberry Pi OS、提供 SD 卡镜像,并引入硬件门控发布流程,确保在真实设备上测试后才发布。
问题
Google’s Photos Library API change removed the photo source, the original project was stuck on an outdated Python 3 branch and missing support for newer Raspberry Pi OS releases, and the author lacked time to port, test, and ship a stable release.
结果
The fork reached its first stable release (v3.0.0) in just over a year, adding Immich support, modern OS compatibility, an SD‑card image, and a hardware‑gate release workflow that prevented buggy releases.
工作流
- Fork photoframe and add Immich handlers
- Create AI agent roles (architect, product manager, developer, QA)
- Implement Python 3 branch and Immich routes
- Build pi‑gen SD‑card image and test on Pi Zero W and Pi 3B+
- Add hardware gate: nothing is pushed, tagged, or released until Pi testing passes
- Iterate through rc1 and rc2, fix bugs found on Pi 4 (login, shutdown button, log credentials, config.txt fsync)
- Merge remediation PRs, run final QA on Pi 4
- Tag v3.0.0 and release
- Provide migration script and documentation
证据
Google cut the Photos Library API down to photos an app uploaded itself, and the frame had nothing left to read.
The release discipline was not optional, and it came from one bad morning in April: nothing gets pushed, tagged, released, or sent upstream until it has run on Pi hardware.
Between the last release candidate and the stable release, nothing changed but the image builder's branch and the release notes.
- 记录日期: 2026-10-07T16:41:00.752Z