1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
#+TITLE: Org Gnosis NEWS
#+AUTHOR: Thanos Apollo
#+EMAIL: public@thanosapollo.org
#+OPTIONS: ':nil toc:nil num:nil author:nil email:nil
+ [[https://git.thanosapollo.org/org-gnosis/][Upstream]]
+ [[https://thanosapollo.org/log/org-gnosis/][Changelog]]
* 0.2.2
** New features
+ Add =org-gnosis--find-file-h=, a find-file hook that enables
=org-gnosis-mode= when visiting org-gnosis files.
* 0.2.1
#+DATE: 2026/02/23
** 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
#+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
Titles for nodes are now stacked with their parent headings.
#+BEGIN_QUOTE
For example a node file with /"Roman Empire"/ as title and level 1
heading /"Emperors"/, the node title for "Emperors" will be
/"Roman Empire:Emperors"/
#+END_QUOTE
** Fixes
+ =org-gnosis-insert= when called with a selected region, the region
will be used as the link description.
* 0.1.1
+ Minor bug fixes
* 0.1.0
+ Refactor algorithm for parsing buffer data.
+ Improves implementation with new version org-gnosis-ui.
+ Fix minor edge case scenarios.
+ Update database to version 2.
* 0.0.9
+ Add support for inserting journal entries as links with custom
description.
* 0.0.8
New Features:
+ When org-gnosis-insert is called with a prefix arg, prompt for
custom link description
Fixes:
+ Use proper quoting for string literals, see [1][2]
+ This resolves previous issues for BSD systems
[1] <https://www.sqlite.org/quirks.html#double_quoted_string_literals_are_accepted>
[2] <https://github.com/magit/emacsql/issues/128#issuecomment-2682104151>
* 0.0.7
+ Fix insertion of tags for file topic
+ Add org-gnosis-visit-backlinks.
* 0.0.6
Minor update with bug fixes & documentation improvements:
+ Fixes insertion of tags issues
+ Tags are now inserted at the nearest heading with an ID, or as
filetags if none found.
+ Update FSF assignment form in docs
* 0.0.5
Minor update with documentation changes
+ Fix typos
+ Clearer examples & terminology
+ Fix formatting for GNU ELPA
* 0.0.4
Minor update with the following changes:
+ Adds documentation.
+ Adds Makefile & manifest.scm
+ Updates the formatting of NEWS file
* 0.0.3
Minor Update that adds the following features:
+ gpg encryption support.
+ Inserting tags for headings, with completions of tags found in the db.
+ Minor improvements in error messages & error handling.
|