Poland — release 2.7.14

← back

RVML88 — Release Notes 2.7.14

_Europe · 2026-09-09_

Bug Fix — #259 Fault 88036 after an update: barcode list saved before the database session exists

The barcode-list update runs on its own thread while the database is still being opened, dereferenced a null DaoSession and died on a NullPointerException. Nothing then set the flag the startup check item polls, so it ran into its full 120 s timeout and the machine reported 88036. Because the version number is only persisted after that step, the machine considered its list outdated at the next start and repeated the failure - observed 5 to 14 times per machine. The update now waits for the session and reports a failure immediately instead of letting the check item time out.

Improvement — #260 Five-minute status no longer scans the whole transaction archive

getAllLast24h filtered the archive on an unindexed column and loaded every match as a full entity, payload included, to read one voucher id from each. The scan held the single SQLite connection, so other threads blocked in waitForConnection - 69 ANRs on one machine in three weeks. The status now selects VOUCHER_ID only, DATE_TIME is indexed (created on open, no schemaVersion bump), and write-ahead logging lets readers work alongside a writer.

Feature — #261 Database overview in the log and audit log at every startup

At the end of the startup self-check the machine logs every table with its row count plus the database file size, and sends the same line as an info audit entry. Table names come from sqlite_master, so new tables are included automatically. Makes table growth and data lost to a schema migration visible without pulling the database off the machine.