Skip to content

Releases: Pebo-Devs/pebo

v1.1.3

Choose a tag to compare

@github-actions github-actions released this 23 Jun 14:59
d312b68
Make the notes editor a fluent, gold-standard writing surface (#10)

The Windows desktop editor felt laggy, formatting looked rough, and Markdown
editing was clumsy. This reworks the editor across performance, input, and
live styling so typing stays smooth even in very large notes.

Performance:
- Debounce note-body persistence in NotesViewModel: keystrokes update a
  lightweight draft and only fold into the in-memory list + disk after a short
  idle, so typing no longer re-allocates the whole note list and recomposes the
  sidebar/tree on every key. Pending edits flush on note switch / trash / quit
  (main.kt onCloseRequest awaits the final write).
- Memoize MarkdownVisualTransformation.filter by raw text (Compose calls it on
  every layout pass, not just edits) and skip the inline regex passes above a
  50k-char guard so huge documents stay responsive.
- Move outline + word-count off the composition hot path: a single
  snapshotFlow + collectLatest collector recomputes them on Dispatchers.Default
  a beat after typing pauses instead of re-parsing every keystroke.

Editing:
- Smart Enter continues bullet / ordered / task / blockquote lists (empty item
  exits the list); Tab / Shift+Tab indent / outdent the selection. Tag
  autocomplete still owns nav keys while its popup is open.

Live styling:
- Task checkboxes render a length-preserving glyph for done items (tinted +
  struck), ordered markers and horizontal rules are styled, all without
  changing the on-disk .md (identity offset mapping preserved).

235 desktop tests green (+16: smart-enter / indent / outdent, checkbox /
ordered / HR decoration).

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

v1.1.2

Choose a tag to compare

@github-actions github-actions released this 23 Jun 07:20
9bb1527
Update Google OAuth client id to the new desktop client (#9)

The previously baked-in Google client id was replaced with the new
desktop OAuth client id from Google Cloud Console. This is the single
source of truth that feeds generatePeboBuildConfig -> GOOGLE_CLIENT_ID,
so the shipped app now points at the new client. Client ids are public
identifiers (safe to commit); the client secret is still injected only
at release-build time and never committed.

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

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 23 Jun 07:15
ee2cda0
Release: auto-version every merge to main so PRs always ship (#8)

Previously the Release workflow only cut a release when appVersion in build.gradle.kts was manually bumped to a version with no existing release; merging a PR without bumping it resolved to the existing version and skipped all builds (the recursive-notes merge finished in 8s with no release). Now a push to main always derives the next version automatically: it bumps the patch of the latest existing release (v1.1.0 -> v1.1.1 -> ...), so every merge ships. A manual appVersion bump above the latest release still forces a specific minor/major, after which auto-patch resumes. Tag pushes and explicit workflow_dispatch versions remain idempotent. Version compare/sort uses semver (sort -V), so 1.10.0 > 1.9.0.

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

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>

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 19:15
Pebo v1.0.0 - native installers (msi/exe/dmg/deb) + Android apk