Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1 | Release notes for Gerrit 2.6 |
| 2 | ============================ |
| 3 | |
| 4 | Gerrit 2.6 is now available: |
| 5 | |
Shawn Pearce | d500500 | 2013-06-21 11:01:45 -0700 | [diff] [blame] | 6 | link:https://gerrit-releases.storage.googleapis.com/gerrit-2.6.war[https://gerrit-releases.storage.googleapis.com/gerrit-2.6.war] |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 7 | |
Edwin Kempin | a7d2b63 | 2013-03-06 09:10:08 +0100 | [diff] [blame] | 8 | Gerrit 2.6 includes the bug fixes done with |
David Pursehouse | bc125c0 | 2013-05-20 15:27:05 +0900 | [diff] [blame] | 9 | link:ReleaseNotes-2.5.1.html[Gerrit 2.5.1], |
| 10 | link:ReleaseNotes-2.5.2.html[Gerrit 2.5.2], |
| 11 | link:ReleaseNotes-2.5.3.html[Gerrit 2.5.3], and |
| 12 | link:ReleaseNotes-2.5.4.html[Gerrit 2.5.4]. These bug fixes are *not* |
Edwin Kempin | a7d2b63 | 2013-03-06 09:10:08 +0100 | [diff] [blame] | 13 | listed in these release notes. |
| 14 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 15 | Schema Change |
| 16 | ------------- |
| 17 | *WARNING:* This release contains schema changes. To upgrade: |
| 18 | ---- |
| 19 | java -jar gerrit.war init -d site_path |
| 20 | ---- |
| 21 | |
| 22 | *WARNING:* Upgrading to 2.6.x requires the server be first upgraded to 2.1.7 (or |
| 23 | a later 2.1.x version), and then to 2.6.x. If you are upgrading from 2.2.x.x or |
| 24 | newer, you may ignore this warning and upgrade directly to 2.6.x. |
| 25 | |
Steffen Gebert | 832014f | 2013-06-03 21:42:47 +0200 | [diff] [blame] | 26 | Reverse Proxy Configuration Changes |
| 27 | ----------------------------------- |
| 28 | |
| 29 | If you are running a reverse proxy in front of Gerrit (e.g. Apache or Nginx), |
| 30 | make sure to check your configuration, especially if you are encountering |
| 31 | 'Page Not Found' errors when opening the change screen. |
| 32 | See the link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-reverseproxy.html[ |
| 33 | Reverse Proxy Configuration] for details. |
| 34 | |
| 35 | Gerrit now requires passed URLs to be unchanged by the proxy. |
| 36 | |
Shawn Pearce | 9770672 | 2013-03-28 16:29:05 -0400 | [diff] [blame] | 37 | Release Highlights |
| 38 | ------------------ |
| 39 | * 42x improvement on `git clone` and `git fetch` |
| 40 | + |
| 41 | Running link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/cmd-gc.html[ |
| 42 | gerrit gc] allows JGit to optimize a repository to serve clone and fetch |
| 43 | faster than C Git can, with massively lower server CPU required. Typically |
| 44 | Gerrit 2.6 can completely transfer a project to a client faster than C Git |
| 45 | can finish "Counting" the objects. |
| 46 | |
| 47 | * Completely customizable workflow |
| 48 | + |
| 49 | Individual projects can add (or remove) score categories through |
| 50 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-labels.html[ |
| 51 | labels] and link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/prolog-cookbook.html[ |
| 52 | Prolog rules]. |
| 53 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 54 | New Features |
| 55 | ------------ |
| 56 | |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 57 | Web UI |
| 58 | ~~~~~~ |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 59 | |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 60 | Global |
| 61 | ^^^^^^ |
| 62 | |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 63 | * New Login Screens |
| 64 | + |
| 65 | New form based HTML screens for login allow browsers to offer the |
| 66 | choice to save the login data locally in the user's password store. |
| 67 | |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 68 | * Rename "Groups" top-level menu to "People" |
| 69 | |
| 70 | * Move "Draft Comments" link next to "Drafts" link |
| 71 | |
| 72 | * Highlight the active menu item |
| 73 | |
| 74 | * Move user info, settings, and logout to popup dialog |
| 75 | |
| 76 | * Show a small version of the avatar image next to the user's name. |
| 77 | |
| 78 | * Show avatar image in user info popup dialog |
| 79 | |
| 80 | * Always show 'Working ...' message |
| 81 | + |
Sterling Greene | 7d979b1 | 2013-04-20 13:10:44 -0400 | [diff] [blame] | 82 | The 'Working ...' message is relatively positioned from the top of |
| 83 | the browser, so that the message is always visible, even if the user |
| 84 | has scrolled down the page. |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 85 | |
| 86 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#suggest.from[ |
| 87 | suggest.from] configures a minimum number of characters before |
| 88 | matches for reviewers, accounts, groups or projects are offered. |
| 89 | |
| 90 | * Make the default font size "small". |
| 91 | |
| 92 | * Mark all CSS classes as external so users can rely on them. |
| 93 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 94 | * Add a link to the REST API documentation in the top menu. |
| 95 | |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 96 | Search |
| 97 | ^^^^^^ |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 98 | * Suggest projects, groups and users in search panel |
| 99 | + |
| 100 | Suggest projects, groups and users in the search panel as parameter for |
| 101 | those search operators that expect a project, group or user. |
| 102 | |
| 103 | * In search panel suggest 'self' as value for operators that expect a user |
| 104 | |
| 105 | * Quote values suggested for search operators only if needed |
| 106 | + |
| 107 | The values that are suggested for the search operators in the search |
| 108 | panel are now only quoted if they contain a whitespace. |
| 109 | |
| 110 | Change Screens |
| 111 | ^^^^^^^^^^^^^^ |
| 112 | |
| 113 | * A change's commit message can be edited from the change screen. |
| 114 | |
| 115 | * A change's topic can be added, removed or changed from the |
| 116 | change screen. |
| 117 | |
| 118 | * An "Add Comment" button is added to change screen |
| 119 | |
| 120 | * The reviewer matrix on a change displays gray boxes where permissions |
| 121 | do not allow voting in that category. |
| 122 | + |
| 123 | The coloring enables authors to quickly identify if another reviewer |
| 124 | is necessary to continue the change. |
| 125 | |
| 126 | * link:https://code.google.com/p/gerrit/issues/detail?id=353[Issue 353] & |
| 127 | link:https://code.google.com/p/gerrit/issues/detail?id=1123[Issue 1123]: |
| 128 | New link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/project-setup.html#rebase_if_necessary[ |
| 129 | Rebase If Necessary] submit type |
| 130 | + |
| 131 | This is similar to cherry pick, but honors change dependency |
| 132 | information. |
| 133 | |
| 134 | * The rebase button is hidden when the patch set is current. |
| 135 | |
| 136 | * Improved review message when a change is rebased in the UI |
| 137 | + |
| 138 | When a change is rebased in the UI by pressing the rebase button, a |
| 139 | comment is added onto the review. Instead of only saying 'Rebased' the |
| 140 | message is now more verbose, e.g. 'Patch Set 1 was rebased'. |
Edwin Kempin | ca24f5c | 2013-03-26 13:23:20 +0100 | [diff] [blame] | 141 | |
| 142 | * The submit type that is used for submitting a change is shown on the |
| 143 | change screen in the info block. |
| 144 | + |
| 145 | This is useful because the submit type of a change can now be |
| 146 | link:#submit-type-from-prolog[controlled by Prolog]. |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 147 | |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 148 | * Replace the All Diff buttons on the change screen with links |
| 149 | + |
| 150 | The action buttons to open the diff for all files in own tabs consumed |
| 151 | too much space due to the long label texts. |
David Pursehouse | 86581ab | 2013-02-25 09:46:51 +0900 | [diff] [blame] | 152 | |
Dave Borowitz | 01c1b1f | 2013-02-27 13:49:04 -0800 | [diff] [blame] | 153 | * The patch set review screen can include radio buttons for custom |
| 154 | labels if enabled by |
| 155 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/prolog-cookbook.html#_how_to_write_submit_rules[submit rules]. |
| 156 | |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 157 | * Voting on draft changes is now possible. |
| 158 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 159 | * Recommend rebase on Path Conflict. |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 160 | |
| 161 | * link:https://code.google.com/p/gerrit/issues/detail?id=1685[Issue 1685]: |
| 162 | After 'Up to change' expand the patch set that was just reviewed |
| 163 | + |
| 164 | After clicking on the 'Up to change' link on a patch screen, the patch |
| 165 | set that was just reviewed is automatically expanded on the change |
| 166 | screen. |
| 167 | |
| 168 | * Allow direct change URLs to end with '/'. |
| 169 | |
| 170 | * Slightly increase commit message text size from 8px to 9px. |
| 171 | |
| 172 | * link:https://code.google.com/p/gerrit/issues/detail?id=1381[Issue 1381]: |
| 173 | Remove the ID column from change tables |
| 174 | + |
| 175 | Users don't really need the ID column present. For most changes the |
| 176 | subject is descriptive and unique enough to identify the correct |
| 177 | change. |
| 178 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 179 | * Do not wrap project/branch/owner fields in change table. |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 180 | + |
| 181 | This makes it easier to use Gerrit on narrow screens. |
| 182 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 183 | * Rename "Old Version History" to "Reference Version". |
| 184 | |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 185 | Patch Screens |
| 186 | ^^^^^^^^^^^^^ |
| 187 | |
| 188 | * Support for file comments |
| 189 | + |
| 190 | It is now possible to comment on a whole file in a patch. |
| 191 | |
| 192 | * Have the reviewed panel also at the bottom of the patch screen |
| 193 | + |
| 194 | Reviewers normally review patches top down, finishing the review when |
| 195 | they reach the bottom of the patch. To use the streamlined review |
| 196 | workflow they now don't need to scroll back to the top to find the |
| 197 | reviewed checkbox and link. |
| 198 | |
| 199 | * link:https://code.google.com/p/gerrit/issues/detail?id=1494[Issue 1494]: |
| 200 | Use mono-font for displaying the file contents |
| 201 | + |
| 202 | This avoids alignment errors when syntax highlighting is enabled. |
| 203 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 204 | * Distinguish between error and timeout in intraline diff error message. |
| 205 | |
| 206 | * Enable expanding skipped lines even if 'Syntax Coloring' is off. |
| 207 | |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 208 | Project Screens |
| 209 | ^^^^^^^^^^^^^^^ |
| 210 | |
| 211 | * Support filtering of projects in the project list screen |
| 212 | + |
| 213 | Filter matches are highlighted by bold printing. |
| 214 | + |
| 215 | The filter is reflected by the `filter` URL parameter. |
| 216 | |
| 217 | * Support filtering of projects in ProjectListPopup |
| 218 | + |
| 219 | Filter matches are highlighted by bold printing. |
| 220 | |
| 221 | * Display a query icon for each project in the project list screen that |
| 222 | links to the default query/dashboard of that project. |
| 223 | |
| 224 | * Replace projects side menus with top menus |
| 225 | + |
| 226 | The top menus are submenus to the Project Menu and they appear only |
| 227 | when a project has been selected. |
| 228 | |
| 229 | * Remember the last Project Screen used |
| 230 | + |
| 231 | Remember the last project screen used every time a project screen is |
| 232 | loaded. Go to the remembered screen when selecting a new project from |
| 233 | the project list instead of always going to the project info screen. |
| 234 | |
| 235 | * Remember the last project viewed |
| 236 | + |
| 237 | Remember the last project viewed when navigating away from a project |
| 238 | screen. If there is a remembered project, then the extra project links |
| 239 | are not hidden. |
| 240 | |
| 241 | * Add clone panel to the project general screen |
| 242 | |
| 243 | * New screen for listing and accessing the project dashboards. |
| 244 | |
| 245 | * link:https://code.google.com/p/gerrit/issues/detail?id=1677[Issue 1677]: |
| 246 | Place the 'Browse' button to select a watched project next to input field |
| 247 | |
| 248 | * Ask user to login if project is not found |
| 249 | + |
| 250 | Accessing a project URL was failing with 'Not Found - The page you |
| 251 | requested was not found, or you do not have permission to view this |
| 252 | page' if the user was not signed in and the project was not visible to |
| 253 | 'Anonymous Users'. Instead Gerrit now asks the user to login and |
| 254 | afterwards shows the project to the user if it exists and is visible. |
| 255 | If the project doesn't exist or is not visible, the user will still get |
| 256 | the Not Found screen after sign in. |
| 257 | |
| 258 | * Improve error handling on branch creation |
| 259 | + |
| 260 | Improve the error messages that are displayed in the WebUI if the |
| 261 | creation of a branch fails due to invalid user input. |
| 262 | |
| 263 | Group Screens |
| 264 | ^^^^^^^^^^^^^ |
| 265 | |
| 266 | * Support filtering of groups in the group list screen |
| 267 | + |
| 268 | Filter matches are highlighted by bold printing. |
| 269 | + |
| 270 | The filter is reflected by the `filter` URL parameter. |
| 271 | |
| 272 | * Remove group type from group info screen |
| 273 | + |
| 274 | The information about the group type was not much helpful. All groups |
| 275 | that can be seen in Gerrit are of type 'INTERNAL', except a few |
| 276 | well-known system groups which are of type 'SYSTEM'. The system groups |
| 277 | are so well-known that there is no need to display the type for them. |
| 278 | |
| 279 | Dashboard Screens |
| 280 | ^^^^^^^^^^^^^^^^^ |
| 281 | |
| 282 | * Link dashboard title to a URL version of itself |
| 283 | + |
| 284 | When using a stable project dashboard URL, the URL obfuscates the |
| 285 | content of the dashboard which can make it hard to debug a dashboard or |
| 286 | copy and modify it. In the special case of stable dashboards, make the |
| 287 | title a link to an unstable URL version of the dashboard with the URL |
| 288 | reflecting the actual dashboard contents the way a custom dashboard |
| 289 | does. |
| 290 | |
| 291 | * Increase time span for "Recently Closed" section in user dashboard to 4 weeks. |
| 292 | |
| 293 | Account Screens |
| 294 | ^^^^^^^^^^^^^^^ |
| 295 | |
| 296 | * link:https://code.google.com/p/gerrit/issues/detail?id=1740[Issue 1740]: |
| 297 | Display description how to generate SSH Key in SshPanel |
| 298 | + |
| 299 | Display a description of how to generate an SSH Key in an expandable |
| 300 | section in the SshPanel instead of linking to the GitHub SSH tutorial. |
| 301 | The GitHub SSH tutorial was partially not relevant and confused users. |
| 302 | |
| 303 | * Make the text for "Register" customizable |
| 304 | |
| 305 | Plugin Screens |
| 306 | ^^^^^^^^^^^^^^ |
| 307 | |
| 308 | * Show status for enabled plugins in the WebUI as 'Enabled' |
| 309 | + |
| 310 | Earlier no status was shown for enabled plugins, which was confusing to |
| 311 | some users. |
David Pursehouse | 86581ab | 2013-02-25 09:46:51 +0900 | [diff] [blame] | 312 | |
Edwin Kempin | 7e960ac | 2013-03-27 13:28:12 +0100 | [diff] [blame] | 313 | REST API |
| 314 | ~~~~~~~~ |
| 315 | |
| 316 | * A big chunk of the Gerrit functionality is now available via the |
| 317 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api.html[REST API]. |
| 318 | + |
| 319 | The REST API is *NOT* complete yet and some functionality is still missing. |
| 320 | + |
| 321 | To find out which functionality is available, check the REST endpoint documentation for |
| 322 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api-projects.html[projects], |
| 323 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api-changes.html[changes], |
| 324 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api-groups.html[groups] and |
| 325 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api-accounts.html[accounts]. |
| 326 | |
| 327 | * Support setting `HEAD` of a project |
| 328 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api-projects.html#set-head[via REST]. |
| 329 | |
| 330 | * Audit support for REST API. |
| 331 | + |
| 332 | Allow generating Audit events related to REST API execution. The |
| 333 | structure of the AuditEvent has been extended to support the new |
| 334 | name-multivalue pairs used in the REST API. |
| 335 | + |
| 336 | This is breaking compatibility with the 2.5 API as it changes the |
| 337 | params data type, this is needed anyway as the previous list of |
| 338 | Objects was not providing all the necessary information of |
| 339 | "what relates to what" in terms of parameters info. |
| 340 | + |
| 341 | Existing support for SSH and JSON-RPC events have been adapted in |
| 342 | order to fit into the new name-multivalue syntax: this allow a |
| 343 | generic audit plug-in to capture all parameters regardless of where |
| 344 | they have been generated. |
| 345 | |
| 346 | * Remove support for deprecated `--format` option when listing changes |
| 347 | + |
| 348 | Querying changes via REST is now always producing JSON output. |
| 349 | |
| 350 | * Introduce `id` property on REST entities |
| 351 | + |
| 352 | The `/changes/` entities now use `id` to include a triplet of the |
| 353 | project, branch and change-id string to uniquely identify that change |
| 354 | on the server. This moves the old `id` field to be named `change_id`, |
| 355 | which is a breaking change. |
| 356 | |
| 357 | * Accept common forms of malformed JSON |
| 358 | + |
| 359 | Some clients may send JSON-ish instead of JSON. Be nice to those |
| 360 | clients and accept various useful forms of incorrect syntax: |
| 361 | + |
| 362 | ** End of line comments starting with `//` or `#` and ending with a |
| 363 | newline character. |
| 364 | ** C-style comments starting with `/*` and ending with `*/` |
| 365 | Such comments may not be nested. |
| 366 | ** Names that are unquoted or single quoted. |
| 367 | ** Strings that are unquoted or single quoted. |
| 368 | ** Array elements separated by `;` instead of `,`. |
| 369 | ** Unnecessary array separators. These are interpreted as if null was |
| 370 | the omitted value. |
| 371 | ** Names and values separated by `=` or `=>` instead of `:`. |
| 372 | ** Name/value pairs separated by `;` instead of `,`. |
| 373 | |
| 374 | * Be more liberal about parsing JSON responses |
| 375 | + |
| 376 | If the response begins with the JSON magic string, remove it before |
| 377 | parsing. If a response is missing this leading string, parse the |
| 378 | response as-is. |
| 379 | |
| 380 | * Accept simple form encoded data for REST APIs |
| 381 | + |
| 382 | Simple cases like `/review` or `/abandon` can now accept standard form |
| 383 | values for basic properties, making it simple for tools to directly |
| 384 | post data: |
| 385 | + |
| 386 | ---- |
| 387 | curl -n --digest \ |
| 388 | --data 'message=Does not compile.' \ |
| 389 | --data labels.Verified=-1 \ |
| 390 | http://localhost:8080/a/changes/3/revisions/1/review |
| 391 | ---- |
| 392 | + |
| 393 | Form field names are JSON field names in the top level object. If dot |
| 394 | appears in the name the part to the left is taken as the JSON field |
| 395 | name and the part to the right as the key for a Map. This nicely fits |
| 396 | with the labels structure used by `/review`, but doesn't support the |
| 397 | much more complex inline comment case. Clients that need to use more |
| 398 | complex fields must use JSON formatting for the request body. |
| 399 | |
| 400 | * Allow administrators to see other user capabilities |
| 401 | + |
| 402 | Expand `/accounts/{id}/capabilities` to permit an administrator |
| 403 | to inspect another user's effective capabilities. |
| 404 | |
| 405 | * Declare kind in JSON API results |
| 406 | + |
| 407 | This is recommended to hint to clients what the entity type is when |
| 408 | processing the JSON payload. |
| 409 | |
| 410 | * Format h/help output as plain text not JSON |
| 411 | + |
| 412 | The output produced when the client requested the h or help property |
| 413 | from a JSON API is always produced from constant compiled into the |
| 414 | server. Assume this safe to return to the client as text/plain content |
| 415 | and avoid wrapping it into an HTML escaped JSON string. |
| 416 | |
| 417 | * Use string for JSON encoded plain text replies |
| 418 | + |
| 419 | Instead of wrapping the value into an object, just return the |
| 420 | string by itself. This better matches what happens with the plain |
| 421 | text return format. |
| 422 | |
| 423 | * Wrap possible HTML plain text in JSON on GET |
| 424 | + |
| 425 | If the HTML appears like MSIE might guess it is HTML (such as if it |
| 426 | contains `<`) encode the response as a JSON object instead of as a |
| 427 | simple plain text string. This won't show up very often for clients, |
| 428 | and protects MSIE users stuck on ancient versions (pre MSIE 8). |
| 429 | |
| 430 | * Ask MSIE to never sniff content types on REST API responses |
| 431 | + |
| 432 | Newer versions of MSIE can disable the content sniffing feature if the |
| 433 | server asks it to by setting an extension header. It is annoying, but |
| 434 | necessary, that a server needs to say "No really, I _am_ telling you |
| 435 | the right Content-Type, trust it." |
| 436 | + |
| 437 | This feature was added in MSIE 8 Beta 2 so it doesn't protect users |
| 438 | running MSIE 6 or 7, but those are ancient and users should upgrade. |
| 439 | + |
| 440 | Enable this on the REST API responses because we sometimes send back |
| 441 | text/plain results that are really just plain text. Existing JSON |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 442 | responses are protected from accidental sniffing and treatment as |
Edwin Kempin | 7e960ac | 2013-03-27 13:28:12 +0100 | [diff] [blame] | 443 | HTML thanks to Gson encoding HTML control characters using Unicode |
| 444 | character escapes within JSON strings. |
| 445 | |
Edwin Kempin | 861d4e1 | 2013-03-27 10:28:18 +0100 | [diff] [blame] | 446 | Project Dashboards |
| 447 | ~~~~~~~~~~~~~~~~~~ |
| 448 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/user-dashboards.html#project-dashboards[ |
| 449 | Support for storing custom dashboards for projects] |
| 450 | + |
| 451 | Custom dashboards can now be stored in the projects |
| 452 | `refs/meta/dashboards/*` branches. |
| 453 | + |
| 454 | The project dashboards are shown in a new project screen and can be |
| 455 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api-projects.html#dashboard-endpoints[ |
| 456 | accessed via REST]. |
| 457 | |
| 458 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/user-dashboards.html#project-default-dashboard[ |
| 459 | Allow defining a default dashboard for projects] |
| 460 | |
| 461 | * Support inheritance for project dashboards. |
| 462 | + |
| 463 | In dashboards queries the `${project}` token can be used as placeholder |
| 464 | for the project name. This token will be replaced with the project to |
| 465 | which a dashboard is being applied. |
| 466 | |
| 467 | * On the project list screen a query icon is displayed for each project |
| 468 | that links to the default dashboard of that project. |
| 469 | |
| 470 | * Support a `foreach` parameter for custom dashboards. |
| 471 | + |
| 472 | The `foreach` parameter which will get appended to all the queries in |
| 473 | the dashboard. |
| 474 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 475 | Access Controls |
| 476 | ~~~~~~~~~~~~~~~ |
Edwin Kempin | 3e6303c | 2013-03-26 09:16:38 +0100 | [diff] [blame] | 477 | * Allow to overrule `BLOCK` permissions on the same project |
| 478 | + |
| 479 | It was impossible to block a permission for a group and allow the same |
| 480 | permission for a sub-group of that group as the `BLOCK` permission |
| 481 | always won over any `ALLOW` permission. For example, it was impossible |
| 482 | to block the "Forge Committer" permission for all users and then allow |
| 483 | it only for a couple of privileged users. |
| 484 | + |
| 485 | An `ALLOW` permission has now priority over a `BLOCK` permission when |
| 486 | they are defined in the same access section of a project. To achieve the |
| 487 | above mentioned policy the following could be defined: |
| 488 | + |
| 489 | [access "refs/heads/*"] |
| 490 | forgeCommitter = block group Anonymous Users |
| 491 | forgeCommitter = group Privileged Users |
| 492 | + |
| 493 | Across projects the `BLOCK` permission still wins over any `ALLOW` |
| 494 | permission. This way one cannot override an inherited `BLOCK` |
| 495 | permission in a subproject. |
| 496 | + |
| 497 | Overruling of `BLOCK` permissions with `ALLOW` permissions also works |
| 498 | for labels i.e. permission ranges. If a dedicated 'Verifiers' group |
| 499 | need to be the only group who can vote in the 'Verified' label and it |
| 500 | must be ensured that even project owners cannot change this policy, |
| 501 | then the following can be defined in a common parent project: |
| 502 | + |
| 503 | [access "refs/heads/*"] |
| 504 | label-Verified = block -1..+1 group Anonymous Users |
| 505 | label-Verified = -1..+1 group Verifiers |
| 506 | |
| 507 | * link:https://code.google.com/p/gerrit/issues/detail?id=1516[issue 1516]: |
| 508 | Show global capabilities to all users that can read `refs/meta/config` |
| 509 | + |
| 510 | Users can now propose changes to the global capabilities for review |
| 511 | from the WebUI. |
| 512 | |
| 513 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#category_remove_reviewer[ |
| 514 | Remove Reviewer] is a new permission. |
| 515 | |
| 516 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#category_push_signed[ |
| 517 | Pushing a signed tag] is a new permission. |
| 518 | |
| 519 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#category_edit_topic_name[ |
| 520 | Editing the topic name] is a new permission. |
| 521 | |
| 522 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#capability_accessDatabase[ |
| 523 | Raw database access] with the `gsql` command is a new global capability. |
David Pursehouse | 7457396 | 2013-03-08 12:23:37 +0900 | [diff] [blame] | 524 | + |
| 525 | Previously site administrators had this capability by default. Now it has |
| 526 | to be explicitly assigned, even for site administrators. |
| 527 | |
David Pursehouse | 345f2be | 2013-03-04 11:02:20 +0900 | [diff] [blame] | 528 | * link:https://code.google.com/p/gerrit/issues/detail?id=1585[Issue 1585]: |
Edwin Kempin | 3e6303c | 2013-03-26 09:16:38 +0100 | [diff] [blame] | 529 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#category_view_drafts[ |
| 530 | Viewing other users' draft changes] is a new permission. |
David Pursehouse | 345f2be | 2013-03-04 11:02:20 +0900 | [diff] [blame] | 531 | |
| 532 | * link:https://code.google.com/p/gerrit/issues/detail?id=1675[Issue 1675]: |
Edwin Kempin | 3e6303c | 2013-03-26 09:16:38 +0100 | [diff] [blame] | 533 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#category_delete_drafts[Deleting] and |
| 534 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#category_publish_drafts[publishing] |
| 535 | other users' draft changes is a new permission. |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 536 | |
David Pursehouse | b1d656f | 2013-04-04 09:51:36 +0900 | [diff] [blame] | 537 | * Grant most permissions when creating `All-Projects` |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 538 | + |
David Pursehouse | b1d656f | 2013-04-04 09:51:36 +0900 | [diff] [blame] | 539 | Make Gerrit more like a Git server out-of-the box by granting both |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 540 | Administrators and Project Owners permissions to review changes, submit |
| 541 | them, create branches, create tags, and push directly to branches. |
| 542 | |
Edwin Kempin | 3e6303c | 2013-03-26 09:16:38 +0100 | [diff] [blame] | 543 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#ldap.groupName[ |
| 544 | LDAP group names] are configurable, `cn` is still the default. |
| 545 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 546 | * Kerberos authentication to LDAP servers is now supported. |
| 547 | |
Edwin Kempin | 3e6303c | 2013-03-26 09:16:38 +0100 | [diff] [blame] | 548 | * Basic project properties are now inherited by default from parent |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 549 | projects: Use Content Merge, Require Contributor Agreement, Require |
| 550 | Change Id, Require Signed Off By. |
| 551 | |
Edwin Kempin | 3e6303c | 2013-03-26 09:16:38 +0100 | [diff] [blame] | 552 | * Allow assigning `Push` for `refs/meta/config` on `All-Projects` |
| 553 | + |
| 554 | The `refs/meta/config` branch of the `All-Projects` project should only |
| 555 | be modified by Gerrit administrators because being able to do |
| 556 | modifications on this branch means that the user could assign himself |
| 557 | administrator permissions. |
| 558 | + |
| 559 | In addition to being administrator Gerrit requires that the |
| 560 | administrator has the `Push` access right for `refs/meta/config` in |
| 561 | order to be able to modify it (just as with all other branches |
| 562 | administrators do not have edit permissions by default). |
| 563 | + |
| 564 | The problem was that assigning the `Push` access right for |
| 565 | `refs/meta/config` on the `All-Projects` project was not allowed. |
| 566 | + |
| 567 | Having the `Push` access right for `refs/meta/config` on the |
| 568 | `All-Projects` project without being administrator has no effect. |
| 569 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 570 | Hooks |
| 571 | ~~~~~ |
| 572 | * Change topic is passed to hooks as `--topic NAME`. |
David Pursehouse | 673bace | 2013-02-27 18:14:29 +0900 | [diff] [blame] | 573 | * link:https://code.google.com/p/gerrit/issues/detail?id=1200[Issue 1200]: |
| 574 | New `reviewer-added` hook and stream event when a reviewer is added. |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 575 | |
David Pursehouse | b58a18d | 2013-03-06 15:37:03 +0900 | [diff] [blame] | 576 | * link:https://code.google.com/p/gerrit/issues/detail?id=1237[Issue 1237]: |
| 577 | New `merge-failed` hook and stream event when a change cannot be submitted due to failed merge. |
| 578 | |
Chris Harris | 8944f43 | 2013-03-21 17:07:30 -0400 | [diff] [blame] | 579 | * link:https://code.google.com/p/gerrit/issues/detail?id=925[Issue 925]: |
| 580 | New `ref-update` hook run before a push is accepted by Gerrit. |
| 581 | |
Edwin Kempin | d73a845 | 2013-03-27 11:34:16 +0100 | [diff] [blame] | 582 | * Add `--is-draft` parameter to `comment-added` hook |
| 583 | |
| 584 | Git |
| 585 | ~~~ |
| 586 | * Add options to `refs/for/` magic branch syntax |
| 587 | + |
| 588 | Git doesn't want to modify the network protocol to support passing |
| 589 | data from the git push client to the server. Work around this by |
| 590 | embedding option data into a new style of reference specification: |
| 591 | + |
| 592 | ---- |
| 593 | refs/for/master%r=alice,cc=bob,cc=charlie,topic=options |
| 594 | ---- |
| 595 | + |
| 596 | is now parsed by the server as: |
| 597 | + |
| 598 | -- |
| 599 | ** set topic to "options" |
| 600 | ** CC charlie and bob |
| 601 | ** add reviewer alice |
| 602 | ** for branch refs/heads/master |
| 603 | -- |
| 604 | + |
| 605 | If `%` is used the extra information after the branch name is |
| 606 | parsed as options with args4j. Each option is delimited by `,`. |
| 607 | + |
| 608 | Selecting publish vs. draft should be done with the options `draft` or |
| 609 | `publish`, appearing anywhere in the refspec after the `%` marker: |
| 610 | + |
| 611 | ---- |
| 612 | refs/for/master%draft |
| 613 | refs/for/master%draft,r=alice |
| 614 | refs/for/master%r=alice,draft |
| 615 | refs/for/master%r=alice,publish |
| 616 | ---- |
| 617 | |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 618 | * Enable content merge by default |
| 619 | + |
| 620 | Most teams seem to expect Gerrit to manage simple merges within a |
David Pursehouse | b1d656f | 2013-04-04 09:51:36 +0900 | [diff] [blame] | 621 | source code file. Enable this out-of-the-box. |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 622 | |
Edwin Kempin | d73a845 | 2013-03-27 11:34:16 +0100 | [diff] [blame] | 623 | * Added a link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#core.useRecursiveMerge[ |
| 624 | server-level option] to use JGit's new, experimental recursive merger. |
| 625 | |
| 626 | * link:https://code.google.com/p/gerrit/issues/detail?id=1608[Issue 1608]: |
| 627 | Commits pushed without a Change-Id now warn with instructions on how |
| 628 | to download and install the commit-msg hook. |
| 629 | |
| 630 | * Add `oldObjectId` and `newObjectId` to the `GitReferenceUpdatedListener.Update` |
| 631 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 632 | SSH |
| 633 | ~~~ |
Edwin Kempin | bf22ad5 | 2013-03-26 10:26:12 +0100 | [diff] [blame] | 634 | * New SSH command to http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/cmd-gc.html[ |
| 635 | run Git garbage collection] |
| 636 | + |
| 637 | All GC runs are logged in a GC log file. |
| 638 | |
David Ostrovsky | 6e37b78 | 2013-02-27 00:52:49 +0100 | [diff] [blame] | 639 | * Descriptions are added to ssh commands. |
| 640 | + |
| 641 | If `gerrit` is called without arguments, it will now show a list of available |
| 642 | commands with their descriptions. |
| 643 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 644 | * `create-account --http-password` enables setting/resetting the |
Edwin Kempin | bf22ad5 | 2013-03-26 10:26:12 +0100 | [diff] [blame] | 645 | HTTP password of role accounts, for Git or REST API access. |
| 646 | |
| 647 | * http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/cmd-ls-user-refs.html[ |
| 648 | ls-user-refs] lists which refs are visible for a given user. |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 649 | |
| 650 | * `ls-projects --has-acl-for` lists projects that mention a group |
| 651 | in an ACL, identifying where rights are granted. |
| 652 | |
Edwin Kempin | bf22ad5 | 2013-03-26 10:26:12 +0100 | [diff] [blame] | 653 | * `review` command supports project-specific labels |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 654 | |
Edwin Kempin | bf22ad5 | 2013-03-26 10:26:12 +0100 | [diff] [blame] | 655 | * `test-submit-rule` was renamed to `test-submit rule`: |
| 656 | + |
| 657 | `rule` is now a subcommand of the `test-submit` command. |
| 658 | |
| 659 | * http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/cmd-test-submit-type.html[ |
| 660 | test-submit type] tests the Prolog submit type with a chosen change. |
| 661 | |
| 662 | Query |
| 663 | ~~~~~ |
| 664 | * Allow `{}` to be used for quoting in query expressions |
| 665 | + |
| 666 | This makes it a little easier to query for group names that contain |
| 667 | a space over SSH: |
| 668 | + |
| 669 | ssh srv gerrit query " 'status:open NOT reviewerin:{Developer Group}' " |
| 670 | |
| 671 | * The query summary block includes `resumeSortKey`. |
| 672 | |
| 673 | * Query results include author and change size information when certain |
| 674 | options are specified. |
| 675 | |
| 676 | * When a file is renamed the old file name is included in the Patch |
| 677 | attribute |
David Pursehouse | 50abd45 | 2013-03-05 15:43:34 +0900 | [diff] [blame] | 678 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 679 | Plugins |
| 680 | ~~~~~~~ |
| 681 | * Plugins can contribute Prolog facts/predicates from Java. |
| 682 | * Plugins can prompt for parameters during `init` with `InitStep`. |
| 683 | * Plugins can now contribute JavaScript to the web UI. UI plugins can |
| 684 | also be written and compiled with GWT. |
| 685 | * New Maven archetypes for JavaScript and GWT plugins. |
David Pursehouse | 86581ab | 2013-02-25 09:46:51 +0900 | [diff] [blame] | 686 | * Plugins can contribute validation steps to received commits. |
| 687 | * Commit message length checks are moved to the `commit-message-length-validator` |
| 688 | plugin which is included as a core plugin in the Gerrit distribution and |
| 689 | can be installed during site initialization. |
Edwin Kempin | 25b5b00 | 2013-03-27 10:01:02 +0100 | [diff] [blame] | 690 | * Creation of code review notes is moved to the `reviewnotes` plugin |
| 691 | which is included as a core plugin in the Gerrit distribution and can |
| 692 | be installed during site initialization. |
| 693 | * A plugin extension point for avatar images was added. |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 694 | * Allow HTTP plugins to change `static` or `docs` prefixes |
| 695 | + |
| 696 | An HTTP plugin may want more control over its URL space, but still |
| 697 | delegate to the plugin servlet's magic handling for static files and |
| 698 | documentation. Add JAR attributes to configure these prefixes. |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 699 | |
Edwin Kempin | ca24f5c | 2013-03-26 13:23:20 +0100 | [diff] [blame] | 700 | Prolog |
| 701 | ~~~~~~ |
| 702 | [[submit-type-from-prolog]] |
| 703 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/prolog-cookbook.html#HowToWriteSubmitType[ |
| 704 | Support controlling the submit type for changes from Prolog] |
| 705 | + |
| 706 | Similarly like the `submit_rule` there is now a `submit_type` predicate |
| 707 | which returns the allowed submit type for a change. When the |
| 708 | `submit_type` predicate is not provided in the `rules.pl` then the |
| 709 | project default submit type is used for all changes of that project. |
| 710 | + |
| 711 | Filtering the results of the `submit_type` is also supported in the |
| 712 | same way like filtering the results of the `submit_rule`. Using a |
| 713 | `submit_type_filter` predicate one can enforce a particular submit type |
| 714 | from a parent project. |
| 715 | |
| 716 | * Plugins can contribute Prolog facts/predicates from Java. |
| 717 | |
| 718 | * link:https://code.google.com/p/gerrit/issues/detail?id=288[Issue 288]: |
| 719 | Expose basic commit statistics for the Prolog rule engine |
| 720 | + |
| 721 | A new method `gerrit:commit_stats(-Files,-Insertions, -Deletions)` was |
| 722 | added. |
| 723 | |
| 724 | * A new `max_with_block` predicate was added for more convenient usage |
| 725 | |
Dave Borowitz | 5799ee2 | 2013-03-21 12:48:08 -0700 | [diff] [blame] | 726 | Email |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 727 | ~~~~~ |
Edwin Kempin | e742e91 | 2013-03-26 14:38:12 +0100 | [diff] [blame] | 728 | * Notify project watchers if draft change is published |
| 729 | * Notify users mentioned in commit footer on draft publish |
| 730 | * Add new notify type that allows watching of new patch sets |
| 731 | * link:https://code.google.com/p/gerrit/issues/detail?id=1686[Issue 1686]: |
| 732 | Add new notify type that allows watching abandoning of changes |
| 733 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/user-notify.html[ |
| 734 | Notifications configured in `project.config`] can now be addressed |
| 735 | using any of To, CC, or BCC headers. |
David Pursehouse | 673bace | 2013-02-27 18:14:29 +0900 | [diff] [blame] | 736 | * link:https://code.google.com/p/gerrit/issues/detail?id=1531[Issue 1531]: |
| 737 | Email footers now include `Gerrit-HasComments: {Yes|No}`. |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 738 | * `#if($email.hasInlineComments())` can be used in templates to test |
| 739 | if there are comments to be included in this email. |
David Pursehouse | dc018df | 2013-03-06 15:37:24 +0900 | [diff] [blame] | 740 | * Notification emails are sent to included groups. |
| 741 | * Comment notification emails are sent to project watchers. |
| 742 | * "Change Merged" emails include the diff output when `sendemail.includeDiff` is enabled. |
Edwin Kempin | e742e91 | 2013-03-26 14:38:12 +0100 | [diff] [blame] | 743 | * When link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api-changes.html#set-review[ |
| 744 | posting a review via REST] the caller can control email delivery |
| 745 | + |
| 746 | This may help automated systems to be less noisy. Tools can now choose |
| 747 | which review updates should send email, and which categories of users |
| 748 | on a change should get that email. |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 749 | |
Dave Borowitz | 01c1b1f | 2013-02-27 13:49:04 -0800 | [diff] [blame] | 750 | Labels |
| 751 | ~~~~~~ |
| 752 | * Approval categories stored in the database have been replaced with labels |
| 753 | configured in `project.config`. Existing categories are migrated to |
| 754 | `project.config` in `All-Projects` as part of the schema upgrade; no user |
| 755 | action is required. |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 756 | * Labels are no longer global; |
| 757 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-labels.html[ |
| 758 | projects may define their own labels], with inheritance. |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 759 | * Don't create `Verify` category by default |
| 760 | + |
| 761 | Most project teams seem confused with the out-of-the-box experience |
| 762 | needing to vote on both `Code-Review` and `Verified` categories in |
David Pursehouse | b1d656f | 2013-04-04 09:51:36 +0900 | [diff] [blame] | 763 | order to submit a change. Simplify the out-of-the-box workflow to only |
Edwin Kempin | 204b07a | 2013-04-03 14:30:20 +0200 | [diff] [blame] | 764 | have `Code-Review`. When a team installs the Hudson/Jenkins integration |
| 765 | or their own build system they can now trivially add the `Verified` |
| 766 | category by pasting 5 lines into `project.config`. |
Dave Borowitz | 01c1b1f | 2013-02-27 13:49:04 -0800 | [diff] [blame] | 767 | |
Edwin Kempin | 57fa179 | 2013-03-27 10:43:41 +0100 | [diff] [blame] | 768 | Dev |
| 769 | ~~~ |
| 770 | |
| 771 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/dev-readme.html#debug-javascript[ |
| 772 | Support loading debug JavaScript] |
| 773 | |
| 774 | * Gerrit acceptance tests |
| 775 | + |
| 776 | An infrastructure for testing the Gerrit daemon via REST and/or SSH |
| 777 | protocols has been added. Gerrit daemon is run in the headless mode and |
| 778 | in the same JVM where the tests run. Besides using REST/SSH, the tests |
| 779 | can also access Gerrit server internals to prepare the test environment |
| 780 | and to perform assertions. |
| 781 | + |
| 782 | A new review site is created for each test and the Gerrit daemon is |
| 783 | started on that site. When the test has finished the Gerrit daemon is |
| 784 | shutdown. |
| 785 | |
| 786 | * Lightweight LDAP server for debugging |
| 787 | |
| 788 | * Add asciidoc checks in the documentation makefile |
| 789 | + |
| 790 | Exit with error if the asciidoc executable is not available or has |
| 791 | version lower than 8.6.3. |
| 792 | + |
| 793 | The release script is aborted if asciidoc is missing. |
| 794 | |
| 795 | * Added sublime project files to `.gitignore` |
| 796 | |
| 797 | * Exclude all `pom.xml` files that are archetype resources in `version.sh` |
| 798 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 799 | * Source files generated by Prolog are now correctly included in the Eclipse |
| 800 | project. |
| 801 | |
| 802 | * Core plugins are now included as git submodules. |
| 803 | |
| 804 | * `mvn package` now generates the documentation by default. |
| 805 | + |
| 806 | The documentation will always be generated unless `-Dgerrit.documentation.skip` |
| 807 | is given on the command line. |
| 808 | |
| 809 | * `mvn verify` now runs acceptance tests by default. |
| 810 | + |
| 811 | The `acceptance` profile is no longer used. Acceptance tests will always |
| 812 | be run unless `-Dgerrit.acceptance-tests.skip=True` is given on the command line. |
| 813 | |
| 814 | * Vertically align the "Choose:" header on the Become Any Account page. |
| 815 | * "Become Any Account" can be used for accounts whose full name is an empty string. |
| 816 | |
| 817 | |
Edwin Kempin | 7f66a27 | 2013-03-26 16:19:49 +0100 | [diff] [blame] | 818 | Performance |
| 819 | ~~~~~~~~~~~ |
| 820 | * Bitmap Optimizations |
| 821 | + |
| 822 | On running the http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/cmd-gc.html[ |
Shawn Pearce | 9770672 | 2013-03-28 16:29:05 -0400 | [diff] [blame] | 823 | garbage collection] JGit creates bitmap data that is saved to an |
Edwin Kempin | 7f66a27 | 2013-03-26 16:19:49 +0100 | [diff] [blame] | 824 | auxiliary file. The bitmap optimizations improve the clone and fetch |
| 825 | performance. git-core will ignore the bitmap data. |
| 826 | |
| 827 | * Improve suggest user performance when adding a reviewer. |
| 828 | + |
| 829 | Do not check the visibility of the change for each suggested account if |
| 830 | the ref is visible by all registered users. |
| 831 | + |
| 832 | On a system with about 2-3000 users, where most of the projects are |
| 833 | visible by every registered user, this improves the performance of the |
| 834 | suggesting reviewer by a factor of 1000 at least. |
| 835 | |
| 836 | * Cache RefControl.isVisible() |
| 837 | + |
| 838 | For Git repositories with many changes the time for calculating visible |
| 839 | refs is reduced by 30-50%. |
| 840 | |
| 841 | * Allow admins to disable magic ref check on upload |
| 842 | + |
| 843 | Some sites manage to run their repositories in a way that prevents |
| 844 | users from ever being able to create `refs/for`, `refs/drafts` or |
| 845 | `refs/publish` names in a repository. Allow admins on those servers |
| 846 | to disable this (somewhat) expensive check before every upload. |
| 847 | |
| 848 | * Permit ProjectCacheClock to be completely disabled |
| 849 | + |
| 850 | Some admins may just want to require all updates to projects to be |
| 851 | made through the web interface, and avoid the small expense of a |
| 852 | background thread ticking off changes. |
| 853 | |
| 854 | * Batch read Change objects during query |
| 855 | |
| 856 | * Default `core.streamFileThreshold` to a larger value |
| 857 | + |
| 858 | If this value is not configured by the server administrator |
| 859 | performance on larger text files suffers considerably and |
| 860 | Gerrit may grind to a halt and be unable to answer users. |
| 861 | + |
| 862 | Default to either 25% of the available JVM heap or ~2048m. |
| 863 | |
| 864 | * Improve performance of ReceiveCommits for repositories with many refs |
| 865 | + |
| 866 | Avoid adding `refs/changes/` and `refs/tags/` to RevWalk's as |
| 867 | uninteresting since JGit RevWalk doesn't perform well when a large |
| 868 | number of objects is marked as uninteresting. |
| 869 | |
| 870 | * PatchSet.isRef()-optimizations. |
| 871 | + |
| 872 | PatchSet.isRef() is used extensively when preparing for a ref |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 873 | advertisement and the regular expression used by isRefs() was notably |
Edwin Kempin | 7f66a27 | 2013-03-26 16:19:49 +0100 | [diff] [blame] | 874 | costly in these circumstances, especially since it could not be |
| 875 | pre-compiled. |
| 876 | + |
| 877 | The regular expression is removed and the check is now directly |
| 878 | implemented. As result the performance of `git ls-remote` could be |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 879 | increased by up to 15%. |
Edwin Kempin | 7f66a27 | 2013-03-26 16:19:49 +0100 | [diff] [blame] | 880 | |
| 881 | * New config option `receive.checkReferencedObjectsAreReachable` |
| 882 | + |
| 883 | If set to true, Gerrit will validate that all referenced objects that |
| 884 | are not included in the received pack are reachable by the user. |
| 885 | + |
| 886 | Carrying out this check on Git repositories with many refs and commits |
| 887 | can be a very CPU-heavy operation. For non public Gerrit servers it may |
| 888 | make sense to disable this check, which is now possible. |
| 889 | |
| 890 | * Cache config value in LdapAuthBackend |
| 891 | |
| 892 | * Perform a single /accounts/self/capabilities on page load |
| 893 | + |
| 894 | This joins up 3 requests into a single call, which should speed up |
| 895 | initial page load for most users. |
| 896 | |
| 897 | * Only gzip compress responses that are smaller compressed |
| 898 | |
| 899 | * Caching of changes |
| 900 | + |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 901 | During Ref Advertisements (via VisibleRefFilter), all changes need to |
Edwin Kempin | 7f66a27 | 2013-03-26 16:19:49 +0100 | [diff] [blame] | 902 | be fetched from the database to allow Gerrit to figure out which change |
| 903 | refs are visible and should be advertised to the user. To reduce |
| 904 | database traffic a cache for changes was introduced. This cache is |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 905 | disabled by default since it can mess up multi-server setups. |
Edwin Kempin | 7f66a27 | 2013-03-26 16:19:49 +0100 | [diff] [blame] | 906 | |
Edwin Kempin | 218f558 | 2013-03-27 16:35:38 +0100 | [diff] [blame] | 907 | Misc |
| 908 | ~~~~ |
| 909 | * Add config parameter to make new groups by default visible to all |
| 910 | + |
| 911 | Add a new http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#groups.newGroupsVisibleToAll[ |
| 912 | Gerrit configuration parameter] that controls whether newly |
| 913 | created groups should be by default visible to all registered users. |
| 914 | |
| 915 | * Support for OpenID domain filtering |
| 916 | + |
| 917 | Added the ability to only allow email addresses under specific domains |
| 918 | to be used for OpenID login. |
| 919 | + |
| 920 | The allowed domains can be configured by setting |
| 921 | http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#auth.openIdDomain[ |
| 922 | auth.openIdDomain] in the Gerrit configuration. |
| 923 | |
| 924 | * Always configure |
| 925 | http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#gerrit.canonicalWebUrl[ |
| 926 | gerrit.canonicalWebUrl] on init |
| 927 | + |
| 928 | Gerrit has been requiring this field for several versions now, but init |
| 929 | did not configure it. Ensure there is a value set so the server is not |
| 930 | confused at runtime. |
| 931 | |
| 932 | * Add submodule subscriptions fetching by projects |
| 933 | + |
| 934 | While submodule subscriptions can be fetched by branch, some plugins |
| 935 | (e.g.: delete-project) would rather need to access all submodule |
| 936 | subscriptions of a project (regardless of the branch). Instead of |
| 937 | iterating over all branches of a project, and fetching the |
| 938 | subscription for each branch separately, we allow fetching of |
| 939 | subscriptions directly by projects. |
| 940 | |
| 941 | * link:https://code.google.com/p/gerrit/issues/detail?id=1805[Issue 1805]: |
| 942 | Make client SSL certificates that contain an email address work |
| 943 | + |
| 944 | Authentication with CLIENT_SSL_CERT_LDAP didn't work if the certificate |
| 945 | contained email address. |
| 946 | |
| 947 | * Guess LDAP type of Active Directory LDS as ActiveDirectory |
| 948 | + |
| 949 | If Gerrit connects to an AD LDS [1] server it will guess its type as |
| 950 | RCF_2307 instead of ActiveDirectory. The reason is that an AD LDS |
| 951 | doesn't support the "1.2.840.113556.1.4.800" capability. However, |
| 952 | AD LDS behaves like ActiveDirectory and Gerrit also needs to guess |
| 953 | its type as ActiveDirectory to make the default query patterns work |
| 954 | properly. |
| 955 | + |
| 956 | Extend the LDAP server type guessing by checking for presence of the |
| 957 | "1.2.840.113556.1.4.1851" capability which indicates that this LDAP |
| 958 | server runs ActiveDirectory as AD LDS [2]. |
| 959 | + |
| 960 | Also remove the check for the presence of the "defaultNamingContext" |
| 961 | attribute as we don't use it anywhere and, by default, this attribute is |
| 962 | not set on an AD LDS [3] |
| 963 | + |
| 964 | [1] http://msdn.microsoft.com/en-us/library/aa705886(VS.85).aspx + |
| 965 | [2] http://msdn.microsoft.com/en-us/library/cc223364.aspx + |
| 966 | [3] http://technet.microsoft.com/en-us/library/cc816929(v=ws.10).aspx |
| 967 | |
| 968 | * Allow group descriptions to supply email and URL |
| 969 | + |
| 970 | Some backends have external management interfaces that are not |
| 971 | embedded into Gerrit Code Review. Allow those backends to supply |
| 972 | a URL to the web management interface for a group, so a user can |
| 973 | manage their membership, view current members, or do whatever other |
| 974 | features the group system might support. |
| 975 | + |
| 976 | Some backends also have an email address associated with every |
| 977 | group. Sending email to that address will distribute the message to |
| 978 | the group's members. Permit backends to supply an optional email |
| 979 | address, and use this in the project level notification system if |
| 980 | a group is selected as the target for a message. |
| 981 | |
| 982 | * Allow group backends to guess on relevant UUIDs |
| 983 | + |
| 984 | Expose all cheaply known group UUIDs from the ProjectCache, |
| 985 | enumerating groups used by access controls. This allows a backend |
| 986 | that has a large number of groups to filter its getKnownGroups() |
| 987 | output to only groups that may be relevant for this Gerrit server. |
| 988 | + |
| 989 | The best use case to consider is an LDAP server at a large |
| 990 | organization. A typical user may belong to 50 LDAP groups, but only |
| 991 | 3 are relevant to this Gerrit server. Taking the intersection of |
| 992 | the two groups limits the output Gerrit displays to users, or uses |
| 993 | when considering same group visibility. |
| 994 | |
| 995 | * Add more forbidden characters for project names |
| 996 | + |
| 997 | `?`, `%`, `*`, `:`, `<`, `>`, `|`, `$`, `\r` are now forbidden in |
| 998 | project names. |
| 999 | |
| 1000 | * Make `gerrit.sh` LSB compliant |
| 1001 | + |
| 1002 | ** Add LSB headers |
| 1003 | ** Add 'status' as synonym for 'check' |
| 1004 | ** Fix exit status codes according to http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html |
| 1005 | |
| 1006 | * Option to start headless Gerrit daemon |
| 1007 | + |
| 1008 | Add `--headless` option to the Daemon which will start Gerrit daemon |
| 1009 | without the Web UI front end (headless mode). |
| 1010 | + |
| 1011 | This may be useful for running Gerrit server with an alternative (rest |
| 1012 | based) UI or when starting Gerrit server for the purpose of automated |
| 1013 | REST/SSH based testing. |
| 1014 | + |
| 1015 | Currently this option is only supported via the `--headless` option of |
| 1016 | the daemon program. We would need to introduce a config option in order |
| 1017 | to support this feature for deployed war mode. |
| 1018 | |
| 1019 | * Show path to gerrit.war in command for upgrade schema |
| 1020 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1021 | Upgrades |
| 1022 | ~~~~~~~~ |
David Pursehouse | 673bace | 2013-02-27 18:14:29 +0900 | [diff] [blame] | 1023 | * link:https://code.google.com/p/gerrit/issues/detail?id=1619[Issue 1619]: |
| 1024 | Embedded Jetty is now 8.1.7.v20120910. |
| 1025 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1026 | * ASM bytecode library is now 4.0. |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 1027 | * JGit is now 2.3.1.201302201838-r.208-g75e1bdb. |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1028 | * asciidoc 8.6.3 is now required to build the documentation. |
David Pursehouse | b58a18d | 2013-03-06 15:37:03 +0900 | [diff] [blame] | 1029 | * link:https://code.google.com/p/gerrit/issues/detail?id=1155[Issue 1155]: |
| 1030 | prettify is now r225 |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1031 | |
Edwin Kempin | f30921c | 2013-03-27 09:27:01 +0100 | [diff] [blame] | 1032 | * The used GWT version is now 2.5.0 |
| 1033 | + |
| 1034 | Fixes some issues with IE9 and IE10. |
| 1035 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1036 | Bug Fixes |
| 1037 | --------- |
| 1038 | |
| 1039 | Web UI |
| 1040 | ~~~~~~ |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 1041 | * link:https://code.google.com/p/gerrit/issues/detail?id=1662[Issue 1662]: |
| 1042 | Don't show error on ACL modification if empty permissions are added |
| 1043 | + |
| 1044 | This error message was incorrectly displayed if a permission without |
| 1045 | rules was added, although the save was actually successful. |
| 1046 | |
| 1047 | * Don't show error on ACL modification if a section is added more than once |
| 1048 | + |
| 1049 | This error message was incorrectly displayed if multiple sections for |
| 1050 | the same ref were added, although the save was actually successful. |
| 1051 | |
David Pursehouse | 673bace | 2013-02-27 18:14:29 +0900 | [diff] [blame] | 1052 | * Links to CGit were broken when `remove-suffix` was enabled. |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 1053 | |
David Pursehouse | b58a18d | 2013-03-06 15:37:03 +0900 | [diff] [blame] | 1054 | * link:https://code.google.com/p/gerrit/issues/detail?id=926[Issue 926]: |
| 1055 | Internet Explorer versions 9 and 10 are supported. |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1056 | |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 1057 | * link:https://code.google.com/p/gerrit/issues/detail?id=1664[Issue 1664]: |
| 1058 | Reverting a change did not preserve the change's topic |
| 1059 | |
| 1060 | * Fix: User could get around restrictions by reverting a commit |
| 1061 | + |
| 1062 | The Gerrit server may enforce several restrictions on the commit |
| 1063 | message (change-id required, signed-off-by, etc). A user was able to |
| 1064 | get around these restrictions by reverting a commit using the UI. |
| 1065 | |
| 1066 | * link:https://code.google.com/p/gerrit/issues/detail?id=1518[Issue 1518]: |
| 1067 | Reset 'Old Version History' if dependent change is opened |
| 1068 | + |
| 1069 | Following the navigation link in the dependencies table on the |
| 1070 | change screen, the user can directly navigate to dependent changes. |
| 1071 | The value for 'Old Version History' of the current change was |
| 1072 | incorrectly applied to the new change. If the value was invalid for |
| 1073 | the new change the 'Old Version History' field became blank. |
| 1074 | |
| 1075 | * link:https://code.google.com/p/gerrit/issues/detail?id=1736[Issue 1736]: |
| 1076 | Clear 'Old Version History' ListBox before populating it |
| 1077 | + |
| 1078 | The ListBox was not always cleared and as result the same entries were |
| 1079 | sometimes added multiple times e.g. after rebasing a change in the |
| 1080 | WebUI. |
| 1081 | |
| 1082 | * link:https://code.google.com/p/gerrit/issues/detail?id=1673[Issue 1673]: |
| 1083 | Fix disappearance of patch headers when compared patches are identical |
| 1084 | + |
| 1085 | When two patches were compared that were identical 'No Differences' is |
| 1086 | displayed to the user. In this case the patch headers disappeared and |
| 1087 | as result the user couldn't change the patch selection anymore. |
| 1088 | |
| 1089 | * link:https://code.google.com/p/gerrit/issues/detail?id=1759[Issue 1759]: |
| 1090 | Fix ArrayIndexOutOfBoundsException on intraline diff |
| 1091 | + |
| 1092 | In some cases displaying the intraline diff failed with an exception like |
| 1093 | this: |
| 1094 | + |
| 1095 | ---- |
| 1096 | java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 10 |
| 1097 | at com.google.gerrit.prettify.common.SparseFileContent.mapIndexToLine(SparseFileContent.java:149) |
| 1098 | at com.google.gerrit.prettify.common.PrettyFormatter.format(PrettyFormatter.java:188) |
| 1099 | at com.google.gerrit.client.patches.AbstractPatchContentTable.getSparseHtmlFileB(AbstractPatchContentTable.java:287) |
| 1100 | at com.google.gerrit.client.patches.SideBySideTable.render(SideBySideTable.java:113) |
| 1101 | at com.google.gerrit.client.patches.AbstractPatchContentTable.display(AbstractPatchContentTable.java:238) |
| 1102 | at com.google.gerrit.client.patches.PatchScreen.onResult(PatchScreen.java:444) |
| 1103 | ... |
| 1104 | ---- |
| 1105 | + |
| 1106 | This happened when the old line was: |
| 1107 | + |
| 1108 | ---- |
| 1109 | foo-old<LF> |
| 1110 | ---- |
| 1111 | + |
| 1112 | and the new line was: |
| 1113 | + |
| 1114 | ---- |
| 1115 | foo-new<CRLF> |
| 1116 | ---- |
| 1117 | |
| 1118 | * Prevent leading and trailing spaces on user's Full Name |
| 1119 | + |
| 1120 | Strip off the leading and trailing spaces from the Full Name that the |
| 1121 | user enters on the Contact Information form. |
| 1122 | |
| 1123 | * link:https://code.google.com/p/gerrit/issues/detail?id=1480[Issue 1480]: |
| 1124 | Show proper error message if registering email address fails |
| 1125 | |
| 1126 | * link:https://code.google.com/p/gerrit/issues/detail?id=816[Issue 816]: |
| 1127 | Due to issues with the diff_intraline cache the file indention in the |
| 1128 | Side-By-Side diff was sometimes wrong. |
| 1129 | |
| 1130 | * Make rebase failed and merge failed messages consistent |
| 1131 | |
| 1132 | * Select 'Projects' menu on loading of a project screen |
| 1133 | + |
| 1134 | If in the top level menu 'All' is selected and the user navigates to |
| 1135 | a change and then from the change to the project by clicking on the |
| 1136 | project link in the ChangeInfoBlock, the project screen is loaded but |
| 1137 | the 'Projects' menu was not selected. |
| 1138 | |
| 1139 | * Fix display issues for inline comments and inline comment editors |
| 1140 | + |
| 1141 | ** Sometimes a second comment editor was shown instead of using the |
| 1142 | existing comment editor. |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 1143 | ** Fix duplicated border line between comments. |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 1144 | ** Sometimes the parts of the border were missing when a comment was |
| 1145 | expanded. |
| 1146 | ** Fix displaying the blue line that marks the current line when there |
| 1147 | are several published comments. |
| 1148 | ** Sometimes on discard of a comment some frames of the comment editor |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 1149 | stayed and some border lines of neighbor comments disappeared. |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 1150 | |
| 1151 | * In diff view don't let arrow column accept clicks. |
| 1152 | |
| 1153 | * Fix display of commit message |
| 1154 | + |
| 1155 | If there are no HTML tags in the text, just break on lines. |
| 1156 | |
| 1157 | * Upon selection in AddMemberBox, focus the box's text field |
| 1158 | + |
| 1159 | In the change screen, after clicking on an element of the 'Add |
| 1160 | Reviewer' suggestion list, users expect to be able to add the reviewer |
| 1161 | by hitting enter. This did not work in Firefox. |
| 1162 | |
| 1163 | * Fix enter key detection in project creation screen |
| 1164 | + |
| 1165 | The enter key detection was not working in all browsers (e.g. Firefox). |
| 1166 | |
| 1167 | * Display a tooltip for all tiny icons and ensure that the cursor is |
| 1168 | shown as pointer when hovering over them. |
| 1169 | |
| 1170 | * Clean query string when switching pages |
| 1171 | + |
| 1172 | If we load a page without a query string, such as Projects->List, |
| 1173 | My->Changes, or Settings, it might be confusing to show the old query |
| 1174 | string from the previous page. The query string is now cleared out |
| 1175 | when switching pages, leaving the help text visible. |
| 1176 | |
| 1177 | * Fix highlighting in search suggestions |
| 1178 | + |
| 1179 | The provided suggestions should highlight the part that the user has |
| 1180 | already typed as bold text. This only worked for the first operator. |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 1181 | For suggestions of any further operator no highlighting was done. |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 1182 | |
| 1183 | * Fix style of hint text in search box on initial page load |
| 1184 | + |
| 1185 | The hint text should be a light gray on the white background, |
| 1186 | but was coming up black on initial page load due to a style setup |
| 1187 | ordering issue between the SearchPanel and the HintTextBox. |
| 1188 | |
| 1189 | * link:https://code.google.com/p/gerrit/issues/detail?id=1661[Issue 1661]: |
David Pursehouse | 253611e | 2013-06-13 09:09:11 +0200 | [diff] [blame] | 1190 | Update links to Change-Id and Signed-off-by documentation on project info |
Edwin Kempin | 3946212 | 2013-03-27 09:18:19 +0100 | [diff] [blame] | 1191 | screen |
| 1192 | |
| 1193 | * Use href="javascript;" for All {Side-by-Side,Unified} links |
| 1194 | + |
| 1195 | These links shouldn't have an anchor location. There is nothing for |
| 1196 | the browser to remember or visit if it were opened in a new tab for |
| 1197 | example. |
| 1198 | |
| 1199 | * Improve message for unsatisfiable dependencies |
| 1200 | + |
| 1201 | If a change cannot be merged due to unsatisfiable dependencies a |
| 1202 | comment is added to the change that lists the missing commits and says |
| 1203 | that a rebase is necessary. |
| 1204 | + |
| 1205 | For each missing commit the comment said "Depends on patch set X |
| 1206 | of ..., however the current patch set is Y." |
| 1207 | + |
| 1208 | If multiple commits are missing it may be that for some commits the |
| 1209 | dependency is not outdated (X == Y). In this case the message was |
| 1210 | confusing. |
| 1211 | + |
| 1212 | ", however the current patch set is Y." is now skipped if Y == X. |
| 1213 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 1214 | * link:https://code.google.com/p/gerrit/issues/detail?id=1843[Issue 1843]: |
| 1215 | Enable the "Create Project" and "Create Group" buttons when pasting the name |
| 1216 | into the text box. |
| 1217 | |
| 1218 | * link:https://code.google.com/p/gerrit/issues/detail?id=1370[Issue 1370]: |
| 1219 | Fix PatchScreen leak when moving between files. |
| 1220 | |
| 1221 | * Prevent account's full name from being set to empty string. Set it to |
| 1222 | null instead. |
| 1223 | |
David Pursehouse | 75d549f | 2013-06-04 13:20:15 +0900 | [diff] [blame] | 1224 | * link:https://code.google.com/p/gerrit/issues/detail?id=1682[Issue 1682]: |
| 1225 | Correctly handle paths with URL-escaped characters |
| 1226 | + |
| 1227 | URL-unescape the path portion of a change history token to correctly |
| 1228 | handle paths with URL-escapable characters, i.e. '+', ' ', etc. |
| 1229 | |
David Pursehouse | 253611e | 2013-06-13 09:09:11 +0200 | [diff] [blame] | 1230 | * link:https://code.google.com/p/gerrit/issues/detail?id=1915[Issue 1915]: |
| 1231 | Don't show non-visible drafts in the diff screens. |
| 1232 | |
David Ostrovsky | 75d0677 | 2013-06-14 09:59:27 +0200 | [diff] [blame] | 1233 | * link:https://code.google.com/p/gerrit/issues/detail?id=1801[Issue 1801]: |
| 1234 | Correctly keep patch set ordering after a new patch set is added via |
| 1235 | the Web UI. |
David Pursehouse | 75d549f | 2013-06-04 13:20:15 +0900 | [diff] [blame] | 1236 | |
Edwin Kempin | 7e960ac | 2013-03-27 13:28:12 +0100 | [diff] [blame] | 1237 | REST API |
| 1238 | ~~~~~~~~ |
| 1239 | * Fix returning of 'Email Reviewers' capability via REST |
| 1240 | + |
| 1241 | The `/accounts/self/capabilities/` didn't return the 'Email Reviewers' |
| 1242 | capability when it was not explicitly assigned, although by default |
| 1243 | everyone has the 'Email Reviewers' capability. |
| 1244 | + |
| 1245 | If 'Email Reviewers' capability was allowed or denied, |
| 1246 | `/accounts/self/capabilities/` returned the 'Email Reviewers' |
| 1247 | capability always as true, which was wrong for the DENY case. |
| 1248 | |
| 1249 | * Provide a more descriptive error message for unauthenticated REST |
| 1250 | API access |
| 1251 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1252 | Git |
| 1253 | ~~~ |
David Pursehouse | 9542a8c | 2013-02-27 17:30:46 +0900 | [diff] [blame] | 1254 | * The wildcard `.` is now permitted in reference regex rules. |
Edwin Kempin | d73a845 | 2013-03-27 11:34:16 +0100 | [diff] [blame] | 1255 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1256 | * Checking if a change is mergeable no longer writes to the repository. |
David Pursehouse | 673bace | 2013-02-27 18:14:29 +0900 | [diff] [blame] | 1257 | |
Shawn O. Pearce | a890daa | 2012-11-08 23:22:56 -0800 | [diff] [blame] | 1258 | * Submitted but unmerged changes are periodically retried. This is |
| 1259 | necessary for a multi-master configuration where the second master |
| 1260 | may need to retry a change not yet merged by the first. Please note |
| 1261 | we still do not believe this is sufficient to enable multi-master. |
| 1262 | |
Edwin Kempin | d73a845 | 2013-03-27 11:34:16 +0100 | [diff] [blame] | 1263 | * Retry merge after LOCK_FAILURE when updating branch |
| 1264 | + |
| 1265 | If the project requires fast-forwards, the merge cannot succeed once |
| 1266 | a lock failure occurs, but in other cases, it is safe to retry the |
| 1267 | merge immediately. |
| 1268 | |
| 1269 | * Do not automatically add reviewers from footer lines to draft patch sets |
| 1270 | + |
| 1271 | Gerrit already avoids adding reviewers from footer lines when a new |
| 1272 | draft change is created. Now the same is done for draft patch sets. |
| 1273 | |
| 1274 | * Add users mentioned in commit footer as reviewers on draft publish |
| 1275 | |
| 1276 | * Hide any existing magic branches during push |
| 1277 | + |
| 1278 | If there is a magic branch visible during push, just hide it from the |
| 1279 | client. Administrators can clear these by accessing the repository |
| 1280 | directly. |
| 1281 | |
| 1282 | * Prevent from deleting `refs/changes/` |
| 1283 | + |
| 1284 | Everything under `refs/changes/` should be protected by Gerrit, users |
| 1285 | shouldn't be able to delete a particular patch set or a whole change |
| 1286 | from the review process. |
| 1287 | |
| 1288 | * Update description file in Git |
| 1289 | + |
| 1290 | When writing the description to `project.config`, it is also necessary |
| 1291 | to write it to the description file in the repository so the same text |
| 1292 | is visible in CGit or GitWeb. |
| 1293 | |
| 1294 | * Write valid reflog for `HEAD` when creating the `All-Projects` |
| 1295 | project |
| 1296 | + |
| 1297 | When the `All-Projects` project is created during the schema |
| 1298 | initialization, `HEAD` is set to point to the `refs/meta/config` |
| 1299 | branch. When `HEAD` is updated an entry into the reflog is written. |
| 1300 | This ref log entry should contain the ID of the initial commit as |
| 1301 | target, but instead the target was the zero ID. |
| 1302 | |
| 1303 | * link:https://code.google.com/p/gerrit/issues/detail?id=1702[Issue 1702]: |
| 1304 | Fix: 'internal server error' when pushing the same commit twice |
| 1305 | + |
| 1306 | On the second push of the same commit to `refs/for/<branch name>`, Gerrit |
| 1307 | returns 'no new changes'. |
| 1308 | + |
| 1309 | However if the user pushed to 'refs/changes/<change id>', Gerrit returned |
| 1310 | 'internal server error'. |
| 1311 | |
| 1312 | * Match all git fetch/clone/push commands to the command executor |
| 1313 | + |
| 1314 | Route not just `/p/` but any Git access to the same thread pool as the |
| 1315 | SSH server is using, allowing all requests to compete fairly for |
| 1316 | resources. |
| 1317 | |
| 1318 | * Fix auto closing of changes on direct push |
| 1319 | + |
| 1320 | When a commit was directly pushed into a repository (bypassing code |
| 1321 | review) and this commit had a Change-Id in its commit message then the |
| 1322 | corresponding change was not automatically closed if it was open. |
| 1323 | |
| 1324 | * Set change state to NEW if merge fails due to non-existing dest branch |
| 1325 | + |
| 1326 | If a submitted change failed to merge because the destination branch |
| 1327 | didn't exist anymore, it stayed in state 'Submitted, Merge Pending'. |
| 1328 | This meant Gerrit was re-attempting to merge this change (e.g. on |
| 1329 | startup), but this didn't make sense. Either the branch did still not |
| 1330 | exist (then there was no need to try merging it) or a new branch with |
| 1331 | the old name was created (then it was questionable if the change should |
| 1332 | still be merged into this branch). This is why it's better to set the |
| 1333 | change back to the 'Review in Progress' state and update it with a |
| 1334 | message saying that it couldn't be merged because the destination |
| 1335 | branch doesn't exist anymore. |
| 1336 | + |
| 1337 | In addition Gerrit was writing an error into the error log if a change |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 1338 | couldn't be merged because the destination branch was missing. |
Edwin Kempin | d73a845 | 2013-03-27 11:34:16 +0100 | [diff] [blame] | 1339 | That was not really a server error and is not logged anymore. |
| 1340 | |
| 1341 | * Fix NPE when pushing a patch with an invalid author with |
| 1342 | `Forge Author` permissions |
| 1343 | |
| 1344 | * Fix duplicated GitReferenceUpdated event on project creation. |
| 1345 | + |
| 1346 | Creating a new Gerrit project was firing the GitReferenceUpdated event |
| 1347 | for the `refs/meta/config` branch two times. |
| 1348 | |
| 1349 | * Fix error log message in ReceiveCommits |
| 1350 | + |
| 1351 | When the creation of one or more references failed ReceiveCommits failed |
| 1352 | with 'internal server error' and wrote the following error log: |
| 1353 | "Only X of Y new change refs created in xxx; aborting" |
| 1354 | The printed value for Y could be wrong since it didn't include the |
| 1355 | replaceCount. As a result, a confusing message like |
| 1356 | "Only 0 of 0 new change refs created in xxx; aborting" |
| 1357 | could appear in the error log. |
Dave Borowitz | 1bec65a | 2013-03-13 10:59:01 -0700 | [diff] [blame] | 1358 | |
David Pursehouse | 50abd45 | 2013-03-05 15:43:34 +0900 | [diff] [blame] | 1359 | SSH |
| 1360 | ~~~ |
David Pursehouse | 50abd45 | 2013-03-05 15:43:34 +0900 | [diff] [blame] | 1361 | * `review --restore` allows a review score to be added on the restored change. |
Edwin Kempin | bf22ad5 | 2013-03-26 10:26:12 +0100 | [diff] [blame] | 1362 | |
David Pursehouse | 50abd45 | 2013-03-05 15:43:34 +0900 | [diff] [blame] | 1363 | * link:https://code.google.com/p/gerrit/issues/detail?id=1721[Issue 1721]: |
Edwin Kempin | bf22ad5 | 2013-03-26 10:26:12 +0100 | [diff] [blame] | 1364 | `review --message` only adds the message once. |
David Pursehouse | 50abd45 | 2013-03-05 15:43:34 +0900 | [diff] [blame] | 1365 | |
David Pursehouse | b58a18d | 2013-03-06 15:37:03 +0900 | [diff] [blame] | 1366 | * `ls-groups` prints "N/A" if the group's name is not set. |
David Pursehouse | dc018df | 2013-03-06 15:37:24 +0900 | [diff] [blame] | 1367 | |
Edwin Kempin | bf22ad5 | 2013-03-26 10:26:12 +0100 | [diff] [blame] | 1368 | * `set-project-parent --children-of`: Fix getting parent for level 1 projects |
| 1369 | + |
| 1370 | For direct child projects of the `All-Projects` project the name of the |
| 1371 | parent project was incorrectly retrieved if the parent name was not |
| 1372 | explicitly stored as `All-Projects` in the project.config file. |
| 1373 | |
Edwin Kempin | d73a845 | 2013-03-27 11:34:16 +0100 | [diff] [blame] | 1374 | * Fix NPE when abandoning change with invalid author |
| 1375 | + |
| 1376 | If the author of a change isn't known to Gerrit (pushed with |
| 1377 | `Forge Author` permissions), trying to abandon that change over SSH |
| 1378 | failed with an NPE. |
| 1379 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 1380 | * Fix setting account's full name via ssh. |
| 1381 | |
Edwin Kempin | bf22ad5 | 2013-03-26 10:26:12 +0100 | [diff] [blame] | 1382 | Query |
| 1383 | ~~~~~ |
| 1384 | * link:https://code.google.com/p/gerrit/issues/detail?id=1729[Issue 1729]: |
| 1385 | Fix query by 'label:Verified=0' |
| 1386 | |
| 1387 | * link:https://code.google.com/p/gerrit/issues/detail?id=1772[Issue 1772]: |
| 1388 | Set `_more_changes` if result is limited due to configured query limit |
| 1389 | |
| 1390 | * Fix query cost for "status:merged commit:c0ffee" |
| 1391 | |
Edwin Kempin | 25b5b00 | 2013-03-27 10:01:02 +0100 | [diff] [blame] | 1392 | Plugins |
| 1393 | ~~~~~~~ |
| 1394 | * Skip disabled plugins on rescan |
| 1395 | + |
| 1396 | In a background thread Gerrit periodically scans for new or changed |
| 1397 | plugins. On every such a rescan disabled plugins were loaded and a new |
| 1398 | copy of their jar files was stored in the review site's tmp folder. |
| 1399 | |
| 1400 | * Fix cleanup of plugins from tmp folder on graceful Gerrit shutdown |
| 1401 | + |
| 1402 | Loaded plugin jars are copied to the review site's tmp folder to support |
| 1403 | hot updates of the plugin jars in the plugins folder. On Gerrit shutdown |
| 1404 | these copies of the jar files should be cleaned up. For this purpose a |
| 1405 | CleanupHandle is created, but the CleanupHandle wasn't enqueued in the |
| 1406 | cleanupQueue which is why cleanup on Gerrit shutdown didn't happen. |
| 1407 | |
| 1408 | * Reattempt deletion of plugin jars from tmp folder on JVM termination |
| 1409 | + |
| 1410 | Loaded plugin jars are copied to the review site's tmp folder to support |
| 1411 | hot updates of the plugin jars in the plugins folder. On Gerrit shutdown |
| 1412 | these copies of the jar files should be cleaned up. For this purpose a |
| 1413 | CleanupHandle is created. The deletion of the tmp file in the |
| 1414 | CleanupHandle can fail although the jar file was closed. In this case |
| 1415 | reattempt the deletion on termination of the virtual machine. This |
| 1416 | normally succeeds. |
| 1417 | |
| 1418 | * Fix unloading of plugins |
| 1419 | + |
| 1420 | When two plugins, say pluginA, and pluginB had been loaded, and pluginA |
| 1421 | was removed from $sitePath/plugins, pluginA got stopped, and a cleaning |
| 1422 | run was ordered. But this cleaning run cleaned both plugins and both |
| 1423 | plugins had their jars removed. This left pluginB visible to Gerrit |
| 1424 | although it's backing jar was gone. Upon calling not yet initialized |
| 1425 | parts of pluginB (e.g.: viewing not yet viewed Documentation pages of |
| 1426 | pluginB), exceptions as following were thrown: |
| 1427 | + |
| 1428 | ---- |
| 1429 | java.lang.IllegalStateException: zip file closed |
| 1430 | at java.util.zip.ZipFile.ensureOpen(ZipFile.java:420) |
| 1431 | at java.util.zip.ZipFile.getEntry(ZipFile.java:165) |
| 1432 | ---- |
| 1433 | |
| 1434 | * Fix double bound exception when loading extensions |
| 1435 | + |
| 1436 | ServerInformation class was already bound, therefore it shouldn't be |
| 1437 | bound a second time for Gerrit extensions. |
| 1438 | |
| 1439 | * Do not call onModuleLoad() second time |
| 1440 | + |
| 1441 | onModuleLoad() method is automatically called by GWT framework. Calling |
| 1442 | it once again in PluginGenerator caused double plugin initialization. |
| 1443 | |
| 1444 | * Require `Administrate Server` capability to GET /plugins/ |
| 1445 | + |
| 1446 | Listing plugins requires being an administrator. This was missed in the |
| 1447 | REST API. |
| 1448 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 1449 | * link:https://code.google.com/p/gerrit/issues/detail?id=1827[Issue 1827]: |
| 1450 | Allow InternalUser (aka plugins) to see any internal group, and run |
| 1451 | plugin startup and shutdown as PluginUser. |
| 1452 | |
Dave Borowitz | 5799ee2 | 2013-03-21 12:48:08 -0700 | [diff] [blame] | 1453 | Email |
David Pursehouse | dc018df | 2013-03-06 15:37:24 +0900 | [diff] [blame] | 1454 | ~~~~~ |
David Pursehouse | dc018df | 2013-03-06 15:37:24 +0900 | [diff] [blame] | 1455 | * Merge failure emails are only sent once per day. |
| 1456 | * Unused macros are removed from the mail templates. |
| 1457 | * Unnecessary ellipses are no longer applied to email subjects. |
Edwin Kempin | e742e91 | 2013-03-26 14:38:12 +0100 | [diff] [blame] | 1458 | * The empty diff output from an "octopus merge" is now explained in change notification emails. |
David Pursehouse | dc018df | 2013-03-06 15:37:24 +0900 | [diff] [blame] | 1459 | * link:https://code.google.com/p/gerrit/issues/detail?id=1480[Issue 1480]: |
| 1460 | Proper error message is shown when registering an email address fails. |
| 1461 | |
| 1462 | * link:https://code.google.com/p/gerrit/issues/detail?id=1692[Issue 1692]: |
| 1463 | Review comments are sorted before being added to notification emails. |
| 1464 | |
Edwin Kempin | e742e91 | 2013-03-26 14:38:12 +0100 | [diff] [blame] | 1465 | * Fix watching of 'All Comments' on `All-Projects` |
| 1466 | + |
| 1467 | If a user is watching 'All Comments' on `All-Projects` this should |
| 1468 | apply to all projects. |
| 1469 | |
Edwin Kempin | 218f558 | 2013-03-27 16:35:38 +0100 | [diff] [blame] | 1470 | Misc |
| 1471 | ~~~~ |
| 1472 | * Provide more descriptive message for NoSuchProjectException |
| 1473 | |
| 1474 | * On internal error due to receive timeout include the value of |
| 1475 | `receive.timeout` into the log message |
| 1476 | |
| 1477 | * Silence INFO/DEBUG output from apache.http |
| 1478 | + |
| 1479 | This spammed the log when using OpenID, for each and every login. |
| 1480 | |
| 1481 | * Remove `mysql_nextval` script |
| 1482 | + |
| 1483 | This function does not work on binary logging enabled servers, |
| 1484 | as MySQL is unable to execute the function on slaves without |
| 1485 | causing possible corruption. Drop the function since it was only |
| 1486 | created to help administrators, and is unsafe. |
| 1487 | |
| 1488 | * link:https://code.google.com/p/gerrit/issues/detail?id=1312[Issue 1312]: |
| 1489 | Fix relative URL detection in submodules |
| 1490 | + |
| 1491 | Relative submodules do not start with `/`. Instead they start with |
| 1492 | `../`. Fix the Submodule Subscriptions engine to recognize relative |
| 1493 | submodules. |
| 1494 | |
| 1495 | * link:https://code.google.com/p/gerrit/issues/detail?id=1622[Issue 1622]: |
| 1496 | Fix NPE in LDAP Helper class if username is null |
| 1497 | |
| 1498 | * Fix commit-msg hook failure with spaces in path |
| 1499 | + |
| 1500 | If the project absolute path had any whitespace, the commit |
| 1501 | hook failed to complete because a script variable was not |
| 1502 | enclosed in double quotes. |
| 1503 | |
| 1504 | * Drop the trailing ".git" suffix of the name of new project |
| 1505 | |
| 1506 | * Prevent possible NPE when running `change-merged` hook |
| 1507 | + |
| 1508 | It's possible that the submitter is null. Add a check for this |
| 1509 | before invoking the `change-merged` hook with it. |
| 1510 | |
| 1511 | * Keep change open if its commit is pushed to another branch. |
| 1512 | |
| 1513 | * Fire GitReferenceUpdated event when BanCommit updates the |
| 1514 | `refs/meta/reject-commits` branch. |
| 1515 | |
| 1516 | * Fix GitWeb Caching |
| 1517 | + |
| 1518 | GitWeb Caching was not working when its cgi file was executed from |
| 1519 | outside. The same approach will also work with vanilla GitWeb. |
| 1520 | |
| 1521 | * Fix infinite loops when walking project hierarchy |
| 1522 | |
| 1523 | * Fix resource leak in MarkdownFormatter |
| 1524 | |
| 1525 | * Query all external groups for internal group memberships |
| 1526 | + |
| 1527 | When asking for the known groups a user belongs to they may belong |
| 1528 | to an internal group by way of membership in a non-internal group, |
| 1529 | such as LDAP. Cache in memory the complete list of any non-internal |
| 1530 | group UUIDs used as members of an internal group. These must get |
| 1531 | checked for membership before completing the known group data from |
| 1532 | the internal backend. |
| 1533 | |
| 1534 | * Handle sorting groups with no name to avoid NPE |
| 1535 | |
| 1536 | * `gerrit.sh` |
| 1537 | ** Don't suggest site init if schema version is newer than expected |
| 1538 | ** Improve error messages in schema check |
| 1539 | ** Suggest changing `gerrit.config` when JDK not found |
| 1540 | ** Explicitly set a shell |
| 1541 | ** Determine `GERRIT_SITE` from current working directory. |
| 1542 | ** Fix `gerrit.sh restart` for relative paths |
| 1543 | ** Fix site path computation if '.' occurs in path |
| 1544 | ** Whitespace fixes |
| 1545 | |
| 1546 | * Display the reason of an Init injection failure. |
| 1547 | |
| 1548 | * link:https://code.google.com/p/gerrit/issues/detail?id=1821[Issue 1821]: |
| 1549 | Warn if `cache.web_sessions.maxAge` is to small |
| 1550 | + |
| 1551 | Setting `maxAge` to a small value can result in the browser endlessly |
| 1552 | redirecting trying to setup a new valid session. Warn administrators |
| 1553 | that the value is set smaller than 5 minutes. |
| 1554 | |
| 1555 | * link:https://code.google.com/p/gerrit/issues/detail?id=1821[Issue 1821]: |
| 1556 | Support `cache.web_sessions.maxAge` < 1 minute |
| 1557 | |
| 1558 | * Use SECONDS as default time unit for `cache.web_sessions.maxAge` |
| 1559 | + |
| 1560 | DefaultCacheFactory already uses SECONDS as default time unit for |
| 1561 | `cache.*.maxAge`. |
| 1562 | + |
| 1563 | Update the described default time unit for `cache.*.maxAge` in the |
| 1564 | documentation. |
| 1565 | + |
| 1566 | Administrators may need to update their configuration to for the new |
| 1567 | default time unit. |
| 1568 | |
| 1569 | * Add pylint configuration for contributed Python scripts |
| 1570 | |
| 1571 | * Various fixes and improvements of the `contrib/trivial_rebase.py` |
| 1572 | script |
| 1573 | + |
| 1574 | ** Adapt options to Gerrit 2.6 |
| 1575 | ** Use change-url flag for ChangeId |
| 1576 | ** Prevent exception for empty commit |
| 1577 | ** Fix pylint errors |
David Pursehouse | f3af82f | 2013-04-26 11:41:55 +0900 | [diff] [blame] | 1578 | ** Call `gerrit review` instead of `gerrit approve` |
| 1579 | ** Make the private key argument optional |
| 1580 | ** Support alternative ssh executable, for example `plink` |
| 1581 | ** Support custom review labels |
| 1582 | ** Correctly handle empty patch ID |
| 1583 | + |
| 1584 | If only one of the patch IDs is empty, it should not be considered |
| 1585 | a trivial rebase. |
| 1586 | |
Edwin Kempin | 218f558 | 2013-03-27 16:35:38 +0100 | [diff] [blame] | 1587 | ** Use plain python instead of python2.6 |
| 1588 | + |
| 1589 | Windows installation only has python.exe |
| 1590 | |
| 1591 | * Correct MIME type of `favicon.ico` reference |
| 1592 | + |
| 1593 | This is not a GIF, it is an "MS Windows icon resource". |
| 1594 | Some browsers may skip the image if the type is wrong. |
| 1595 | |
| 1596 | * Use `<link rel="shortcut icon">` for `favicon.ico` reference |
| 1597 | + |
| 1598 | IE looks for a two-word "shortcut icon" relationship. Other browsers |
| 1599 | interpret this as two relationships, one of which is "icon", so they |
| 1600 | can handle this syntax as well. |
| 1601 | + |
| 1602 | See: |
| 1603 | + |
| 1604 | ** http://msdn.microsoft.com/en-us/library/ms537656(VS.85).aspx |
| 1605 | ** http://jeffcode.blogspot.com/2007/12/why-doesnt-favicon-for-my-site-appear.html |
| 1606 | |
| 1607 | * Remove `servlet-api` from `WAR/lib` |
| 1608 | + |
| 1609 | It is wrong to include the servlet API in a WAR's `WEB-INF/lib` |
| 1610 | directory. This confuses some servlet containers who refuse to |
| 1611 | load the Gerrit WAR. Instead package the Jetty runtime and the |
| 1612 | servlet API in a new `WEB-INF/pgm-lib` directory. |
| 1613 | |
| 1614 | * link:https://code.google.com/p/gerrit/issues/detail?id=1822[Issue 1822]: |
David Pursehouse | 2062735 | 2013-06-23 20:49:32 +0900 | [diff] [blame] | 1615 | Verify session matches container authentication header |
Edwin Kempin | 218f558 | 2013-03-27 16:35:38 +0100 | [diff] [blame] | 1616 | + |
| 1617 | If the user alters their identity in the container invalidate |
| 1618 | the Gerrit user session and force a new one to begin. |
| 1619 | |
| 1620 | * link:https://code.google.com/p/gerrit/issues/detail?id=1743[Issue 1743]: |
| 1621 | Move RPC auth token from `Authorization` header to `X-Gerrit-Auth` |
| 1622 | + |
| 1623 | Servers that run with auth.type = HTTP or HTTP_LDAP are unable to |
| 1624 | use the web UI because the Authorization code supplied by the UI |
| 1625 | overrides the browser's native `Authorization` header and causes the |
| 1626 | request to be blocked at the HTTP reverse proxy, before Gerrit even |
| 1627 | sees the request. |
| 1628 | + |
| 1629 | Instead insert a unique token into `X-Gerrit-Auth`, leaving the HTTP |
| 1630 | standard `Authorization` header unspecified and available for use in |
| 1631 | HTTP reverse proxies. |
| 1632 | |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1633 | Documentation |
| 1634 | ------------- |
| 1635 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 1636 | The link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/index.html[ |
| 1637 | documentation index] is restructured to make it easier to use for different kinds of |
| 1638 | users. |
| 1639 | |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1640 | User Documentation |
| 1641 | ~~~~~~~~~~~~~~~~~~ |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1642 | * Split link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api.html[ |
| 1643 | REST API documentation] and have one page per top level resource |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1644 | |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1645 | * Add executable examples for GET requests to |
| 1646 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api.html[ |
| 1647 | REST API documentation] |
| 1648 | + |
| 1649 | Add examples for GET requests to the REST API documentation on which |
| 1650 | the user can click to fire the requests. This allows users to |
| 1651 | immediately try out the requests and play around with them. |
| 1652 | |
| 1653 | * Document the link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#block[ |
| 1654 | BLOCK access rule]. |
| 1655 | |
| 1656 | * Added documentation of |
| 1657 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/user-upload.html#http[ |
| 1658 | how to authenticate uploads over HTTP]. |
| 1659 | |
| 1660 | * Added documentation of the |
| 1661 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#auth.editFullNameUrl[auth.editFullNameUrl] and |
| 1662 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#auth.httpPasswordUrl[auth.httpPasswordUrl] |
| 1663 | configuration parameters. |
| 1664 | |
| 1665 | * Add link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/prolog-cookbook.html[ |
| 1666 | submit_rule examples] from Gerrit User Summit 2012. |
| 1667 | |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1668 | * Improved the push tag examples in the access control documentation. |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1669 | |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1670 | * Improved documentation of error messages related to commit message footer content. |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1671 | |
| 1672 | * Added documentation of the |
| 1673 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/error-commit-already-exists.html[ |
| 1674 | commit already exists] error message. |
| 1675 | |
| 1676 | * Added missing documentation of the ssh |
| 1677 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/cmd-version.html[ |
| 1678 | version] command. |
| 1679 | |
| 1680 | * link:https://code.google.com/p/gerrit/issues/detail?id=1369[Issue 1369]: |
| 1681 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gitweb.html[ |
| 1682 | Gitweb Instruction Updates] |
| 1683 | |
| 1684 | * link:https://code.google.com/p/gerrit/issues/detail?id=1594[Issue 1594]: |
| 1685 | Document execute permission for commit-msg in |
| 1686 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/user-changeid.html#creation[ |
| 1687 | Change-Id docs] |
| 1688 | |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1689 | * link:https://code.google.com/p/gerrit/issues/detail?id=1602[Issue 1602]: |
| 1690 | Corrected references to `refs/changes` in the access control documentation. |
| 1691 | |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1692 | * Update documentation of |
| 1693 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#trackingid.name.match[ |
| 1694 | maximal length for tracking ids] |
| 1695 | |
| 1696 | * Added missing documentation of |
| 1697 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/json.html[JSON attributes]. |
| 1698 | |
| 1699 | * Rename `custom-dashboards.html` to |
| 1700 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/user-dashboards.html[user-dashboards.html] |
| 1701 | + |
| 1702 | This document no longer deals exclusively with custom dashboards, it now describes project level dashboards also. |
| 1703 | |
| 1704 | * Separate the |
| 1705 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-login-register.html[ |
| 1706 | initial user setup instructions] to a shared file |
| 1707 | |
| 1708 | * Separate the |
| 1709 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/database-setup.html[ |
| 1710 | database setup instructions] to a shared file |
| 1711 | |
| 1712 | * Improve the link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/database-setup.html[ |
| 1713 | instructions for PgSQL setup] |
| 1714 | |
| 1715 | * Fix the order of steps in the |
| 1716 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/install-j2ee.html[ |
| 1717 | J2EE Installation document] |
| 1718 | + |
| 1719 | It is better to first define the JNDI data source in the application |
| 1720 | server and then deploy Gerrit than opposite. This should avoid errors |
| 1721 | like "No DataSource" on the first deployment. |
| 1722 | |
| 1723 | * Clarify documentation of |
| 1724 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#ldap.groupName[ |
| 1725 | LDAP group name setting] |
| 1726 | |
David Pursehouse | f59de42 | 2013-05-20 16:14:38 +0900 | [diff] [blame] | 1727 | * Improve the documentation of |
| 1728 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/user-submodule.html[ |
| 1729 | git submodule subscription handling] |
| 1730 | |
| 1731 | * Clarify the documentation of change cache setup. |
| 1732 | |
| 1733 | * Improve the explanation of path conflicts in the |
| 1734 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/project-setup.html[ |
| 1735 | project setup documentation]. |
| 1736 | |
| 1737 | * Add explanations of special/magic refs in the |
| 1738 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#references[ |
| 1739 | access control documentation]. |
| 1740 | |
| 1741 | * Clarify how to set Global Capabilities. |
| 1742 | * Correct documentation of the `create-account` ssh command. |
| 1743 | * Add documentation of the `database.connectionPool` setting. |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1744 | * Adapt documentation to having 'Projects' as top level menu |
| 1745 | * Added missing documentation of mail templates. |
| 1746 | * Added documentation of contributor agreements. |
| 1747 | * Fix `init.d` symbolic link commands. |
| 1748 | * Remove obsolete diskbuffer setting from example config file. |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1749 | * Various minor grammatical and formatting corrections. |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1750 | * Fix external links in 2.0.21 and 2.0.24 release notes |
David Ostrovsky | 681b1d4 | 2013-03-03 22:42:38 +0100 | [diff] [blame] | 1751 | * Manual pages can be optionally created/installed for core gerrit ssh commands. |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1752 | |
| 1753 | Developer And Maintainer Documentation |
| 1754 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1755 | * Updated the link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/dev-eclipse.html#maven[ |
| 1756 | Maven plugin installation instructions] for Eclipse 3.7 (Indigo). |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1757 | |
Edwin Kempin | 60ab853 | 2013-03-27 14:33:46 +0100 | [diff] [blame] | 1758 | * Document link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/dev-contributing.html#commit-message[ |
| 1759 | usage of the past tense in commit messages] |
| 1760 | |
| 1761 | * Add link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/dev-contributing.html[ |
| 1762 | instructions] on how to configure git for pushing to Gerrit's Gerrit |
| 1763 | |
| 1764 | * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/dev-contributing.html#process[ |
| 1765 | Stable branches process documentation] |
| 1766 | |
| 1767 | * Improved the |
| 1768 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/dev-release.html[ |
| 1769 | release documentation]. |
| 1770 | |
| 1771 | * Document that plans for |
| 1772 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/dev-release.html#stable[ |
| 1773 | stable-fix releases] should be announced |
| 1774 | |
| 1775 | * Document process for |
| 1776 | link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/dev-release.html#security[ |
| 1777 | security-fix releases] |
| 1778 | |
David Pursehouse | 1a3f9cc | 2013-02-28 18:12:28 +0900 | [diff] [blame] | 1779 | * The release notes are now made when a release is created by running the `tools/release.sh` script. |
| 1780 | |