1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
|
Magit v2.2.0 Release Notes
==========================
Released 16 August 2015 by Jonas Bernoulli.
We are pleased to announce the release of Magit version 2.2.0,
representing 321 commits by 19 people over 6 weeks.
I would like to thank Kyle Meyer and Noam Postavsky for joining
the developer team and helping me with this release. -- Jonas
Changes since v2.1.0
--------------------
* The Elpa packages `with-editor' and `magit-popup' now depend on the
package `async' and turn on the mode `async-bytecomp-package-mode'.
If available, the mode is turned on even when these packages have
not been installed from an Elpa archive. It is being turned on in
both of these libraries because any one of them might be the first
package from the Magit repository that is being updated.
It is possible to prevent the mode from being turned on when loading
these libraries by setting `async-bytecomp-allowed-packages' to nil
before loading them. If you do that, then you must mention that you
have done so when reporting a bug (which might therefore be due to
miscompiled files).
Turning on `async-bytecomp-package-mode' advises `package--compile',
instructing it to compile Magit and its dependencies (as well as
others packages listed in `async-bytecomp-allowed-packages' and
their dependencies) in a separate Emacs instance.
Unfortunately it is necessary that we do this because when an old
version of a package is already loaded when a new version is being
installed, then the old version sometimes interferes during
compilation of the new version, leading to miscompiled files.
This usually does not happen very often, but when updating from
Magit v1 to v2 then it is expected, which is why users were
instructed to uninstall the old version before installing v2.1.0.
Unfortunately many users never saw those instructions, so we have
no choice but to use this approach to get rid of miscompiled files.
* Two new commands have been added to the diff refresh popup that
allow the range of the previous diff to be manipulated.
`magit-diff-flip-revs' swaps the revisions of the range, and
`magit-diff-switch-range-type' toggles between ".." and "..." range
types.
* The commands `magit-ediff-show-unstaged', `magit-ediff-show-staged',
`magit-ediff-show-commit', and `magit-ediff-show-working-tree' have
been added to the Ediff popup.
* New option `magit-ediff-dwim-show-on-hunks' controls whether calling
`magit-ediff-dwim' runs a show variant (`magit-ediff-show-unstaged'
or `magit-ediff-show-staged') rather than `magit-ediff-stage' when
point is on an uncommitted hunk.
* `magit-diff' and `magit-ediff-compare' no longer prompt the user for
confirmation when constructing a range from the last and first
commits selected by a region. A prefix argument can now be used to
specify that the diff is between the second revision and the common
ancestor of both revisions (i.e., the "..." range type is used).
* `magit-ediff-*' variants now limit file choices to those that have
changed between the revisions of interest. If only one file has
changed, this file is used without prompting.
* `magit-diff' and `magit-ediff-compare' now consider the location at
point when choosing the default for the prompt, and this default
value usually corresponds with the actions of their DWIM
counterparts.
* The key in Ediff popup for `magit-ediff-compare' has changed from
"d" to "r" to be consistent with the key in the diff popup for the
similarly behaved `magit-diff`.
* Entering a single commit for the range to `magit-ediff-compare' now
compares the commit with the working tree (like `magit-diff' and
`git diff') rather than the previous commit.
* The popup `magit-diff-refresh-popup' and its suffix commands and
helper functions were fixed. Most importantly file arguments and
diff-type arguments are no longer lost when this popup is used -
it only changes those arguments it is supposed to change. Also
the popup only lists the arguments which can actually be used in
the current buffer (in status buffers fewer are supported than in
diff-only buffers).
* The popup `magit-diff-popup' and its suffix commands now use the
arguments currently in the `magit-diff-mode' buffer of the current
repository. Previously the arguments were always reset to the
default value of `magit-diff-arguments'.
* The default values of `magit-diff-section-arguments' and
`magit-diff-arguments' now contain the `--no-ext-diff' switch.
* New popup `magit-log-refresh-popup' allows changing the log
arguments used in the current buffer. This allows changing the
arguments used in a log buffer without having to specify the
reference(s) again. And it makes it possible to change the log
arguments used in the status buffer, which previously required that
option `magit-log-section-arguments' was customized manually.
* When a log is displayed for the purpose of having the user select
a commit, then this is now displayed in a buffer separate from the
regular log buffer. New option `magit-log-select-buffer-name-format'
controls the name of that buffer and new option
`magit-log-select-arguments' controls the arguments.
* The default value of `magit-log-section-arguments' now contains the
`--decorate' switch.
* `magit-log-buffer-file' respects the log arguments currently in
effect in the repositories log buffer, or if that doesn't exist the
default value of `magit-log-arguments'. Because this command is not
invoked from the log popup, it's now also possible to turn on the
`--follow' using a prefix argument.
* Log graphs are no longer shown in color by default, because turning
the control sequences into faces is very inefficient. To allow
users to get back the colorful graphs, the `--color' switch has been
added to the log popup.
* In the refs manager, `RET' on a local branch again "visits" that
branch by checking it out (like in v1.4). With a prefix argument it
instead "visits" the branch by showing information about other refs
relative to the visited one (like in v2.1 even without a prefix
argument).
When the new option `magit-visit-ref-create' is non-nil, then a
remote branch is "visited" by creating a new local branch that
tracks that remote branch, and checking out that local branch.
* To avoid losing any standard functionality, `C-w' and `M-w' now
fallback to `kill-ring-save' when the region is active. They also
work in more places and in some cases copy more useful information
than before.
* New option `magit-push-always-verify' has been added because changes
in v2.1 caused many users to accidentally push to `master' instead
of a remote feature branch as intended. All users should set this
option to nil, but only after having read the documentation. The
commands that respect this option instruct users to consult its
documentation.
* Moving through a log using `n' and `p' is now much faster because
the revision buffer is no longer recreated for each commit along the
way. Because Emacs does not support key-down-events this had to be
implemented using a timer, which has the unfortunate effect that it
leads to a delay even when only pressing one of these keys briefly
to move by a single line. This delay can be adjusted using the new
option `magit-diff-auto-show-delay'.
* When creating a new branch, first reading the starting point and
only then the name of the new branch has advantages. But many users
disagree, so the option `magit-branch-read-upstream-first' has been
added. It defaults to t.
* New commands `magit-wip-log' and `magit-wip-log-current' allow
showing log for a branch and its wip refs (which the various wip
modes commit to).
* New command `magit-submodule-deinit'.
* New command `magit-commit-augment' allows the user to pick a commit
to squash into and edit the squash commit message.
* New push commands `magit-push-implicitly' and `magit-push-quickly'.
* When reading user input, many commands now offer a better default
choice and better completion candidates.
* All apply variants now use `--3way' when called with a prefix
argument.
* Log commands now respect the entries in the .mailmap file.
* The command `magit-pull-current' now also fetches tags by default.
* When a file has conflicts then the type of conflict is shown now.
* New option `magit-log-show-refname-after-summary'.
* New section inserter `magit-insert-user-header'.
* New face `magit-section-secondary-heading'.
* New commands `magit-run-gitk-all' and `magit-run-gitk-branches'.
The existing command `magit-run-gitk' now always calls `gitk'
without any arguments.
* New commands `magit-shell-command' and `magit-shell-command-topdir'.
This release also contains various documentation fixes, code
clean-ups, bug fixes, and other small to medium improvements.
Authors
-------
225 Jonas Bernoulli
67 Kyle Meyer
8 Noam Postavsky
3 Mitchel Humpherys
2 Greg Lucas
2 Mark Karpov
2 Yuichi Higashi
1 Johann Klähn
1 Josiah Schwab
1 Kan-Ru Chen
1 Nicklas Lindgren
1 Phil Sainty
1 Richard Kim
1 Robin Green
1 Rémi Vanicat
1 Steven Vancoillie
1 Thomas Frössman
1 Ting-Yu Lin
1 Vineet Naik
|