Skip to content

Releases: Antikatoptis-Pareidolia/Epnexess

EPNExess 1.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 18:58

If you ever changed your base currency on 1.1.x, read the first item below.

1.2.0

Financial data correctness

  • Fixed base-currency changes so historical payment amounts are rebased with the
    currency table. Before this version, changing the base currency made historical
    totals incorrect. History recorded before an earlier base-currency change may
    still be flagged as unreliable because the original values cannot be recovered
    from the old database
  • Payments now record the exact amount that moved in the account's currency, so
    marking a payment unpaid restores the original balance change even if exchange
    rates have changed since. Existing payment rows are migrated using the best
    rate available at upgrade time
  • Amounts, balances, tax rates and exchange rates reject NaN and infinity instead
    of allowing invalid values into totals
  • Unknown currencies now raise an error instead of silently converting at 1:1

Data and file handling

  • Multi-step database changes, including payments, reversals, transfers, wipes
    and schema upgrades, now run in transactions and roll back together on failure
  • The default data directory is restricted to mode 0700 and the SQLite file to
    0600 on filesystems that support POSIX permissions
  • CSV export neutralises cells that spreadsheet applications could interpret as
    formulas
  • An empty dashboard now shows the full path of the database file in use. The
    line disappears once subscription data exists

Release process

  • PyPI publishing is gated on the core, interface and package-installation tests,
    version agreement, distribution metadata validation and an installed-wheel
    smoke test
  • GitHub Actions and build tools used by release workflows are pinned to specific
    revisions or versions
  • Core behavior is tested on Python 3.10 through 3.13 on Linux, with platform
    coverage on Windows and macOS; the interface is tested on Python 3.10 through
    3.13 under a Linux virtual display

EPNExess 1.1.3

Choose a tag to compare

@github-actions github-actions released this 03 Aug 17:04

⚠️ Superseded by 1.2.0, which fixes a bug where changing the base currency corrupted historical totals. Use 1.2.0.

The first public release of EPNExess.

Track subscriptions, bills and income across personal and company
accounts — offline, multi-currency, with tax taken off what comes in.

Download

  • Windows — EPNExess-windows.zip
  • Mac (Apple silicon) — EPNExess-macos-arm64.zip
  • Mac (Intel) — EPNExess-macos-x86_64.zip (not yet released)

No Python, no database, no account needed. Both systems warn on first
launch because the app is unsigned — on Windows click More info →
Run anyway; on Mac right-click the app → Open.

Or install with Python: pip install epnexess (pipx install epnexess
on recent Linux and Homebrew).

Full instructions: INSTALL.md

What it does

  • Subscriptions and bills on weekly, monthly, quarterly and yearly cycles
  • Income entries with up to two compounding tax rates
  • Personal and company accounts, with subaccounts for the banks and cards
    money actually sits in
  • A 45-day payment runway: money out above the line, income below
  • Account cover — whether each account will have enough, and a one-click
    top-up from another account when it won't
  • Overdue tracking, multi-currency, CSV export

Everything stays in one file on your own machine. No network calls, no
telemetry, no account.

Full change list: CHANGELOG.md