Major changes ahead
⚠⚠⚠ Backup your database before updating and follow the steps below!!!
This release is not meant for daily use, stuff will break!
This release will include major database changes, so DB backup is absolutely vital! To make this process as seamless as possible, we have created a new ossapps/postgres image, which is just a regular postgres image with the pg_cron extension installed (source).
DB image update
- Determine your currently used major postgres version using
docker exec -it splitpro-db psql --version - Determine the version of Debian using
docker exec -it splitpro-db cat /etc/os-release - In your
composefile, change the image name frompostgrestoossapp/postgresand add the relevant tag from the ones we have built. The minor versions shouldn't matter as lons as you match the major version and debian version. - If you encounter issues and require a specific version, ask us in the discussion to build it.
- Add a starting command to your
postgresservice, like in here
New features
- currency conversions are here! Configure one of the providers in the README and start converting group balances and individual expense amount! More features (and docs) will be added during the alpha, such as balance views in preferred currency or user balance conversions
- recurring transactions you can now select a recurrence cron rule on expenses! You will see a new icon in the add expense page with a pop up for setting up these rules (UI refresh is also expected) and manage them from a new tab accessible via the activity page.
- bank transaction import connect a Plaid account to fetch your bank data and convert them into SplitPro expenses directly! Still a bit WIP, but kudos to @alexanderwassbjer !
Breaking changes
This alpha release is mainly focused on testing out not only the new features, but also the breaking changes they carry with them. Apart from the DB image transition:
- moving from expense
cuidtouuid. We needed a postgres native id solution to support recurrent transaction input viapg_cron. Make sure all your transactions are properly carried over. You can usepgAdminorpsqlto query your expense+expense participant tables before and after the migration. Ideas on how to automate this check are welcome - migration to DB calculated balances. Maintaining a balance table proved to be very cumbersome and bug prone once advanced features started being implemented. Instead, we want to rely on the speed of DBMS and utilize a database View for that, treating expenses themselves as the source of truth rather than the surgically updated table. Many thanks to @FriesischScott for the work on this and the benchmarks proving the feasibility of this approach.
Testing
There is a substantial amount of new code and potential polishing required so any testing and feedback (both bugs and LGTM) is very helpful! For the balances, we currently still use the old tables, but on each call a comparison with the view is made and any mismatch is logged as an error by the server. It's not visible to the user, but I am asking you to run this version for a while and report any errors that may arise. Keep in mind that there are bugs in the current balances, so not every mismatch is a bug in views. In groups you can run recalculate balances to refresh.
Also keep in mind that recurring transactions are not and will not be supported by balance tables (only views).
Detailed changes
- Translations update from Hosted Weblate by @weblate in #365
- Feat 79 currency rate transactions by @krokosik in #364
- 1.6 dep updates by @krokosik in #372
- Locale json merge by @krokosik in #385
- Add pg cron builds by @krokosik in #387
- Fix application_name/title translation by @beposec in #396
- Adding fr (French) locale by @FelixDz in #405
- Translations update from Hosted Weblate by @weblate in #404
- Translations update from Hosted Weblate by @weblate in #399
- Translations update from Hosted Weblate by @weblate in #398
- Translations update from Hosted Weblate by @weblate in #397
- Add keycloak as oidc provider and remove non-standard fields from keycloaks response by @beposec in #395
- fix for Negative expenses with decimals- #370 by @BhaskarKulshrestha in #403
- Revert "fix for Negative expenses with decimals- #370" by @krokosik in #408
- Show "No providers configured" on signin page by @ercusz in #409
- 🚀 Add bank account transaction integration by @alexanderwassbjer in #132
- 160 recurring expense by @krokosik in #420
- Translations update from Hosted Weblate by @weblate in #422
- Translations update from Hosted Weblate by @weblate in #421
- 401 fix back navigation by @krokosik in #423
- 400 split equal edit fix by @krokosik in #424
- Handle negative numbers in bigint conversion by @krokosik in #425
- Extended seed db by @krokosik in #430
- Fix receipt missing on edit by @krokosik in #431
- 366 only show relevant amounts with friends by @krokosik in #443
- 331 debug info button by @krokosik in #444
- Translations update from Hosted Weblate by @weblate in #433
- Translations update from Hosted Weblate by @weblate in #432
- Translations update from Hosted Weblate by @weblate in #448
- Translations update from Hosted Weblate by @weblate in #449
- Fix service worker precache failure by @hrmtc in #446
- Improve category picker layout by @rodrigost23 in #472
New Contributors
- @weblate made their first contribution in #365
- @beposec made their first contribution in #396
- @FelixDz made their first contribution in #405
- @BhaskarKulshrestha made their first contribution in #403
- @ercusz made their first contribution in #409
- @rodrigost23 made their first contribution in #472
Last but not least, a huge shoutout to @FelixDz for supporting the project with a donation!
Full Changelog: v1.5.7...v1.6.0-alpha.0