github Lumina-Finance/lumina-finance v0.9.0
Release v0.9.0

3 hours ago

Lumina Finance v0.9.0

Lumina Finance v0.9.0 is here! This one is all about fixing bugs, mostly the kind that only show up depending on where you are and how your machine is set up. Dates and times now come from the time zone on your profile everywhere rather than from whichever machine the browser happens to be on, money amounts stay correct when your browser's locale formats numbers differently from what the app expects, and a component that fails to render shows a message instead of blanking the whole page. Lumina Finance also ships ARM64 Docker images now, so it runs natively on ARM hardware like a Raspberry Pis or an Apple Silicon machines instead of under emulation.

Note

Always remember to backup your data before upgrading!

Dates and Time Zones

Everything that decides what "today" is now takes it from the time zone on your profile rather than from the machine the browser is running on. Before this, opening the app from a laptop set to a different time zone than your profile could put a transaction on the wrong day and shift the boundaries of any range that depends on today, including month to date and the current budget period.

Dates travel through one shared layer on both the frontend and the backend, and are read in a single stated format rather than being handed to the browser to interpret. Sorting compares the underlying dates and category values instead of the text of them, which fixes lists that came out in the right order under one locale and the wrong one under another. Time zone identifiers that your operating system still reports under an older name are accepted rather than rejected as invalid. In the transaction filter, the date picker has been fixed, and a range whose start falls after its end is refused instead of quietly returning nothing.

Money and Currency

Money amounts stay correct when your browser's locale formats numbers differently from what the app expects, which previously could change the figure you were looking at. Amount fields in filters show a placeholder in a shape that is actually valid, and reject a range whose lower bound sits above its upper. Modals open with the current figure at the right number of decimal places rather than a stale or wrongly scaled one, and if the currency list fails to load, the money forms stay usable instead of locking you out of the screen.

Interface Fixes

A component that fails to render is now caught and replaced with a message, so one broken piece no longer takes the whole page down with it. Keyboard focus is held inside a modal while it is open, so tabbing stays in the dialog instead of walking off into the page behind. Chart tooltips inside modals appear reliably, and the blur behind a modal is drawn a much cheaper way, which takes a noticeable load off the GPU while a chart is being hovered.

Chart colours are consistent from one of your devices to the next. The budget history chart orders its categories by what they are currently spending, and the tracked category list beside it reads alphabetically. The filter panel opens upward when there is no room below the pill, the mobile filter sheet is filled in before it is drawn rather than after, and the accounts page has a tooltip explaining what the runway figure means.

ARM64 Docker Images

Images are now built and published for ARM64 alongside AMD64, under one multi-architecture tag. Pulling the image gets you the right build for your machine automatically, so your compose file stays exactly as it is and there is no second tag to keep track of. Self-hosting on ARM hardware no longer means running under emulation or building the image yourself.

Database Migration

This release does not add a database migration. But as always, please back up your data before updating just in case.


What's Changed

  • fix: update pyasn1, postcss, and react-router to patch known CVEs by @OKok-3 in #133
  • chore: move the frontend from react-router-dom v7 to react-router v8 by @OKok-3 in #134
  • Upgrade frontend and backend dependencies by @OKok-3 in #135
  • Cover passkey ceremonies with real signatures by @OKok-3 in #136
  • Clean up documentation that had drifted from the code by @OKok-3 in #137
  • chore: untrack the local development tooling by @OKok-3 in #138
  • refactor: split config into modules and apply the style rules by @OKok-3 in #139
  • docs: add TSDoc to undocumented exported frontend functions by @OKok-3 in #140
  • Restructure the frontend for code quality by @OKok-3 in #141
  • Route dates and timezones through one shared layer by @OKok-3 in #142
  • fix: stop the browser locale corrupting money amounts by @OKok-3 in #143
  • fix: read dates in one stated format by @OKok-3 in #144
  • fix: stop chart colours differing between devices by @OKok-3 in #145
  • Stop modals opening with stale or wrongly scaled values by @OKok-3 in #146
  • Show valid money placeholders and refuse crossed bounds in filter by @OKok-3 in #147
  • Add support for ARM64 Docker image builds by @OKok-3 in #148
  • Catch render errors that blanked the app by @OKok-3 in #149
  • Update the uv toolchain and pin Node to a minor by @OKok-3 in #150
  • fix: recreate the worker test database on every run by @OKok-3 in #151
  • Take today from the user profile's time zone everywhere by @OKok-3 in #152
  • fix: fill the mobile filter sheet in before it is drawn by @OKok-3 in #153
  • fix: refuse a transaction date filter that starts after it ends by @OKok-3 in #154
  • Fix the date picker in the transaction filter by @OKok-3 in #155
  • fix: drop the insights preset fallback that caught Custom by @OKok-3 in #156
  • fix: keep the money forms usable when the currency list fails by @OKok-3 in #157
  • Hold keyboard focus inside every modal by @OKok-3 in #158
  • Order dates and category kinds by value instead of as literal strings by @OKok-3 in #159
  • Open the filter panel upward when there is no room below the pill by @OKok-3 in #160
  • chore: add runway explanation tooltip to accounts overview page by @OKok-3 in #161
  • fix: accept legacy IANA timezone identifiers by @OKok-3 in #163
  • fix: extend window overlays over the scrollbar gutter by @OKok-3 in #164
  • revert: undo window overlay stretch over the gutter by @OKok-3 in #165
  • Fix chart tooltips in modals and the cost of the backdrop blur by @OKok-3 in #166
  • Order the budget chart by spending and tracked categories by name by @OKok-3 in #167
  • fix: pad the filter panel's top edge when it opens upward by @OKok-3 in #168
  • chore: update README by @OKok-3 in #169

Full Changelog: v0.8.0...v0.9.0

Don't miss a new lumina-finance release

NewReleases is sending notifications on new releases.