Repository navigation
Releases: bhanurp/MergeOwl
Release list
MergeOwl v0.2.3
Faster refreshes and native layouts
- Share overlapping in-flight CI discovery reads per account client, without caching completed results. Failure-alert revalidation still reads live data; cancellation of one consumer preserves other consumers.
- Index loaded PRs once during refresh enrichment. Synthetic overlapping requests fell from 12 to 3; three 2,500-row refreshes fell from 3.339s to 0.170s. These are isolated benchmarks, not real-network or frame-rate guarantees.
- Refined Tabbed and Compact layouts with readable native system fonts, tighter spacing, flat rows and opaque system backgrounds. Tabbed remains the default; existing layout preferences persist across accounts and restarts.
- Compact combines the view picker, search and filters. Long saved-view names no longer hide the actionable count. Snooze, More and Actionable retain accessible controls.
- CI observation times remain in tooltips and the inspector. No decorative animations, extra polling or continuous row timers were added.
Installation and limits
Requires macOS 14 or newer. Updates are manual: quit MergeOwl, replace the app from the DMG and relaunch. Releases are ad-hoc signed and are not Apple-notarized. Existing account, Keychain and local-data identities are retained; legacy recovery backups remain. Only one account is active. Counts and saved views cover loaded data; GitHub access and rate limits still apply. Historical README media remains labelled with its original version.
Both feature PRs completed CodeRabbit review and hosted Swift/native checks. Performance tests passed in debug/release; UI journeys passed in both layouts. Final count-regression local attempts timed out enabling macOS automation before execution; hosted native checks passed. Synthetic fixtures do not prove live organization SSO or OS notification delivery. The original intermittent SwiftUI freeze was not exactly reproduced; these changes do not claim to prove it resolved.
MergeOwl v0.2.2
MergeOwl v0.2.2
PR Pulse is now MergeOwl, with a transparent amber owl in the menu bar and Finder. Existing account profiles, settings and Keychain/storage identifiers are retained. Quit the old app before opening MergeOwl; verify saved accounts, then remove the old application copy to avoid duplicate launches.
New
- CI status and check details in Tabbed and Compact layouts, with links to individual checks and clear pending/stale/incomplete states.
- Opt-in failure monitoring for accessible open My PRs, separate 1/5/15/30-minute polling intervals and per-PR mutes. Request budgets may defer some reads; loaded counts and accessible-data coverage are not complete GitHub inventories.
- Refresh older observations when reopening the popover, show last-checked age and Checking CI during a refresh.
Fixes
-
Hide merged/closed PRs and inactive linked PR references by default; keep issue references.
-
Installed owl resources load without the developer checkout; missing artwork reaches a safe visible fallback.
-
Revision-safe CI updates, fair verification under request budgets, quiet-hour handling and retry after notification-request rejection.
-
Give the menu-bar popover fixed hosting bounds to reduce layout feedback during scrolling, and make the entire CI status control clickable.
-
Automatic freshness preserves previously loaded page coverage; incomplete search responses retain previous rows instead of silently dropping them.
Validation limits
- Final source passed 113 unit tests, both architecture builds and hosted native journeys. Earlier local testing included all 23 journeys and a 16-layout-transition Release scrolling soak.
- The originally reported sustained CPU freeze was not reproduced exactly; the hosting change is a mitigation, not a guarantee against every hang. Final local UI reruns were blocked by macOS automation initialization timeouts. Known CodeRabbit findings were fixed and independently reviewed; the final follow-up review was skipped due to its rate limit.
Downloads and requirements
- macOS14 or newer. Universal Apple Silicon and Intel app.
- Use MergeOwl.dmg or MergeOwl.zip. Versioned archives and legacy PRPulseApp generic aliases contain the same new app.
- Updates remain manual. The app is ad-hoc signed, not Developer ID signed or Apple-notarized. No automatic updater is enabled.
- One GitHub account is active at a time; legacy recovery backups remain preserved. Existing README screenshots/GIFs show earlier versions and retain their labels.
- Isolated fixture tests do not prove live organization SSO or actual macOS notification delivery. Organization/token restrictions can limit visible PRs.
PRPulse v0.2.1
PR Pulse v0.2.1
New layouts, your choice
- Tabbed (B) is the default, with visible PR tabs and saved-view shortcuts.
- Compact (A) combines default PR lists and saved views in a single picker.
- Choose through More → Layout or Settings → Appearance. The preference is saved across restarts and applies to all accounts.
- Switching layouts preserves the active account, selected view, search, filters and local triage.
A clearer popover
- Flatter PR rows with clickable titles, visible merge readiness and review status, and secondary triage actions.
- Grouped filters, a quieter connection/sync footer, and Activity for the digest.
- Settings and Quit are now in More. Settings remains reachable after account switching.
- Layout saves preserve unrelated account data and cannot be undone by stale general-settings writes.
- Updated onboarding guidance and real v0.2.0 workflow media; existing screenshots are labelled as the earlier interface.
Install and update
Download PRPulseApp.dmg, quit the old app, replace PRPulseApp.app in Applications, and reopen it. macOS 14 or newer is required. Account profiles and Keychain tokens are retained during normal app replacement.
This release remains ad-hoc signed and is not Apple-notarized. Follow the README's first-launch guidance only for a trusted download. Updates remain manual: the deferred Sparkle/automatic-update work is not included.
Account isolation, saved views and counts retain v0.2.0 semantics: one active account, loaded-data counts, and retained legacy migration recovery backups. Automated fixture tests do not prove live organization SSO or macOS notification delivery.
PRPulse v0.2.0
What's new
- Multiple GitHub accounts with one active account at a time, isolated credentials and account-specific PR data.
- Rule-based saved PR views, loaded-data counts, and keyboard shortcuts.
- Singleton native Settings window and fixes for account switching, refresh/pagination races, concurrent triage, and reminder cleanup.
- Retryable migration retains legacy recovery backups. Counts and saved views reflect loaded PR data, not every PR on GitHub.
Before installing
- Requires macOS 14 or newer. Updates remain manual; automatic updates are not enabled.
- The app is ad-hoc signed, not Developer ID signed or notarized. macOS may require explicit approval to open it.
- Synthetic fixture tests do not establish live organization SSO access or real OS notification delivery.
Review and verification
The original CodeRabbit findings were fixed and resolved. PR #12 was manually merged before its final-head CodeRabbit review completed; the closed PR could not be reviewed again. This release proceeds with the maintainer's explicit approval of that review gap. Merged-master CI passed.
The refreshed README screenshots/GIF follow-up is separate and is not included in this tag.
PRPulse v0.1.5
PR Pulse v0.1.5
Documentation-only release: app behavior is unchanged from v0.1.4.
- Clearer installation, GitHub account connection, Keychain persistence, and partial-access troubleshooting.
- Release/platform/license/test badges, current synthetic-data screenshots, and an animated walkthrough.
- Consolidated user guide and published multi-account and secure auto-update design documents.
- Removed the unverified terminal release-installer recommendation.
Download
Use PRPulseApp.dmg for manual installation on macOS 14 or newer. Universal builds support Apple Silicon and Intel.
Known limitations
Multi-account login and automatic updates are planned, not implemented. Releases are still ad-hoc signed, not Developer ID signed or Apple-notarized. Duplicate Settings windows remain tracked in #9.
See https://github.com/bhanurp/prpulse/blob/v0.1.5/CHANGELOG.md for details.
PRPulse v0.1.4
What changed
- Native menu-bar lifecycle with the crisp flower icon and actionable PR badge.
- Sidebar Settings with corrected window sizing and resize support.
- Connected GitHub username, accurate authentication errors, and partial-access warnings while accessible PRs remain visible.
- Token update handoff and Keychain persistence coverage.
- Nine native end-to-end journeys, 46 unit tests, plus fixture and installer regressions.
Installation
Requires macOS 14 or newer. Download PRPulseApp.dmg and drag the app into Applications, or use the ZIP. Both downloads are universal builds for Apple Silicon and Intel Macs.
Release packaging
Corrected the minimum macOS version, included SwiftPM resource bundles, and published versioned downloads alongside stable filenames.
Known limitations
This release is ad-hoc signed and is not Apple notarized. GitHub fixtures do not validate live organization SSO or macOS notification delivery.
Full changelog: https://github.com/bhanurp/prpulse/blob/v0.1.4/CHANGELOG.md
Follow-up discovered during release smoke testing
Activating the app can create a second Settings window. The native Settings window and menu-bar popover work and the installed-release smoke test passed. Tracked in #9.