blob: 88288e2a905e6396a68402440615c7ed05c0bba9 [file] [log] [blame]
= Release notes for Gerrit 2.1.5
Gerrit 2.1.5 is now available:
link:https://www.gerritcodereview.com/download/gerrit-2.1.5.war[https://www.gerritcodereview.com/download/gerrit-2.1.5.war]
This is primarily a bug fix release to 2.1.4, but some additional
new features were included so its named 2.1.5 rather than 2.1.4.1.
== Upgrade Instructions
If upgrading from version 2.1.4, simply replace the WAR file in
`'site_path'/bin/gerrit.war` and restart Gerrit.
If upgrading from version 2.1.3 or earlier, stop Gerrit, use
`java -jar gerrit.war init -d 'site_path'` to upgrade the schema,
and restart Gerrit.
== New Features
=== Web UI
* issue 361 Enable commenting on commit messages
+
The commit message of a change can now be commented on inline, and
even compared between patch sets, just like any other file contents.
The message is presented as a magical file called 'Commit Message',
in the first row of every change.
* issue 312 Implement 'Restore Change' to undo 'Abandon Change'
+
Any user who can abandon a change (the change owner, project owner,
or any site administrator) can now restore the change from Abandoned
status back to Review in Progress.
* issue 583 Enable/disable download protocols
+
The new download section in `gerrit.config` controls how the patch
set download links are presented in the web UI. Administrators
can use this section to enable `repo download`, `git://`, or to
disable `http://` style URLs. This section replaces the older
repo.showDownloadCommand.
* issue 499 Display the size of a patch (lines added/removed)
+
A 'diffstat' is shown for each file, summarizing the size of the
change on that file in terms of number of lines added or deleted.
=== Email Notifications
* issue 452 Include a quick summary of the size of a change in email
+
After the file listing, a summary totaling the number of files
changed, lines added, and lines removed is displayed. This may
help reviewers to get a quick estimation on the time required for
them to review the change.
== Bug Fixes
=== Web UI
* issue 639 Fix keyboard shortcuts under Chrome/Safari
+
Keyboard shortcuts didn't work properly on modern WebKit browsers
like Chrome and Safari. We kept trying to blame this on the browser,
but it was Gerrit Code Review at fault. The UI was using the wrong
listener type to receive keyboard events in comment editors. Fixed.
* Make 'u' go up to the last change listing
+
Previously the 'u' key on a change page was hardcoded to take
the user to their own dashboard. However, if they arrived at the
change through a query such as `is:starred status:open`, this was
quite annoying, as the query had to be started over again to move
to the next matching change. Now the 'u' key goes back to the
query results.
* issue 671 Honor user's syntax coloring preference in unified view
+
The user's syntax coloring preference was always ignored in the
unified view, even though the side-by-side view honored it. Fixed.
* issue 651 Display stars in dependency tables
+
The 'Depends On' and 'Needed By' tables on a change page did not
show the current user's star settings, even though the star icon
is present and will toggle the user's starred flag for that change.
Fixed.
=== Access Control
* issue 672 Fix branch owner adding exclusive ACL
+
Branch owners could not add exclusive ACLs within their branch
namespace. This was caused by the server trying to match the leading
`-` entered by the branch administrator against patterns that did
not contain `-`, and therefore always failed. Fixed by removing
the magical `-` from the proposed new specification before testing
the access rights.
* '@' in ref specs shouldn't be magical.
+
The dk.brics.automaton package that is used to handle regular
expressions on branch access patterns supports '@' to mean
"any string". We don't want that behavior. Fixed by disabling
the optional features of dk.brics.automaton, thereby making '@'
mean a literal '@' sign as expected.
* issue 668 Fix inherited Read Access +2 not inheriting
+
Upload access (aka Read +2) did not inherit properly from the parent
project (e.g. '\-- All Projects \--') if there was any branch level
Read access control within the local project. This was a coding
bug which failed to consider the project inheritance if any branch
(not just the one being uploaded to) denied upload access.
=== Misc.
* issue 641 Don't pass null arguments to hooks
+
Some hooks crashed inside of the server during invocation because the
`gerrit.canonicalWebUrl` variable wasn't configured, and the hook
was started out of an SSH or background thread context, so the URL
couldn't be assumed from the current request. The bug was worked
around by not passing the `\--change-url` flag in these cases.
Administrators whose hooks always need the flag should configure
`gerrit.canonicalWebUrl`.
* issue 652 Fix NPE during merge failure on new branch
+
Submitting a change with a missing dependency to a new branch
resulted in a NullPointerException in the server, because the server
tried to create the branch anyway, even though there was no commit
ready because one or more dependencies were missing. Fixed.
* Fix NPE while matching `file:^` pattern on deleted files
+
Sending email notifications crashed with NullPointerException if the
change contained a deleted file and one or more users had a project
watch on that project using a `file:^` pattern in their filter.
Fixed.
* issue 658 Allow to use refspec shortcuts for push replication
+
A push refspec of `refs/heads/\*` in replication.config is now
supported as a shorthand notation for `refs/heads/\*:refs/heads/\*`.
* issue 676 Fix clearing of topic during replace
+
The topic was cleared if a replacement patch set was uploaded without
the topic name. The topic is now left as-is during replacement
if no new topic was supplied. If a new topic is supplied, it is
changed to match the new topic given.
* Allow ; and & to separate parameters in gitweb
+
gitweb.cgi accepts either ';' or '&' between parameters, but
Gerrit Code Review was only accepting the ';' syntax. Fixed
to support both.
=== Documentation
* Fixed example for gerrit create-account.
* gerrit.sh: Correct /etc/default path in error message
== Version
2765ff9e5f821100e9ca671f4d502b5c938457a5