Releases: Feromond/budget_tracker_tui
Budget Tracker 1.3.1
Budget Tracker TUI v1.3.1
Full Changelog: v1.3.0...v1.3.1
Summary
This version contains many minor improvements and bug-fixes. They are primarily around the budget view but some new minor features exist elsewhere.
Main Notes:
- Fixed the broken yearly average value for the specific category budget view, closing #54
- Cleared up some of the UI colouring in the budget view to make it a little less confusing when looking at numbers
- Added a new copy transaction feature to the main view (ctrl+c). Allows for copying a transaction easily to not require full manual entry each time.
- Improved some help menu information / cleaned up some project details.
For the most recent primary info for the project, still refer to the latest release:
https://github.com/Feromond/budget_tracker_tui/releases/tag/v1.3.0

Budget Tracker 1.3.0
Budget Tracker TUI v1.3.0
What's Changed
Full Changelog: v1.2.2...v1.3.0
Summary
Initial SQLite support has been added, starting with category management. This enables new functionality while laying the groundwork for a future, fully backward-compatible migration of transactions.
A new category catalog allows users to create and manage custom categories and subcategories, including setting target budgets for each subcategory.
The database defaults to budget.db and is stored alongside the transaction file. It can be moved or renamed freely. If the new location does not contain a database, the existing data will be copied. If a database already exists, it will be used instead.
Database files can be stored on cloud services to support syncing across devices.
Updating categories will also update any associated transactions. If a database is not synced across devices, transactions will remain intact but may appear as uncategorized until valid categories are available again.
More detailed dive
I have started working on adding SQLite support into the app. I am starting slow with just the categories but this already enables a lot of great additional features! Transactions will also be migrated eventually but in a manner that does not break any existing workflows, and that will be seamless and backwards compatible.
With the addition of sqlite, I have created a category catalog. In there, it's possible now to create custom categories and subcategories. It is also now possible to add details such as a target budget per sub-category.
The database is by default called budget.db, and is stored in the default location (basically wherever your transaction file is). It can be moved and renamed and it will behave in the same style that the transaction csv did. Renaming or changing paths to a location that does not contain a database will copy over the existing database data. If copying to an existing database, it will swap instead of copying and use the new location without problems.
These database files can similarly be stored on cloud services to allow for the data to sync across devices.
Updating categories that are in use for transactions will update those transactions. Be careful to ensure that if you are changing existing categories or creating new ones to use, that you also sync the database so that when another device loads the transactions, it will be able to use those too. If you do make this mistake, not to worry! Nothing will happen to your transactions. They are fine to have invalid categories and sub-categories. They just can't be edited without saving a valid category or sub-category. They will be registered as uncategorized in any aggregated views.
Thanks to the category targets, I created a new view called budget view. This view can be accessed by pressing the 'b' key in the normal mode. This view will display very useful budgeting information, so long as you have set a target budget for some categories. Please feel free to send feedback for any issues or requests around this, as it was a relatively complex undertaking and I may have lost clarity.
A few other minor changes were made such as adding quarterly recurring transactions to the recurring transaction period options.
Budget Tracker 1.2.2
Budget Tracker TUI v1.2.2 - More minor bug fixes and subtle improvements
What's Changed
- [Feature] 2026 Update 1 - Updated dependencies and created new input process for easier future additions by @Feromond in #50
- [Bug] Fixed the transaction type bug where 'i' and 'e' in the data would cause issues.
Full Changelog: v1.2.1...v1.2.2
Summary
This intention of this update was to refactor and fix a couple of small but annoying issues. I am currently in the process of working on a larger new feature drop that I am hoping to be able to release not too far from today. There are a lot of things keeping me quite busy which have delayed that, but I wanted to release this minor update now to provide improved stability and user experience for now.
Stay tuned for the larger new changes to come!
Budget Tracker v1.2.1
Budget Tracker TUI v1.2.1 - Bug-fixes, improvements, and enhancements
What's Changed
Full Changelog: v1.2.0...v1.2.1
Summary
This update focuses on the biggest friction points discovered through user feedback and my own daily use of the app. It fixes long-standing quality-of-life issues, significantly upgrades input behavior, introduces cleaner visuals, and adds a handful of small but impactful features. The result is a smoother, more intuitive experience across the entire TUI.
Core Improvements
Filtering & Input Fixes
- Fixed inconsistent behavior when backing out of filtering menus (Esc / q now clear filters instead of closing the app).
- Improved filter clearing beyond just Ctrl+R.
- Advanced filter field now properly accepts capital letters.
- Fuzzy search input also now supports capital letters.
Status Message System
- Status messages can now auto-expire after 3 seconds.
- Error messages still persist until dismissed.
- Cleaner interface and fewer lingering UI elements.
Visual & Table Enhancements
- Numeric values across tables now align by decimal point for much better readability.
- In category summaries, entries with
0.0are hidden to reduce clutter. - Improved header formatting and clearer separation between months vs categories (bold + background highlight).
- Updated tree lines to use improved Unicode characters.
- Removed some unnecessary box borders to give more room to content.
- Summary bar removed from category summary view; replaced with a cleaner footer containing the yearly total.
- Added helper for formatting numbers with commas (visual only).
- Added helper for formatting amounts as hours wherever applicable.
Settings & Toggles
- Settings toggles now use single-direction Unicode arrows and clearer UI.
- Hourly view toggle now appears immediately after adding a rate.
- Added infrastructure for conditional/dynamic settings.
New Features
One highly requested enhancement was making it easier to jump around category and sub-category lists. I added a new timed buffer jump-to navigation system for non-fuzzy mode: typing now jumps you to the closest matching entry. This dramatically speeds up menu navigation without needing to scroll through long lists.
- Added “jump-to” navigation for category/sub-category menus using a timed buffer.
- Added a setting to hide the help bar, freeing up screen space for advanced users.
- Added more default categories to cover additional use cases.
For more details on the rational or full descriptions, feel free to check out the PR description #45
Some Screenshots:
Category Summary View Updated Visual
More Screenshots Here
Budget Tracker v1.2.0
Budget Tracker TUI v1.2.0 - Major improvements to usability and documentation.
What's Changed
- [New Feature] Added new keybinding help menu system by @Feromond in #30
- [New Feature] Upgraded settings menu and added new settings. by @Feromond in #31
- [New Feature] Added fuzzy search to categories - subcategories by @Feromond in #32
- [New Feature] Added update notifications for the budget tracker app by @Feromond in #34
- Ran cargo fmt and clippy by @Feromond in #35
Full Changelog: v1.1.2...v1.2.0
This update contains a ton of really valuable changes.
The first major improvement was the addition of a keybinding / help menu that is curated for each unique view in the app. This is accessed using Ctrl+H and it contains information on all keybindings, fields, and controls within a given view. This means that it's much easier now to properly understand how to use this application, without being a developer on it and reading source code. This also means I can provide deeper instructions beyond the simple help bar.
The settings menu was also revamped significantly. This was done to prepare for future changes that would be utilizing the settings menu. The settings menu before was very poorly created, not very dynamic, visually not ideal, and was very hard to update and add things in an organized way. The new settings menu follows a nice dynamic approach and allows for new settings to be created easily and be organized.
A new setting was added to allow changing some amounts to instead be represented by time, based on a hourly rate of pay. This was a requested feature that was added, and It was a great initial test of the settings system to see how well it worked to build with.
Another feature added was the fuzzy search to the categories / sub-categories selection. There was a request to not need to select them each time as it could get annoying to find the specific sub-category. While I did not want to really remove the existing way things work just yet, I did want to add a toggle in the settings to swap to using a fuzzy search based option. This option can search through both categories and sub-categories at the same time, and selecting an option will auto-fill the inputs.
I improved the way this app handled numeric values. Before I was using floats to store the financial data which can lead to potential issues with rounding and accuracy issues. While I did have some handling that should have reduced the odds of that happening or having any of those issues really cause damage, I did opt now to swap over to Decimal types to ensure proper handling and safety. This allows me to be confident that numbers are being dealt with properly and without major issues.
Lastly I added a version checker into the app. It will use a very lightweight and simple API call to check if GitHub has any new versions released. If so, a popup will appear on the launch of the app to indicate to the user that there's new updates available for download. I think this is a very important feature to include as it's critical for future updates that users are communicated with in some simple manner. If I add new features or fix bugs, I want people to be made aware as soon as possible, without relying that they check the GitHub constantly.
Here are some screenshots of the updated features for reference:

