diff options
| author | Bozhidar Batsov <bozhidar@batsov.dev> | 2026-02-28 08:48:28 +0200 |
|---|---|---|
| committer | Bozhidar Batsov <bozhidar@batsov.dev> | 2026-02-28 08:54:10 +0200 |
| commit | 5d876632aececad99a718343c43da039e64b0818 (patch) | |
| tree | 2f44927b1391fd1ee4f9c4fe68ecbfad22a491eb | |
| parent | a23a2d36446182eafb219a72fa13eaf79d5112d1 (diff) | |
Update CHANGELOG with bug fixes and performance improvements
| -rw-r--r-- | CHANGELOG.md | 10 |
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`. |
