Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 00:39
5f921c8
In-app updater + auto-cut releases on merge to main (#5)

* Add in-app update checker and desktop self-updater

Surface an "update available / install update" flow in Settings -> About:

- Bake the app version into a generated PeboBuildConfig at build time
  (generatePeboBuildConfig task, overridable with -PappVersion / the release
  tag) so the running app knows what version it is.
- Add a shared UpdateChecker that queries the GitHub Releases API and compares
  semver to decide whether a newer release exists, plus pure SemVer + release
  asset-matching models in commonMain.
- Add a nullable UpdateService seam (mirroring CloudSyncController) with a
  DesktopUpdateService that downloads the matching installer (msi/exe/dmg/deb),
  launches it, and exits so files can be replaced; mobile passes null and links
  to pebo.app instead.
- Wire it through NotesViewModel and main.kt, and build the About panel UI
  (real version + Check for updates / Download / Install states with progress).
- Document the updater in the README.

214 desktop tests green (+24 new: SemVer, asset matching, UpdateChecker via
MockEngine, DesktopUpdateService).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Auto-cut releases on merge to main; bump version to 1.1.0

The Release workflow only triggered on pushed v* tags / manual dispatch, so
merging a PR to main never produced a release and the in-app updater had
nothing new to find.

- Trigger Release on push to main (plus the existing tag + manual triggers).
- Add a prepare job that resolves the target version (from the pushed tag,
  a manual input, or appVersion in build.gradle.kts) and only proceeds when a
  release for that version does not already exist -- so merges are idempotent
  and never create duplicate-version releases.
- Build jobs now gate on that decision, build with the resolved -PappVersion,
  and create/attach to the vX.Y.Z release via softprops tag_name (works on a
  branch push, not just a tag). Android artifact is named from the version too.
- Bump appVersion 1.0.0 -> 1.1.0 so merging this PR cuts the first release that
  ships the in-app updater and live-tests the new flow.
- Document the release process (bump appVersion + merge to main) in the README.

214 desktop tests still green; generated PeboBuildConfig reports 1.1.0.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>