[GNU ELPA] Gnosis version 0.10.4
ELPA update <[email protected]> Wed, 29 Apr 2026 05:06:12 -0400
| Newsgroups | gmane.emacs.sources |
|---|---|
| Message-ID | <[email protected]> |
Version 0.10.4 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
… …