[GNU ELPA] Gnosis version 0.10.1
ELPA update <[email protected]> Thu, 26 Mar 2026 05:04:51 -0400
| Newsgroups | gmane.emacs.sources |
|---|---|
| Message-ID | <[email protected]> |
Version 0.10.1 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/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.1
════════
1.1 Algorithm
─────────────
⁃ Cap post-failure interval at 7 days to prevent overly lenient
reschedules for mature cards.
1.2 Bug fixes
─────────────
⁃ Fix `gnosis-import-db' initializing review state with wrong values,
causing errors on first review of imported themata.
1.3 Other
─────────
⁃ Demo collection shipped as `.gnosis' instead of org file.
2 0.10.0
════════
2.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.
2.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.
2.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.
2.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.
3 0.9.0
═══════
3.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.
3.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
filtering and node export.
3.3 Dashboard
─────────────
⁃ Tags view with regex filter (`l'), regex search (`SPC'), and tag
counts.
⁃ Bulk tag rename via regex pattern (`R') using a temp-table approach
for O(1) SQL statements regardless of batch size.
⁃ Anki import keybinding in the dashboard menu.
⁃ Merge case-duplicate tags (`C'): groups tags by case, keeps the
most-used variant as canonical.
⁃ Meant to simplify imports from anki decks hierarchical tag
structure
… …