# -*- mode: org -*-
* v4.6.1    UNRELEASED

- If the region marks a single commit, ~magit-patch-create~ now creates
  a patch for that, instead of prompting.  Previously that only was
  only done if multiple commit were marked.  #4734

- When reading a value for ~git diff~'s ~--find-renames~ or ~--find-copies~
  argument, the similarity index can now be specified as a percentage
  or as a fraction.  The input now has to exactly match the value, as
  used by Git; e.g., "20%" or "05".  The latter is interpreted as the
  faction 0.05.  #4708

- Added optional DIRECTORY argument to ~magit-status-quick~, intended
  for use in third-party repository switchers.  #4636

- Added new command ~magit-log-reflog~, which shows log for all objects
  mentioned in all reflogs.  #4748

- When ~gpg.format~ specifies a format other than openpgp, The menu
  argument ~--gpg-sign~ now acts as a boolean toggle.  Previously it
  always wanted to read an openpgp key, making it impossible to
  toggle ssh or x509 signing from the menu.  The used format is now
  shown in the menu.  #5046

- Added ~--reject~ to ~magit-am~ menu.  #5148

- Added Git v2.55's new ~--graph-lane-limit~ to log menus.  It is hidden
  by default and not available when using an older Git.  #5088

- ~magit-file-untrack~, ~magit-file-rename~, ~magit-file-delete~ and
  ~magit-do-async-shell-command~ can now act on directories.  #5247

- ~magit-process-kill~ now first tries to interrupt the process.
  If that fails, a second invocation instead kill it.  #5086

- Added help text for the ~Filter!~ status section.  #5121

- By default, submodules with untracked content are now also listed
  the status of the super-repository.  #5448

- Added ~--redit-message~ to the ~magit-commit~ menu.  That argument and
  ~--reuse-message~ now usually default to the commit at point, but when
  invoked with a prefix argument, the user can instead selected the
  commit from a log.  #5602

Bugfixes:

- ~magit-ignore-submodules-p~ didn't return ~nil~ for ~none~.

- Fixed regressions in ~magit-ediff-resolve-rest~.  #5603

* v4.6.0    2026-07-01

The primary focus of this release are blob-visiting buffers.  For
now the hope is that most users will find working with such buffers
slightly more pleasant, without necessarily becoming aware that
anything changed.  The goal was to pay off technical debt and to
prepare for future changes.

- Visiting blobs now always involves ~magit-find-file-noselect~, even
  when an existing buffer may be involved.  The behavior of this
  function is getting closer to that of ~find-file-noselect~.

- Implemented support for visiting blobs for the benefit of features
  such as syntax-highlighting, as opposed to the user visiting it
  explicitly.  Such "volatile" blob buffers are hidden and are cached
  for a while, in case they are needed again.  If the user visits a
  hidden cached blob, the buffer is renamed to reveal it, and it is
  no longer subject to garbage collection.

- Blobs can now alternatively be visited with nothing but a blob
  object id (instead of a revision and a path).

- Blob-visiting buffers can now be reverted with ~g~, which is useful
  when the buffer is visited via, e.g., a branch, as opposed to a
  revision or blob object id.  The buffer is not needlessly refreshed,
  if the blob oid does not change.  dd48491659, f55bfaf792, cf84935a74

- Syntax highlighting can now be enabled for diffs.  This is disabled
  by default, because the work is still being performed synchronously,
  which leads to noticeable delays for large diffs and can be sluggish
  even for smaller diffs.  #2942, c7b0342dc7

  A future release is going to add support for asynchronous diff
  syntax highlighting.  (The blob buffer cache added in this release
  does help, but is not enough.)

  Configure ~magit-diff-fontify-hunk~ to try out this feature now, but
  please just disable it again, if it turns out to still be too slow
  for your taste.  If you enable this, you should also customize the
...
...
