From e929de54a723b0163d059cfa280a4f4a3442f618 Mon Sep 17 00:00:00 2001 From: mixeme Date: Mon, 22 Jun 2026 00:36:21 +0300 Subject: [PATCH] Bump version to 0.3.6: Phase 4 refactoring complete Extracted view components and platform wiring from src/ui. Upgraded Fyne v2.5.3 -> v2.6.3 for fyne.Do cross-thread marshaling (issue #4). Add performance documentation: ~290ms startup increase is entirely Fyne 2.6.3's w.Show() cost, not the Service/domain/UI restructuring. Co-Authored-By: Claude Haiku 4.5 --- docs/CHANGELOG.md | 12 ++++++++++++ src/app/version.go | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 9215184..19573d0 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -2,6 +2,18 @@ All notable GoSentry changes are recorded in this file. +## 0.3.6 - 2026-06-22 + +- Completed Phase 4 refactoring: carved up the GUI into focused, testable components. + - Renamed `src/gui` → `src/ui` and split monolithic `app.go` into `run.go` (lifecycle) and `mainwindow.go` (view construction). + - Extracted view components into separate files: `jobs_view.go`, `job_dialog.go`, `history_view.go`, `settings_view.go`. + - Extracted platform wiring into separate files: `tray.go`, `singleinstance.go`, `layout.go`. + - Removed forbidden platform imports (autostart, desktop, paths) from `src/ui`; all platform concerns now flow through `app.Service`. + - Upgraded Fyne from v2.5.3 to v2.6.3 to enable `fyne.Do` for cross-thread widget marshaling (resolves concurrency issue #4). +- Added `docs/PERFORMANCE.md` with measured startup-time analysis: the ~290ms increase from Phase 4 is entirely the Fyne 2.6.3 upgrade's `w.Show()` cost, not the restructuring. +- Added `docs/PERFORMANCE.md` and wired post-Fyne-2.7.x re-check into `ROADMAP.md`. +- No observable behavior changes; continued internal refactoring toward separated concerns and testability. + ## 0.3.5 - 2026-06-19 - Completed Phase 3 refactoring: application service and state management. diff --git a/src/app/version.go b/src/app/version.go index 411760d..a4b55a8 100644 --- a/src/app/version.go +++ b/src/app/version.go @@ -3,4 +3,4 @@ package app // Version is the application version shown in the GUI and used by build // scripts in artifact names. It is a var rather than a const so release builds // can override it with Go ldflags when CI tags a build. -var Version = "0.3.5" +var Version = "0.3.6"