FEATURE Allow exporting transactions when looking at transactions for a category month (click on the "spent" column in the budget)
BUG Fix a crash when doing a shift+click selection that spans both posted and scheduled transactions
BUG Fix creating a rule based on the
amount field. Previously nothing would happen when selecting that field, and now it works!
BUG Posting a schedule with an approximate amount now works instead of crashing. Previously you would see a crash if posting manually, and the automatic service would silently fail in the background
BUG Fix a bug where the budget values were sometimes wrong when deleting a category or category group and transferring money to a different category. This flow also now works with undo. Previously, the budget values were cached incorrectly (so a "reset budget cache" would fix it) but now it should always work!
BUG Fix an issue where it looked like the budget was blank after doing a YNAB import. Now it correctly calculates the entire spreadsheets after importing. This fix also improves the performance of importing.
TWEAK Improve the name of the exported CSV file
TWEAK When a transfer transaction is automatically created, it now defaults to uncleared instead of cleared
importTransactions API function has been improved. Previously if a transaction matched an existing one, it wouldn't update the
notes field. Now if you provide
notes it will always update it. Additionally, the
cleared flag was being ignored and it was always
true; now it defaults to
true but if you provide a
cleared value it will respect it.
TWEAK The settings page hides certain fields that don't make sense for the platform. For example you cannot change the location of files on the web version.
BUG Fix a critical syncing bug that a recent released introduced in 0.0.141. If you've seen partial syncs, that should never happen again!
BUG Also fix a few frontend caching issues which makes the budget numbers more robust
BUG Improve entering amounts. If your system keyboard is set to a different number format than Actual, you will be shown a number input with a decimal separator like "." while Actual expects ",". Previously this made it impossible enter amounts, but now it will work regardless!
BUG MOBILE Fix crash on app startup on Android. Sorry about that! The last version updated the target API from 29 to 30 and required some permission fixes.
BUG Fix YNAB4 importing again! Previously it was erroring if you had any carryover / rollover flags. This also fixes issues if you select a custom location of a YNAB4 file to import.
TWEAK Using the "3 month average" budget action now bases the amounts on spent amounts instead of budgeted for the last 3 months
TWEAK Improve demo budget. It generates more real-world data
BUG Fix creating a new synced file. This was a regression from the last version, sorry about that! You should no longer see "This is not a cloud file" or any errors when setting up syncing
BUG Fix a syncing issue that could cause stale budget data! Most of these have been rooted out, but luckily the recent influx of new users has stress-tested syncing and found one edge case where the total amounts for category groups would be wrong. This has been fixed. Note: you can always fix any issues with budget data by going into Settings > Advanced and clicking "Reset budget cache". Hopefully you should never have to do that
BUG Fix importing files! This was also a regression from the big caching changes from last release. All YNAB4 and other importers should work now
BUG MOBILE Fix the "create account" button that is shown when there are no existing accounts
BUG Improve reliability when quickly opening and closing files. Previously sometimes you would see an error after closing a file
FEATURE Revamped navigation in the mobile app! This fixes a lot of issues such as layout of the app being slightly wrong on various devices, especially Android. Navigating between views should feel a lot smoother and various UX issues are fixed. All navigation now uses native components.
FEATURE While technically not a new feature, the way caching works has been completely revamped. This required major restructuring of some of the oldest part of the database. This makes it a lot easier to add new features to the app, reduces the size of the main database file, and fixes some longstanding issues with budget values being wrong in rare cases. Once you upgrade one client, all clients need to be upgraded for syncing to continue working.
The desktop app now stores all cached values in a separate database file called
cache.sqlite, which sits right beside
db.sqlite. Other platforms still store the cache in the main database, but is a separate table.
TWEAK Various internal things like how errors are track have been improved.
BUG DESKTOP The desktop app got hit by the expiration of LetsEncrypt's root certificate. This made the app unable to contact the syncing server and would appear "offline". All other platforms (iOS/Android/web) continued to work.
This bug effected all Electron apps that makes requests to servers from a backend process (doing it from a the UI process worked fine). Yesterday Electron landed a fix and this version updates Electron to include it. The app should be able to sync again.
The core issue is that certificates issued by LetsEncrypt are still cross-signed by the expired root cert for various reasons. The SSL implementation should always choose the valid root cert to check, but a quirk in Electron's SSL implementation was making it still choose the expired root cert.
TWEAK We've improved a couple things about how we report errors to make them more accurate.
BUG Fix a bug from the latest version that caused a startup crash. The app should load now, sorry about that!
BUG Fix importing OFX files on the web version
TWEAK This release some basic tracking. We still fully respect your privacy, and this data will be a huge help for future feature development and improving Actual. Read this blog post which fully explains how tracking works and what is being tracked. Summary: we never log anything from your data, but general app usage, and you can always opt-out.
BUG This is a small update that fixes the "reset sync" feature in settings which broke in 0.0.136. Thank you!
FEATURE This version greatly increases the reliability of the web version. It has a totally new storage layer, keeping your data local in a much more robust way. While we're not there yet, this is the first critical step in making the web a first-class platform for Actual.
BUG Fixed a bug which causes certain accounts balances to be wrong. This would happen after deleting split transactions and then doing a "reset sync". Everything should be accurate now.
BUG If you only have a few transactions in the system and they all exist in the future, the budget view would only allow you to see those future months. It now always produces the right range of budget months.
BUG The split transaction animation when expanding/collapsing splits wasn't working, and it has now been fixed.
BUG The "reconcile" button to start reconciling an account now works again.
BUG Clicking on the account balance to expand it and show other various balances now works again.
BUG Your number format is now respected in an
amount condition, which is used in the rule editor and account filters. Previously it only worked with a decimal (
8.00) but now you can use the format you expect (chosen in settings).
BUG The "uncategorized transactions" view is fixed. There was a regression in recent releases that broke it.
BUG Changing where your data is stored in settings now works again. A recent Electron update broke the UI.
TWEAK Resetting sync now removes a lot of dead data and compacts the database. This will significantly reduce the size of your database if it has a lot of syncing data built up.
TWEAK If adding transactions through
addTransactions API, the capitalization of the payee name will be respected and no longer be title-cased.
TWEAK When a schedule posts a transaction, it will now default to uncleared (no green checkmark). This was the intended behavior, allowed you to reconcile with your bank and manually clearing it.
TWEAK Deleting an account (not closing) now properly deletes the associated transfer payee as well. If you have deleted accounts before (clicking "force close" in the close account modal), you will have some leftover payees that you can't delete because they are considered transfer payees. In the future we will clean those up automatically.
BUG Fix problem where the autocomplete dropdowns wouldn't show in the transaction table if the row was too close to the bottom of the window. Now they will show above the input (this was a regression from a few versions ago).
BUG On certain linux distros, the past few versions of Actual (since 0.0.132) would crash on startup. This was due to an upgrade of a native dependency that was buggy, and we upgraded it to a version that fixed the issue. Actual should no longer crash on linux.
FEATURE Scheduled transactions! Track your bills, subscriptions and more with this powerful feature. Actual will scan all of your existing data and try to find recurring transactions and automatically setup schedules for you (click "Find schedules" in the notification that appears, or go to "Tools > Find schedules" any time)
This video walks through this new feature:
FEATURE Rule conditions for amounts now support "approximate" and "between" operators for matching a range of numbers
FEATURE Rule conditions for dates support recurring dates. This is mainly used for the new scheduled transactions feature, but is available for any rule
TWEAK The animations in a table when rows change position has been greatly improved. It's now a lot more consistent.
BUG Fixed a bug where splitting a transaction sometimes showed a duplicate split transaction
BUG The "For budget" and "off budget" items in the sidebar were hard to click. Not all of the text was clickable, and this has been fixed
FEATURE DESKTOP Native support for Apple M1 macs Actual has always been fast, but geez — running it natively compiled for the M1 chips on new macs is an entirely different experience. This version introduces a new arm64 build so you get the speed you'd expect from your new macbook. Your app will not auto-update from x86 to arm64 architecture, you need to download a new build. Download here
FEATURE Actual will now automatically sync when the app gets focused.
BUG If the running balance gets too large (over 100,000), previously the value was truncated. We've widened that column ever so slightly to avoid this.
BUG Fix closed accounts not sorting correctly.
BUG When exporting transactions, all transactions will be exported. In a recent release we accidentally made it so only the transactions loaded in the UI were exported.
TWEAK In a recent version we accidentally introduced a performance regression in the transaction table. This has been fixed, and when combined with the new M1 native build, the perf different will blow your mind :)
TWEAK After merging payees, the final payee is no longer selected. This caused confusion and made it easy to accidentally merge that payee in with others, not realizing it was selected. Thanks again to Luke Herrington for implementing this.
FEATURE Account reordering! You can finally drag accounts in the sidebar to reorder them. You can't drag them across different types of accounts yet to move them on and off budget, but that will come in the future.
FEATURE New budget action: hold all for future months Sometimes your budget changes a few months back, throwing off your nicely zeroed out months. Previously you had to go through and press "hold for next month" for each month to zero all your budgets again. Now you can use "hold for all future months" in the "To Budget" menu to tuck away that money in the buffer for that month and all months in the future. Thanks to Luke Herrington for implementing this!
BUG Fix a few bugs with the transactions table introduced in recent versions. Sometimes if you scrolled way down and scrolled back up, you would appear to lose some changes. You didn't actually lose any changes, but the UI would revert to older data. This has been fixed and all data should appear correct.
BUG Fix the bulk editing action for the account and payee fields. This broke in a recent update, and now when setting the account and payee by selecting transactions and doing a bulk edit, it works again.
BUG Fix the payee column when importing a file. In the last version there was a regression that didn't show the imported payee name, but it should work now!
BUG Never create blank payees (payees that only contain whitespace). This should improve confusing situations where importing a file created payees that only contained spaces. Now those transactions won't have payees.
BUG Ctrl+f now works on Windows and Linux to focus on the search bar on the account screen (before only cmd+f worked on macOS, now it works on all platforms)
BUG API Fix
getTransactions method to only return transactions for specified account
BUG API Errors from ActualQL are now properly displayed in the API. Previously the error message was blank due to a bug.
BUG MOBILE The "try demo" link on mobile has been fixed on the signup and login screens
A minor improvement: an additional check has been added to the schema to never show split transactions that don't have a "parent" transaction. This makes it more stable just in case something goes wrong with your data.
This is a big release that lays the foundation for custom reports and many other things! It introduces a new system for how data is queried that is more robust and expressive. The transactions table has been refactored to use the new system, in addition to reports and many other things, so a lot has changed. Please firstname.lastname@example.org if you see anything wrong!
The API for transactions has changed, so if you are using the API be sure to read below and check out the docs. You will need to update any scripts that use transactions.
Note: Searching specific fields in the search bar with the format like
date:01/01/2021 is no longer supported. However, typing a date like
1/1/2021 in the search box now automatically only shows transactions for that date. In the future, we will explore creating filters from the search bar more closely.
FEATURE The behavior of automatically creating categorization rules has been tweaked. Previously, whenever you categorized a transaction, it would create a rule to remember that category for next time (if it didn't already exist). It would do this the first time you used a category for a new payee. This was a bit too aggressive, causing confusing and incorrect categorization often. Now, Actual will wait until you use the same category for a payee at least 3 times in a similar timeframe to create the rule. This should make automatic categorization more accurate.
FEATURE ActualQL is the new query system, now available in the API! Go read about ActualQL in the docs about how to use it. In the future, various pieces of it will also be exposed within the app itself.
FEATURE MOBILE The transactions list on the mobile app now implements infinite scrolling. It will load more transactions automatically as you scroll.
BUG Fix bug where sometimes the transaction list would randomly scroll after applying a bulk edit and closing the modal (ok, it's not random, it was focusing the first selected transaction but it made it feel very jarring).
BUG Clicking on "spent" amount always shows the right transactions now.
BUG Fix bug where starting reconciliation with an amount of 0 would not work.
BUG Fix bug where the payee autocomplete would appear over an opened model sometimes.
BUG Fix a rare problem when loading rules that would make the app crash on startup.
API There are a few breaking API changes. You will need to update your scripts. The following fields of the
transaction object have been renamed:
The documentation for
Transaction has been updated.
cleared is a now returned from the API.
filterTransactions is deprecated, instead you should use ActualQL (see above).
This version uses a new code signing certificate for Windows. If you experience any problems on Windows, please let us know.
BUG If you added a transaction without a payee, but it has a category, it would set that category as the one to set on certain rules that categorized payees. That means you'd see wrong categories being automatically set for certain payees. This has now been fixed!
FEATURE The date input now remembers the last date entered when adding a transaction.
Recently a lot of work has been done on revamping how data is queried in Actual which will make it much easier to iterate on features, as well as forming the basis for custom reports. It's very exciting to see this work come together and it will bring Actual to a new level. Expect a lot more updates soon!
This release focuses on reliability of the budget. A few edge cases have been found which affect the budget, and while these are rare edge cases, you should never have to worry about the budget being wrong. Reliability and robustness is always #1 priority. This release changes the transaction import process quite a bit, so let us know if you have any problems with that.
BUG When clicking on the "spent" amount in the budget to view transactions for that month's category, it wasn't showing transactions from closed accounts. This made you think the budget was wrong, but it wasn't showing all the transactions it takes into account. Now it shows transactions from closed accounts.
BUG Discovered a critical bug that could make budget values out-of-date. If you categorize a transaction, and then split the transaction and categorize the split transactions with different categories, the original transaction's category will be wrong in the budget. What should happen is the original transaction should be removed from category it uses when split, and only the split transactions should affect the budget. This is now what happens!
The issue is an out-of-date cached value for the category's budget. If you used that category again, it would recalculate to the correct value. If you suspect any problems with your budget, you can always go to Settings > Advanced > Reset budget cache to recalculate the entire budget.
BUG The transaction import process has been refactored again and fixes a few problems. Reconciliation/deduping of transactions should be improved. Previously it wasn't deduping transactions if the payee was different. Let us know if it doesn't dedupe transactions like you expect.
BUG Importing transactions should now always use the payee that you expect after running rules. There were a few edge cases here where sometimes it would not end up with the correct payee. Additionally, even if it uses the correct payee, previously sometimes it would internally create other payees while processing the rules. Now it will always only create one payee at the end (if it doesn't already exist).
BUG Fix a crash that happened if importing a CSV/QIF file with transactions with no payees
BUG Fixed a bug where a rule with a condition that matched on payee wouldn't always run. It's hard to explain why this happened, so take my word for it: if you've seen problems with rules not being run when matching payees, it should run now. :)
BUG Fix a problem where sometimes the autocomplete opens when it shouldn't
FEATURE While it should never happen, in the event of a bug the budget values may be wrong. The issue is the values are cached for performance reasons, and if a bug in the caching layer happens, you might see out-of-date budget values. I've never seen this happen on the desktop app, but the web version is experiencing an issue where it happens rarely. I'm currently working hard to track this down - I take it very seriously. Until then, a "reset budget cache" option as been added under the "Advanced" section in Settings. This will recalculate your entire budget and ensure the cache is up-to-date. Try this if you think you are seeing wrong values.
Important: Custom rules is a big feature in this release and deprecates the old payee rules. Unfortunately, if you want to migrate over your payee rules, you need to do a sync reset. Actual will prompt you about this. The sync reset requires all other devices to be "reverted". For example, on desktop if you migrate data & sync reset from the prompt, you will see these prompts on your mobile app. Select "revert" to use the upgraded version.
FEATURE Transaction reconciling & deduping has been tweaked so that it won't match transactions as eagerly. Previously it would sometimes dedupe transactions when it shouldn't. Let us know what you think of the new behavior.
BUG On the accounts screen when viewing filtered transactions, clicking the select field in the header will unselect/select the current list of transactions instead of all transactions in the account.
BUG Doing a sync reset sometimes failed. Now it should work.
BUG When importing a QIF file, the dates are now correctly formatted in the list of transactions
BUG Closed accounts are now never shown in the transfers list
Internally, the transactions table has been revamped. It now uses the same code as all other tables (it was a special snowflake before) which will make it easier to extend in the future.
BUG Fix renaming accounts. This was a regression in the last release, sorry!
BUG Fix importing YNAB4 files. This was also a regression, and it should work now!
BUG Fix a bug when using encrypted files where logging out and back in made it looked like syncing failed. What really happened is your encryption key was removed when you logged out, so you need to recreate it. This led to a couple improvements with the workflow when encrypting fails.
BUG Fix a problem where a user couldn't load the app if their trial ended and they didn't have any existing files.
Watch this video which walks through all the new features.
FEATURE DESKTOP Batch editing of transactions! You can now select multiple transactions and edit them at once. Watch the video linked above which explains this feature in more detail.
FEATURE Revamp the demo budget and make it available on all platforms (when logged out, click "Try demo" to get a fully populated file)
BUG DESKTOP Improve performance when scrolling the transaction list
BUG DESKTOP Sometimes clicking "manage payees" from the payee dropdown accidentally categorized a transaction. No more!
BUG Fix some rare edge cases with syncing
BUG A few other small improvements and polish
BUG DESKTOP Fix a bug with auto-detecting dates when importing CSV files
BUG DESKTOP CSV importing now remembers that last delimiter selection used
BUG MOBILE Fix problem with setting up encryption key on mobile. You should now be able to create your key when downloading your file.
BUG MOBILE Fix styles on keyboard accessory buttons when editing budget amounts
BUG MOBILE Improve experience of account settings if offline
A lot has changed in this release. If you have any problems, please contact email@example.com or join slack for support!
FEATURE End-to-end encryption is now fully available! This update changes a lot internally to support this, and unfortunately you will need to "reset sync" after updating the app. Please read the blog post about it.
FEATURE Revamped sync experience. If there are any problems with syncing, encrypting or decrypting data, or your account, in the app you will see a notification describing the problem and be given actions to fix it. Previously, the was done in the file list screen which was not intuitive.
An example of what this looks like:
There are many situations that will show a notification: your encryption key has changed, you need to update the app to sync (if database has changed), and more. All of these have been documented here.
You should not see these notifications for the most part. Hopefully :)
FEATURE MOBILE You can subscribe to Actual through Apple's in-app subscriptions on iOS. Unfortunately, after spending weeks on the new version, Apple rejected my app because I didn't use it. So I had to implement it.
This happened at the same time as the HEY debacle but unfortunately I don't have the same influence as Basecamp to resist. Their post outlines the problems with Apple's IAP very well and I agree with all of it.
I encourage users to sign up via the website. The Apple IAP not only costs more because Apple takes a 30% cut, but I have no control to give you refunds, extend your trial, etc. If something goes wrong, you gotta fight with Apple. It's a terrible experience.
FEATURE MOBILE The designs for the logged out screens have been redesigned
FEATURE DESKTOP Improve CSV importing: auto-detect date format, add support for YY year format, add CSV delimiter option (now supports semicolon), and support various formats for amounts
FEATURE You can now read your data if your subscription expires instead of being logged out. Any changes to data won't be saved. In addition to that, if payment fails you have 2 weeks to update your payment method and you can fully use the app during this period.
FEATURE Internal changes that improve general consistency, and improves reliability of the web app
BUG Fix a UX issue where sometimes the user sees the file list while downloading a file instead of a loader
BUG Fix issue where certain invalid inputs in the budget field would cause various problems (like deleting a category, moving money around, etc)
BUG Fix bug with YNAB4 importing where sometimes that negative balance rollover flag for a category wasn't properly copied
BUG Fix the balances in the offbudget and on budget transactions screen
BUG MOBILE Fix issue where tapping on the screen while downloading a file could accidentally open other files
BUG DESKTOP The favicon of the webapp has been fixed and now shows Actual's logo
BUG File name is now synced across all devices when changed
BUG DESKTOP Fix a bug where undoing a "hold for next month" budget action showed inaccurate amounts temporarily.
BUG DESKTOP Maintain focus when editing a transaction and switching to other apps
BUG MOBILE Sometimes the app would crash on the settings page with specific settings. It shouldn't crash now!
BUG MOBILE Fix regression on Android apps where app would render underneath status bar
BUG MOBILE Fix problem with certain Android devices where text was aggressively truncated
FEATURE Do an initial sync when opening the app so your data is always up-to-date
FEATURE You can now export transactions to CSV by viewing an account and clicking "Export". If you have applied a filter, only those transactions will be exported.
FEATURE The default font has changed to Inter on all desktop platforms
FEATURE The budget table has been rewritten! The design is similar, but a lot has changed and paves the way for more improvements. I wrote a blog post going into details about it. Many interactions like the animation has changed.
FEATURE The drag-and-drop experience when reordering categories has been greatly improved
FEATURE You can now collapse budget summaries for a more condensed view
FEATURE You can now add notes to categories and months
FEATURE The maximum number of budget months you can view at once has been bumped up to 6 (used tot be 4)
FEATURE If you enter an amount more than 2 decimal digits, it now rounds to the nearest amount. For example, 2.428 would be rounded to 2.43 and 2.424 would be rounded to 2.42. This applies to results from math expressions as well like 4.40 * 1.06
FEATURE You can click on the income received amount in the budget to view transactions for that category
BUG This is a quick followup release that fixes QFX/OFX importing. 0.0.117 accidentally broke it, but it should work again!