aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBozhidar Batsov <bozhidar@batsov.dev>2026-02-28 08:48:28 +0200
committerBozhidar Batsov <bozhidar@batsov.dev>2026-02-28 08:54:10 +0200
commit5d876632aececad99a718343c43da039e64b0818 (patch)
tree2f44927b1391fd1ee4f9c4fe68ecbfad22a491eb
parenta23a2d36446182eafb219a72fa13eaf79d5112d1 (diff)
Update CHANGELOG with bug fixes and performance improvements
-rw-r--r--CHANGELOG.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f608122..eeef2b6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,9 +31,19 @@
* Fix `projectile-ripgrep` failing on zsh when ignored file patterns contain glob characters, by quoting `--glob` arguments.
* Fix CMake version parsing failing when `cmake --version` output contains extra text after the version number.
* Fix Jujutsu file listing to use template syntax for null-byte-separated output, making it robust against user customization of `jj` output format.
+* Fix `projectile-purge-file-from-cache` serializing the stale file list to disk instead of the updated one.
+* Fix misplaced paren in `projectile-project-buffers-other-buffer` causing `switch-to-buffer` arguments to be ignored.
+* Fix `projectile-default-generic-command` silently dropping lambda/closure commands (only symbol commands worked).
+* Fix `dired-before-readin-hook` being added as buffer-local instead of global in `projectile-mode`, so it now correctly fires in all dired buffers.
+* Fix `projectile-find-dir-hook` not being cleaned up when disabling `projectile-mode`.
+* Use `display-warning` instead of `message` when cache serialization fails, making the failure visible in the `*Warnings*` buffer.
### Changes
+* Pre-compute file timestamps in `projectile-sort-by-modification-time` and `projectile-sort-by-access-time` to reduce stat calls from O(n log n) to O(n).
+* Cache `projectile-parse-dirconfig-file` results per project root (invalidated by file modification time), avoiding redundant file reads during indexing.
+* Cache `file-truename` results in `projectile-project-buffer-p` when checking multiple buffers, reducing redundant symlink resolution.
+
* **[Breaking]** Bump minimum required Emacs version from 26.1 to 27.1. This removes ~30 lines of compatibility code (fileloop fallback, `time-convert` fallback, `projectile-flatten` shim) and fixes the `tags-query-replace` FIXME in `projectile-replace-regexp`.
* Add `compat` as a dependency, enabling the use of modern Emacs APIs (e.g. `string-replace`) on older Emacs versions.
* Replace most `cl-lib` sequence functions with `seq.el` equivalents (`seq-filter`, `seq-remove`, `seq-some`, `seq-find`, `seq-sort`, `seq-every-p`, `seq-difference`) and convert `cl-case` to `pcase`.