aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2018-03-29 21:40:12 +0200
committerJonas Bernoulli <jonas@bernoul.li>2018-03-29 21:46:49 +0200
commitc0b6b2806be2950f86dca16fe6f2e7fb289c2861 (patch)
tree8908260238dd962a918a5203e4fcb705b55a641d /Documentation
parent4b9386cd6f250a09574e69e10a74ffb6a71cbf19 (diff)
Complete release notes
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/RelNotes/2.12.0.txt297
1 files changed, 273 insertions, 24 deletions
diff --git a/Documentation/RelNotes/2.12.0.txt b/Documentation/RelNotes/2.12.0.txt
index bdb71e4..7379fe0 100644
--- a/Documentation/RelNotes/2.12.0.txt
+++ b/Documentation/RelNotes/2.12.0.txt
@@ -4,6 +4,17 @@ Magit v2.12.0 Release Notes (unreleased)
Upcoming breaking changes
-------------------------
+* An upcoming release will remove support for older versions of Emacs.
+ It isn't yet certain in what Magit release that will happen and what
+ the new minimal version of Emacs will be. You should consider to
+ update to the latest Emacs release now, or at least to v25.1, which
+ was released one and a half years ago.
+
+* Likewise support for older versions of Git is going to be removed.
+ You should update to at least v2.4, which was released almost three
+ years ago. Older releases don't get security updates anymore, which
+ is another reason to update.
+
* The option `magit-no-confirm-default' has been demoted to a variable
and will be removed in v2.13.0. Please migrate your customizations
to the new option `magit-dwim-selection'. #3232
@@ -32,6 +43,12 @@ Changes since v2.11.0
another buffer, but when invoked from a `magit-refs-mode' buffer it
now shows the popup. #2898
+* The module overview section now shows a hash for modules that don't
+ have a tag and column alignment is optimized. #3160
+
+* The diff that is being displayed while committing learned about a
+ few more special cases. #3095
+
* Added new command `magit-branch-or-checkout' as a potential
substitute for `magit-checkout'. Setup instructions can be found in
the manual. #3104
@@ -45,6 +62,10 @@ Changes since v2.11.0
now end with an asterisk. When the `uniquify' package is used, then
that still is not possible due to limitations in that package. #2841
+* When selecting a fixup target then the log graph, which makes it
+ less likely that you attempt to modify a merged commit, which would
+ result in the merges being lost when rebasing. c0209c74d
+
* Added the existing commands `magit-blame' and `magit-blob-next' to
the `magit-file-popup' popup.
@@ -59,6 +80,12 @@ Changes since v2.11.0
* Added new variable `magit-buffer-lock-functions' to support
third-party packages in creating Magit-like buffers. #3191
+* Improve padding of head-line and add new faces `magit-header-line-key'
+ and `magit-header-line-log-select'. #3194
+
+* When a stash has a note attached to it, then show it in the
+ `magit-stash-mode' buffer. aff2fba8f
+
* Added new command `magit-rebase-remove-commit' to the rebase popup.
* The remote popup can now be used to set various remote related
@@ -108,6 +135,8 @@ Changes since v2.11.0
tracked, use the `--full-history' argument. Otherwise no history at
all would be shown. #3012
+* Added new option `magit-patch-save-arguments'. #3218
+
* Leading tabs in files no longer cause misalignment in diffs. This
is done by overriding the mechanism used by the display engine to
determine how width a tab should be, which doesn't work when there
@@ -119,6 +148,9 @@ Changes since v2.11.0
`create-branch' variant and the branch exists, then it offers to
simply checking it out instead of resetting it first. #3009
+* The output of `magit-list-repositories' is now sorted by module path
+ instead of module name. b6f6cf4a6
+
* For a long time Magit has supported selecting two or more sibling
sections using the region and then acting on that selection instead
of only on the current section. Single-section selections were not
@@ -126,14 +158,19 @@ Changes since v2.11.0
visualized as a selection. Now that is supported.
Not every section-aware command was adjusted to take single-section
- selections into account because in many cases that would have lead
- to undesired changes in behavior. #3026
+ selections into account because in many cases that would have led to
+ undesired changes in behavior. #3026
* The command `magit-branch-spinoff' now spins off just HEAD when that
constitutes the single-section selection. Previously one could only
spin off all commits that weren't in the upstream yet or at least
two commits. #2920
+* Added switch `--local-user' to the tag popup. #3237
+
+* When discarding untracked files, then offer to delete the buffers
+ visiting them. #3243
+
* When there is a valid selection based on the region, then the region
itself was never visualized. Now it is, but only if it stays within
a single line. #3249
@@ -179,18 +216,37 @@ Changes since v2.11.0
* Some refs that are being displayed in logs are now being compressed
to save space while providing more information. #2923
+* Added new option `magit-submodule-fetch-jobs'. By default multiple
+ modules are being fetched in parallel now. #3261
+
* The command `magit-show-commit' now also shows notes specified using
`notes.displayRef', not just those specified using `core.notesRef'.
#2857
+* The package `magit-popup' is maintained in its own repository now.
+ 4d5d9bfac
+
* The popup `magit-notes-popup' now shows the values of the relevant
variables and allows changing them. #2857
+* The cherry-picking commands now try to use or not use the
+ `--mainline' argument as appropriate instead of erroring out. #2980
+
+* Added `magit' as an alias for `magit-status' because I have been
+ told that that improves discoverability. This might or might not
+ make it easier for users to get started with Magit without taking
+ a brief glimpse at the documentation. #3290
+
* The command `magit-log-buffer-file' now also works in Dired buffers.
-* Added command `magit-browse-pull-request', which reads an open pull
- request and then visits it in a browser. For now this only supports
- Github, but other Git forges will be supported in the future. #3134
+* The commands `magit-stage-untracked' has been taught about the Borg
+ package manager. When staging a package repository it now offers to
+ also assimilate (aka install) that package. dc857e2ed
+
+* Added new command `magit-browse-pull-request', which reads an open
+ pull request and then visits it in a browser. For now this only
+ supports Github, but other Git forges will be supported in the
+ future. #3134
* Added new commands `magit-checkout-pull-request' and
`magit-branch-pull-request' to the branch popup. For now they only
@@ -202,6 +258,9 @@ Changes since v2.11.0
with `magit-branch-pull-request' or `magit-checkout-pull-request',
provided that remote has no other tracking branches. #3134
+* When it is not possible to blame in reverse, then the blame popup
+ does not offer that command anymore. c6ef61b2e
+
* The mode line process indicator, displayed in the mode line when Git
is run for side-effects, is now more visible than before, and is
additionally used to highlight process errors.
@@ -217,7 +276,7 @@ Changes since v2.11.0
If the Git process returns an error, the mode line process indicator
is no longer removed, and new face `magit-mode-line-process-error`
is applied to highlight the error status. Details of the error from
- the process buffer are also provided as a tooltip. The error
+ the process buffer are also provided as a tool-tip. The error
indicator will remain visible in the mode line until a magit buffer
is refreshed. If you do not want errors to be indicated in the mode
line, customize the `magit-process-display-mode-line-error' user
@@ -240,17 +299,27 @@ Changes since v2.11.0
'magit-diff-visit-file-other-window)
* The widths of tabs in diffs can now be adjusted to match the widths
- that would be used in the corresponing file-visiting buffers. This
+ that would be used in the corresponding file-visiting buffers. This
is disabled by default because it can be expensive to determine the
appropriate values (and also unnecessary when using spaces for
- intendation). Use the new option `magit-diff-adjust-tab-width' to
+ indentation). Use the new option `magit-diff-adjust-tab-width' to
control if and when the tab widths should be adjusted. #2929
+* Added documentation about how to contribute to the documentation.
+
* In the references buffer the remote part of the branch names are now
hidden in the remote specific lists of branches by default, which is
done to preserves space. The option `magit-refs-show-remote-prefix'
can be used to revert this change.
+* The mode `git-commit-mode' now offers three font-lock levels,
+ including one that is fruitier than the previous font-lock level.
+ Local and remote branches are shown using different colors now.
+ 7a50bfdb0 ff
+
+* When a signed tag points at the shown revision, then the revision
+ buffer now also contains information about the tag signature. #3015
+
* The commands `magit-remote-remove' and `magit-branch-delete' now
unset the relevant push-remote related variables, which Git fails to
do, unlike for other variable affected by the removal of a remote or
@@ -262,6 +331,8 @@ Changes since v2.11.0
local branch's push-remote or even rename the push branch on the
remote. The default is to do both. #2850
+* Added argument `--subject-prefix' to the patch popup. 24ce90832
+
* The section visibility is now being cached for all sections.
Previously this was only done for some sections. When a section
disappeared and later appeared again, then it went back to its
@@ -280,7 +351,18 @@ Changes since v2.11.0
because Git does not ignore invalid refspecs and instead refuses
to fetch using only the refspecs that are still valid. #3134
-* The terminology about modules as used by Git is ambigious. Magit
+* Sections are now defined as classes instead of as structs. This
+ is only a first step towards taking advantage of generic methods.
+ A few subclasses are already being defined and dedicated slot
+ accessors have been deprecated of `oref'. 651a9abcc ff
+
+* When asking the user whether to save modified file-visiting buffers
+ during a refresh, then also allow them to remember the choice for
+ the current session. I still think it is better to just always save
+ by setting the option `magit-save-repository-buffers' to `dontask'.
+ #3344
+
+* The terminology about modules as used by Git is ambiguous. Magit
now avoids the term "initialized" and instead uses the term
"populated" to refer to a module whose working directory exists.
The names of commands have been adjusted accordingly. For example,
@@ -298,39 +380,95 @@ Changes since v2.11.0
* Many arguments have been added to the module popup. #2911
-* Added option `magit-refs-filter-alist', which allows omitting some
- references from being displayed in `magit-refs-mode' buffers.
+* Added new option `magit-refs-filter-alist', which allows omitting
+ some references from being displayed in `magit-refs-mode' buffers.
+
+* Added new command `magit-merge-squash'. #3348
-* Added commands `magit-merge-absorb' and `magit-merge-into', which
- not only merge a local branch into another but also remove the
- merged branch. #2922.
+* Several new libraries were created from code previously in magit.el.
+ 0d6389680
-* Added commands `magit-cherry-harvest', `magit-cherry-donate',
+* Added new commands `magit-merge-absorb' and `magit-merge-into',
+ which not only merge a local branch into another but also remove
+ the merged branch. #2922.
+
+* Added new commands `magit-cherry-harvest', `magit-cherry-donate',
`magit-cherry-spinout' and `magit-cherry-spinoff', which move
commits from one branch to another and also remove them from the
branch where they were previously located. #2921
-* Added commands `magit-branch-shelve' and `magit-branch-unshelve'.
- Use them to replace a branch with a less visible ref while
- preserving the ref log. This is useful for work that you probably
- but not certainly will end up discarding. You might want to add
- these commands to the branch popup.
+* Added new command `magit-diff-unmerged' and taught `magit-diff-dwim'
+ about unmerged changes too. #3382
+
+* The command `magit-push-refspecs' got its own history variable.
+ #3361
+
+* By default the names of Magit buffers now either have a star at both
+ ends, or at neither when using the `uniquify' package. 831372a4f
+
+* Added new commands `magit-branch-shelve' and
+ `magit-branch-unshelve'. Use them to replace a branch with a less
+ visible ref while preserving the ref log. This is useful for work
+ that you probably but not certainly will end up discarding. You
+ might want to add these commands to the branch popup. 568b11f64
+
+* The look of `magit-refs-mode' buffers was changed to save horizontal
+ space and three new options `magit-refs-primary-column-width',
+ `magit-refs-focus-column-width' and `magit-refs-pad-commit-counts'
+ were added. #3378
-* The look of `magit-refs-mode' buffers was changed to save horizonal
- space and two new options `magit-refs-primary-column-width' and
- `magit-refs-focus-column-width' were added. #3378
+* When the dispatch popup is invoked in non-Magit buffers, then certain
+ actions that cannot be used there are no longer shown. 83cc91a30
+
+* When the dispatch popup is invoked in a file-visiting buffer, then
+ it now also lists the actions from the file popup. 40361273a
+
+* Added new variable `magit-log-format-message-function'. #3384
* Added commands `magit-commit-reshelve' and `magit-reshelve-since',
replacing and improving upon commands from the `magit-rockstar'
package, which was deprecated. The former changes the dates of HEAD
and the latter those of a range of commits leading up to HEAD.
+* Added argument `--reverse' to the log popup. When that argument is
+ used, then the incompatible `--graph' is silently dropped. 07e1d69d2
+
+* Added new option `magit-log-header-line-function'. #3395
+
+* Added new command `magit-remote-prune'. 6258dd92c
+
+* Added new hook `magit-unwind-refresh-hook', which is like the
+ existing `magit-post-refresh-hook' except that is runs even if an
+ error occurs during the refresh. 9f838cc04
+
Fixes since v2.11.0
-------------------
+* `git-commit-propertize-diff' could end up making the buffer
+ read-only. 746f2361b
+
+bc1093846 magit-popup: locally set help-window-select when describing function
+c9689c670 magit-popup: locally set another display-buffer variable
+
* `git-rebase-mode-show-keybindings' failed to process non-English
usage instructions in interactive rebase buffers. #3175
+* The refresh cache was not properly invalidated after creating a new
+ repository. 7a1f1eb44
+
+* The `with-editor-mode' minor-mode was sometimes enabled twice in the
+ same buffer. 9be36868b
+
+* For bare repositories all files were shown as being deleted in some
+ contexts. b5f05c457
+
+* When a command was invoked from a popup and it set `this-command',
+ then that was later overwritten. a74c9b9d4
+
+* While setting `magit-credential-cache-daemon-socket's initial value
+ an error occurred when `credential.helper's value is the empty string.
+ 4b15d5825
+
* Fixup commands did not warn about merges in the rebase range until
after creating the fixup commit. #3176
@@ -338,14 +476,125 @@ Fixes since v2.11.0
HEAD, which, for the instant variants (but only those), clearly is
a user mistake that should be caught immediately. #3176
+* If `magit-git-executable' is an absolute path, then an error
+ occurred in `magit-debug-git-executable'. 9b7e34c29
+
+8ed2eb4f5 magit-branch-reset: use magit-local-branch-at-point
+
+* The previous window configuration was not restored by
+ `magit-log-select-pick' and `magit-log-select-quit'. #3211
+
+* When `magit-branch-spinoff' failed to perform the checkout it
+ never-the-less attempted to perform the subsequent steps. #3210
+
+* Jumping to the correct location in a man page failed for many
+ switches and options. deb482063 ff
+
+* The default action of `magit-branch-config-popup' was a command the
+ isn't even available in the popup. eaa836fe2
+
+* The command `magit-branch-spinoff' didn't try to prevent the user
+ from a string that contains whitespace as a branch name. bd6055ab2
+
+* The command `magit-commit' failed to commit everything after asking
+ for confirmation if it is called from a subdirectory. #3221
+
+* The command `magit-completing-read' didn't offer any completion
+ candidates. 387257f20
+
+* In some cases an error occured when showing the remote popup because
+ the length of the remotes name was not taken into accound. a9177e5b9
+
* The command `magit-branch-rename' failed to rename a local branch if
a tag existed with the same name. #3222
* The command `magit-file-delete' ignored the prefix argument instead
- of forcing the action as intended.
+ of forcing the action as intended. 0df686bfd
+
+* Fixed a broken highlighting special case. #3238
+
+* When staging all unstaged changes using "s" on "Unstaged changes"
+ while there also are staged changes, then the user was not asked for
+ confirmation. #3238
+
+* When reverting a commit users are required to edit the revert
+ message on some platforms but not on others. #3239
+
+* In a secondary worktree `magit-git-dir' failed to return a remote
+ path when the repository is accessed using Tramp. #3228
+
+* When the user choose the default offered by `magit-patch-apply',
+ then that function failed to expand the file-name so that Git would
+ understand it. ab00c5ba2
+
+* The face `magit-graph' was also used for the commit message, which
+ only was noticeable when the face was customized. It appears that
+ nobody ever did that. 47e94767b
+
+* When `magit-branch-read-upstream-first' is nil, then the value
+ returned by `magit-branch-read-args' was broken. #3268
* Fixed encoding of non-ascii filename arguments to git on
`windows-nt' systems. #3250
+* A bug in `magit-list-active-notes-refs' slowed down
+ `magit-show-commit'. #3275
+
+* The command `magit-worktree-checkout' wasn't able to checkout
+ arbitrary commits, just refs. #3277
+
+* Due to misunderstood `flyspell' implementation details
+ `git-commit-turn-on-flyspell' did some unnecessary work and made
+ claims that are not actually true. 24c966082
+
+* When the git executable could not be found, then Magit often claimed
+ that the user was doing something outside of a Git repository
+ instead. #3310
+
+* The command `magit-submodule-add' always used a kludge that is
+ only needed when using Ido, resulting in a unnecessary removal
+ of functionality. 5e43377d2
+
+* The function `magit-maybe-save-repository-buffers' in some cases
+ needlessly redisplayed a message. #3319
+
+* The branch description was displayed in weird ways in a few places.
+ d98c44bd7, 9003b85da
+
+* When stashing untracked files, then the untracked files in
+ subdirectories were not removed from the working tree. #3334
+
* The command `magit-worktree-delete' failed to delete a worktree when
its directory no longer existed. #3355
+
+* A kludge used to work around a bug in Emacs 24 prevented
+ `magit-copy-buffer-revision' from deactivating the mark. #3352
+
+* When visiting the last blob that still had the line at point in a diff,
+ then that only jumped to the correct line, but not the correct column.
+ ebe3b5229
+
+* For unpopulated modules `magit-list-submodules' showed information
+ about the super-repository instead. Now such modules are omitted.
+ 1c4fa9b14
+
+* The commands `magit-am-apply-patches' and `magit-am-apply-maildir'
+ did not work over Tramp because it passed Tramp file names directly
+ to git. This was fixed in a way that should prevent similar issues
+ elsewhere. #3368
+
+* The function `magit-branch-commit-at-point' preferred tags over
+ branches, which is a strange default for most callers. f2b318856
+
+* The arguments set in the popup were ignored when displaying tags
+ in refs buffers. ae007a757
+
+* When `magit-diff-section-arguments' calls for it, then all
+ diff-related sections are supposed to be limited to a subdirectory,
+ but sections listing untracked and tracked files ignored it. #3376
+
+* Saving wip refs often failed because `magit-update-ref' used the
+ refresh cache. e0e1a44f3
+
+* Buffers listing repositories using `tabulated-list-mode' did not
+ preserve point when being refreshed. 2f0302635