Bugfixes:
magit-commit-revise
failed if no arguments were used. #5306
- Added new option
magit-refs-show-branch-descriptions
. 42ed6c1966 - When a stash cannot be applied using the trivial method, the user is offered some fallback methods. The presentation of those has been improved. #5253 a08b4dd513
- Added new hook options
magit-revision-wash-message-hook
andmagit-log-wash-summary-hook
, and populate them with new and existing highlighting functions, making it easier to remove default highlighting and to add custom highlighting. This also increases consistency between how commit summaries are shown in logs and when displaying complete commit messages. f54fce0ecc..b86fe009e2 amend!
markers are now highlighted likefixup!
andsquash!
markers. #5261magit-commit-create
no longer amends to HEAD when called with a prefix argument. Themagit-commit
menu offers four amend commands. That should be good enough. 5e60aa72e5magit-commit
no longer features the obscuremagit-commit-reshelve
by default, but it can quickly be reinstated, using the level mechanism. 20eb323b47- Added new commands
magit-commit-alter
andmagit-commit-revise
, completing the already extensive set of “fixup” commands. #5261 - Improved commit menu, documentation and implementation details. #5261
- The branch at point is detected in more contexts now, i.e., when there is not actually a branch at point, but one can unambigiously be derived from the thing at point. 4876f1921e
- Reworked
magit-process-password-prompt-regexps
to be more permissive and better structured. Hopefully that means we have to extend it less frequently going forward, when users run into new prompts. #5288 - Speed up listing untracked files in the status buffer, simplify how the list is configured, and give up on optionally using a tree. #5284
- Argument
--signoff
is now available in all menus that create commits. However, it is no longer shown in any menu by default. See the end of Enabling and Disabling Suffixes to learn how to enable it in all menus at once in a single action. #5297 - Began using the
##
macro from thellama
package. 0a64982100 - Stopped depending on the
dash
package. e40e8f1994
Bug fixes:
- When applying a stash, it was not always discovered when the trivial method was unsuccessful, and so the user was not offered the use of a fallback method. #5253 929eb4dca5
git-commit.el
did not requiremagit-process
, which was only a problem when it is loaded without also loading the rest of Magit. #5280.- The use of an external diff drivers was not prevented in some places. #5282
magit-blame-maybe-show-message
did not protect against interpreting % in commit messages as %-specs. d0e795f423- Parts of commit message headers lost the intended background color. 46c3d8b0ad
- The confirmation prompt of
magit-worktree-delete
failed to name the affected worktree. #5286 - The wrong suffix color was used for
magit-commit-absorb
andmagit-commit-autofixup
. bfadd41079 magit-stash-index
did not usemagit-stash-read-message-function
. #5295- Fixed an error that occured when creating
magit-hunk-section-map
and the user has disabledsmerge-command-prefix
. The same bug exists in Emacs since 29.1, so this will only help users stuck on Emacs 28. #5300 - When the value of a diff or log menu was being initialized from the arguments in the current buffer and the diff/log was already limited to a set of files, then all other arguments were discarded. #5304
- At least Git 2.25.0 is required now. 033a0c0cdc
- At least Emacs 27.1 is required now. c1a86066e8
- Added new command
magit-toggle-profiling
. f637dd1877 - Added new command
magit-toggle-subprocess-record
. ec1f403af1
Bug fixes:
- Fixed a regression in
transient-init-value
. 5b4c4aea1b - Fixed setting
fill-paragraph-function
ingit-commit-setup-changelog-support
. 139e0fcff3 magit-log-refresh
lacked the--since
and--until
arguments, which were already available inmagit-log
. 3ecebe8d11- Enabling verbose output in
magit-commit-absorb
caused an error. #5272 - In logs, no longer strip
heads/
prefix from branch names if a tag with the same name exists. 5cb3492464 magit-list-special-refnames
returned nonsense. #5277
- For most important sections, if an error occurs while inserting the section, the error message is now displayed in the section body. #5255
magit-submodule-populate
now supports--recursive
. #5191 #5256- Improved
magit-process-password-prompt-regexps
. #5257
Bug fixes:
magit-stash-pop
andmagit-stash-apply
sometimes installed conflicts for the user to resolve that are more complicated than they need to be. #5253magit-stash-push
placed--
before other arguments. #5260magit-autorevert
failed to requiremagit-process
. #5263
- Add various minor process logging improvements:
5b30c05d3a magit–git-insert: Collapse process section if appropriate
b11524120e magit–git-insert: Optionally always log to process buffer
cd6cf89d6a Use different face for debug-only process sections
bba06845de magit-process-insert-section: Improve file-path comparison
f2a6133443 magit-run-git-async: No longer clutter
*Messages*
buffer
Bug fixes:
- If the left margin was in use before
magit-blame-mode
started using that margin, then the old width was not restored when the mode was disabled. #5236 - Prior to Tramp being loaded, setting
magit-tramp-pipe-stty-settings
tonil
resulted in an error, due totramp-pipe-stty-settings
not being bound yet. #5240 magit-copy-section-value
no longer did anything for most section types. #5244.- Global git arguments often got added twice to the list of arguments ultimately passed to git. 914285a5e8
- Inserting the headers of status buffers involves temporary changes
to
magit-insert-section-hook
. These changes were not restricted to the current buffer, causing errors whenmagit-git-debug
is enabled and we thus insert sections in the process buffer, while the status buffer is being refreshed. 11e13640c4 - Some
git
errors were not logged despitemagit-git-debug
being enabled. 874fb0fede magit-browse-thing
andmagit-visit-thing
tried to turn anything at point into an URL. Now the bail if there is no URL at point. 7c842b8ac0
- Avoid unnecessary work when
auto-revert-remote-files
isnil
. #5222 - Improved default choice offered by
magit-branch-reset
andmagit-reset-*
. #5230
Bug fixes:
- Added a workaround for a regression in Git v2.46.0. #5212
- Section-specific bindings were removed when a section was expanded whose body is not inserted until the expansion takes place. 9395de2c94
- Addressed an incompatibility with Eglot. #5226
- Adapted to a change in
define-globalized-minor-mode
in Emacs 30, which causeddiff-hl-mode
to be enabled in blob buffers. #5229 - When adding the commit at point to the completion defaults, it was
assumed that
minibuffer-default-add-function
cannot be nil. 6d0075f523 magit-blame--format-string-1
didn’t handle a list of faces correctly. 5395798301- Addressed an incompatibility with Indent-Bars. #5233
- The library
git-commit.el
is no longer distributed as a separate package,git-commit
, but as part of themagit
package. - Improved
magit-tag-release
’s consistency and handling of arguments. #5102 - Updated tooling and other housekeeping.
Bug fixes:
- Only use an explicit range in
magit-insert-recent-commits
, when also using--graph
. With--graph
it increases performance noticeably, but without it decreases performance somewhat. #5075 magit-completing-read-multiple
now shows the default choice in the prompt, if a completion framework is used, for which that is useful. #5205.
See docs/RelNotes/
.