summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThanos Apollo <public@thanosapollo.org>2026-02-22 12:10:07 +0200
committerThanos Apollo <public@thanosapollo.org>2026-02-22 12:24:42 +0200
commitf3ab68fa0c6a1ab4dfb26fe5f3154cd891a07c5c (patch)
tree895ef3008e5c5c4500d10a949b7fc8635d609d21
parent89c769c3eead8cc74ca338eddfbfb9e50cc4c01c (diff)
Version bump: 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. + Accessing non-today dates (e.g., via =org-gnosis-journal-find= with an old 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 maintainability. + Better handling of topic titles - only includes parent headings when they have IDs. + Added =org-gnosis-get-nodes-data= for retrieving node information with backlink counts. + Improved test coverage for parsing, title processing, and journal todos.
-rw-r--r--NEWS.org49
-rw-r--r--org-gnosis.el2
2 files changed, 50 insertions, 1 deletions
diff --git a/NEWS.org b/NEWS.org
index 2e7b5e0..4619d27 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -8,6 +8,55 @@ 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.0
+#+DATE: 2026/02/22
+** 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
+ maintainability.
++ Better handling of topic titles - only includes parent headings when
+ they have IDs.
++ Added =org-gnosis-get-nodes-data= for retrieving node information
+ with backlink counts.
++ Improved test coverage for parsing, title processing, and journal
+ todos.
* 0.1.2
#+DATE: 2026/01/26
** Important Changes
diff --git a/org-gnosis.el b/org-gnosis.el
index fb09c45..725f5b0 100644
--- a/org-gnosis.el
+++ b/org-gnosis.el
@@ -5,7 +5,7 @@
;; Author: Thanos Apollo <public@thanosapollo.org>
;; Keywords: outlines, extensions, org-mode
;; URL: https://thanosapollo.org/projects/org-gnosis/
-;; Version: 0.1.2
+;; Version: 0.2.0
;; Package-Requires: ((emacs "27.2") (emacsql "4.0.0") (compat "29.1.4.2"))