Budget Tracker v1.1.2
Budget Tracker v1.1.2 - Improved navigation and updated summary bar.
What's Changed
- [Feature] Improved Transaction Navigation & Updated Summary Bar With Yearly Values In Specific Views by @Feromond in #24
Full Changelog: v1.1.1...v1.1.2
The navigation has been improved with the addition of using the page-up & page-down keys to allow for skipping multiple transactions at a time. This has also been implemented in the category summary view, but there it works to allow skipping between months. This makes it a lot easier and a lot faster to jump between entries and data, rather than the previously much slower individual transaction jumps.
Support for using the control+up-arrow and control+down-arrow is now also added on the main transaction view to allow skipping from the very first to the very last transaction. This is a minor QoL update I wanted to add as I often find I am sometimes scrolling to view things and then want to get up to the most recent transaction quick. Rather than using the weird work around of filtering to get up, this is a super quick and easy solution.
Apart from those additions, I have also "fixed" the summary bar to make it actually show the total summary for the specific year in the monthly summary and category summary views. Since those views are already locked to show one year at a time, this change is pretty intuitive and makes the most sense here. The summary bar works just as it did before and can still be filtered, but it now has default behavior to show the current year in the view as the total rather than always just the grand total.
Some Screenshots of the updated summary bar
v1.1.1
What's Changed
This update is not as major but includes a lot of general improvements for things. There are a couple of new categories added now that were requested.
Two new categories
Expense -> Shopping -> Beauty & Personal Care
Expense -> Personal & Other -> E-Transfer
I have also continued to standardize different things a bit more. The advanced filtering and filtering as a whole was improved to behave a bit more consistently and in a fashion that I think people would expect more. Before there were some quirks to it and how it operated, but now I think it should overall be pretty intuitive and a bit more enjoyable to use.
It now also has improved interaction with the inputs to make it faster and easier than ever to start filtering in more details.
Improvements were also made to the pasting of paths which contain quotes around them. To prevent those issues, quotes are now stripped. Even if they appear like they are there, they will strip when they are being saved. Otherwise, live stripping quotes does work when typing or updating a path, it just requires some update to trigger the visual.
Full Changelog: v1.1.0...v1.1.1
Budget Tracker v1.1.0
Budget tracker update 1.1.0 with new recurring transaction feature
I have added a new requested feature which is recurring transactions.
Transactions are created and edited as normal, but now with a new key ('r'), a user can select a transaction and swap to a recurring transaction settings mode. There they can set if a transaction is recurring (it will use the initial creation date of the transaction and go forwards from there), change the frequency of how often it occurs, and then also set an ending date as to when the recurring transactions should stop.
Editing and deleting these recurring transactions will jump the target to the original transaction. From there, it can be deleted or edited which will cascade through all the other generated transactions. Transactions WILL NOT generate past the end date, or past the current date when the user is on the app.
Besides the new addition of this major quality of life feature, there were a ton of back-end changes again. Lots of code was centralized and cleaned up. The reduction of repeated code is a major improvement as it reduces the code-base to make it easier for working with it, and it also allows for fixing of bugs in one place, rather than in many. I noticed that by cleaning things up more, I was able to fix many bugs that had come up due to individual implementations of things that were not needed.
Here are some screenshots of the updated application again:
Screenshot of some recurring transactions, indicating the initial source and then the other generated ones.
Screenshot of the recurring transaction menu to enable or make changes to recurring settings.
If you find any bugs or have some weird experience using this, please feel free to create an issue as it will help me and I will work to resolve all issues fast.
What's Changed
Full Changelog: v1.0.0...v1.1.0
Budget Tracker v1.0.0 - Release MVP
Initial release of the Budget Tracker TUI!
This first version 1.0.0 does not mean I am finished or close to finished with this project. I am releasing this as the 1.0.0 version since it now checks off all the bare minimum features I initially wanted to add. I have also spent a lot of time on the previous version testing for stability issues and bugs. Now that all of those issues are resolved (as far as I am aware right now...), I am putting this out there since it can already be used and provide some value.
There are a lot of new additions here. Lots of the UI sections have been fully revamped and improved. The backend code is almost entirely re-done, in the sense that it's way more organized and easy to work with for future development (no more giant app and ui files). I also spent time improving the experience and making things feel more intuitive. I wanted to make certain actions feel clear and also make it easier to know what things are available. I think these improvements go a long way to make it less confusing to use, and also to improve the overall experience.
Future plans from here
There is a ton I am still looking forwards to working on for this. I have lots of ideas to improve and enhance the whole process.
One clear idea is to work on improving how data could be imported, meaning getting transaction information from other sources and transforming it to fit this app. This would be somewhat complex but could be a huge improvement for QOL. Even if that ends up being a separate tool to go alongside this for an initial data dump, it might be a good idea.
Trends are also something I want to consider. It would be nice to start looking to predict spending habits and learn from the users data locally. It would also be great to forecast and maybe even notify based on changes in behaviour.
Part of the reason the categories are still a fixed and built in setting (which I may work to change) is because I also plan to try and use them to setup values around them. An example of the end goal would be if a user spends a lot on fast food, it could be "worse" then spending on normal utilities lets say. These difference expenses and incomes can be worth different amounts of impact and that could be used to gather insight and so on.
I am including the binary for macOS (arm) and linux soon after. The windows exe will be here but there will be an installer that I recommend using from windows. I need to figure out how to make a proper installer on any os in general one day.
Now check out some new random screenshots of the UI updates:
What's Changed
- [Feature][Bug-fix] Improved date input handling by @Feromond in #6
- Refactoring App Module by @Feromond in #8
- Feat Refactored UI and modularized (also some bug fixes) by @Feromond in #9
- Revamp UI visuals by @Feromond in #11
- Extra cleanup bugfixes by @Feromond in #12
Full Changelog: v0.2.0...v1.0.0
Budget Tracker TUI v0.2.0
Budget Tracker TUI V0.2.0
I have updated the application with a few new great updates.
The category view has been updated to significantly improve the usability with large amounts of data inputs, and also is far more organized. There is now a tree structure to break down different months and see the categories within them. It's a much cleaner look and will handle more data over time way better. There were a bunch of little fixes including the addition of filtering to impact the monthly summary view also. Lots of minor cleanup to reduce some redundancy and repeated code.
The second larger feature is now the advanced filter. With this, it's possible to filter by any part of the data available to restrict how the different views will render now. This makes it great for looking into specific areas when navigating and gaining insight from the data.
There are more features planned still, but one of the most important next steps will be to eventually clean up and organize the code to break apart the largest parts. The UI and app files are huge and need to be split into their own sub-parts for the different components within.
This new release is now a pretty stable and useful version. I feel I am close to the initial 1.0.0 release, but I want to include a few more important features before we get there. After that, I will continue to add more features and improvements, but I will at least be able to consider the app a MVP for a functional tool that can support and help budgeting and tracking income / expenses.
What's Changed
- Updating category summary with tree view by @Feromond in #3
- Feat Adding advanced filtering by @Feromond in #5
New Contributors
Full Changelog: v0.1.3...v0.2.0



