gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[NonGNU ELPA] Projectile version 2.9.0


From: ELPA update
Subject: [NonGNU ELPA] Projectile version 2.9.0
Date: Wed, 12 Feb 2025 17:05:35 -0500

Version 2.9.0 of package Projectile has just been released in NonGNU ELPA.
You can now find it in M-x list-packages RET.

Projectile describes itself as:

  ============================================
  Manage and navigate projects in Emacs easily
  ============================================

More at https://elpa.nongnu.org/nongnu/projectile.html

## Summary:

  Projectile is a project interaction library for Emacs.
  It provides a powerful set of features operating at the project
  level, as well as simple heuristics to identify projects.

  See the README and https://docs.projectile.mx for more details.

## Recent NEWS:

# Changelog

## master (unreleased)

## 2.9.0 (2025-02-12)

### New features

* [#1870](https://github.com/bbatsov/projectile/pull/1870): Add package command 
for CMake projects.
* [#1875](https://github.com/bbatsov/projectile/pull/1875): Add support for 
Sapling VCS.
* [#1876](https://github.com/bbatsov/projectile/pull/1876): Add support for 
Jujutsu VCS.
* [#1877](https://github.com/bbatsov/projectile/pull/1877): Add custom variable 
`projectile-cmd-hist-ignoredups`.
* Add support for Eask projects.
* [#1892](https://github.com/bbatsov/projectile/pull/1892): Add category 
metadata to `completing-read`. (it's used by packages like `marginalia` and 
`embark`)
* [#1899](https://github.com/bbatsov/projectile/pull/1899): Add support for 
xmake build utility.
* [#1895](https://github.com/bbatsov/projectile/pull/1895): Modify 
projectile-mode to add a hook to `buffer-list-update-hook` such that any change 
in the buffer list will update the selected project.
* [#1918](https://github.com/bbatsov/projectile/pull/1895): Add Zig project 
discovery.
* Add support for Swift project discovery.
* Introduce `projectile-global-ignore-file-patterns` config that allows to 
ignore files and directories with regexp patterns.
* Introduce `projectile-auto-cleanup-known-projects` option that allows you to 
auto-cleanup missing projects.

### Bugs fixed

* [#1881](https://github.com/bbatsov/projectile/issues/1881): Fix 
`projectile-recentf` when called outside any project.
* [#1910](https://github.com/bbatsov/projectile/pull/1910): Reverts 
[#1895](https://github.com/bbatsov/projectile/pull/1895) as those changes 
appear to cause a significant performance regression across a number of 
use-cases.
* [#1915](https://github.com/bbatsov/projectile/pull/1915): Fix dotnet-sln 
project-type recognition. (check `*.sln` files instead of `src/`)
* [#1850](https://github.com/bbatsov/projectile/issues/1850): Ensure the 
presence of a project in `projectile-compilation-dir`.
* [#1811](https://github.com/bbatsov/projectile/issues/1811): Revert a change 
to `projectile-ignored-directories` that had converted them into regular 
expressions.
* [#1893](https://github.com/bbatsov/projectile/issues/1893): Fix 
`projectile-discover-projects-in-directory` when called interactively.

### Changes

* [#1874](https://github.com/bbatsov/projectile/pull/1874): Changes 
`compilation-find-file-projectile-find-compilation-buffer` to navigate directly 
to the file if already present on disk to help improve performance in scenarios 
where there are a large number of project directories.
* Drop support for Emacs 25.
* Rework the caching logic. The main changes from before are:

    - Each project has its own cache file
    - Cache files are consulted only when you request the files of some project

    This makes caching both more robust and faster, as before the cache file
    for all projects was loaded when projectile-mode was enabled.
* Make the cache transient by default. (meaning it lives only in memory and is 
not persisted to a file)
  * To enable persistent caching you need to set `projectile-enable-caching` to 
`'persistent`.
* Speed-up load time by moving known projects initialization outside of 
`projectile-mode`'s init.
  * As a side effect the known projects will be initialized properly even if 
you're not using `projectile-mode`.
  * The projects are read from disk the first time you invoke 
`projectile-switch-project` or a similar command.
* Introduce a common prefix for project lifecycle command keybindings:
  * `c o` -> `projectile-configure-project`
  * `c c` -> `projectile-compile-project`
  * `c p` -> `projectile-package-project`
  * `c i` -> `projectile-install-project`
  * `c t` -> `projectile-test-project`
  * `c r` -> `projectile-run-project`
  * The old keybindings will be removed in a future version of Projectile.

## 2.8.0 (2023-10-13)

### New features

* [#1862](https://github.com/bbatsov/projectile/pull/1862): Add project types 
"yarn" and "pnpm" separate from "npm".
* [#1851](https://github.com/bbatsov/projectile/pull/1851): Add ripgrep to 
`projectile-commander` with binding `?p`.
...
...



reply via email to

[Prev in Thread] Current Thread [Next in Thread]