Magit v2.6.0 Release Notes
==========================

Released 29 March 2016 by Jonas Bernoulli.

We are pleased to announce the release of Magit version 2.6.0,
representing 77 commits by 7 contributors over 2 months.

Also see http://emacsair.me/2016/03/29/magit-2.6.

Updates since v2.5.0
--------------------

* Added a cache, which memorizes the values of some function calls for
  the duration of a refresh.  This cuts the calls to git in half.

* Added new option `magit-diff-hide-trailing-cr-characters'.  When its
  value is non-nil (the default on Windows), then ^M characters at the
  end of diff lines are hidden.

* Added new command `magit-diff-buffer-file-popup' intended for use in
  file-visiting buffers.  It shows the same popup as `magit-diff-popup'
  but starts out already limited to the visited file.

* Added new command `magit-ediff-show-stash', which is available in
  the Ediff popup and will be used when `magit-ediff-dwim' is called
  with point on a stash.

* Added new command `magit-reset-popup' featuring all the available
  reset variants.

* Added new command `magit-push-refspecs', which allows pushing using
  one or more comma-separated and refspecs, which are explicitly typed
  in the minibuffer.

* Added new commands `magit-fetch-refspec' and `magit-fetch-branch'.

* Added new section inserters
  `magit-insert-modules-unpulled-from-pushremote' and
  `magit-insert-modules-unpushed-to-pushremote', and renamed
  `magit-insert-unpulled-module-commits' to
  `magit-insert-modules-unpulled-from-upstream' and
  `magit-insert-unpushed-module-commits' to
  `magit-insert-modules-unpushed-to-upstream'.

* The command `magit-submodule-add' now allows using a module name
  different from the path of the module.

* If `magit-push-current-set-remote-if-missing's value is `default',
  then the command `magit-push-current-to-pushremote' now offers to
  set `remote.pushDefault' unless the push-remote is already set in
  some way.  Previously this command offered to set the local value
  `branch.NAME.pushRemote' for all non-nil values of the option.

* When washing the diff that is to be displayed while writing a
  commit message takes too long, then it is now possible to abort that
  by pressing `C-g'.  Previously that would have aborted the commit.

* When `magit-process-raise-error' is non-nil, then the displayed
  error message now also mentions the `default-directory', which is
  useful when using Magit as a library in another packages that runs
  git in many different repositories.

* The `magit-insert-section' macro's TYPE argument can now have the
  form `(eval FORM)' instead of a symbol.  An atomic TYPE is never
  evaluated, but FORM is evaluated at run-time.

Fixes since v2.5.0
------------------

* Staging hunks/regions belonging to files with CRLF line endings on
  Windows (or, to be precise, when `default-process-coding-system' had
  CRLF end-of-line conversion) ended up erroneously staging changes
  with LF line endings.  Magit now ensures line endings are preserved
  by enforcing a `process-coding-system' with LF end-of-line
  conversion.  The new behavior may be disabled by setting the option
  `magit-process-ensure-unix-line-ending' to `nil'.

* If the user sets the variable `magit-auto-revert-mode' or the
  obsolete alias `magit-revert-buffers' to nil anytime during startup
  (before or after `magit-autorevert' is loaded) then the mode is now
  no longer turned on (actually it is explicitly turned off).

* When a revision buffer was limited to a set of files, its header
  line did not say so.

* The function `magit-run-git-with-input' had stopped calling
  `magit-pre-call-git-hook' and logging its git command to the
  magit-process buffer.

* The function `magit-diff-wash-submodule did not handle some less
  common cases.

* The command `magit-section-cycle-diffs' hung when hiding sections.

* Invoking `magit-commit-popup's default action by invoking the popup
  command with a prefix argument failed due to a typo.

* The command `magit-toggle-buffer-lock' failed if another buffer is
  already locked to the same value.

* The command `magit-clone' did not switch to the cloned repository
  before trying to delete the symbolic-ref "origin/HEAD".

* The commands `magit-insert-unpulled-from-pushremote' and
  `magit-insert-unpushed-to-pushremote' missed an edge case when
  checking whether their section should be inserted into the status
  buffer.

* The command `magit-merge-preview' did not recognize sections for
  added or deleted files.

* The command `magit-show-stash' did not properly handle untracked
  files that were within subdirectories.

* On `windows-nt' systems, having `mount' in `exec-path' caused Magit
  to assume that git is from Cygwin.

* Added a kludge to work around a bug in Apple's OS X which causes
  `file-accessible-directory-p' to return incorrect results.

This release also contains typofixes, documentation updates, and code
clean-ups.

Authors
-------

    53  Jonas Bernoulli
    13  Kyle Meyer
     4  Luís Oliveira
     4  Noam Postavsky
     1  Dan Erikson
     1  Dato Simó
     1  Russell Black
