mirror of
https://github.com/actualbudget/actual.git
synced 2026-07-11 11:59:55 -05:00
[Feature] Semantic version #523
Closed
opened 2026-02-28 19:07:16 -06:00 by GiteaMirror
·
7 comments
No Branch/Tag Specified
master
tabedzki/feat/replacing-month-picker-with-day-picker
enforce-append-only-migrations-ci
delay-initial-sync-until-loaded
jfdoming/mobile-app-build
claude/error-codes-worker-boundary-26i5uu
jfdoming/api-tokens-part-1
jfdoming/api-tokens-part-2
jfdoming/api-tokens-part-3
jfdoming/mobile-app-updates
ai/simplify-categories-get-api
api-browser-custom-data-dir
claude/budget-version-migration-compat-151jlr
claude/worker-error-serialization-9iqtl7
claude/react-table-library-research-afx83z
claude/issue-8401-regression-test-9nw9l3
jfdoming/mobile-app-foundation-part-1
jfdoming/mobile-app-scaffold
release
ai-fix-cleanup-def-8290
claude/relaxed-shannon-jusywa
claude/fervent-keller-s6f2fq
claude/determined-feynman-st1y9z
claude/wizardly-einstein-vi2wce
claude/sweet-albattani-7nseio
feat/bank-sync-per-budget-file
claude/affectionate-cannon-y0kc82
claude/dependabot-findings-m9pgmb
claude/mac-app-ios-publish-zjs1lz
claude/vigilant-tesla-aiiyos
depot-migrate-secrets-1781296330308
claude/quirky-cerf-v5qck7
claude/animation-removal-alternative-2etfh1
claude/netlify-preview-comments-consolidate-9XPYa
osc/7391-error-boundaries-reports
claude/pensive-dijkstra-7DYui
claude/server-app-version-mismatch-HTCGv
claude/pr-8027-review-feedback-mELuO
claude/zealous-wozniak-e5pO0
claude/intelligent-heisenberg-BSHJq
claude/translation-download-refactor-jFRsO
claude/mobile-performance-ideas-G9PAO
claude/github-issue-7988-5A5ly
blacksmith-migration-ff70d2d
claude/great-mayer-KRvOk
claude/react-native-ios-compilation-fcJh5
claude/serene-goldberg-58xv0
claude/kind-euler-LVG3K
release-automation/edge-nightly
7710-bundle-migrations
claude/fix-docker-build-error-WMfed
claude/llm-compatible-release-notes-t20Nr
7710-tests-tdd
cursor/transaction-table-rewrite-f077
claude/plan-ci-secure-context-OtEe1
claude/fix-issue-7667-DPXi3
cursor/resolve-pr-7449-ee11
claude/fix-typescript-build-error-JPtZ5
copilot/add-repository-configs-to-packages
worktree-compressed-drifting-ritchie
claude/api-consumer-verification-kfz1K
pr-7454
claude/fix-issue-7410-LLLQ4
revert-7281-generate-icons
react-query-useSchedules
copilot/sub-pr-6140
package-upgrades
v26.7.0
v26.6.0
v26.5.2
v26.5.1
v26.5.0
v26.4.0
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
tech-support
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
No Label
feature
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#523
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @webysther on GitHub (Jul 23, 2023).
Verified feature request does not already exist?
💻
Pitch: what problem are you trying to solve?
When using this software I found no MAJOR and MINOR separation as is usual on mostly software by using semantic version, this is critical because when you want to update the software you may want to only update with non-breaking changes and with docker this is very simplified with MAJOR tags, like in the postgres, for instance:
Describe your ideal solution to this problem
Starting using semantic version with date also, like described in spec: https://semver.org/#spec-item-10
For this project this can be done in this way:
The PATCH can be ignore because the project only use one actually, with MAJOR and MINOR is a advance.
This make possible to create a MAJOR tag in docker also:
actualbudget/actual-server:24actualbudget/actual-server:24.1Teaching and learning
This make possible to users update the software only with non-breaking changes, updating the manual to starting using the MAJOR tag as default and not the latest as suggested.
@github-actions[bot] commented on GitHub (Jul 23, 2023):
✨ Thanks for sharing your idea! ✨
This repository uses lodash style issue management for enhancements. That means enhancement issues are automatically closed. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution).
The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+
Don’t forget to upvote the top comment with 👍!
@j-f1 commented on GitHub (Jul 23, 2023):
How would you define a breaking change in the context of this project?
@webysther commented on GitHub (Jul 25, 2023):
Great questions @j-f1, every change that need the user to change something to upgrade (manual database migration for instance when a new release for docker), a change of how the user interact with application, like a new default behavior which is common in some cases. A huge release which maybe introduce new bugs because have new big features that is on by default and don't work as a feature flag. Breaking changes like a new ENV VAR required, a structural change that need to execute a tool to fix a old bug discovered only in future. Some applications consider MAJOR when the UX is changed a lot.
But normally is all user required intervention that maybe break the app if they did automatic.
Anothe common example is change on API, because if anyone use the API to create automation, the new version maybe will break the workflow/integration created, like endpoint renamed/deprecation.
@j-f1 commented on GitHub (Jul 25, 2023):
Thanks for that thorough list! I’m not sure any of them really apply to us:
We always run database migrations automatically when necessary.
We do our best to avoid major changes to the UI that break existing workflows, and I’m not sure doing a major release for smaller UI changes would make much sense. (For example, most releases would probably break at least some automations that rely on clicking hardcoded pixel coordinates, but that feels fine).
This is why we use feature flags! I don’t see us shipping any major features without using one in the future.
I don’t foresee us requiring configuration like this in the future.
Anything like this would be able to be communicated more clearly via the UI than via version numbering (and presumably we would want to get people to update ASAP to fix the bug, so the fix would be automatic)
We probably won’t do this in the future, but it’s definitely something to keep in mind. The current UX has worked well for 4–5 years already, and I don’t see a need to change it now.
One of our big goals is making Actual easy to use even by people who aren’t very technical. Part of that is building an app that is capable of handling any changes needed when updating.
Since the API is distributed as a separate package, it is versioned separately and uses standard semver practices. We’ve already released a couple of major releases as needed.
The closest thing to a breaking change we’ve had is that a while ago we started requiring HTTPS in order to access the web app in some cases. This was only introduced because we discovered the fallback mode we were using had major issues that led to user complaints. After getting feedback from people that they still wanted to use the broken version, we did a bugfix update to allow folks to bypass the warning instead of blocking them from using the app.
@webysther commented on GitHub (Jul 25, 2023):
Thanks for the detailed response, I think I'm lost in the woods, this docker here is the frontend and backend? Because I open this issue thinking that only one repository.
@j-f1 commented on GitHub (Jul 25, 2023):
The Docker image is for the backend, but it includes a frontend bundled with it that you get when you visit it once started. We generally release the frontend and backend together at the same time.
@webysther commented on GitHub (Jul 26, 2023):
Thanks, sorry for the burden, great piece of software, I have a 12 year old spreedsheet and the first time I look for a software that fits what I want.