blob: b12713cbaef86098db91221b5473e3e8ade647a3 [file] [log] [blame]
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -04001Release notes for Gerrit 2.1.7
2==============================
3
4Gerrit 2.1.7 is now available:
5
6link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.1.7.war[http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.1.7.war]
7
8Schema Change
9-------------
10*WARNING* This release contains multiple schema changes. To upgrade:
11----
12 java -jar gerrit.war init -d site_path
13----
14
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -070015To export prior review information into `refs/notes/review` branches
16within each Git repository:
17----
18 java -jar gerrit.war ExportReviewNotes -d site_path
19----
20
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -040021Memory Usage Increase
22---------------------
23*WARNING* The JGit delta base cache, whose size is controlled by
24`core.deltaBaseCacheLimit`, has changed in this release from being a
25JVM-wide singleton to per-thread. This alters the memory usage, going
26from 10M for the entire JVM to 10M per concurrent operation. The
27change improves performance on big repositories, but may need a larger
28`container.heapLimit` if the number of concurrent operations is high.
29
30New Features
31------------
32
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -070033Change Data
34~~~~~~~~~~~
35* issue 64 Create Git notes for submitted changes
36+
37Git notes are automatically added to the `refs/notes/review`.
38
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -040039Query
40~~~~~
41* Search project names by substring
42+
43Entering a word with no operator (for example `gerrit`) will be
44expanded to all projects whose names contain the string 'gerrit'.
45
46* issue 722 ownerin and reviewerin search predicates
47+
48New search predicates `ownerin:'GROUP'` and `reviewerin:'GROUP'`
49search for changes whose owner or that has a reviewer in (or not
50in if prefixed with `-`) the specified group.
51
52Web UI
53~~~~~~
54* Add reviewer/verifier name beside check/plus/minus
55+
56Change lists (such as from a search result, or in a user's dashboard)
57can now optionally display the name of the reviewer or verifier who
58gave the score being shown in the summary column. This is an optional
59per-user preference that can be enabled in the Settings screen.
60
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -070061* Add a "revert change"-button to a submitted patchset
62+
63Clicking "Revert Change" creates a new change with the inverse of
64the submitted patch set ready for review and submission. This makes
65it easy to undo a build-breaking change right from the web UI.
66
67* issue 194 Diff patch sets
68+
69Change pages now offer a selection box, "Old Version History",
70to compare patch sets against one another and view only the files
71that differ between two patch sets. This new feature can speed up
72re-reviewing a change.
73
David Pursehouse4d7ac772013-06-25 17:14:30 +090074* issue 913 Support different color palette when not signed in
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -070075+
76Site administrators can configure a different theme in gerrit.config for
77the signed-in and signed-out states, making it more obvious to site users
78they are currently signed-in (or not).
79
80* Add parent info to each change screen Patch Set
81+
82This mirrors the data shown in the 'Commit Message' file, making
83it easy to identify the parent(s) of the commit without opening
84up the Commit Message or gitweb.
85
86* Remove the SSH key loading applet
87+
88The Java based SSH key loading applet is no longer included as part of
89the Gerrit Code Review interface. Users need to copy and paste their
90SSH public key files by hand.
91
92
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -040093SSH Commands
94~~~~~~~~~~~~
95* issue 674 Add abandon/restore to `gerrit review`
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -070096* Add `gerrit version` command
97
98Change Upload
99~~~~~~~~~~~~~
100* Display a more verbose "you are not author/committer" message
101
102Documentation
103~~~~~~~~~~~~~
104* Detailed error message explanations
105+
106Most common error messages are now described in detail in the
107documentation under 'User Guide', 'Error Messages'. Each error is
108explained, along with possible courses of action for an end-user to
109resolve the issue.
110
111* issue 905 Document reverse proxy using Nginx
112* Updated system scaling data in 'System Design'
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400113
114Outgoing Mail
115~~~~~~~~~~~~~
116* Optionally add Importance and Expiry-Days headers
117+
118New gerrit.config variable `sendemail.importance` can be set to `high`
119or `low` to classify outgoing mail, and `sendemail.expiryDays` can be
120set to suggest clients should automatically expire or expunge messages
121this many days after being sent.
122
123* Add support for SMTP AUTH LOGIN
124
125Administration
126~~~~~~~~~~~~~~
127* Group option to make group visible to all users
128+
129A new group option permits the group to be visible to all users,
130rather than just its members. Some sites may find this useful for
131a project owners group, to help users contact the relevant folks.
132
133* Group option to only email change authors on updates
134+
135A new group option causes all users who are a member of that group to
136only send email notifications to change authors, excluding reviewers
137and watchers. This can be useful for automated build and testing users
138to reduce the amount of email sent to reviewers.
139
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700140* Hide non-visible groups from suggestion service
141+
142Groups that are not visible to a user are not shown as suggestions in
143contexts where a group name completion is supported. The previously
144mentioned 'make group visible to all users' flag can be used on a
145per-group basis to expose groups to everyone.
146
147* Use suggest.accounts to control user completion suggestions
148+
149The new `suggest.accounts` configuration variable in gerrit.config
150can control how suggestions for users are offered.
151
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400152* Permit groups to be members of other groups
153+
154Groups can now be a member of another group, users are automatically
155a member of the transitive closure of their group membership.
156
157* READ +3 permission required to upload merges
158+
159The new READ +3 permission is required to upload merge commits. Users
160with only READ +2 permission may upload new changes, but not merges.
161The schema upgrade will automatically convert any current READ +2
162access lines to be READ +3 to maintain prior behavior.
163
164* "Show Inherited Rights" checkbox in Project Access
165+
166This checkbox enables showing or hiding the lines that are inherited
167from the parent project. This makes it easier to find the rules that
168are unique to the project being viewed.
169
170* Allow single letter usernames
171+
172Username requirements are relaxed to permit single letter usernames.
173
174* Fine-grained control over authentication cookie
175+
176Site administrators can now set `auth.cookieSecure` to request
177browsers only send the cookie over https:// connections, preventing
178eavesdropping.
179+
180Site administrators can now set `auth.cookiePath` to override the
181path used for the authentication cookie, which may be necessary if
182a reverse proxy maps requests to the managed gitweb.
183
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700184Replication
185~~~~~~~~~~~
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400186* Add adminUrl to replication for repository creation
187+
188Replication remotes can be configured with `remote.name.adminUrl` to
189indicate an SSH path for repository creation that is different from
190the normal push URL in `remote.name.url`. The adminUrl can be used by
191Gerrit to create a new repository when the normal URL is a non-SSH
192URL, such as git:// or http://.
193
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700194* Support HTTP authentication for replication
195+
196Replication can now be performed over an authenticated smart HTTP
197transport, in addition to anonymous Git and authenticated SSH.
198
199Misc.
200~~~~~
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400201* Alternative URL for Gerrit's managed Gitweb
202+
203The internal gitweb served from `/gitweb` can now appear to be from a
204different URL by using a reverse proxy that does URL rewriting.
205
206* Internal dependencies updated
207+
208Updated H2 Database to 1.2.147, PostgreSQL JDBC Client to 9.0-801,
Shawn O. Pearce71ae8722011-05-15 18:03:07 -0700209openid4java to 0.9.6, ANTLR to 3.2, GWT to 2.1.1, JSch to 0.1.44, Gson
210to 1.6, Apache Commons Net to 2.2, Apache Commons Pool to 1.5.5, JGit
Shawn O. Pearcea2b0e272011-05-19 07:43:15 -0700211to 0.12.1.53-g5ec4977, MINA SSHD to 0.5.1-r1095809.
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400212
213Bug Fixes
214---------
215
216Web UI
217~~~~~~
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700218* issue 853 Incorrect side-by-side display of modified lines
219+
220A bug in JGit lead to the side-by-side view displaying wrong and
221confusing output of modified lines. This bug also caused some
222automatic merges to be carried out incorrectly, usually resulting in
223compile failures. Fixed.
224
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400225* Disallow negative/zero columns in difference views
226+
227Previously a negative or zero value in the number of columns field
228would break the user's account and prevent them from viewing any file
229differences through the web UI. Values less than 1 are now rejected,
230and existing broken accounts will work again by resetting to a sane
231column count.
232
233* Fix branches table displaying symbolic references (e.g. HEAD).
234+
235In the project's "Branches" tab symbolic references like HEAD always
236displayed the wrong target name. Fixed to display the target name of
237the reference.
238
239* Disallow deletion of HEAD and targets of symbolic refs
240+
241Deleting the target of a symbolic reference causes the symbolic to
242become dangling, and it becomes useless.
243
244* Prevent creating 'refs/for/branch' in web UI.
245
246* issue 804 Display proper error message on invalid group
247+
248Attempting to browse a group that does not exist or that is not
249visible to the current user now displays a proper error message,
250instead of a scary generic "Application Error, Server Error".
251
252* issue 822 Up To Change link activates last browsed patch set
253* issue 846 Disable buttons during RPCs
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700254* issue 915 Always display button text in black
255* issue 946 Make sure that ENTER works in all text fields
256* issue 963 Go back to change screen if 'Publish and Submit' fails
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400257* Enable "Sign Out" when auth.type = CLIENT_SSL_CERT_LDAP.
258* Fix handling of "Session Expired" with SSL certificates.
259* Fix compatibility with recent releases of Gitweb.
260* Fix "review" link in Gitweb integration.
Shawn O. Pearcef9396952011-04-21 17:56:38 -0700261* Always display button text in black
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400262* Always disable content merge option if user can't change project
263
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700264commit-msg Hook
265~~~~~~~~~~~~~~~
266* issue 922 Fix commit-msg hook to run on Solaris
267
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400268Outgoing Mail
269~~~~~~~~~~~~~
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700270* issue 780 E-mail about failed merge should not use Anonymous Coward
271+
272Some email was sent as Anonymous Coward, even when the user had a
273configured name and email address. Fixed.
274
275* Fix calculation of project owners
276+
277When sending out new changes for review, Gerrit automatically
278tries to address the project owners on the To line of the outgoing
279message. This sometimes included the owner of a branch. Fixed.
280
281* Do not email reviewers adding themselves as reviewers
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400282* Fix comma/space separation in email templates
283
284Pushing Changes
285~~~~~~~~~~~~~~~
286* Avoid huge pushes during refs/for/BRANCH push
287+
288With Gerrit 2.1.6, clients started to push possibly hundreds of
289megabytes for what should be a tiny patch set changing 1 line of 1
290file. This large push was caused by the server advancing ahead of the
291client (e.g. due to another change being submitted) and the client not
292having fetched the new version. Fixed by adding some recent history to
293the advertisement so that clients don't have to upload the entire
294project for a small change.
295
296* issue 414 Reject pushing multiple commits with same Change-Id
297+
298If multiple new commits are uploaded to a refs/for/ branch and
299they have the same Change-Id, the push is now rejected. Within
300a project, the Change-Id should be unique and users should either
301squash the commits, or modify them to use unique Change-Ids.
302
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700303* issue 635 Match Change-Id by project and branch combination
304* issue 635 Auto close changes by Change-Id on same branch only
305+
306Changes are automatically closed during direct push to branch only if
307the Change-Id line matches and the branch name matches. Previously
308changes were closed automatically if only the Change-Id matched,
309making it difficult to cherry-pick changes across branches.
310
311* issue 947 Disallow to push to non-connected target
312+
313If a repository stores disconnected history graphs on different
314branches, changes may only be pushed to the correct branch.
315
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400316* Always do Change-Id checks on receiving commits
317+
318Ensure Change-Ids aren't incorrectly used, even if the project does
319not require them to be present. Previously some validity checks were
320only performed if the project required Change-Id lines.
321
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700322* Make Change-Id requirement applicable only to reviews
323+
324Change-Ids are not required when directly pushing to a branch. This
325permits projects that normally require Change-Ids to still perform
326direct branch pushes for updates received from an upstream project
327that does not use Change-Ids.
328
329* Reject invalid Change-Id lines
330+
David Pursehouse4d7ac772013-06-25 17:14:30 +0900331Severely malformed Change-Id lines were previously accepted by the
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700332server. These are now rejected.
333
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400334* Fix error message returned on push to closed change
335+
336If a commit with a Change-Id was pushed, and the corresponding change
337was already closed, the server incorrectly errored out with "No new
338changes". Now it reports the change is closed and does not accept a
339new patch set.
340
341* Fix error message for rejecting a change of another project
342+
343Instead of saying 'change not found' when pushing to a commit to
344a refs/changes/NNNN reference that belongs in another project, the
345error now indicates the change belongs to another project.
346
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700347* Better help message when commit message is malformed
348+
349If the commit message is badly formatted Gerrit displays an error
350message to the client. This message has been extended to offer
351suggestions on how to correct the commit message.
352
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400353* Log warning on 'change state corrupt' error
354+
355If a change state corrupt error is reported to a client, there was
356no mention if it on the server error log. Now it is reported so the
357site administrator also knows about it.
358
359SSH Commands
360~~~~~~~~~~~~
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700361* issue 755 Send new patchset event after its available
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400362* issue 814 Evict initial members of group created by SSH
363* issue 879 Fix replication of initial empty commit in new project
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700364* Disallow setting a project as parent for itself
David Pursehouse4d7ac772013-06-25 17:14:30 +0900365* Automatically create user account(s) as necessary
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700366* Move SSH command creation off NioProcessor threads
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400367
368Administration
369~~~~~~~~~~~~~~
370* Enable git reflog for all newly created projects
371+
372Previously branch updates were not being recorded in the native Git
373reflogs ($GIT_DIR/logs/refs/heads) due to a misconfiguration on new
374projects created by gerrit create-project. Fixed.
375
376* Fix IllegalArgumentException caused by non-ASCII user names
377+
378An invalid username is now always reported in UTF-8.
379
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700380* PostgreSQL: conditional installation of PL/pgSQL.
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400381+
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700382Conditional installation is needed to install Gerrit on PostgreSQL 9.
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400383
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700384* issue 961 Fix NPE on Gerrit startup if mail.from is invalid
385* issue 966 Enable git:// download URLs if canonicalGitUrl set
Shawn O. Pearcef9396952011-04-21 17:56:38 -0700386* Stop logging 'keepalive@jcraft.com' errors in error_log
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700387* gerrit.sh: Fix issues on SuSE Linux
388* gerrit.sh: Fix issues on Solaris
389* gerrit.sh: Support spaces in JAVA_HOME
Shawn O. Pearcef9396952011-04-21 17:56:38 -0700390
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400391Documentation
392~~~~~~~~~~~~~
393* issue 800 documentation: Show example of review -m
Shawn O. Pearcee43d3c42011-05-31 09:49:59 -0700394* issue 896 Clarify that $\{name\} is required for replication.
Shawn O. Pearcef17c2d92011-04-12 15:04:16 -0400395* Fix spelling mistake in 'Searching Changes' documentation
396* Fix spelling mistake in user-upload documentation
397* Document cache diff_intraline
398* Document change set dependencies and cherry-pick
399* Include user in scp commands to copy commit hook
400* Adjust documentation to build with current AsciiDoc version