blob: 44b6b563e0eba18a2ee52482ec7c72dc1bd4b1cc [file] [log] [blame]
Shawn O. Pearcec6b9bae2010-06-15 19:45:18 -07001Release notes for Gerrit 2.1.3
2==============================
3
4Gerrit 2.1.3 is now available in the usual location:
5
6link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
7
8Schema Change
9-------------
10
11*WARNING* This release contains multiple schema changes. To upgrade:
12----
13 java -jar gerrit.war init -d site_path
14----
15
16
17New Features
18------------
19
20Web UI
21~~~~~~
22
23* issue 289 Remove reviewers (or self) from a change
24+
25Project and change owners can now remove any reviewer from a change
26by clicking an "X" next to their name in the approval table.
27Individual users can also remove themselves from any change.
28This feature permits users to stop getting notified about a change
29they no longer have an interest in, but had commented on previously.
30
31* issue 124 Index changes by external issue tracking id numbers
32+
33Changes can be searched for by an external issue tracking system's
Shawn O. Pearce74b40b22010-06-17 13:02:10 -070034id numbers. Site administrators can configure trackingid sections in
35gerrit.config to parse and extract issue tracking links from a commit
36message's footer, and have them indexed by Gerrit. Users can search
37for relevant changes using the search operator `tr:` or `bug:`,
38for example `tr:432181` or `bug:JIRA-42`. Administrators can index
39existing change records using the ScanTrackingIds program.
Shawn O. Pearcec6b9bae2010-06-15 19:45:18 -070040
41* List branches/tags containing a merged change
42+
43Merged change pages now display a new expandable section, 'Included
44In', listing all branches and tags that contain the change.
45
46* issue 391 Reduce clicks need to approve and submit
47+
48Users who have Submit +1 permission for a change can now click
49'Publish Comments and Submit' on the publish comments screen,
50combining the 'Publish Comments' and 'Submit Patch Set n' actions
51into a single click.
52
53* Simplify setup of non-range access such as Submit
54+
55If an access control doesn't really make sense as a range of values,
56Gerrit now displays only one box to select the maximum permitted
57value from, rather than two boxes to set the min/max.
58
59* Make Admin > Projects UI accessible to all users
60+
61All projects that are visible to the current user are now listed
62in the Admin > Projects page, as are the project's Branches and
63Access tabs. Editing is obviously disabled, unless the user has
64owner level access to the project, or one of its branches.
65
66Access Controls
67~~~~~~~~~~~~~~~
68
69* Branch-level read access is now supported
70+
71Project owners/administrators can now use the access tab to
72control which groups can read certain branches, enabling hidden
73branches within a more widely visible project. Additionally,
74replication.config honors these settings through the authGroup
75variable, allowing a server administrator to limit which branches
76are replicated to certain mirrors.
77
78* issue 273 Inherit project permissions from more than just All Projects
79+
80Projects can now be organized into an inheritance hierarchy, allowing
81administrators to cluster common access rules for different groups
82of projects. The create-project command learned a new \--parent
83option to set the hierarchy immediately.
84
85* auth.allowedOpenID can limit which providers can be used
86+
87Administrators can now set auth.allowedOpenID in gerrit.config
88to restrict which OpenID provider(s) a user can use to register
89for an account. This may be useful to restrict login to only the
90organization's local provider, or a single trusted 3rd party.
91
92* Branch-level access control is now inherited by default
93+
94Previously branch level access controls were exclusive, locking out
95all other groups that may have been inherited from All Projects,
96or through a wildcard like 'refs/heads/*'. Branch access is now
97inherited by default, but the old exclusive behavior can be obtained
98by prefixing the reference with '-'.
99
100SSH Commands
101~~~~~~~~~~~~
102
103* create-account: Permit creation of batch user accounts over SSH
104* issue 269 Enable create-project for non-Administrators
105
106* ls-projects: New -b option displays the sha1 of each branch
107* ls-projects: New -t option shows the project hierarchy
108
109* gerrit show-queue is now accessible to all users
110+
111Results are filtered to display only queue entries that are operating
112on projects the user is permitted to see. Replication URLs are
113masked for non-admin users, and instead display the remote name
114from the replication.config file.
115
116* issue 310 review \--submit: Submit a change over SSH
117+
118Changes can now be submitted over SSH by using the new \--submit
119command line flag to gerrit review.
120
121* gerrit approve deprecated
122+
123To support the new \--submit flag, gerrit approve has been renamed
124to gerrit review, better matching the web UI name for the concept.
Shawn O. Pearce4a5afa62010-06-16 10:12:45 -0700125The old `gerrit approve` name will be kept around as an alias to
Shawn O. Pearcec6b9bae2010-06-15 19:45:18 -0700126provide time to migrate hooks/scripts/etc.
127
128Hooks / Stream Events
129~~~~~~~~~~~~~~~~~~~~~
130
131* \--change-url parameter passed to hooks
132+
133The change URL was supplied in the stream-events feed, but was
134not passed into hooks, making it difficult for a hook to send a
135notification email with a link back to Gerrit. Fixed by adding
136the parameter.
137
138* Patch set uploader passed to hooks
139+
140The identity of the user who uploaded a patch set was added as both
141a parameter to patchset-created hook, and to the patch set entity
142sent through stream-events.
143
144* issue 506 stream-events: Include the ref in patch sets
145+
146The reference (e.g. 'refs/changes/12/812/2') to download a patch
147set is now included in the stream-events record, making it possible
148for a monitor to easily pull down a patch set and compile it.
149
150Contrib
151~~~~~~~
152
153* Example hook to auto-re-approve a trivial rebase
154
155Misc.
156~~~~~
157
158* transfer.timeout: Support configurable timeouts for dead clients
159+
160Sometimes `repo sync` can leave dead connections open to Gerrit Code
161Review, resulting in worker threads that are tied up indefinitely,
162waiting for client IO that will never occur. Administrators may set
163transfer.timeout to place an upper bound on how long the server will
164wait for the client before aborting the connection and releasing
165the worker thread back into the pool.
166
Shawn O. Pearce74b40b22010-06-17 13:02:10 -0700167* container.slave: Automatically enable --slave
168+
169Adminstrators can now add `container.slave = true` to their slave's
170gerrit.config file, avoiding the need to make sure they always
171pass the --slave flag on the command line when starting their
172slave server.
173
Shawn O. Pearcec6b9bae2010-06-15 19:45:18 -0700174* Add separate task queue for non-interactive users
175+
176Users who are a member of the special 'Non Interactive Users' group
177can now have all of their SSH commands scheduled onto a different
178thread pool than everyone else. If enabled, this feature can help
179ensure quick response time for normal users when the system is
180heavily loaded by batch tasks.
181
182* Explain a remote rejection of a non-fast-forward
183+
184If the remote peer rejected a non-fast-forward replication, make
185it clear that it was the remote that rejected the push, and not
186Gerrit Code Review's client logic. The error is often caused by
187the remote repository having receive.denyNonFastForwards being set
188to true in $GIT_DIR/config. Gerrit's error log message now hints
189at checking this setting on the remote repository.
190
191* Internal dependencies updated
192+
Shawn O. Pearcecc818092010-06-16 16:28:10 -0700193Updated JGit to 0.8.4, Jetty to 7.0.2.v20100331, H2 database to
1941.2.134, Apache Commons Codec to 1.4, Apache Commons Net to 2.1,
195Apache Commons DBCP to 1.4.
Shawn O. Pearcec6b9bae2010-06-15 19:45:18 -0700196
197
198Bug Fixes
199---------
200
Shawn O. Pearce74b40b22010-06-17 13:02:10 -0700201Web UI
202~~~~~~
203
Shawn O. Pearcec6b9bae2010-06-15 19:45:18 -0700204* issue 396 Prevent 'no-score' approvals from being recorded
205+
206Change messages no longer say 'No score; no score' when the user
207has not selected a particular approval setting.
208
209* issue 396 Summarize the number of inline comments
210+
211A change message is now always recorded at the top level of a change
212anytime inline comments are published, even if no score change
213took place, and no cover letter was supplied by the user. The
214auto-generated message is a one line summary indicating how many
215inline comments were published at that time. This makes it easier
216to see what has occurred on the change.
217
Shawn O. Pearce74b40b22010-06-17 13:02:10 -0700218* issue 461 Space out Review and Submit Patch Set buttons
219+
220The risk of clicking 'Submit Patch Set n' when the user meant to
221click 'Review' has been reduced by spacing the buttons further apart.
222
223* issue 587 Fix user site header/footer preference
224+
225The user preference to hide the site header/footer wasn't always
226being applied. Fixed.
227
228* issue 575 Require branches to always start from commits
229+
230Branches could be created starting from annotated tags, resulting
231in crashes when a change gets submitted to the branch. Fixed by
232ensuring branches always start from commits.
233
234* issue 574 Add Cancel button to Register New Email dialog
235+
236Users couldn't (easily) get out of the dialog popped up by the
237'Register New Email...' button. A cancel button was added to
238close the dialog.
239
Shawn O. Pearcec6b9bae2010-06-15 19:45:18 -0700240Server Programs
241~~~~~~~~~~~~~~~
242
243* init: Import non-standardly named Git repositories
244+
245When scanning for projects, any directory that is a valid Git
246repository is now imported, even if its name does not end with
247the standard '.git' suffix.
248
Shawn O. Pearce74b40b22010-06-17 13:02:10 -0700249* issue 460 gerrit.sh: Request at least 1024 file descriptors
250+
251In the default configuration, Gerrit Code Review started with a
252hard limit of 256 file descriptors, which is too small for any site.
253This caused a number of failures, and a number of bugs were filed.
254The default has been raised to 1024.
255
Shawn O. Pearcec6b9bae2010-06-15 19:45:18 -0700256* issue 578 Improve schema version update by avoiding early pruning
257+
258Previously init kept trying to remove unused tables or columns
259during each schema upgrade step. These removes are now deferred
260until the last step.
261
262* review: Actually log an internal server error's root cause
263+
264Internal server failures (such as database connectivity errors)
265were not properly logged by `gerrit approve` (now gerrit review).
266Fixed by logging the root cause of the failure.
267
268Configuration
269~~~~~~~~~~~~~
270
271* Display error when HTTP authentication isn't configured
272+
273Error reporting for a failed login attempt when auth.type is HTTP
274and the HTTP server isn't supplying the expected header is now more
275explicit about describing the problem. This helps new site setups,
276but doesn't have any impact on an existing site.
277
278* Fix javax.naming.PartialResultException: Unprocessed Continuation
279+
280LDAP directory trees that require following a referral in order
281to lookup a name usually failed with the above Java exception
282during sign-in. Administrators can enable following by adding
283`ldap.referral = follow` to their gerrit.config file.
284
285Documentation
286~~~~~~~~~~~~~
287
288* documentation: Clarified the ownership of '\-- All Projects \--'
289+
290The magic project All Projects isn't allowed to have ownership
291delegated, and the documentation wasn't clear why. Fixed by
292explaining the rationale in more detail.
293
294* issue 533 Fix JAR versions in other container installation
295+
296The installation process for putting Gerrit Code Review under a
2973rd party servlet container was out of date, as some JARs had
298the wrong versions listed. Fixed.
299
300* suexec: Document the suexec command
301+
302The suexec command introduced in 2.1.2 was never documented. Fixed.
303
304* Corrected Eclipse documentation on importing Maven projects
305+
306The Maven plugin changed some of its user interface, resulting in
307our step-by-step documentation being out of date. Fixed to match
308the current stable version of the Maven plugin.
309
310
311Version
312-------
313
Shawn O. Pearce74b40b22010-06-17 13:02:10 -0700314e8fd49f5f7481e2f916cb0d8cfbada79309562b4