Gerrit 2.0.22 is now available in the usual location:

Schema Change

There is no schema change in this release.

  • Restriction on SSH Username

    There is a new restriction placed on the SSH Username field within an account. Users who are using invalid names should be asked to change their name to something more suitable. Administrators can identify these users with the following query:

     -- PostgreSQL
     SELECT account_id,preferred_email,ssh_user_name
     FROM accounts
     WHERE NOT (ssh_user_name ~ '[a-zA-Z][a-zA-Z0-9._-]*[a-zA-Z0-9]$');

     -- MySQL
     SELECT account_id,preferred_email,ssh_user_name
     FROM accounts
     WHERE NOT (ssh_user_name REGEXP '[a-zA-Z][a-zA-Z0-9._-]*[a-zA-Z0-9]$');
Administrators can force these users to select a new name by
setting ssh_user_name to NULL; the user will not be able to
login over SSH until they return and select a new name.

New Features

  • GERRIT-280 create-project: Add --branch and cleanup arguments

    The --branch option to create-project can be used to setup the default initial branch to be a name other than master. Argument parsing also changed slightly, especially around the boolean options and submit type. Please recheck the documentation and/or the output of --help.

  • GERRIT-216 Add slave mode to ssh daemon

    The standalone SSH daemon can now be run in a read-only mode. This allows use Gerrit’s access control database for access decisions when serving a read-only copy of the project repositories. Placing a read-only slave local to a remote office may reduce sync times for those closer to the slave server.

  • Enable multi-line comment highlighting for Scala code

    Scala source code now highlights more like Java source code does, especially for multiline /** ... */ style comments.

  • GERRIT-271 Enable forcing ldap.accountSshUserName to lowercase

    The following properties may now be configured from LDAP using more complex expressions: accountFullName, accountEmailAddress, accountSshUserName. Property expressions permit forcing to a lowercase string, or performing string concatenation. These features may help some environments to better integrate with their local LDAP server.

  • Support username/password authentication by LDAP

    A new auth.type of LDAP was added to support Gerrit prompting the end-user for their username and password, and then doing a simple bind against the LDAP server to authenticate the user. This can simplify installation in environments which lack a web based single-sign-on solution, but which already have a centralized LDAP directory for user management.

  • Inform submitter of merge failure by dialog box

    When a change submit fails, a dialog box is now displayed showing the merge failure message. This saves the user from needing to scroll down to the end of the change page to determine if their submit was successful, or not.

  • Better submit error messages

    Missing dependency submit errors are now much more descriptive of the problem, helping the user to troubleshoot the issue on their own. Merge errors from projects using the cherry-pick and fast-forward submit types are also more descriptive of the real cause. Unfortunately path conflict errors are not any more descriptive, but path conflict is now only reported when there is actually a path conflict.

  • issue 285 Include pull command line in email notifications

    Sample git pull lines are now included in email notifications.

Bug Fixes

  • create-project: Document needing to double quote descr…

    The --description flag to create-project require two levels of quoting if the new description string contains whitespace. The documentation has been updated to reflect that, and shows some examples . Unfortunately this is not easily fixed in software, due to the way the SSH client passes the command line to the remote server.

  • GERRIT-281 daemon: Remove unnecessary requirement of HttpServletR…

    The standalone SSH daemon now starts correctly, without needing to put the Java servlet API into the CLASSPATH.

  • Enforce Account.sshUserName to match expression

  • Restrict typeable characters in SSH username

  • Disallow ., _ and - in end of SSH Username

    SSH usernames were permitted to contain any character, including oddball characters like \0 and /. We really want them to be a restricted subset which won’t cause errors when we try to map SSH usernames as file names in a Git repository as we try to move away from an SQL database.

  • GERRIT-282 Fix reply to comment on left side

    Clicking Reply to a comment on the left hand side sometimes generated a server error due to a subtle bug in how the reply was being setup. Fixed.

  • issue 282 Fix NullPointerException if ldap.password is missing

    The server NPE’d when trying to open an LDAP connection if ldap.username was set, but ldap.password was missing. We now assume an unset ldap.password is the same as an empty password.

  • issue 284 Make cursor pointer when hovering over OpenID links

    The cursor was wrong in the OpenID sign-in dialog. Fixed.

  • Use abbreviated Change-Id in merge messages

    Merge commits created by Gerrit were still using the older style integer change number; changed to use the abbreviated Change-Id.

Other Changes

  • Start 2.0.22 development

  • Configure Maven to build with UTF-8 encoding

  • Document minimum build requirement for Mac OS X

  • Merge change 10296

  • Remove trailing whitespace.

  • Update issue tracking link in documentation

  • Merge branch doc-update

  • Move client.openid to auth.openid

  • Fix minor errors in install documentation.

  • Merge change 11961

  • Cleanup merge op to better handle cherry-pick, error c…

  • GERRIT-67 Wait for dependencies to submit before claiming merge …

  • Move abandonChange to ChangeManageService

  • Remove trailing whitespace in install.txt

  • Gerrit 2.0.22