Changes for version 0.58.3 - 2026-07-30

  • Config: restoring a configuration blob replaced the configuration database file, giving it a new inode. Every connection open at the time stayed attached to the old, now unlinked file: it went on reading the pre-restore configuration and failed on its first write with SQLITE_READONLY_DBMOVED, which SQLite reports as "attempt to write a readonly database". With a prefork server and background helpers that is most of the processes on the machine. The replacement database is now built beside the live one and copied in with SQLite's online backup API, so the inode is preserved and open connections simply see the restored data. If the write lock cannot be had within 30 seconds the restore now gives up with an error and leaves the database untouched, rather than restoring it half way.

Documentation

build po files from trm calls in perl files
Application Builder Toolkit

Modules

Appliance Frontend Builder
get parse configuration file for CallBackery
RPC services for CallBackery
database access helpers
a simple exception class
GuiPlugin base class
Base class for a cardlist plugin
render server generated HTML
Base Class for a table plugin
get parse configuration file for CallBackery
Documentation Plugin
gettext po file translation functionality
tell me about the current user