Version 0.10.3 of package Gnosis has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Gnosis describes itself as: ================ Knowledge System ================ More at https://elpa.gnu.org/packages/gnosis.html ## Summary: 1 Gnosis ════════ 1.1 About ───────── Gnosis is a GNU Emacs learning tool, with a spaced repetition like implementation. • Project's Page: <https://thanosapollo.org/projects/gnosis/> • User Manual: <https://elpa.nongnu.org/nongnu/doc/gnosis.html> ⁃ Demo deck: <https://codeberg.org/thanosapollo/gnosis-demo> ⁃ /It's recommended to try out the demo deck for first time users./ ## Recent NEWS: 2026/04/04 2026/03/31 2026/03/26 2026/03/25 2026/03/16 ⁃ [Homepage] ⁃ [Upstream] ⁃ [Changelog] [Homepage] <https://thanosapollo.org/projects/gnosis/> [Upstream] <https://git.thanosapollo.org/gnosis/> [Changelog] <https://thanosapollo.org/log/gnosis/> 1 0.10.3 ════════ 1.1 Bug fixes ───────────── ⁃ Fix `gnosis-table-exists-p' failing to query `sqlite_master'. ⁃ Clean up orphaned `node-tag' and `node-links' rows on file deletion. 2 0.10.2 ════════ 2.1 Performance ─────────────── ⁃ Eliminate redundant GPG decryption on save for `.org.gpg' files. ⁃ Git operations (add, commit, push) are now fully async. 2.2 Other ───────── ⁃ `gnosis-journal-todo-keywords' defaults to `("TODO")' instead of inheriting `org-todo-keywords'. 3 0.10.1 ════════ 3.1 Algorithm ───────────── ⁃ Cap post-failure interval at 7 days to prevent overly lenient reschedules for mature cards. 3.2 Bug fixes ───────────── ⁃ Fix `gnosis-import-db' initializing review state with wrong values, causing errors on first review of imported themata. 3.3 Other ───────── ⁃ Demo collection shipped as `.gnosis' instead of org file. 4 0.10.0 ════════ 4.1 Breaking changes ──────────────────── ⁃ *Date storage migrated to integers*: review dates are now stored as YYYYMMDD integers instead of Lisp lists. Migration v7 converts existing data automatically. ⁃ *Export/import rewritten*: export now produces a `.gnosis' SQLite database. Import shows a diff buffer before applying. ⁃ Old org-file exports are no longer supported. 4.2 New features ──────────────── ⁃ *Anki GUID-based duplicate detection*: re-importing the same deck skips already-imported notes (migration v8). ⁃ *Review progress header*: header-line shows reviewed/total as a live counter. ⁃ *Import diff buffer*: `gnosis-import-db' shows NEW/CHANGED entries with detail view on `RET' before applying. ⁃ *Anki import improvements*: template-aware field resolution, NFC-normalized tags, system tag stripping (`marked', `leech'), git commit after import. 4.3 Performance ─────────────── ⁃ Due/overdue queries use integer comparison in SQL instead of Elisp filtering. ⁃ New indexes on `review_log', `thema_tag', `thema_links', `node_links', and `activity_log'. ⁃ N+1 queries eliminated in review session and Anki model parsing. 4.4 Bug fixes ───────────── ⁃ Fix proto phase failures computing amnesia-based interval instead of resetting to 0. ⁃ Fix bulk-link matching to be case-insensitive. ⁃ Fix duplicate node-link insertion for files. ⁃ Fix overdue exclusion: unreviewed themata (n=0) no longer counted as overdue. 5 0.9.0 ═══════ 5.1 Breaking changes ──────────────────── ⁃ *Dropped emacsql dependency*: gnosis now uses Emacs's built-in `sqlite' module (requires Emacs 29+). The new `gnosis-sqlite' backend handles all database access. ⁃ *Unified database*: org-gnosis has been merged into gnosis. A single `gnosis.db' stores both themata and nodes. Existing org-gnosis data is migrated automatically. ⁃ *Decks removed*: the deck abstraction is gone. Existing deck names are automatically converted into tags during the v6 migration, so no data is lost. Export and import are now thema-centric with tag filtering. 5.2 New features ──────────────── ⁃ *Anki import*: import Anki decks or user collections directly with `gnosis-anki-import'. ⁃ *Tag filtering*: `gnosis-tags-filter-prompt' supports `+tag -tag' syntax for include/exclude filtering. Used in export and `gnosis-collect-thema-ids'. ⁃ *Day start hour*: `gnosis-algorithm-day-start-hour' (default 3) lets you define when a new review day begins. ⁃ *Tag bulk operations*: rename, regex bulk rename (`R'), merge case duplicates (`C'), bulk delete, and suspend/unsuspend from the dashboard tags view. Tag renames are merge-safe (handles UNIQUE conflicts when target tag already exists). ⁃ *Elapsed time intervals*: the algorithm uses actual elapsed time for interval calculation. ⁃ *Review transient menu*: `gnosis-review' uses transient instead of completing-read. ⁃ *Template expansion*: `{*}' heading markers in templates are expanded relative to insertion context via `gnosis-org-expand-headings'. ⁃ *Export with tag filtering*: `gnosis-export-themata' supports tag … …
