# -*- mode: org -*-
* v4.3.1    2025-03-02

- Added new option ~magit-format-file-function,~ and two functions to
  optionally prefix file names with icons, with the help of either
  ~all-the-icons~ or ~nerd-icons~.  #5308

- Added new commands ~magit-previous-reference~ and ~magit-next-reference~,
  with entry point ~C-c C-r~.  Enable ~repeat-mode~ to keep navigating with
  ~p~ and ~n~.  #5310
  
Bugfixes:

- ~magit-commit-revise~ failed if no arguments were used.  #5306

- Some arguments were missing from diff menus when invoked from
  the status buffer.  #5309

- In some menus the bindings for ~--signoff~ conflicted with those for
  other arguments.  #5312

- Fixed unlikely issue in ~magit-git-mergetool~.  66e3ddffe4

- Unknown Git trailers resulted in a display error while writing
  commit messages.  8c27c910ca

- When the word at point matched the name of a branch, that was
  unconditionally treated as the commit-at-point.  This should only be
  done when that word is shown using an appropriate face.  2b3f2cb9ad

- Fixed bug in ~magit-section-cycle-diffs~.  #5319

- ~magit-stage-untracked~ was a bit fragile.  #5325

* v4.3.0    2025-02-04

- 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~ and
  ~magit-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 like ~fixup!~ and ~squash!~ markers.
  #5261

- ~magit-commit-create~ no longer amends to HEAD when called with a
  prefix argument.  The ~magit-commit~ menu offers four amend commands.
  That should be good enough.  5e60aa72e5

- ~magit-commit~ no longer features the obscure ~magit-commit-reshelve~ by
  default, but it can quickly be reinstated, using the level mechanism.
  20eb323b47

- Added new commands ~magit-commit-alter~ and ~magit-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 unambiguously
  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 [[https://magit.vc/manual/transient/Enabling-and-Disabling-Suffixes.html][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 the ~llama~ 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 require ~magit-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~ and
  ~magit-commit-autofixup~.  bfadd41079

- ~magit-stash-index~ did not use ~magit-stash-read-message-function~.
  #5295

- Fixed an error that occurred when creating ~magit-hunk-section-map~
  and the user has disabled ~smerge-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

* v4.2.0    2025-01-01

- 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~ in
  ~git-commit-setup-changelog-support~.  139e0fcff3

- ~magit-log-refresh~ lacked the ~--since~ and ~--until~ arguments, which
  were already available in ~magit-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

* v4.1.3    2024-12-06

- 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~ and ~magit-stash-apply~ sometimes installed conflicts
  for the user to resolve that are more complicated than they need to
  be.  #5253

- ~magit-stash-push~ placed ~--~ before other arguments.  #5260

- ~magit-autorevert~ failed to require ~magit-process~.  #5263

* v4.1.2    2024-11-02

- 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~
  to ~nil~ resulted in an error, due to ~tramp-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 when ~magit-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 despite ~magit-git-debug~ being
  enabled.  874fb0fede

- ~magit-browse-thing~ and ~magit-visit-thing~ tried to turn anything
  at point into an URL.  Now the bail if there is no URL at point.
  7c842b8ac0

* v4.1.1    2024-10-01

- Avoid unnecessary work when ~auto-revert-remote-files~ is ~nil~.  #5222

- Improved default choice offered by ~magit-branch-reset~ and
  ~magit-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 caused ~diff-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

* v4.1.0    2024-09-01

- The library ~git-commit.el~ is no longer distributed as a separate
  package, ~git-commit~, but as part of the ~magit~ 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.

* Older releases

See ~docs/RelNotes/~.
