| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| checksums-windows.txt | 2026-05-06 | 196 Bytes | |
| Mini-Diarium-0.4.20-windows.exe | 2026-05-06 | 11.7 MB | |
| Mini-Diarium-0.4.20-windows.msi | 2026-05-06 | 14.3 MB | |
| checksums-macos.txt | 2026-05-06 | 96 Bytes | |
| Mini-Diarium-0.4.20-macos.dmg | 2026-05-06 | 26.1 MB | |
| checksums-linux.txt | 2026-05-06 | 197 Bytes | |
| Mini-Diarium-0.4.20-linux.AppImage | 2026-05-06 | 87.4 MB | |
| Mini-Diarium-0.4.20-linux.deb | 2026-05-06 | 15.1 MB | |
| 0.4.20 source code.tar.gz | 2026-05-06 | 14.9 MB | |
| 0.4.20 source code.zip | 2026-05-06 | 15.3 MB | |
| README.md | 2026-05-06 | 4.5 kB | |
| Totals: 11 Items | 184.8 MB | 0 | |
What's Changed
v0.4.20 delivers RTL/bidirectional text editing with toolbar toggle, a multi-entry number navigation bar, editor font selection, and timestamp insertion — plus critical security hardening that moves the multi-auth requirement into the encrypted database with MAC integrity protection.
Added
- RTL/LTR toggle button in the editor toolbar: a new paragraph-direction toggle button (pilcrow icon with directional arrow) is now available in the advanced formatting toolbar, placed before the alignment controls. The icon dynamically shows
PilcrowRightwhen the current block is LTR (click to switch to RTL) andPilcrowLeftwhen RTL (click to switch to LTR), matching the convention used by Google Docs and LibreOffice. The button reuses the samesetTextDirectioncommand as the existingCtrl+Shift+D/Cmd+Shift+Dkeyboard shortcut. NewtextDirection/textDirectionTitlei18n keys are added to all four locales. - Multi-entry number navigation bar: the entry counter (
1 / 3) has been replaced with clickable number buttons (← 1 2 3 →) that jump directly to the chosen entry. The current entry is highlighted in bold with anaria-current="true"attribute for screen readers. The prev/next arrows retain their existing step-by-step behaviour. AgoToEntryaria-label key is added to all four locales. - Insert timestamp in the editor: a new clock button in the advanced formatting toolbar opens a popup that lets you choose between 12-hour and 24-hour format, pick hours:minutes or hours:minutes:seconds precision, and insert the current time at the cursor position. Both selections are remembered across sessions.
- Editor font selection: a new "Editor font" dropdown in Preferences → Writing lets you choose from five bundled open-source font families (Noto Sans, Source Sans 3, Noto Serif, JetBrains Mono, Fira Mono). Fonts are loaded on-demand as base64 data URLs and applied to the TipTap editor only. The selection is persisted as the
editorFontFamilypreference and works fully offline — no network requests, no OS-level font enumeration.
Fixed
unicode-bidi: plaintextCSS overridesdirattribute on paragraphs and headings: theplaintextvalue in the editor CSS forced the browser to always auto-detect text direction from content, silently overriding any explicitdirattribute set by the RTL toggle button orCtrl+Shift+Dshortcut. Theunicode-bidioverride has been removed from both paragraph and heading rules, allowing thedirHTML attribute to control direction natively while the existingBidiExtensionauto-detection plugin still setsdiron new blocks.bump-versionscripts now inject metainfo.xml release entry:bump-version.shandbump-version.ps1both prepend a<release version="X.Y.Z">element to the AppStream metainfo file during version bumps. The.shscript was also made portable to BSD/macOS sed. The pre-release checklist now validates the metainfo version as a fifth consistency check.
Security
- Multi-auth requirement can no longer be bypassed by re-adding a journal: the "Require All Authentication Methods" setting was previously stored in
config.json. Removing a journal from the list and re-adding the same database file produced a fresh config entry with the flag absent, allowing a single-credential unlock even when multi-auth was required. The flag is now stored insidediary.dbitself (newdb_settingstable, schema v6), so it stays with the database file regardless of what happens to the config. Existing journals are migrated automatically on the first unlock after updating. - Multi-auth requirement MAC integrity: the
require_all_authflag stored indb_settingsinsidediary.dbwas vulnerable to plaintext SQLite tampering — deleting or modifying the row would bypass the guard and allow single-credential unlock. The flag is now bound to the master key via HKDF-SHA256 MAC (computed asHKDF-SHA256(IKM=master_key, salt=None, info="mini-diarium:require_all_auth:v1")and stored as a 64-char hex string under therequire_all_auth_mackey). A fail-safe ensures any tampering (absent, malformed, or mismatched MAC) enforces the guard. Existing journals are self-healed on the first successful all-methods unlock — no user action required. No schema migration; no new dependencies.