I just pushed a new version for org-gnosis, the note taking module of gnosis, which you can find here. The update should be available to all users via GNU ELPA.
Important Changes
Database Changes
- Database version bumped to 3, tracking
mtimeandhashfor 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-filecustom variable to specify custom database file location.
Performance Improvements
- Major performance improvements for
org-gnosis-db-syncwith GC optimization during sync. - Two-tier incremental sync: fast
mtimecheck, then accuratehashcomparison.- 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-syncwith prefix argC-u. e.gC-u M-x org-gnosis-db-sync RET.
Journaling
- By default, today’s journal entries are created in
org-gnosis-journal-fileas level 1 headings.- When set to
nil, creates separate files for each date entry. - Creating new entries (e.g., via
org-gnosis-journal-findfor an event, non-date) creates separate files inorg-gnosis-journal-dirregardless of this setting. - Single journal file is only used for today’s date entries.
- When set to
- Added
org-gnosis-journal-as-gpgthat when non-nil journal files will be created asgpgencrypted 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 maintainability.
- Better handling of topic titles - only includes parent headings when they have IDs.
- Added
org-gnosis-get-nodes-datafor retrieving node information with backlink counts. - Improved test coverage for parsing, title processing, and journal todos.