= Release notes for Gerrit 2.0.13, 2.0.13.1 Gerrit 2.0.13.1 is now available in the usual location: link:https://www.gerritcodereview.com/download/index.html[https://www.gerritcodereview.com/download/index.html] *WARNING: This version contains a major configuration change.* The schema upgrade needs to run in multiple parts. Apply the first half: ---- java -jar gerrit.war --cat sql/upgrade011_012_part1.sql | psql reviewdb ---- Now convert the system_config table to `$site_path/gerrit.config`. ---- java -jar gerrit.war ConvertSystemConfig ---- or, do this conversion by hand. See below for the mapping. After verifying `$site_path/gerrit.config` is correct for your installation, drop the old columns from the system_config table. *This causes configuration data loss.* ---- java -jar gerrit.war --cat sql/upgrade011_012_part2.sql | psql reviewdb ---- == Configuration Mapping || *system_config* || *$site_path/gerrit.config* || || max_session_age || auth.maxSessionAge || || canonical_url || gerrit.canonicalWebUrl || || gitweb_url || gitweb.url || || git_base_path || gerrit.basePath || || gerrit_git_name || user.name || || gerrit_git_email || user.email || || login_type || auth.type || || login_http_header || auth.httpHeader || || email_format || auth.emailFormat || || allow_google_account_upgrade || auth.allowGoogleAccountUpgrade || || use_contributor_agreements || auth.contributorAgreements || || sshd_port || sshd.listenAddress || || use_repo_download || repo.showDownloadCommand || || git_daemon_url || gerrit.canonicalGitUrl || || contact_store_url || contactstore.url || || contact_store_appsec || contactstore.appsec || See also [http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html Gerrit2 Configuration]. == New Features * GERRIT-180 Rewrite outgoing email to be more user friendly + A whole slew of feature improvements on outgoing email formatting was closed by this one (massive) rewrite of the outgoing email implementation. * GERRIT-187 Make n/p jump to last/first line if no more hunks are ... + When in a patch view (side by side or unified) new key bindings n/p jump to the previous or next hunk, which is very useful if you have context set to Whole File. * GERRIT-59 Add Next/Previous/Up links to the PatchScreen + Patch views now contain links to the next and previous file in the patch set, as well as back up to the change. This has been a very long standing UI glitch that is finally resolved. * Add "gerrit show-queue" to display the work queue * GERRIT-110 Add admin command "gerrit replicate" to force resync a... * Document all server side command line tools + There are new admin commands available over SSH, and all commands are now documented online. See [http://gerrit.googlecode.com/svn/documentation/2.0/cmd-index.html Command Line Tools]. The new `gerrit replicate` is very useful when a slave goes offline for a bit, and returns later. * Add remote.`<`name`>`.replicationdelay to control delay * GERRIT-110 Automatically replicate all projects at startup * GERRIT-110 Allow replication to match only some hosts * GERRIT-200 Schedule replication by remote, not by project + Replication has been made more robust by allowing the administrator to control the delay, as to isolate replication scheduling into different pools. This is very useful when replicating to multiple sites, e.g. to a warm-spare in the same data center, and to a far away slave in another country. Gerrit also now forces a full replication on startup, to ensure all slaves are consistent. * Move sshd_port to gerrit.config as sshd.listenaddress + The internal SSHD can now be bound to any IP address/port combinations, which can be useful if the system has multiple virtual IP addresses on a single network interface. * Switch from Java Mail to Apache Commons NET basic SMTP... * Block rcpt to addresses not on a whitelist + The new `sendemail` section of `$site_path/gerrit.config` now controls the configuration of the outgoing SMTP server, rather than relying upon a JNDI resource. See [http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html configuration] section sendemail for more details. == Bug Fixes * Fix file browser in patch that is taller than the wind... * GERRIT-184 Make 'f' toggle the file browser popup closed * GERRIT-188 Fix key bindings in patch when changing the old or new... * GERRIT-211 Remove spurious whitespace from blank lines in diff vi... * GERRIT-196 Fix CSS styling on the history table * GERRIT-193 Automatically switch from empty side-by-side to unifie... + Misc. bug fixes on the patch view screens that I identified after the 2.0.12 release. * GERRIT-182 Don't NPE when the remote peer address isn't yet known * GERRIT-192 Fix NPE in MergeOp when submit to new branch fails due... * GERRIT-207 Fix StackOverflowError during cherry-pick submit + Misc. internal bugs, primarily caused by stupid programming mistakes. * Invalid sshkeys cache entries when the sshUserName cha... + If a user tried to connect with the wrong user name, then tried to change their SSH User Name through the web UI (by selecting a different preferred email address), the negative cache entry created during their first connection attempt was stuck in the cache and future connections were still rejected. Gerrit now flushes both the old and the new user name cache entries when the user name changes. * GERRIT-210 Allow MINA SSHD to log about host key creation * Make SSH host key loading more consistent over time + It has been pointed out several times that its unclear why Gerrit keeps changing its host key with each startup; this is due to a failure to write the generated host key to disk. We now log about it, and make it less likely that other sorts of configuration modifications would cause an unexpected host key change. * Always run SSH replication in BatchMode * Special case NoRemoteRepository during replication * Simplify error logged for invalid URLs in replication.... * Special case UnknownHostKey during replication * Allow replication.config to drive the thread pool larg... * Fix treatment of symbolic refs in PushOp + A bunch of bug fixes related to error handling during replication. Errors are now logged in a more clear fashion, which should help administrators to debug replication problems. * Restore Ctrl-Backspace in comment editor * Use server name for ssh_info instead of local address * Use server name for advertised SSH host keys * Don't reverse resolve CNAMEs when advertising our SSHD + Bug fixes identified after release of 2.0.13, rolled into 2.0.13.1. == Other Changes * Start 2.0.13 development * Use gwtexpui 1.1.1-SNAPSHOT * Document the Patch.PatchType and Patch.ChangeType enum * Document the Change.Status enum * Remove useless boolean return value from ChangeMail he... * Remove pointless null assignment from PatchScreen * Move ChangeMail into its own server side package * Fix patch set replacement emails to correctly retain r... * Document ReviewDb.nextChangeMessageId * Document some of the core database entity graph * Rewrite the replication documentation * Add an anchor for Other Servlet Containers * Fix minor formatting style nit in PushQueue * Extract the PushOp logic from PushQueue * Refactor PushQueue.scheduleUpdate to be smaller methods * Refactor WorkQueue to support task inspection * Reload the submit queue on startup with a 15 second de... * Move the per-command ReviewDb handle up to AbstractCom... * Don't attempt to replicate the magic "-- All Projects ... * Document that remote..uploadpack is also support... * Correct the defaults for remote uploadpack, receivepack * Use a HashSet for the active tasks, rather than a List * Use gwtorm 1.1.1-SNAPSHOT * Remove references in documentation to My>Settings * Mention 'git receive-pack' --cc/--reviewer args * Fix NPE in "gerrit replicate --all" * Put a link back to the index in every page footer * Document the other standard caches * Delete now unnecessary ImportProjectSubmitTypes * Don't start background queues during command line tools * Create GerritConfig after parsing gerrit.config file * Create a utility to export system_config to gerrit.con... * Move contact store configuration to gerrit.config * Move gerrit_git_email,gerrit_git_name to gerrit.config * Move authentication fields from system_config to gerri... * Move gitwebUrl to gerrit.config * Move use_repo_download to gerrit.config * Move canonical_url, git_daemon_url to gerrit.config * Move git_base_path to gerrit.config * Document where the nextval_project_id function is for ... * Use gwtorm, gwtexpui 1.1.1 final versions * Add sendemail.enable to disable email output * Use mvn -offline mode when running ./to_hosted.sh * Disable AES192CBC and AES256CBC if unlimited cryptogra... * gerrit 2.0.13