v0.3.0 #45

Merged
myrmidex merged 37 commits from release/0.3.0 into main 2026-05-09 15:08:38 +02:00
Owner

Summary

  • Introduced Tracker model and refactored purchases → entries (schema + backend + frontend)
  • Two-path onboarding flow (asset vs non-asset tracker), with price tracking hidden behind a flag for this release
  • Security hardening, package upgrades (Laravel 13, Inertia 3, Vite 8, TS 6), CI pipeline, multi-arch prod image build, and dev environment overhaul

Tickets

# Title
#44 Hide price tracking UI and functionality for v0.3.0
#43 Delete dead Breeze auth/settings boilerplate
#42 Extract todayISO() utility to lib/utils.ts
#41 Unify InlineForm success callbacks to onSuccess(type)
#40 Centralise Milestone interface to types/domain.ts
#39 Multi-arch prod image build: add linux/arm64 for Raspberry Pi
#37 Onboarding — add tracker type choice as first step
#36 Remove Redis — overkill for this app
#34 Frontend — multi-tracker UI, generalize financial copy
#33 Onboarding — two-path flow (asset vs non-asset)
#32 Backend — Tracker model, refactor Purchase → Entry
#31 Schema refactor — introduce Tracker, rename purchases to entries
#30 Fix nix-shell dev container build errors
#29 Look for security vulnerabilities
#28 Look for refactor opportunities
#27 Set up Forgejo CI
#26 Set up nix-shell
#25 Upgrade packages — Composer + npm
#24 Move repo to lvl0 group (public)
#23 Make price tracking optional and off by default
#22 Generalize copy — remove VWCE mentions

Test plan

  • Full test suite passes on CI
  • Onboarding flow: new user can create a tracker (asset and non-asset paths)
  • Entries can be added and appear in the ledger
  • Milestones work end-to-end
  • Price tracking UI is not visible
## Summary - Introduced Tracker model and refactored purchases → entries (schema + backend + frontend) - Two-path onboarding flow (asset vs non-asset tracker), with price tracking hidden behind a flag for this release - Security hardening, package upgrades (Laravel 13, Inertia 3, Vite 8, TS 6), CI pipeline, multi-arch prod image build, and dev environment overhaul ## Tickets | # | Title | |---|-------| | #44 | Hide price tracking UI and functionality for v0.3.0 | | #43 | Delete dead Breeze auth/settings boilerplate | | #42 | Extract todayISO() utility to lib/utils.ts | | #41 | Unify InlineForm success callbacks to onSuccess(type) | | #40 | Centralise Milestone interface to types/domain.ts | | #39 | Multi-arch prod image build: add linux/arm64 for Raspberry Pi | | #37 | Onboarding — add tracker type choice as first step | | #36 | Remove Redis — overkill for this app | | #34 | Frontend — multi-tracker UI, generalize financial copy | | #33 | Onboarding — two-path flow (asset vs non-asset) | | #32 | Backend — Tracker model, refactor Purchase → Entry | | #31 | Schema refactor — introduce Tracker, rename purchases to entries | | #30 | Fix nix-shell dev container build errors | | #29 | Look for security vulnerabilities | | #28 | Look for refactor opportunities | | #27 | Set up Forgejo CI | | #26 | Set up nix-shell | | #25 | Upgrade packages — Composer + npm | | #24 | Move repo to lvl0 group (public) | | #23 | Make price tracking optional and off by default | | #22 | Generalize copy — remove VWCE mentions | ## Test plan - [ ] Full test suite passes on CI - [ ] Onboarding flow: new user can create a tracker (asset and non-asset paths) - [ ] Entries can be added and appear in the ledger - [ ] Milestones work end-to-end - [ ] Price tracking UI is not visible
myrmidex added this to the v0.3.0 milestone 2026-05-09 15:06:15 +02:00
myrmidex added the
bug
enhancement
labels 2026-05-09 15:06:15 +02:00
myrmidex self-assigned this 2026-05-09 15:06:15 +02:00
myrmidex added 37 commits 2026-05-09 15:06:16 +02:00
27 - Add Forgejo CI: PHP tests, lint, coverage, asset build
Some checks failed
CI / ci (push) Failing after 2m49s
CI / build (push) Successful in 2m38s
36678b4b57
27 - Fix CI MySQL health check: use mysql client instead of mysqladmin
Some checks failed
CI / ci (push) Failing after 2m13s
CI / build (push) Has been cancelled
856646ccde
27 - Fix CI: drop service healthcheck, use nc wait loop for MySQL
Some checks failed
CI / ci (push) Has been cancelled
CI / build (push) Has been cancelled
965dc88455
27 - Fix CI build: drop setup-node, use Node pre-installed in act image
All checks were successful
CI / ci (push) Successful in 13m49s
CI / build (push) Successful in 1m25s
c808696a3f
39 - Add multi-arch build pipeline, fix prod Dockerfile, add .dockerignore
All checks were successful
CI / ci (push) Successful in 14m35s
CI / build (push) Successful in 45s
fe3711e57c
34 - Frontend: AddEntryForm, generalize unit labels, update LedDisplay/StatsBox/ProgressBar/InlineForm
All checks were successful
CI / ci (push) Successful in 14m47s
CI / build (push) Successful in 27s
6e76ce9c68
42 - Extract todayISO() to utils, delete dead AddPurchaseForm
All checks were successful
CI / ci (push) Successful in 13m17s
CI / build (push) Successful in 24s
221a0f879d
24 - Update CI image tags to lvl0/incr after repo move
Some checks failed
CI / ci (push) Successful in 29m26s
CI / build (push) Successful in 1m38s
CI / ci (pull_request) Failing after 31m46s
CI / build (pull_request) Successful in 1m13s
ab957d34cf
myrmidex merged commit bdfb7c031c into main 2026-05-09 15:08:38 +02:00
myrmidex deleted branch release/0.3.0 2026-05-09 15:08:39 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lvl0/incr#45
No description provided.