Skip to content

finbreak v1.0.0

Choose a tag to compare

@milnet01 milnet01 released this 08 Oct 12:54

Theme: The 1.0 gate.

Changed

  • When an OFX file holds several accounts, the chooser names each account's type in words (for example "Savings") instead of the bank's code (FIBR-0408)

  • Importing several statements with the same layout asks about the columns once, even if you do not name the layout (FIBR-0389)
    The "Save this layout as…" field is optional, but leaving it blank
    meant every file with the same columns was asked about again. Your
    answer now applies to every file in the same import whose column
    headings are exactly the same. Naming the layout still saves it for
    next time.

  • PDF reports are always exported on a light page (FIBR-0217)
    The Light/Dark choice in the export dialog is gone and every report
    now prints on a light page. Dark reports had an unreadable page number
    — black on a nearly-black background — and the only ways to fix it
    were to rebuild how pages are laid out, which broke the report twice
    when tried, or to drop page numbers entirely. Light was already the
    default, so most exports look exactly as they did.

Fixed

  • On a Linux computer missing a few common display libraries, finbreak's window now opens under X11; the AppImage and the Linux packages carry those libraries themselves. (FIBR-0430)

  • Checking a backup now uses disk space in finbreak's own folder instead of your computer's memory on some Linux systems. (FIBR-0441)

  • Moving a statement to another account no longer leaves a money transfer with both sides in one account and its amounts missing from your totals. (FIBR-0438)
    Such a transfer is unlinked during the move, and the status bar says
    how many were.

  • A mistyped time zone in Settings or at first run is now refused with a message, instead of quietly switching to your computer's zone. (FIBR-0435)

  • Dates with month names, and AM/PM, now follow your computer's language instead of always appearing in English. (FIBR-0437)

  • Restoring a backup onto a full disk now says there isn't enough disk space, instead of telling you to check the file and the backup password. (FIBR-0436)

  • Saving a backup can no longer delete a file of yours that happens to share the backup's name plus ".tmp". (FIBR-0436)

  • Ctrl+Q now quits finbreak from the password screen and the first-run screen, not only once you are unlocked. (FIBR-0431)

  • A password you ask a batch import to remember is now saved only when that statement is actually imported. (FIBR-0427)
    Cancelling before the import no longer keeps it, and a statement you
    move to another account saves it only to the account it lands in.

  • A Standard Bank statement row dated just before the statement period no longer pushes that row, and every row after it, into the following year. (FIBR-0424)
    Each row now takes the year that places it within a month of the
    statement's own dates. A statement whose dates cannot be placed is
    refused, with a pointer to the bank's CSV or OFX export.

  • The offer to restore the copy kept from before an update now says when that copy was taken (FIBR-0423)
    If a vault upgrade was interrupted, finbreak can offer to bring back
    the copy it kept beforehand. That copy can be weeks old, and the
    offer now shows its date and says that anything added or changed
    since then would be lost, so you can choose a newer backup instead.

  • When a PDF statement's password is wrong, the password window now says so when it asks again (FIBR-0408)

  • After creating an account during an import, the import screen now shows what it stored, including the warning when the account has no number (FIBR-0408)

  • finbreak no longer crashes on a computer whose time-zone setting names a zone that doesn't exist; it uses the computer's local time instead (FIBR-0406)

  • A restore that succeeded is no longer reported as failed when finbreak can't tidy away its temporary folder afterwards (FIBR-0404)

  • Choosing the vault file itself as a backup's destination now says so, instead of claiming the vault is too large to back up (FIBR-0404)

  • In languages with their own digits, such as Arabic or Persian, amounts now show the cents in those digits too instead of mixing in Western digits (FIBR-0398)

  • The dashboard and Forecast tab no longer keep each old chart in memory every time they refresh (FIBR-0397)

  • If Settings can't be saved (for example on a full disk), finbreak now says so and keeps Settings open instead of crashing (FIBR-0395)

  • The vault-creation, recovery-code and new-password screens now explain problems in plain, translatable words instead of quoting technical error text (FIBR-0395)

  • When an update can't be installed, the message now says why in plain words (not enough disk space, or no permission to replace the file) instead of a raw technical error (FIBR-0394)

  • Restoring a backup now clears the old password hint and any failed-unlock wait, since the restore sets a new master password (FIBR-0394)

  • After locking and unlocking, finbreak returns you to the tab you were using, not the one it opened on (FIBR-0394)

  • If finbreak locks itself while the save window is open during a PDF or backup export, the export now stops quietly instead of showing a "choose another location" error over the lock screen (FIBR-0394)

  • Help → Check for updates started from the locked screen now tells you the result, instead of saying nothing when you are up to date or the check fails (FIBR-0394)

  • A category name containing characters like < or & is shown exactly as typed in the dashboard and PDF pie charts, never read as formatting (FIBR-0393)

  • Years in the PDF report and the month summary, and the numbers on chart axes, now use your language's own digits and separators (FIBR-0393)

  • The Export report window no longer shows empty "Month" and "Year" labels when the chosen period does not use them (FIBR-0393)

  • The dashboard drill-down no longer counts a spending group twice when a restored or damaged vault holds a transaction filed on a top-level type (FIBR-0391)

  • Correction to the 0.1.23 notes: there is no dark PDF export (FIBR-0390)
    The 0.1.23 notes said the trend chart's labels became readable "on
    the dark theme and in a dark PDF export". The PDF report is always
    printed on a light page, so only the on-screen dark themes were
    affected. Nothing changed in the app; this corrects the note.

  • A statement with separate Withdrawal and Deposit columns now previews without adjusting the form (FIBR-0389)
    The import wizard recognised the two columns but left "Amount style"
    on "Single amount column", so Preview showed a "mapped to more than one
    role" error until you changed it by hand. It now picks the separate
    debit / credit style itself.

  • Two accounts or categories whose names differ only in spacing can no longer both exist (FIBR-0389)
    "Cafe float" and "Cafe float" (with a doubled or no-break space)
    look the same on screen, but both were accepted. Extra spaces inside a
    name now count as one when finbreak checks for duplicates. The name is
    still stored exactly as you typed it.

  • Pressing Esc during an update download no longer leads to a surprise restart (FIBR-0367)
    Esc or the window's close button hid the update window while it was
    downloading, and finbreak then restarted into the new version with no
    warning. The window now stays open until the update installs. Before the
    download starts, Esc or close means "Later".

  • A failed update now says whether the download dropped or the file failed its security check (FIBR-0367)
    Both used to show the same "could not be installed" message. A download
    that did not finish now says so and suggests trying again. A file that
    fails its signature check now says it was deleted and may have been
    damaged or tampered with.

  • A restore finbreak could not undo now says what happened and not to delete anything (FIBR-0367)
    If a restore was interrupted and finbreak could not put your previous data
    back (for example, the folder was read-only), it used to say the vault was
    "incomplete or corrupt" and suggest removing files to start over. It now
    says a restore was interrupted, shows the folder holding your previous
    data, asks you not to delete those files, and explains that restarting
    once the folder can be written finishes the repair.

  • Alert text and the password hint are shown exactly as written
    A merchant name from a bank statement, or a password hint,
    containing something that looked like web formatting (such as
    <b>) was drawn as formatting instead of as text. The alerts
    list, its Dismiss tooltip and the unlock screen's hint now always
    show the text as it is. (FIBR-0367)

  • Saving a new recovery code can no longer leave you with a saved code that does not work. (FIBR-0367)
    "Save to a file" comes before choosing Keep or Decline. Saving and
    then declining left the file holding a code that opens nothing — and
    when replacing a code, that file could be the one holding the code
    that still works. Declining after a save now asks first, and "Keep
    the new code" makes the saved file the working one. The suggested
    file name carries the date, and a save that fails part-way leaves
    the old file as it was.

  • A settings save that fails during setup no longer loses your recovery code (FIBR-0367)
    If finbreak created your vault but then could not save your date,
    time or amount display choices (for example, a full disk), it said
    the vault could not be created, never showed the recovery code, and
    refused to try again. Now setup finishes, the recovery code is shown,
    and a status-bar note says the display settings fell back to their
    defaults and can be set again in Settings.

  • A security check that cannot run is no longer reported as a wrong password.
    If the unlock check itself failed, for example because the computer
    was short of memory, finbreak said to check your password and made you
    wait longer after each try. It now says what happened, records it in
    the log, and does not count it against you. (FIBR-0367)

  • A damaged security-settings file found after the password is checked is reported, not a crash.
    If an interrupted vault upgrade left that file unreadable, the unlock
    screen hit an unhandled error instead of saying what was wrong. It now
    shows the same message as when the file is damaged before unlocking,
    and does not count it as a wrong password. (FIBR-0367)

  • Closing finbreak while a slow update check is still running no longer ends in a crash report. (FIBR-0367)
    It now waits a few seconds for the check, then closes cleanly
    without it. (Full audit 2026-09-27, row 28.)

  • Opening finbreak twice right after a crash no longer risks two copies running on the same vault. (FIBR-0367)
    The second launch now waits the moment it takes the first to finish
    starting, then hands over to it. (Full audit 2026-09-27, row 27.)

  • If the system cannot say where finbreak should keep its data, finbreak now says so instead of using the folder it was started from. (FIBR-0367)
    Before, it could create the vault there and lock that folder's
    permissions down. (Full audit 2026-09-27, row 26.)

  • finbreak no longer risks crashing just after you unlock or create a vault on a busy computer. (FIBR-0374)
    The password check runs in the background. The screen could close in
    the split second before that background work had fully finished, and
    Qt then stopped the whole app. It now waits out that moment.

  • A damaged recovery-code record no longer locks you out with the right master password (FIBR-0367)
    If the recovery-code entry in the vault's settings file was damaged in
    certain ways, finbreak refused to open the vault even with the correct
    master password. Now only the recovery code stops working, your password
    opens the vault as normal, and the damaged entry is left as it was.

  • Restoring a backup can no longer delete the safety copy of the vault it replaced (FIBR-0367)
    When you restore a backup, finbreak keeps a copy of the vault it replaced
    and tidies away older copies. If the computer's clock had been set back,
    or a restore was retried after an interrupted one, the tidy-up could
    delete the copy you would need to undo the restore. It now always keeps
    the copy that restore made, and keeps your original vault when the only
    newer copy is a leftover from the interrupted attempt.

  • A damaged or tampered backup file is refused with a message, never a crash (FIBR-0367)
    Three kinds of broken backup file could close the restore or verify
    window instead of explaining the problem: a settings value of the wrong
    type, a zip entry marked as password-protected, and a vault with an empty
    version record. Each is now refused with a clear message, and your
    current vault is left untouched.

  • Standard Bank PDF imports no longer lose transactions silently (FIBR-0367)
    Three things could make a Standard Bank PDF statement import short with
    no warning: a transaction described as, say, "CLOSING BALANCE TRANSFER"
    ended the page early; one mentioning a PO Box was taken for the bank's
    letterhead; and a page whose opening balance did not match the page
    before went unchecked. Those two kinds of transaction now import, and a
    mismatched page refuses the statement so you can use your bank's CSV or
    OFX export instead.

  • An OFX file whose balance is "Infinity" no longer crashes the import (FIBR-0367)
    A damaged or deliberately odd OFX file giving its closing balance as
    Infinity or NaN could close the import wizard or end a batch import.
    It is now refused with a message, like any other unusable file.

  • A CSV with an unclosed quote no longer loses transactions silently (FIBR-0367)
    A stray quote mark could make one line of a CSV statement swallow the
    lines after it, so those transactions disappeared without a warning.
    The import preview now flags the row, and a file whose quote is never
    closed at all is refused with a message.

  • Renaming a deeply nested category no longer moves it (FIBR-0367)
    A category sitting deeper than the three levels finbreak lets you create,
    or a sub-category with its own children, was quietly moved under a Type
    when you only renamed it. "Move under…" now always lists where the
    category already is, so leaving it alone keeps it in place.

  • No false spending-spike alerts while you have few months imported (FIBR-0367)
    A month with no statements imported counted as a month of zero
    spending, so with only a couple of months in the vault an ordinary
    month looked like a spike. Months with no data are now left out of
    the average.

  • Amounts with an impossible fraction of a cent are refused, not rounded (FIBR-0367)

  • A cancelled batch import no longer leaves its 'amounts are reversed' tick behind (FIBR-0367)
    Importing a single file after cancelling a batch could start the
    column-matching page with the batch's settings still set, which
    would flip the sign of every amount.

  • PDF reports show negative amounts the way you chose in Settings (FIBR-0367)
    Brackets or a minus sign, as on screen; the PDF always used a
    minus sign.

  • Month-end debit orders stay on month-end in the forecast (FIBR-0367)
    A payment due on the 31st that was last seen in a shorter month
    (Feb 28, Apr 30) was projected a day or more early for every month
    after. The forecast and the missed-payment alert now follow the day
    the payment really aims at.

  • New-transaction and date-filter defaults use your chosen time zone (FIBR-0367)
    The Add-transaction dialog, the Transactions date filter and the
    import period fallback started on the computer's date instead of the
    date in the time zone set in Settings.

  • Links opened from the Linux AppImage no longer risk failing silently (FIBR-0364)
    Programs the app starts, such as the helper that opens a web link, now
    run with the system's libraries instead of the ones bundled inside
    finbreak. On some Linux systems those bundled libraries crashed the
    helper before it could open anything.

  • The Forecast tab no longer says you have no confirmed recurring items when you do (FIBR-0359)
    When confirmed items exist but none falls due before the forecast's end
    date, the tab now says nothing confirmed falls due by that date.

  • A vault settings file hand-edited to an impossible key-strength value now gets a clear refusal at unlock instead of an unhandled error (FIBR-0341)

  • The Linux AppImage no longer crashes on the first keystroke (FIBR-0208)
    It carried its own copy of a keyboard library while relying on your
    system for that library's other half, and the mismatched pair could
    segfault as soon as you typed. It now uses your system's copy of both,
    which is what every AppImage is meant to do for this library. The
    crash is reproducible on 0.1.23 and gone on this build. The RPM and
    deb packages still carry the same arrangement and are fixed
    separately.

  • A saved PDF report now always covers the month its filename names. (FIBR-0342)
    If you had pinned a timezone in Settings that differed from your computer's,
    an exported report could be named for one month and contain another month's
    figures. The filename and the report now resolve their period from the same
    clock — the one you pinned.

  • Recovering from an interrupted restore now survives a power cut. (FIBR-0314)
    If a restore was interrupted, finbreak puts your original data back the next
    time it starts. That recovery is now flushed to disk, so losing power right
    after it cannot undo it.

  • A copied transaction is now cleared from the clipboard even if the vault locks first. (FIBR-0316)
    Copy something from the transactions list, then let finbreak lock before
    the clipboard auto-clear was due, and the copied text used to stay on the
    clipboard for good. The clear now survives the lock and still happens.

