diff options
| author | Jonas Bernoulli <jonas@bernoul.li> | 2018-03-29 21:40:12 +0200 |
|---|---|---|
| committer | Jonas Bernoulli <jonas@bernoul.li> | 2018-03-29 21:46:49 +0200 |
| commit | c0b6b2806be2950f86dca16fe6f2e7fb289c2861 (patch) | |
| tree | 8908260238dd962a918a5203e4fcb705b55a641d | |
| parent | 4b9386cd6f250a09574e69e10a74ffb6a71cbf19 (diff) | |
Complete release notes
| -rw-r--r-- | Documentation/RelNotes/2.12.0.txt | 297 |
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 |
