blob: ca69e86f075f62f8eb809c79cb4d3e414e31a07a [file] [log] [blame]
Shawn O. Pearce2d524492010-02-22 07:28:14 -08001Release notes for Gerrit 2.1.2
2==============================
3
4Gerrit 2.1.2 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
17Breakages
18---------
19
20* issue 421 Force validation of the author and committer lines
21+
22The author line must now match the authenticated user when uploading a
23change, and both author and committer must match when pushing directly
24into a branch with the Push Branch permission. This is a new
25restriction that did not exist in prior versions and was necessary to
26close a hole that permitted users to completely forge commits if they
27had Push Branch +1 granted.
28+
29Project owners may grant the new Forge Identity permission to permit a
30user group to forge the author and/or committer lines in commit
31objects they are pushing for review, or directly into a branch. To
32match prior behavior grant Forge Identity +1 where Read +2 (Upload)
33exists, and Forge Identity +2 where Push Branch >= +1 exists.
34
35
36New Features
37------------
38
Shawn O. Pearce87adfc22010-03-01 09:16:57 -080039UI - Diff Viewer
40~~~~~~~~~~~~~~~~
Shawn O. Pearce2d524492010-02-22 07:28:14 -080041
42* issue 169 Highlight line-level (aka word) differences in files
43+
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -080044Differences within a replaced line are now highlighted with a
45brighter red or green background color. Some heuristics are
46applied to identify and highlight reindented blocks in popular
47C/C++/Java/C#-like and Python-like languages. The highlighting
48algorithm is still simple and could benefit from more fine-tuning,
49as its largely driven by a simple Myers O(ND) character difference
50over the replaced lines.
51+
52The configuration variable cache.diff.intraline can be used to
53disable this feature site-wide, if it causes problems.
Shawn O. Pearce2d524492010-02-22 07:28:14 -080054
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -080055* Improve side-by-side viewer look-and-feel
56+
57The look-and-feel of the side-by-side viewer (and also of the unified
58viewer) has been significantly improved in this release. Coloring of
59regions is more consistently applied, reducing reader distraction.
60Comment boxes use a cleaner display, and take up less space per line.
61
62* Adjustable patch display settings
63+
64Users can now set the tab size or number of columns when displaying a
65patch. Toggles are also available to enable or disable syntax
66coloring, intraline differences, whitespace errors, and visible tabs.
67
Shawn O. Pearce2d524492010-02-22 07:28:14 -080068* issue 416 Add download links to side-by-side viewer
69+
70The side-by-side viewer now offers links to download the complete file
71of either the left or right side. To protect the users from malicious
72cross-site scripting attacks, the download links force the content to
73be wrapped inside of a ZIP archive with a randomized file name.
74Server administrators may use the mimetype.safe configuration setting
75to avoid this wrapping if they trust users to only upload safe file
76content.
77
Shawn O. Pearce87adfc22010-03-01 09:16:57 -080078* Improve performance of 'Show Full Files'
Shawn O. Pearce2d524492010-02-22 07:28:14 -080079+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -080080The 'Show Full File' checkbox in the file viewers no longer requires
81an RPC if the file is sufficiently small enough and syntax coloring
82was enabled. The browser can update the UI using the cached data it
83already has on hand.
Shawn O. Pearce2d524492010-02-22 07:28:14 -080084
Shawn O. Pearce87adfc22010-03-01 09:16:57 -080085* Show old file paths on renamed/copied files
Shawn O. Pearce2d524492010-02-22 07:28:14 -080086+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -080087If a file was renamed or copied, the side-by-side viewer now shows the
88old file path in the column header instead of the generic header text
89'Old Version'.
Shawn O. Pearce2d524492010-02-22 07:28:14 -080090
Shawn O. Pearceb5ac61d2010-02-23 15:01:56 -080091* Improved character set detection
92+
93Gerrit now uses the Mozilla character set detection algorithm when
94trying to determine what charset was used to write a text file.
95For UTF-8 or ISO-8859-1/ASCII users, there should be no difference
96over prior releases. With this change, the server can now also
97automatically recognize source files encoded in:
98
99a. Chinese (ISO-2022-CN, BIG5, EUC-TW, GB18030, HZ-GB-23121)
100b. Cyrillic (ISO-8859-5, KOI8-R, WINDOWS-1251, MACCYRILLIC, IBM866, IBM855)
101c. Greek (ISO-8859-7, WINDOWS-1253)
102d. Hebrew (ISO-8859-8, WINDOWS-1255)
103e. Japanese (ISO-2022-JP, SHIFT_JIS, EUC-JP)
104f. Korean (ISO-2022-KR, EUC-KR)
105g. Unicode (UTF-8, UTF-16BE / UTF-16LE, UTF-32BE / UTF-32LE / X-ISO-10646-UCS-4-34121 / X-ISO-10646-UCS-4-21431)
106h. WINDOWS-1252
107
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800108* issue 405 Add canned per-line comment reply of 'Done'
109* issue 380 Use N/P to jump to next/previous comments
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800110* Use RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK for tabs
111* Use a tooltip to explain whitespace errors
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800112
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800113UI - Other
114~~~~~~~~~~
115
116* issue 408 Show summary of code review, verified on all open changes
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800117+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800118The open changes views now show the status summary columns, just like
119a user dashboard shows. This requires an extra RPC per page display,
120but can save user time when trying to identify which reviews should be
121examined.
122
123* Only enable 'Delete' button when there are selections
124+
125In Settings panels the delete button is enabled only if at least one
126row has been selected to be removed.
127
128* SSH commands stop option parsing on \--
129+
130Like most POSIX commands, `\--` now signifies the end of options for
131any command accessible over SSH.
132
133* Include formatted HTML documentation in WAR
134+
135Official release WARs now contain the formatted HTML documentation,
136and a 'Documentation' menu will display in the main UI (alongside
137'All', 'My', 'Admin') to help users access the local copy rather
138than jumping to the remote Google Code project site.
139
140* Enhanced patch set download commands
141+
142Download commands for patch sets are now offered as a tabbed panel,
143allowing the user to select between 'repo download', 'git pull',
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800144or 'git fetch ... && git cherry-pick' or 'git fetch ... && git
145format-patch' styles, as well as to select the transport protocol
146used, including anonymous Git or HTTP, or authenticated SSH or HTTP.
147The current selections are remembered for signed-in users, permitting
148end-users to quickly reuse their preferred method of grabbing a
149patch set.
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800150
151* Theme the web UI with different skin colors
152+
153Site administrators can now theme the UI with local site colors
154by setting theme variables in gerrit.config.
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800155
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800156Permissions
157~~~~~~~~~~~
158
159* issue 60 Change permissions to be branch based
160+
161Almost all permissions are now per-branch within each project. This
162includes Code Review, Verified, Submit, Push Branch, and even Owner.
163Permissions can be set on a specific branch, or on a wildcard that
164matches all branches that start with that prefix. Read permission is
165still handled at the project level, but future versions should support
166per-branch read access as well.
167
168* MaxNoBlock category for advisory review levels
169+
170The new MaxNoBlock category function can be used in a custom approval
171category for reviews that are performed by automated lint tools.
172See link:http://gerrit.googlecode.com/svn/documentation/2.1.2/access-control.html#function_MaxNoBlock[access control]
173for more details on this function.
174
175Remote Access
176~~~~~~~~~~~~~
177
178* Enable smart HTTP under /p/ URLs
179+
180Git 1.6.6 and later support a more efficient HTTP protocol for both
181fetch/clone and push, by relying upon Git specific server side logic.
182Gerrit Code Review now includes the necessary server side support when
183accessing repositories using URLs of the form
184`http://review.example.com/p/'$projectname'.git`.
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800185Authentication over smart HTTP URLs is performed using standard HTTP
186digest authentication, with the username matching the SSH username,
187but the password coming from a field that is generated by Gerrit and
188accessible to the user on their Settings > SSH Keys tab.
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800189Smart HTTP requests enter the same resource queue as SSH requests,
190using the embedded Jetty server to suspend the request and later
191resume it when processing resources are available. This ensures HTTP
192repository requests don't overtax the server when made concurrently
193with SSH requests.
194
195* issue 392 Make hooks/commit-msg available over HTTP
196+
197The scp filesystem holding client side tools and hooks is now
David Pursehouse4d7ac772013-06-25 17:14:30 +0900198available over `http://review.example.com/tools/'$name'`. User
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800199documentation is updated with example URLs.
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800200
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800201* issue 470 Allow /r/I... URLs
202+
203Change-Ids can now be searched for by accessing the URL
204`http://example.com/r/'Ichangeid'`, similar to how commits
205can be searched by `http://example.com/r/'commitsha1'`.
206
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800207* gerrit-sshd: Allow double quoted strings
208+
209SSH command arguments may now be quoted with double quotes, in
210addition to single quotes. This can make it easier to intermix
211quoting styles with the shell that is calling the SSH client .
212
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800213Server Administration
214~~~~~~~~~~~~~~~~~~~~~
215
216* issue 383 Add event hook support
217+
218Site administrator managed hook scripts can now be invoked at various
219points in processing. Currently these scripts are informational only
220and cannot influence the outcome of an event. For more details see
221link:http://gerrit.googlecode.com/svn/documentation/2.1.2/config-hooks.html[hooks].
222
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800223* Add stream-events command
224+
225The new 'gerrit stream-events' command can be used over SSH by an
226end-user to watch a live stream of any visible patch set creation,
227comments and change submissions. For more details see
228link:http://gerrit.googlecode.com/svn/documentation/2.1.2/cmd-stream-events.html[gerrit stream-events].
229
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800230* Log HTTP activity to $site_path/logs/httpd_log
231+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800232When httpd.listenUrl is http:// or https://, requests are
233logged into `'$site_path'/logs/httpd_log`. This mirrors the
234behavior of the SSH daemon, which also logs requests into the
235same directory. For proxy URLs HTTP requests aren't logged,
236since the front-end server is expected to be performing the
237logging. Logging can be forced on, or forced off by setting
238link:http://gerrit.googlecode.com/svn/documentation/2.1.2/config-gerrit.html#httpd.requestLog[httpd.requestLog].
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800239
240* Allow the daemon's host key to authenticate to itself
241+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800242The SSH daemon's host key can now be used to authenticate as the
243magic user `Gerrit Code Review`. This user identity is blessed as
244even more powerful than a user in the Administrators group, as using
245it requires access to the private half of the host key. For example:
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800246+
247----
248 ssh -p 29418 -i site_path/etc/ssh_host_rsa_key 'Gerrit Code Review'@localhost gerrit flush-caches --all
249----
250
251* Allow $site_path/etc/peer_keys to authenticate peer daemons
252+
253Additional public keys for the magical 'Gerrit Code Review' user may
254be specified in an OpenSSH authorized_keys style file and are
David Pursehouse4d7ac772013-06-25 17:14:30 +0900255functionally equivalent to authenticating with the daemon's host key.
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800256The keys are primarily intended to be other daemons, most likely
257slaves, that share the same set of repositories and database.
258
259* Allow suexec to run any command as any user
260+
261The new SSH based suexec command can only be invoked by the magic user
262`Gerrit Code Review` and permits executing any other command as any
263other registered user account. This forms the foundation of allowing
264a slave daemon process to transparently proxy any write request from a
265client forward to the current master.
266+
267The transparent proxy support is not yet implemented in the slave.
268
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800269* Support automation of gsql by JSON, -c option
270+
271The gsql command now supports JSON as an output format, making
272software driven queries over SSH easier. The -c option accepts
273one query, executes it, and returns.
274
275Other
276~~~~~
277
278* Warn when a commit message isn't wrapped
279+
280During receive Gerrit warns the user if their commit messages appears
281to be incorrectly formatted, by having lines that aren't hard-wrapped
282or that has an extremely long subject line.
283
284* During merge use existing author identity values
285+
286When Gerrit creates a merge commit in order to submit a change, the
287author information of the merge commit is taken from the submitter.
288If all of the commits being submitted were written by the submitter,
289the authorship of the merge commit is copied from one of those commits
290rather than from the user's preferred account information.
291
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800292
293Bug Fixes
294---------
295
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800296UI
297~~
298
299* Change "Publish Comments" to "Review"
300+
301The term "Publish Comments" was used on two different buttons that
302performed two different actions. The first usage was to open the
303screen which shows the scoring buttons, provides the cover letter
304editor, and shows the in-line comments for final review before
305publication. The button that opens that review screen has been
306renamed "Review". The second usage of the button was to actually send
307out the notification emails, and expose the comments to others. This
308button is still called "Publish Comments".
309
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800310* issue 448 Disable syntax highlighting on unified views
311+
312Syntax highlighting in the unified patch view isn't useful if it hides
313the added and removed lines red/green text color. Disable it entirely
314so the add/remove coloring shows up instead.
315
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800316* Disable 'Syntax Highlighting' and 'Show Full File' on big files
317+
318If the file is really big (over 9000 lines), 'Show Full File' is
319actually disabled on the server side, to prevent the client from
320being overrun with data. The UI now reflects this by disabling
321the checkbox for the user, and adds a tooltip to indicate why its
322greyed out.
323
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800324* Don't try to syntax highlight plain text
325+
326Plain text files can't benefit from syntax highlighting, its actually
327more confusing than it is useful. Skip highlighting on them.
328
329* issue 251 Fix bad syntax highlighting
330+
331Prior versions performed syntax highlighting on a per-line basis,
332resulting in confusing or bogus results in multi-line contexts like
333C/Java's "/\* ... \*/" style comment. Fixed by performing
334highlighting on the entire file contents, even if only some lines are
335displayed to meet the user's context setting.
336
337* Ensure vertical tabs are visible
338+
339Vertical tab markers are red, which means they can be hidden against a
340whitespace error, or deleted region marker. Tabs are now shown as
341black against these cases.
342
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800343* Handle bare CR in the middle of a line
344+
345If a CR ("\r") appears in the middle of a line rather than nestled
346against an LF as a CRLF pair, its now displayed as a whitespace
347error, and the line isn't broken at the CR. This fixes an issue
348where a mostly CRLF file with a single malformed line ending caused
349the side-by-side display to render incorrectly (or not at all).
350
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800351* issue 438 Skip gitlink modes as we can't get a content difference
352+
353The special gitlink mode inside of a tree points to a commit in the
354submodule project. We can't show the content of it inside of the
355supermodule.
356
357* issue 456 Support enter to submit on most forms
358+
359Enter key on a lot of forms did not activate the reasonable default
360action, e.g. add a reviewer to an existing review. Fixed.
361
362* issue 347 Improve handling of files renamed between patch sets
363+
364Comment counts in the "history" section of a file viewer were not
365displayed when the file was renamed between two different patch sets
366of the same change. Fixed.
367
368* Fix the style of the Reviewed column header
369+
370The reviewed column header wasn't displaying with the same style as
371its siblings. Fixed.
372
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800373* Fix duplicate "Needed By" pointers between changes
374+
375If a change's current patch set was used as the parent for multiple
376patch sets of another change, that dependent change showed up more
377than once in the "Needed By" list. Fixed.
378
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800379* Expand group names to be 255 characters
380* Update URL for GitHub's SSH key guide
381* issue 314 Hide group type choice if LDAP is not enabled
382
383Email
384~~~~~
385
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800386* Send missing dependencies to owners if they are the only reviewer
387+
388If the owner of the change is the only reviewer and the change can't
389be submitted due to a missing dependency, Gerrit failed to send out an
390email notification. Fixed.
391
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800392* issue 387 Use quoted printable strings in outgoing email
393+
394Names or subjects with non-ASCII characters were not quoted properly
395in the email notification headers. Fixed.
396
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800397* issue 475 Include the name/email in email body if not in envelope
398+
399When the email address from line is a generic server identity,
400there is no way to know who wrote a comment or voted on a change.
401An additional from line is now injected at the start of the email
402body to indicate the actual user.
403
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800404Remote Access
405~~~~~~~~~~~~~
406
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800407* issue 385 Delete session cookie when session is expired
408+
409If the session expires and the user clicks "Close" in the session
410expired popup dialog box, delete the cookie so the user can continue
411to use the website as an anonymous user.
412
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800413* Dequote saved OpenID URLs
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800414+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800415Certain OpenID URLs were getting double quotes thrown around them
416after being saved in the last identity cookie on the client. The
417quotes were loading back into the dialog on a subsequent sign-in
418attempt, resulting in an error as double quotes aren't valid in an
419HTTP URL. Fixed by dropping the quotes if present.
420
421* Fix NoShell to flush the error before exiting
422+
423Sometimes users missed the standard error message that indicated no
424shell was available, due to a thread race condition not always
425flushing the outgoing buffer. Fixed.
426
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800427* issue 488 Allow gerrit approve to post comments on closed changes
428+
429The 'gerrit approve' command previously refused to work on a closed
430change, but the web UI permitted comments to be added anyway.
431Fixed by allowing the command line tool to also post comments to
432closed changes.
433
434* issue 466 Reject pushing to invalid reference names
435+
436Gerrit allowed the invalid `HEAD:/refs/for/master` push refspec
David Pursehouse4d7ac772013-06-25 17:14:30 +0900437to actually create the branch `refs/heads/refs/for/master`, which
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800438confused any other client trying to push. Fixed.
439
440* issue 485 Trim the username before requesting authentication
441+
442LDAP usernames no longer are permitted to start with or end with
443whitespace, removing a common source of typos that lead to users
444being automatically assigned more than one Gerrit user account.
445
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800446Server Administration
447~~~~~~~~~~~~~~~~~~~~~
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800448
449* daemon: Really allow httpd.listenUrl to end with /
450+
451If httpd.listenUrl ended with / the configuration got botched during
452init and the site didn't work as expected. Fixed by correctly
453handling an optional trailing / in this variable.
454
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800455* issue 478 Catch daemon startup failures in error_log
456+
457Startup errors often went to /dev/null, leaving the admin wondering
458why the server didn't launch as expected. Fixed.
459
460* issue 483 Ensure uncaught exceptions are logged
461+
462Some exceptions were reaching the top of the stack frame without
463being caught and logged, causing the JRE to print the exception to
464stderr and then terminate the thread. Since stderr was redirected
465to /dev/null by gerrit.sh, we usually lost these messages. Exception
466handlers are now installed to trap and log any uncaught errors.
467
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800468* issue 451 gerrit.sh: Wait until the daemon is serving requests
469+
David Pursehouse4d7ac772013-06-25 17:14:30 +0900470The gerrit.sh script now waits until the daemon is actually running
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800471and able to serve requests before returning to the caller with a
472successful exit status code. This makes it easier to then start up
473dependent tasks that need the server to be ready before they can run.
474
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800475* gerrit.sh: Don't use let, dash doesn't support it
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800476+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800477/bin/sh on Debian/Ubuntu systems is dash, not bash. The dash
478shell does not support the let command.
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800479
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800480* gerrit.sh: Correct JAVA_HOME behavior
481+
482JAVA_HOME now can be overridden by container.javaHome, as the
483documentation states.
484
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800485* init: Only suggest downloading BouncyCastle on new installs
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800486+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800487Upgrades of an existing installation which has not installed the
488BouncyCastle library shouldn't be encouraged to download and install
489the library again. The administrator has already chosen not to use
490it, we shouldn't nag them about it.
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800491
492* issue 389 Catch bad commentlink patterns and report them
493+
494A bad commentlink.match pattern could cause the change screen to
495simply not load, with no errors in the server log, and nothing
496immediately visible on the client. Most bad patterns are now caught
497during server startup and are reported in the server error_log.
498Certain failures are caught on the client side, and sent to the server
499error log over RPC. Bad patterns are simply skipped when logged.
500
501* issue 419 MySQL: Fix account\_group\_members\_audit removed\_on
502+
503MySQL has a "feature" which prevented the removed_on column from being
504NULL when we meant for it to be NULL. Fixed by using the MySQL
505suggested work around, which is non-standard SQL.
506
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800507* issue 424 WAR truncated during init
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800508+
509init sometimes truncated the WAR file to 0 bytes if it was running
510from the destination WAR. Fixed by using JGit's LockFile class which
511writes to a temporary file and does an atomic rename to finish.
512
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800513* issue 423 Bind to LDAP using only the end-user identity
514+
515Microsoft Active Directory doesn't support anonymous binds, and some
516installations might not be able to create a generic role account for
517Gerrit Code Review. The new auth.type LDAP_BIND permits Gerrit to
518authenticate using only the end-user's credentials, avoiding the need
519for an anonymous or role account bind.
520
521* issue 423 Defer LDAP server type discovery until first authentication
522+
523Microsoft Active Directory wasn't being detected, because the
524anonymous bind during server startup failed. Instead the server
525type is detected during the first user authentication, where we
526have a valid directory context to query over.
527
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800528* issue 486 Reload UI if code split fails to download
529+
530If the server gets upgraded and the user hasn't reloaded their
531browser tab since the upgrade, opening a new section of the UI
532sometimes failed. Fixed by executing an implicit reload in these
533cases, reducing the number of times a user sees a failure.
534
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800535Development
536~~~~~~~~~~~
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800537
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800538* issue 427 Adjust SocketUtilTest to be more likely to pass
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800539+
Shawn O. Pearce87adfc22010-03-01 09:16:57 -0800540Some DNS environments, especially those based on OpenDNS, were failing
541this test case during a build because the upstream resolver was
542returning back a bogus record for an invalid domain name. The test
543was adjusted to use a name that is less likely to be resolved by a
544broken upstream resolver.
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800545
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800546* Fix /become?user_name=... under GWT debugger
547+
548The /become URL now accepts ?user_name=who to authenticate, making
549it easier to setup a launch configuration to debug a particular
550user account in development.
551
552* Show localhost based SSH URLs
553+
554SSH URLs using localhost as the hostname are now visible in the
555web UI, making it easier to copy and paste SSH URLs when debugging
556fetching of changes.
557
558* issue 490 Try Titlecase class name first when launching programs
559+
560Launching daemon or init from the classes directory on a case
561insensitive filesystem like Mac OS X HFS+ or Windows NTFS failed.
562Fixed.
563
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800564* Misc. license issues
565+
566The CDDL javax.servlet package was replaced by an Apache License 2.0
567implementation from the Apache Foundation. The unnecessary OpenXRI
568package, which was never even included in the distribution, was
569removed from the license file.
570
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800571
572Schema Changes in Detail
573------------------------
574
575* Remove Project.Id and use only Project.NameKey
576+
577The project_id column was dropped from the projects table, and all
578associated subtables, and only the name is now used to link records
579in the database. This simplifies the schema for eventual changes
580onto less-traditional storage systems.
581
582* Move sshUserName from Account to AccountExternalId
583+
584The ssh\_user\_name column in accounts was moved to an additional row
585in account\_external\_ids, using external\_id prefix `username:`.
586This removes the non-primary key unique index from the table, making
587it easier to move to less traditional storage systems.
588
589* Replace all transactions with single row updates
590+
591Schema update operations have been reworked to not require multi-row
592transaction support in the database. This makes it easier to port
593onto a distributed storage system where multi-row atomic updates
594aren't possible, or to run on MySQL MyISAM tables.
595
596
597Other Changes
598-------------
599* Update gwtorm to 1.1.4-SNAPSHOT
600* Add unique column ids to every column
601* Remove unused byName @SecondaryKey from ApprovalCategory
602* Remove @SecondaryKey from AccountGroup
603* documentation: Remove mention of mysql_nextval.sql script
604* Drop MySQL function nextval_project_id
605* documentation: Remove project_id from manual insert
606* Update JGit to 0.5.1.106-g10a3391
607* Split the core receive logic out of the SSH code
608* Move toProject into PageLinks for reuse
609* Correct SSH Username to be just Username
610* Don't display the magic username identity on the identities tab
611* Show Status column header on the SSH key table
612* Queue smart HTTP requests alongside SSH requests
613* Add a password field to the account identities
614* Authenticate /p/ HTTP and SSH access by password
615* Advertise the smart HTTP URLs to references
616* Refactor the SSH session state
617* Fixing Eclipse settings file
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800618* Add --commit to comment-added as there was previously no way to kno...
619* Fix imports inside of PatchScreen.java
620* Fix crash while loading project Access tab
621* Replace our own @Nullable with javax.annotation.Nullable.
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800622* Correctly hide delete button on inherited permissions
623* Allow per-branch OWN +1 to delegate branch ownership
624* Block inheritance by default on per-branch permissions.
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800625* Simplify FunctionState as discussed previously
626* Restore delete right checkboxes in wild card project
627* issue 393 Require branch deletion permission for pushes over HTTP
628* issue 399 Update JGit to 0.5.1.140-g660fd39
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800629* Add standard eclipse generated files to .gitignore
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800630* Don't reformat the source if the files are identical
631* Fix schema 27 upgrade for H2
632* Update JGit to 0.5.1.141-g3eee606
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800633* Manage database connections directly in PatchScriptFactory
634* issue 425 Update user documentation to explain branch access control
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800635* Update to gwtjsonrpc 1.2.2-SNAPSHOT
Shawn O. Pearce2d524492010-02-22 07:28:14 -0800636* Allow refs/* pattern on new reference rights
637* Trim reference name from user when adding access right
638* Execute Git commands with AccessPath.GIT
639* Update to GWT 2.0.1
640* Update to Ehcache 1.7.2
641* Update to mime-util 2.1.3
642* Update to H2 1.2.128
643* issue 442 Fix IncorrectObjectTypeException on initial commit
644* Compute allowed approval categories separately.
645* Move new change display to PostReceiveHook
646* Drop unused formatLanguage property from patch table
647* issue 447 documentation: Improve Apache mod_proxy configuration
648* issue 445 Fix whitespace errors with word diff enabled
649* issue 439 Move syntax highlighting back to client
650* Remove Mozilla Rhino from our build
651* Add missing step to add gwtui_dbg configuration
652* Remove useless imports from Schema_28
653* Fix upgrading H2 from schema 20 to current
654* Move release notes into the repository
655* issue 454 documentation: Improve bugzilla link example to include #
656* Drop unused err PrintWriter in Receive
657* documentation: Describe how to do case insensitive commentlink
658* Add patch releases to release notes
659* Update to gwtorm 1.1.4, gwtjsonrpc 1.2.2, gwtexpui 1.2.1
660* Update to GWT 2.0.2
661* documentation: Remove stupid ReleaseNotes build rules
662* documentation: Use a per-version directory
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800663* Draft 2.1.2 release notes
664* documentation: Fix version number to only consider x.y.z format
665* Drop XRI related support from our notices list
666* documentation: Correct sorting error in notices
667* documentation: Add JSR 305 and AOP Alliance to licenses
668* documentation: Correct links to the MPL 1.1 license
669* Replace CDDL javax.servlet with APLv2 implementation
670* documentation: Document database.pool* variables
671* Update 2.1.2 release notes to mention juniversalchardet
672* Fix whitespace ignore feature
673* Fix database connection leak in git-receive-pack
674* Delay marking a file reviewed until its displaying
675* Simplify patch display to a single RPC
676* Fix missing right side border of history, dependency tables
677* Cleanup useless leftmost/rightmost CSS classes
678* Don't RPC to load the full file if we already have it
679* Add Forge Identity +3 to permit pushing filtered history
680* Fix source code formatting in RefControl
681* Fix combined diffs on merge commits
682* Fix SparseFileContent for delete-only patches
683* Simplify some CSS rules for side-by-side viewer
684* Color entire replace block same background shade
685* Cleanup CSS for side-by-side view when there are character differen...
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800686* documentation: Fix typo on the word database
687* Always use class wdc on replace line common sections
688* Fix side-by-side table header CSS glitch
689* Fix file line padding in side-by-side viewer
690* Improve the way inline comments are shown
691* Fix side by side view column headers to use normal font
692* Tweak the intraline difference heuristics
693* Refactor and add to streaming events schema
694* Documentation schema for stream-events command
Shawn O. Pearce2b5ce1a2010-02-26 20:31:49 -0800695* Fix source code formatting errors in MergeOp
696* Cleanup display of branches panel when gitweb isn't configured
697* Fix "Show Tabs" checkbox
Shawn O. Pearce2b4eef52010-03-10 10:53:49 -0800698* Update 2.1.2 release notes
699* Reorganize 2.1.2 release notes into categories
700* Hide syntax highlighting checkbox in unified view
701* Change default tab width to 8
702* Ensure drafts redisplay when refreshing the page
703* Fix tab marker RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
704* issue 473 Don't aggressively coalesce across lines
705* Fix intraline difference off-by-one when LF is added
706* Mark add or delete regions with darker colors
707* Invalidate the diff cache
708* Fix build breakage due to missing constants
709* Fix editable username when authType is LDAP or HTTP_LDAP
710* issue 481 Fix enter with completion in add reviewer box
711* Make intraline differences easier to debug
712* Avoid "es" replaced by "es = Address"
713* Cleanup line insertions joined against indentation change
714* Change become to use user_name field
715* Stop leaking patch controls CSS to other widgets
716* Fix coloring of tab markers in syntax highlighting
717* Fix toggling syntax highlighting on partial file
718* Permit use of syntax highlighting in unified view
719* Use hunk background colors on unified views with syntax highlighting
720* Fix source code formatting in ApproveCommand.java
721* issue 483 Log the type of a non-task after it executes
722* Update to GWT 2.0.3
723* issue 489 Drop host name resolution failure test
724* issue 483 Remove reliance on afterExecute from WorkQueue
725
72671b04c00b174b056ed2579683e2c1546d156b75a