Version 0.2.1 of package Org-Gnosis has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Org-Gnosis describes itself as: ======================================= Learning-focused note-taking for Gnosis ======================================= More at https://elpa.gnu.org/packages/org-gnosis.html ## Summary: ━━━━━━━━━━━━ ORG GNOSIS ━━━━━━━━━━━━ 1 About ═══════ Org-gnosis provides a minimal note-taking system for GNU Emacs. It implements Zettelkasten-style linked notes with an SQLite database for indexing. The package functions as an independent module, designed to integrate with [Gnosis] (a spaced repetition system) but usable standalone. Notes can optionally link to Gnosis themata for connecting note-taking with spaced repetition self testing practice. [Gnosis] <https://thanosapollo.org/projects/gnosis/> 2 Features ══════════ ## Recent NEWS: ━━━━━━━━━━━━━━━━━ ORG GNOSIS NEWS ━━━━━━━━━━━━━━━━━ 2026/02/23 2026/02/22 This document contains the release notes that are included in each tagged commit on the project's main git repository: <https://git.thanosapollo.org/org-gnosis>. 0.2.1 ═════ Critical Fixes ────────────── Database Sync ╌╌╌╌╌╌╌╌╌╌╌╌╌ ⁃ Fixed `org-gnosis--delete-file' querying with full paths instead of basenames, causing incremental sync to silently fail. ⁃ Fixed `org-gnosis-update-file' to accept full paths and correctly detect journal files. ⁃ Fixed force sync not recreating indexes after dropping tables. ⁃ Removed redundant table rebuild in `org-gnosis-db-sync'. Emacs 29+ Compatibility ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ⁃ Fixed `wrong-type-argument processp' error on Emacs 29+ by pre-loading `emacsql-sqlite-builtin' to ensure cl-generic dispatches the correct methods for builtin sqlite connections. Other Fixes ╌╌╌╌╌╌╌╌╌╌╌ ⁃ Fixed reversed SQL condition in `org-gnosis-insert'. ⁃ Fixed `org-gnosis-mode' not passing `LOCAL' argument to `remove-hook', causing the after-save hook to be removed globally instead of per-buffer. ⁃ Fixed typo in default `org-gnosis-journal-file' path. ⁃ Fixed `tags--cleanup-orphaned' indentation causing incorrect behavior. ⁃ Fixed `org-gnosis-insert-tags' redundant expression. ⁃ Fixed `org-gnosis-find' error message and redundant expression. New Features ──────────── ⁃ Added `org-gnosis-db-force-sync' command for unconditional database rebuild. ⁃ Provides clearer alternative to `C-u M-x org-gnosis-db-sync'. ⁃ Prompts for confirmation before dropping tables. Improvements ──────────── ⁃ Database version bumped to 4 with indexes on file columns for faster sync lookups. ⁃ Simplified orphaned tags cleanup into a single SQL query. ⁃ Extracted directory creation into `org-gnosis-ensure-directories'. ⁃ Improved error messages to suggest `org-gnosis-db-force-sync'. ⁃ Fixed docstrings and checkdoc warnings. Testing ─────── ⁃ Added 29 regression tests covering database init, CRUD, tags, links, sync change detection, file naming, journal, and mode hooks. 0.2.0 ═════ Important Changes ───────────────── Database Changes ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ⁃ Database version bumped to 3, tracking `mtime' and `hash' for both nodes and journal files. ⁃ Automatic database migration prompts when schema is outdated. ⁃ Lazy database initialization - database connections are created only when needed, improving startup time. ⁃ Added `org-gnosis-database-file' custom variable to specify custom database file location. Performance Improvements ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ⁃ Major performance improvements for `org-gnosis-db-sync' with GC optimization during sync. ⁃ Two-tier incremental sync: fast `mtime' check, then accurate `hash' comparison. ⁃ Only processes files where both modification time and content have changed. ⁃ Dramatically improves performance for .gpg encrypted files and large repositories. ⁃ Both node files and journal files now use incremental sync with progress reporting showing changed/total file counts. ⁃ To force full resync, call `org-gnosis-db-sync' with prefix arg `C-u'. e.g `C-u M-x org-gnosis-db-sync RET'. Journaling ╌╌╌╌╌╌╌╌╌╌ ⁃ By default, today's journal entries are created in `org-gnosis-journal-file' as level 1 headings. ⁃ When set to `nil', creates separate files for each date entry. ⁃ Creating new entries (e.g., via `org-gnosis-journal-find' for an event, non-date) creates separate files in `org-gnosis-journal-dir' regardless of this setting. ⁃ Single journal file is only used for today's date entries. ⁃ Added `org-gnosis-journal-as-gpg' that when non-nil journal files will be created as `gpg' encrypted files. ⁃ Journal todos now only retrieve checkboxes from today's heading when using a single journal file, improving performance. Tag Management ╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ⁃ Automatic cleanup of orphaned tags (tags with no associated nodes) when updating files. ⁃ Improved tag-based node selection with dedicated functions. Improvements ──────────── ⁃ Simplified parsing algorithm for better performance and … …
