# -*- 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 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
  fraction 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 the 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 kills it.  #5086

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

- By default, submodules with untracked content are now also listed
  in 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 select the
  commit from a log.  #5602

- Added new option ~magit-submodule-list-predicate~ and taught
  ~magit-submodule-list~ to support unpopulated modules.  #5077

- When ~magit-bisect-start~ and ~magit-bisect-run~ are invoked with the
  region marking a reange of consecutive commit, the commits at the
  ends are used as the good and bad commits.  #5049

Bugfixes:

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

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

- ~magit-bisect-start~ and ~magit-bisect-run~ insisted on the good commit
  being an ancestor of the bad, but ~git bisect~ only requires a merge-
  base.  #5238

* 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
...
...
