Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 1 | Release notes for Gerrit 2.1.2 |
| 2 | ============================== |
| 3 | |
| 4 | Gerrit 2.1.2 is now available in the usual location: |
| 5 | |
| 6 | link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list] |
| 7 | |
| 8 | Schema 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 | |
| 17 | Breakages |
| 18 | --------- |
| 19 | |
| 20 | * issue 421 Force validation of the author and committer lines |
| 21 | + |
| 22 | The author line must now match the authenticated user when uploading a |
| 23 | change, and both author and committer must match when pushing directly |
| 24 | into a branch with the Push Branch permission. This is a new |
| 25 | restriction that did not exist in prior versions and was necessary to |
| 26 | close a hole that permitted users to completely forge commits if they |
| 27 | had Push Branch +1 granted. |
| 28 | + |
| 29 | Project owners may grant the new Forge Identity permission to permit a |
| 30 | user group to forge the author and/or committer lines in commit |
| 31 | objects they are pushing for review, or directly into a branch. To |
| 32 | match prior behavior grant Forge Identity +1 where Read +2 (Upload) |
| 33 | exists, and Forge Identity +2 where Push Branch >= +1 exists. |
| 34 | |
| 35 | |
| 36 | New Features |
| 37 | ------------ |
| 38 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 39 | UI - Diff Viewer |
| 40 | ~~~~~~~~~~~~~~~~ |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 41 | |
| 42 | * issue 169 Highlight line-level (aka word) differences in files |
| 43 | + |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 44 | Differences within a replaced line are now highlighted with a |
| 45 | brighter red or green background color. Some heuristics are |
| 46 | applied to identify and highlight reindented blocks in popular |
| 47 | C/C++/Java/C#-like and Python-like languages. The highlighting |
| 48 | algorithm is still simple and could benefit from more fine-tuning, |
| 49 | as its largely driven by a simple Myers O(ND) character difference |
| 50 | over the replaced lines. |
| 51 | + |
| 52 | The configuration variable cache.diff.intraline can be used to |
| 53 | disable this feature site-wide, if it causes problems. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 54 | |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 55 | * Improve side-by-side viewer look-and-feel |
| 56 | + |
| 57 | The look-and-feel of the side-by-side viewer (and also of the unified |
| 58 | viewer) has been significantly improved in this release. Coloring of |
| 59 | regions is more consistently applied, reducing reader distraction. |
| 60 | Comment boxes use a cleaner display, and take up less space per line. |
| 61 | |
| 62 | * Adjustable patch display settings |
| 63 | + |
| 64 | Users can now set the tab size or number of columns when displaying a |
| 65 | patch. Toggles are also available to enable or disable syntax |
| 66 | coloring, intraline differences, whitespace errors, and visible tabs. |
| 67 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 68 | * issue 416 Add download links to side-by-side viewer |
| 69 | + |
| 70 | The side-by-side viewer now offers links to download the complete file |
| 71 | of either the left or right side. To protect the users from malicious |
| 72 | cross-site scripting attacks, the download links force the content to |
| 73 | be wrapped inside of a ZIP archive with a randomized file name. |
| 74 | Server administrators may use the mimetype.safe configuration setting |
| 75 | to avoid this wrapping if they trust users to only upload safe file |
| 76 | content. |
| 77 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 78 | * Improve performance of 'Show Full Files' |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 79 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 80 | The 'Show Full File' checkbox in the file viewers no longer requires |
| 81 | an RPC if the file is sufficiently small enough and syntax coloring |
| 82 | was enabled. The browser can update the UI using the cached data it |
| 83 | already has on hand. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 84 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 85 | * Show old file paths on renamed/copied files |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 86 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 87 | If a file was renamed or copied, the side-by-side viewer now shows the |
| 88 | old file path in the column header instead of the generic header text |
| 89 | 'Old Version'. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 90 | |
Shawn O. Pearce | b5ac61d | 2010-02-23 15:01:56 -0800 | [diff] [blame] | 91 | * Improved character set detection |
| 92 | + |
| 93 | Gerrit now uses the Mozilla character set detection algorithm when |
| 94 | trying to determine what charset was used to write a text file. |
| 95 | For UTF-8 or ISO-8859-1/ASCII users, there should be no difference |
| 96 | over prior releases. With this change, the server can now also |
| 97 | automatically recognize source files encoded in: |
| 98 | |
| 99 | a. Chinese (ISO-2022-CN, BIG5, EUC-TW, GB18030, HZ-GB-23121) |
| 100 | b. Cyrillic (ISO-8859-5, KOI8-R, WINDOWS-1251, MACCYRILLIC, IBM866, IBM855) |
| 101 | c. Greek (ISO-8859-7, WINDOWS-1253) |
| 102 | d. Hebrew (ISO-8859-8, WINDOWS-1255) |
| 103 | e. Japanese (ISO-2022-JP, SHIFT_JIS, EUC-JP) |
| 104 | f. Korean (ISO-2022-KR, EUC-KR) |
| 105 | g. Unicode (UTF-8, UTF-16BE / UTF-16LE, UTF-32BE / UTF-32LE / X-ISO-10646-UCS-4-34121 / X-ISO-10646-UCS-4-21431) |
| 106 | h. WINDOWS-1252 |
| 107 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 108 | * issue 405 Add canned per-line comment reply of 'Done' |
| 109 | * issue 380 Use N/P to jump to next/previous comments |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 110 | * Use RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK for tabs |
| 111 | * Use a tooltip to explain whitespace errors |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 112 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 113 | UI - Other |
| 114 | ~~~~~~~~~~ |
| 115 | |
| 116 | * issue 408 Show summary of code review, verified on all open changes |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 117 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 118 | The open changes views now show the status summary columns, just like |
| 119 | a user dashboard shows. This requires an extra RPC per page display, |
| 120 | but can save user time when trying to identify which reviews should be |
| 121 | examined. |
| 122 | |
| 123 | * Only enable 'Delete' button when there are selections |
| 124 | + |
| 125 | In Settings panels the delete button is enabled only if at least one |
| 126 | row has been selected to be removed. |
| 127 | |
| 128 | * SSH commands stop option parsing on \-- |
| 129 | + |
| 130 | Like most POSIX commands, `\--` now signifies the end of options for |
| 131 | any command accessible over SSH. |
| 132 | |
| 133 | * Include formatted HTML documentation in WAR |
| 134 | + |
| 135 | Official release WARs now contain the formatted HTML documentation, |
| 136 | and a 'Documentation' menu will display in the main UI (alongside |
| 137 | 'All', 'My', 'Admin') to help users access the local copy rather |
| 138 | than jumping to the remote Google Code project site. |
| 139 | |
| 140 | * Enhanced patch set download commands |
| 141 | + |
| 142 | Download commands for patch sets are now offered as a tabbed panel, |
| 143 | allowing the user to select between 'repo download', 'git pull', |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 144 | or 'git fetch ... && git cherry-pick' or 'git fetch ... && git |
| 145 | format-patch' styles, as well as to select the transport protocol |
| 146 | used, including anonymous Git or HTTP, or authenticated SSH or HTTP. |
| 147 | The current selections are remembered for signed-in users, permitting |
| 148 | end-users to quickly reuse their preferred method of grabbing a |
| 149 | patch set. |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 150 | |
| 151 | * Theme the web UI with different skin colors |
| 152 | + |
| 153 | Site administrators can now theme the UI with local site colors |
| 154 | by setting theme variables in gerrit.config. |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 155 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 156 | Permissions |
| 157 | ~~~~~~~~~~~ |
| 158 | |
| 159 | * issue 60 Change permissions to be branch based |
| 160 | + |
| 161 | Almost all permissions are now per-branch within each project. This |
| 162 | includes Code Review, Verified, Submit, Push Branch, and even Owner. |
| 163 | Permissions can be set on a specific branch, or on a wildcard that |
| 164 | matches all branches that start with that prefix. Read permission is |
| 165 | still handled at the project level, but future versions should support |
| 166 | per-branch read access as well. |
| 167 | |
| 168 | * MaxNoBlock category for advisory review levels |
| 169 | + |
| 170 | The new MaxNoBlock category function can be used in a custom approval |
| 171 | category for reviews that are performed by automated lint tools. |
| 172 | See link:http://gerrit.googlecode.com/svn/documentation/2.1.2/access-control.html#function_MaxNoBlock[access control] |
| 173 | for more details on this function. |
| 174 | |
| 175 | Remote Access |
| 176 | ~~~~~~~~~~~~~ |
| 177 | |
| 178 | * Enable smart HTTP under /p/ URLs |
| 179 | + |
| 180 | Git 1.6.6 and later support a more efficient HTTP protocol for both |
| 181 | fetch/clone and push, by relying upon Git specific server side logic. |
| 182 | Gerrit Code Review now includes the necessary server side support when |
| 183 | accessing repositories using URLs of the form |
| 184 | `http://review.example.com/p/'$projectname'.git`. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 185 | Authentication over smart HTTP URLs is performed using standard HTTP |
| 186 | digest authentication, with the username matching the SSH username, |
| 187 | but the password coming from a field that is generated by Gerrit and |
| 188 | accessible to the user on their Settings > SSH Keys tab. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 189 | Smart HTTP requests enter the same resource queue as SSH requests, |
| 190 | using the embedded Jetty server to suspend the request and later |
| 191 | resume it when processing resources are available. This ensures HTTP |
| 192 | repository requests don't overtax the server when made concurrently |
| 193 | with SSH requests. |
| 194 | |
| 195 | * issue 392 Make hooks/commit-msg available over HTTP |
| 196 | + |
| 197 | The scp filesystem holding client side tools and hooks is now |
David Pursehouse | 4d7ac77 | 2013-06-25 17:14:30 +0900 | [diff] [blame] | 198 | available over `http://review.example.com/tools/'$name'`. User |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 199 | documentation is updated with example URLs. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 200 | |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 201 | * issue 470 Allow /r/I... URLs |
| 202 | + |
| 203 | Change-Ids can now be searched for by accessing the URL |
| 204 | `http://example.com/r/'Ichangeid'`, similar to how commits |
| 205 | can be searched by `http://example.com/r/'commitsha1'`. |
| 206 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 207 | * gerrit-sshd: Allow double quoted strings |
| 208 | + |
| 209 | SSH command arguments may now be quoted with double quotes, in |
| 210 | addition to single quotes. This can make it easier to intermix |
| 211 | quoting styles with the shell that is calling the SSH client . |
| 212 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 213 | Server Administration |
| 214 | ~~~~~~~~~~~~~~~~~~~~~ |
| 215 | |
| 216 | * issue 383 Add event hook support |
| 217 | + |
| 218 | Site administrator managed hook scripts can now be invoked at various |
| 219 | points in processing. Currently these scripts are informational only |
| 220 | and cannot influence the outcome of an event. For more details see |
| 221 | link:http://gerrit.googlecode.com/svn/documentation/2.1.2/config-hooks.html[hooks]. |
| 222 | |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 223 | * Add stream-events command |
| 224 | + |
| 225 | The new 'gerrit stream-events' command can be used over SSH by an |
| 226 | end-user to watch a live stream of any visible patch set creation, |
| 227 | comments and change submissions. For more details see |
| 228 | link:http://gerrit.googlecode.com/svn/documentation/2.1.2/cmd-stream-events.html[gerrit stream-events]. |
| 229 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 230 | * Log HTTP activity to $site_path/logs/httpd_log |
| 231 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 232 | When httpd.listenUrl is http:// or https://, requests are |
| 233 | logged into `'$site_path'/logs/httpd_log`. This mirrors the |
| 234 | behavior of the SSH daemon, which also logs requests into the |
| 235 | same directory. For proxy URLs HTTP requests aren't logged, |
| 236 | since the front-end server is expected to be performing the |
| 237 | logging. Logging can be forced on, or forced off by setting |
| 238 | link:http://gerrit.googlecode.com/svn/documentation/2.1.2/config-gerrit.html#httpd.requestLog[httpd.requestLog]. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 239 | |
| 240 | * Allow the daemon's host key to authenticate to itself |
| 241 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 242 | The SSH daemon's host key can now be used to authenticate as the |
| 243 | magic user `Gerrit Code Review`. This user identity is blessed as |
| 244 | even more powerful than a user in the Administrators group, as using |
| 245 | it requires access to the private half of the host key. For example: |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 246 | + |
| 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 | + |
| 253 | Additional public keys for the magical 'Gerrit Code Review' user may |
| 254 | be specified in an OpenSSH authorized_keys style file and are |
David Pursehouse | 4d7ac77 | 2013-06-25 17:14:30 +0900 | [diff] [blame] | 255 | functionally equivalent to authenticating with the daemon's host key. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 256 | The keys are primarily intended to be other daemons, most likely |
| 257 | slaves, that share the same set of repositories and database. |
| 258 | |
| 259 | * Allow suexec to run any command as any user |
| 260 | + |
| 261 | The 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 |
| 263 | other registered user account. This forms the foundation of allowing |
| 264 | a slave daemon process to transparently proxy any write request from a |
| 265 | client forward to the current master. |
| 266 | + |
| 267 | The transparent proxy support is not yet implemented in the slave. |
| 268 | |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 269 | * Support automation of gsql by JSON, -c option |
| 270 | + |
| 271 | The gsql command now supports JSON as an output format, making |
| 272 | software driven queries over SSH easier. The -c option accepts |
| 273 | one query, executes it, and returns. |
| 274 | |
| 275 | Other |
| 276 | ~~~~~ |
| 277 | |
| 278 | * Warn when a commit message isn't wrapped |
| 279 | + |
| 280 | During receive Gerrit warns the user if their commit messages appears |
| 281 | to be incorrectly formatted, by having lines that aren't hard-wrapped |
| 282 | or that has an extremely long subject line. |
| 283 | |
| 284 | * During merge use existing author identity values |
| 285 | + |
| 286 | When Gerrit creates a merge commit in order to submit a change, the |
| 287 | author information of the merge commit is taken from the submitter. |
| 288 | If all of the commits being submitted were written by the submitter, |
| 289 | the authorship of the merge commit is copied from one of those commits |
| 290 | rather than from the user's preferred account information. |
| 291 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 292 | |
| 293 | Bug Fixes |
| 294 | --------- |
| 295 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 296 | UI |
| 297 | ~~ |
| 298 | |
| 299 | * Change "Publish Comments" to "Review" |
| 300 | + |
| 301 | The term "Publish Comments" was used on two different buttons that |
| 302 | performed two different actions. The first usage was to open the |
| 303 | screen which shows the scoring buttons, provides the cover letter |
| 304 | editor, and shows the in-line comments for final review before |
| 305 | publication. The button that opens that review screen has been |
| 306 | renamed "Review". The second usage of the button was to actually send |
| 307 | out the notification emails, and expose the comments to others. This |
| 308 | button is still called "Publish Comments". |
| 309 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 310 | * issue 448 Disable syntax highlighting on unified views |
| 311 | + |
| 312 | Syntax highlighting in the unified patch view isn't useful if it hides |
| 313 | the added and removed lines red/green text color. Disable it entirely |
| 314 | so the add/remove coloring shows up instead. |
| 315 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 316 | * Disable 'Syntax Highlighting' and 'Show Full File' on big files |
| 317 | + |
| 318 | If the file is really big (over 9000 lines), 'Show Full File' is |
| 319 | actually disabled on the server side, to prevent the client from |
| 320 | being overrun with data. The UI now reflects this by disabling |
| 321 | the checkbox for the user, and adds a tooltip to indicate why its |
| 322 | greyed out. |
| 323 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 324 | * Don't try to syntax highlight plain text |
| 325 | + |
| 326 | Plain text files can't benefit from syntax highlighting, its actually |
| 327 | more confusing than it is useful. Skip highlighting on them. |
| 328 | |
| 329 | * issue 251 Fix bad syntax highlighting |
| 330 | + |
| 331 | Prior versions performed syntax highlighting on a per-line basis, |
| 332 | resulting in confusing or bogus results in multi-line contexts like |
| 333 | C/Java's "/\* ... \*/" style comment. Fixed by performing |
| 334 | highlighting on the entire file contents, even if only some lines are |
| 335 | displayed to meet the user's context setting. |
| 336 | |
| 337 | * Ensure vertical tabs are visible |
| 338 | + |
| 339 | Vertical tab markers are red, which means they can be hidden against a |
| 340 | whitespace error, or deleted region marker. Tabs are now shown as |
| 341 | black against these cases. |
| 342 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 343 | * Handle bare CR in the middle of a line |
| 344 | + |
| 345 | If a CR ("\r") appears in the middle of a line rather than nestled |
| 346 | against an LF as a CRLF pair, its now displayed as a whitespace |
| 347 | error, and the line isn't broken at the CR. This fixes an issue |
| 348 | where a mostly CRLF file with a single malformed line ending caused |
| 349 | the side-by-side display to render incorrectly (or not at all). |
| 350 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 351 | * issue 438 Skip gitlink modes as we can't get a content difference |
| 352 | + |
| 353 | The special gitlink mode inside of a tree points to a commit in the |
| 354 | submodule project. We can't show the content of it inside of the |
| 355 | supermodule. |
| 356 | |
| 357 | * issue 456 Support enter to submit on most forms |
| 358 | + |
| 359 | Enter key on a lot of forms did not activate the reasonable default |
| 360 | action, e.g. add a reviewer to an existing review. Fixed. |
| 361 | |
| 362 | * issue 347 Improve handling of files renamed between patch sets |
| 363 | + |
| 364 | Comment counts in the "history" section of a file viewer were not |
| 365 | displayed when the file was renamed between two different patch sets |
| 366 | of the same change. Fixed. |
| 367 | |
| 368 | * Fix the style of the Reviewed column header |
| 369 | + |
| 370 | The reviewed column header wasn't displaying with the same style as |
| 371 | its siblings. Fixed. |
| 372 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 373 | * Fix duplicate "Needed By" pointers between changes |
| 374 | + |
| 375 | If a change's current patch set was used as the parent for multiple |
| 376 | patch sets of another change, that dependent change showed up more |
| 377 | than once in the "Needed By" list. Fixed. |
| 378 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 379 | * 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 | |
| 383 | Email |
| 384 | ~~~~~ |
| 385 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 386 | * Send missing dependencies to owners if they are the only reviewer |
| 387 | + |
| 388 | If the owner of the change is the only reviewer and the change can't |
| 389 | be submitted due to a missing dependency, Gerrit failed to send out an |
| 390 | email notification. Fixed. |
| 391 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 392 | * issue 387 Use quoted printable strings in outgoing email |
| 393 | + |
| 394 | Names or subjects with non-ASCII characters were not quoted properly |
| 395 | in the email notification headers. Fixed. |
| 396 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 397 | * issue 475 Include the name/email in email body if not in envelope |
| 398 | + |
| 399 | When the email address from line is a generic server identity, |
| 400 | there is no way to know who wrote a comment or voted on a change. |
| 401 | An additional from line is now injected at the start of the email |
| 402 | body to indicate the actual user. |
| 403 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 404 | Remote Access |
| 405 | ~~~~~~~~~~~~~ |
| 406 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 407 | * issue 385 Delete session cookie when session is expired |
| 408 | + |
| 409 | If the session expires and the user clicks "Close" in the session |
| 410 | expired popup dialog box, delete the cookie so the user can continue |
| 411 | to use the website as an anonymous user. |
| 412 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 413 | * Dequote saved OpenID URLs |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 414 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 415 | Certain OpenID URLs were getting double quotes thrown around them |
| 416 | after being saved in the last identity cookie on the client. The |
| 417 | quotes were loading back into the dialog on a subsequent sign-in |
| 418 | attempt, resulting in an error as double quotes aren't valid in an |
| 419 | HTTP URL. Fixed by dropping the quotes if present. |
| 420 | |
| 421 | * Fix NoShell to flush the error before exiting |
| 422 | + |
| 423 | Sometimes users missed the standard error message that indicated no |
| 424 | shell was available, due to a thread race condition not always |
| 425 | flushing the outgoing buffer. Fixed. |
| 426 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 427 | * issue 488 Allow gerrit approve to post comments on closed changes |
| 428 | + |
| 429 | The 'gerrit approve' command previously refused to work on a closed |
| 430 | change, but the web UI permitted comments to be added anyway. |
| 431 | Fixed by allowing the command line tool to also post comments to |
| 432 | closed changes. |
| 433 | |
| 434 | * issue 466 Reject pushing to invalid reference names |
| 435 | + |
| 436 | Gerrit allowed the invalid `HEAD:/refs/for/master` push refspec |
David Pursehouse | 4d7ac77 | 2013-06-25 17:14:30 +0900 | [diff] [blame] | 437 | to actually create the branch `refs/heads/refs/for/master`, which |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 438 | confused any other client trying to push. Fixed. |
| 439 | |
| 440 | * issue 485 Trim the username before requesting authentication |
| 441 | + |
| 442 | LDAP usernames no longer are permitted to start with or end with |
| 443 | whitespace, removing a common source of typos that lead to users |
| 444 | being automatically assigned more than one Gerrit user account. |
| 445 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 446 | Server Administration |
| 447 | ~~~~~~~~~~~~~~~~~~~~~ |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 448 | |
| 449 | * daemon: Really allow httpd.listenUrl to end with / |
| 450 | + |
| 451 | If httpd.listenUrl ended with / the configuration got botched during |
| 452 | init and the site didn't work as expected. Fixed by correctly |
| 453 | handling an optional trailing / in this variable. |
| 454 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 455 | * issue 478 Catch daemon startup failures in error_log |
| 456 | + |
| 457 | Startup errors often went to /dev/null, leaving the admin wondering |
| 458 | why the server didn't launch as expected. Fixed. |
| 459 | |
| 460 | * issue 483 Ensure uncaught exceptions are logged |
| 461 | + |
| 462 | Some exceptions were reaching the top of the stack frame without |
| 463 | being caught and logged, causing the JRE to print the exception to |
| 464 | stderr and then terminate the thread. Since stderr was redirected |
| 465 | to /dev/null by gerrit.sh, we usually lost these messages. Exception |
| 466 | handlers are now installed to trap and log any uncaught errors. |
| 467 | |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 468 | * issue 451 gerrit.sh: Wait until the daemon is serving requests |
| 469 | + |
David Pursehouse | 4d7ac77 | 2013-06-25 17:14:30 +0900 | [diff] [blame] | 470 | The gerrit.sh script now waits until the daemon is actually running |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 471 | and able to serve requests before returning to the caller with a |
| 472 | successful exit status code. This makes it easier to then start up |
| 473 | dependent tasks that need the server to be ready before they can run. |
| 474 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 475 | * gerrit.sh: Don't use let, dash doesn't support it |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 476 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 477 | /bin/sh on Debian/Ubuntu systems is dash, not bash. The dash |
| 478 | shell does not support the let command. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 479 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 480 | * gerrit.sh: Correct JAVA_HOME behavior |
| 481 | + |
| 482 | JAVA_HOME now can be overridden by container.javaHome, as the |
| 483 | documentation states. |
| 484 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 485 | * init: Only suggest downloading BouncyCastle on new installs |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 486 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 487 | Upgrades of an existing installation which has not installed the |
| 488 | BouncyCastle library shouldn't be encouraged to download and install |
| 489 | the library again. The administrator has already chosen not to use |
| 490 | it, we shouldn't nag them about it. |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 491 | |
| 492 | * issue 389 Catch bad commentlink patterns and report them |
| 493 | + |
| 494 | A bad commentlink.match pattern could cause the change screen to |
| 495 | simply not load, with no errors in the server log, and nothing |
| 496 | immediately visible on the client. Most bad patterns are now caught |
| 497 | during server startup and are reported in the server error_log. |
| 498 | Certain failures are caught on the client side, and sent to the server |
| 499 | error log over RPC. Bad patterns are simply skipped when logged. |
| 500 | |
| 501 | * issue 419 MySQL: Fix account\_group\_members\_audit removed\_on |
| 502 | + |
| 503 | MySQL has a "feature" which prevented the removed_on column from being |
| 504 | NULL when we meant for it to be NULL. Fixed by using the MySQL |
| 505 | suggested work around, which is non-standard SQL. |
| 506 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 507 | * issue 424 WAR truncated during init |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 508 | + |
| 509 | init sometimes truncated the WAR file to 0 bytes if it was running |
| 510 | from the destination WAR. Fixed by using JGit's LockFile class which |
| 511 | writes to a temporary file and does an atomic rename to finish. |
| 512 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 513 | * issue 423 Bind to LDAP using only the end-user identity |
| 514 | + |
| 515 | Microsoft Active Directory doesn't support anonymous binds, and some |
| 516 | installations might not be able to create a generic role account for |
| 517 | Gerrit Code Review. The new auth.type LDAP_BIND permits Gerrit to |
| 518 | authenticate using only the end-user's credentials, avoiding the need |
| 519 | for an anonymous or role account bind. |
| 520 | |
| 521 | * issue 423 Defer LDAP server type discovery until first authentication |
| 522 | + |
| 523 | Microsoft Active Directory wasn't being detected, because the |
| 524 | anonymous bind during server startup failed. Instead the server |
| 525 | type is detected during the first user authentication, where we |
| 526 | have a valid directory context to query over. |
| 527 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 528 | * issue 486 Reload UI if code split fails to download |
| 529 | + |
| 530 | If the server gets upgraded and the user hasn't reloaded their |
| 531 | browser tab since the upgrade, opening a new section of the UI |
| 532 | sometimes failed. Fixed by executing an implicit reload in these |
| 533 | cases, reducing the number of times a user sees a failure. |
| 534 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 535 | Development |
| 536 | ~~~~~~~~~~~ |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 537 | |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 538 | * issue 427 Adjust SocketUtilTest to be more likely to pass |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 539 | + |
Shawn O. Pearce | 87adfc2 | 2010-03-01 09:16:57 -0800 | [diff] [blame] | 540 | Some DNS environments, especially those based on OpenDNS, were failing |
| 541 | this test case during a build because the upstream resolver was |
| 542 | returning back a bogus record for an invalid domain name. The test |
| 543 | was adjusted to use a name that is less likely to be resolved by a |
| 544 | broken upstream resolver. |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 545 | |
Shawn O. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 546 | * Fix /become?user_name=... under GWT debugger |
| 547 | + |
| 548 | The /become URL now accepts ?user_name=who to authenticate, making |
| 549 | it easier to setup a launch configuration to debug a particular |
| 550 | user account in development. |
| 551 | |
| 552 | * Show localhost based SSH URLs |
| 553 | + |
| 554 | SSH URLs using localhost as the hostname are now visible in the |
| 555 | web UI, making it easier to copy and paste SSH URLs when debugging |
| 556 | fetching of changes. |
| 557 | |
| 558 | * issue 490 Try Titlecase class name first when launching programs |
| 559 | + |
| 560 | Launching daemon or init from the classes directory on a case |
| 561 | insensitive filesystem like Mac OS X HFS+ or Windows NTFS failed. |
| 562 | Fixed. |
| 563 | |
Shawn O. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 564 | * Misc. license issues |
| 565 | + |
| 566 | The CDDL javax.servlet package was replaced by an Apache License 2.0 |
| 567 | implementation from the Apache Foundation. The unnecessary OpenXRI |
| 568 | package, which was never even included in the distribution, was |
| 569 | removed from the license file. |
| 570 | |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 571 | |
| 572 | Schema Changes in Detail |
| 573 | ------------------------ |
| 574 | |
| 575 | * Remove Project.Id and use only Project.NameKey |
| 576 | + |
| 577 | The project_id column was dropped from the projects table, and all |
| 578 | associated subtables, and only the name is now used to link records |
| 579 | in the database. This simplifies the schema for eventual changes |
| 580 | onto less-traditional storage systems. |
| 581 | |
| 582 | * Move sshUserName from Account to AccountExternalId |
| 583 | + |
| 584 | The ssh\_user\_name column in accounts was moved to an additional row |
| 585 | in account\_external\_ids, using external\_id prefix `username:`. |
| 586 | This removes the non-primary key unique index from the table, making |
| 587 | it easier to move to less traditional storage systems. |
| 588 | |
| 589 | * Replace all transactions with single row updates |
| 590 | + |
| 591 | Schema update operations have been reworked to not require multi-row |
| 592 | transaction support in the database. This makes it easier to port |
| 593 | onto a distributed storage system where multi-row atomic updates |
| 594 | aren't possible, or to run on MySQL MyISAM tables. |
| 595 | |
| 596 | |
| 597 | Other 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. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 618 | * 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. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 622 | * 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. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 625 | * 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. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 629 | * Add standard eclipse generated files to .gitignore |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 630 | * 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. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 633 | * Manage database connections directly in PatchScriptFactory |
| 634 | * issue 425 Update user documentation to explain branch access control |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 635 | * Update to gwtjsonrpc 1.2.2-SNAPSHOT |
Shawn O. Pearce | 2d52449 | 2010-02-22 07:28:14 -0800 | [diff] [blame] | 636 | * 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. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 663 | * 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. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 686 | * 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. Pearce | 2b5ce1a | 2010-02-26 20:31:49 -0800 | [diff] [blame] | 695 | * 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. Pearce | 2b4eef5 | 2010-03-10 10:53:49 -0800 | [diff] [blame] | 698 | * 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 | |
| 726 | 71b04c00b174b056ed2579683e2c1546d156b75a |