Adds an InstalledVersions table (schema v40) that records the first time the user runs each app version (identified by GIT_HASH). On every app start the current GIT_HASH is written to the table if not already present, preserving the original install timestamp on subsequent launches. The ChangeLog screen now reads the installed-versions map and injects "Installed: HH:mm, d Mon YYYY" banners above each changelog entry whose short git hash matches a recorded version. Closes #446. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>