Security

  • The updater refuses an older version or another system's file dressed as a new release (FIBR-0169)
    Someone able to post to the GitHub releases page, but without our
    signing key, could offer an older genuine finbreak as a new version, or
    the Windows file renamed for Linux, and the updater would install it.
    It now also checks the release's signed list of files and installs a
    download only if that list names it for the exact version and system
    being offered.

  • The updater can no longer overwrite another application's AppImage (FIBR-0367)
    A finbreak installed from a package, or run from source, and started
    from inside another AppImage (such as a terminal or editor) took that
    program's file for its own, and "Update now" would have replaced it.
    The updater now acts only when finbreak itself is the running AppImage.

  • The recovery code can no longer be copied around its clipboard auto-clear. (FIBR-0367)
    Selecting the code with the mouse or keyboard used to leave it in
    Linux's middle-click paste buffer, which nothing cleared, and Ctrl+C
    copied it without the timed clear. Now the code cannot be selected,
    and Ctrl+C works like the Copy button: the clipboard is wiped after
    the timeout.

  • Locking now clears every screen straight away, not only the tables.
    The Home figures and charts, the Transfers and Recurring lists, account
    names in drop-downs, the Forecast note and a statement open in the
    import wizard stayed in memory until the locked window was finally
    torn down, which an open dialog could delay. They are now wiped at
    the moment of locking. (FIBR-0367)

  • Statement passwords typed during a batch import are forgotten when it ends (FIBR-0367)
    A password you typed to open a locked PDF in one batch import stayed in
    memory after the batch was cancelled or finished, and was quietly tried
    on the next batch's files. It is now discarded. A batch of locked PDFs
    also now respects the import size limit after you answer a password.

  • The password hint now refuses your recovery code however you write it — without its last character, spaced out, or split across lines — not only the exact printed form (FIBR-0308)