Move release notes into the repository

This way we can keep track of the release notes on a per-release
basis easier, by writing the notes directly as text files.

Change-Id: I0777120da45793ccb83aa5a580a59fbf99d06480
Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
Shawn O. Pearce 2010-02-17 09:16:26 -08:00
parent 17b17c4a68
commit c20e283a46
30 changed files with 3582 additions and 1 deletions

View File

@ -12,7 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
DOC_HTML = $(patsubst %.txt,%.html,$(wildcard *.txt))
DOC_HTML = $(patsubst %.txt,%.html,$(wildcard *.txt)) \
$(patsubst %.txt,%.html,$(wildcard ReleaseNotes/*.txt))
ASCIIDOC = asciidoc
ASCIIDOC_EXTRA =
SVN = svn

2
ReleaseNotes/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.html
/.published

70
ReleaseNotes/Makefile Normal file
View File

@ -0,0 +1,70 @@
# Copyright (C) 2010 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
DOC_HTML = $(patsubst %.txt,%.html,$(wildcard ReleaseNotes*.txt))
ASCIIDOC = asciidoc
ASCIIDOC_EXTRA =
SVN = svn
PUB_ROOT = https://gerrit.googlecode.com/svn/ReleaseNotes
LOCAL_ROOT = .published
SCRIPTSDIR := $(shell pwd)/../Documentation/javascript
PUB_DIR = $(PUB_ROOT)
all: html
html: index.html $(DOC_HTML)
update: html
-rm -rf $(LOCAL_ROOT)
$(SVN) checkout $(PUB_DIR) $(LOCAL_ROOT)
rm -f $(LOCAL_ROOT)/*.html
cp *.html $(LOCAL_ROOT)
cd $(LOCAL_ROOT) && \
r=`$(SVN) status | perl -ne 'print if s/^! *//' ` && \
if [ -n "$$r" ]; then $(SVN) rm $$r; fi && \
a=`$(SVN) status | perl -ne 'print if s/^\? *//' ` && \
if [ -n "$$a" ]; then \
$(SVN) add $$a && \
$(SVN) propset svn:mime-type text/html $$a ; \
fi && \
$(SVN) commit -m "Updated release notes"
-rm -rf $(LOCAL_ROOT)
clean:
rm -f *.html
rm -rf $(LOCAL_ROOT)
index.html: index.txt $(SCRIPTSDIR)/toc.js
rm -f $@+ $@
$(ASCIIDOC) --unsafe \
-a toc \
-a 'scriptsdir=$(SCRIPTSDIR)' \
-b xhtml11 -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -o $@+ $<
mv $@+ $@
$(DOC_HTML): %.html : %.txt $(SCRIPTSDIR)/toc.js
rm -f $@+ $@
v=$$(echo $< | sed 's/^ReleaseNotes-//;s/.txt$$//;') && \
c=$$(git rev-list -1 HEAD -- $<) && \
n=$$(git describe $$c) && \
if [ "X$$n" != "Xv$$v" ]; then v="$$v (from $$n)"; fi && \
$(ASCIIDOC) --unsafe \
-a toc \
-a "revision=$$v" \
-a 'scriptsdir=$(SCRIPTSDIR)' \
-b xhtml11 -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -o $@+ $<
mv $@+ $@

View File

@ -0,0 +1,66 @@
Release notes for Gerrit 2.0.10
===============================
Gerrit 2.0.10 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
New Features
------------
* GERRIT-129 Make the browser window title reflect the current scre...
+
Useful usability enhancement when you have multiple tabs open.
* GERRIT-132 Allow binary files to be downloaded from changes for l...
+
Useful if you need to view say a Microsoft Word document or a PDF.
* GERRIT-130 Allow publishing comments on non-current patch sets
+
Now comments can still be published, even if the change owner has uploaded a replacement while you were creating drafts.
* GERRIT-138 Show the author name in change submitted email notific...
+
Minor enhancement to the way submitted emails are formatted.
Bug Fixes
---------
* GERRIT-91 Delay updating the UI until a Screen instance is fully...
+
This is a huge UI improvement. Gerrit now waits to display until the data is ready and the UI is updated. Thus you won't see it show stale data, and then suddenly update to
whatever you actually clicked on.
* GERRIT-134 Allow users to preview how Gerrit will format an inlin...
+
Also a huge usability improvement.
* Update SSHD to 1.0-r766258_M5
+
This version of MINA SSHD correctly supports SSH ControlMaster, a trick to reuse SSH connections, supported by repo. See [http://jira.source.android.com/jira/browse/REPO-11 REPO-11].
* GERRIT-122 Fix too wide SSH Keys table by clipping the server hos...
* GERRIT-131 Fix comment editors on the last line of a file
* GERRIT-135 Enable Save button after paste in a comment editor
* GERRIT-137 Error out if a user forgets to squash when replacing a...
Other Changes
-------------
* Start 2.0.10 development
* Add missing super.onSign{In,Out} calls to ChangeScreen
* Remove the now pointless sign in callback support
* Change our site icon to be more git-like
* Ensure blank space between subject line and body of co...
* Create a debug mode only method of logging in to Gerrit
* Refactor UI construction to be more consistent across ...
* Do not permit GWT buttons to wrap text
* Fix the sign in dialog to prevent line wrapping "Link ...
* Change Patch.ChangeType.ADD to be past tense
* Improve initial page load by embedding user account da...
* Automatically expand inline comment editors for larger...
* Merge change 9533
* Upgrade MINA SSHD to SVN 761333 and mina-core to 2.0.0...
* Use gwtexpui 1.0.4 final
* gerrit 2.0.10

View File

@ -0,0 +1,129 @@
Release notes for Gerrit 2.0.11
===============================
Gerrit 2.0.11 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
*WARNING: This version contains a schema change.*
Apply the schema upgrade:
----
java -jar gerrit.war --cat sql/upgrade009_010.sql | psql reviewdb
----
Important Notes
---------------
Cache directory
~~~~~~~~~~~~~~~
Gerrit now prefers having a temporary directory to store a disk-based content cache. This cache used to be in the PostgreSQL database, and was the primary reason for the rather large size of the Gerrit schema. In 2.0.11 the cache has been moved to the local filesystem, and now has automatic expiration management to prevent it from growing too large. As this is only a cache, making backups of this directory is not required.
It is suggested (but not required) that you enable this cache:
----
mkdir $site_path/disk_cache
chown gerrituser $site_path/disk_cache
chmod 700 $site_path/disk_cache ; # just to be paranoid
----
The directory can also be placed elsewhere in the local filesystem, see `cache.directory` in the `gerrit.config` file.
link:http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html[http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html]
Protocol change
~~~~~~~~~~~~~~~
The protocol between the browser based JavaScript and the server has changed. After installing 2.0.11 users need to load the site page again to ensure they are running 2.0.11 or later. Users can verify they have the new version by checking the version number in the footer in the lower right. Users who don't load the new version (e.g. are using a stale tab from a week ago) will see errors when trying to view patches.
New Features
------------
* GERRIT-8 Add 'Whole File' as a context preference in the user s...
* GERRIT-9 Honor user's "Default Context" preference
* GERRIT-14 Split patch view RPCs into two halves
* GERRIT-61 Database error in side by side view
* GERRIT-156 Rewrite the side-by-side and unified diff viewers
+
The side by side and unified patch viewers have been completely rewritten. Gerrit now honors the user's Default Context setting (from My > Settings) in both the side by side and the unified patch view. A new "Whole File" setting is also available, showing the complete file.
* GERRIT-154 Add the branch name to the beginning of the subject li...
* Sending mail when merge failed due to path conflict, m...
+
Some improvements have been made with regards to the emails sent by Gerrit.
* Configure the JGit WindowCache from $site_path/gerrit....
* Document the new gerrit.config file
+
Gerrit now supports a Git-style "$site_path/gerrit.config" configuration file. Currently this supports configuration of the various memory caches, including control over JGit's pack file cache. See the updated documentation section for more details:
link:http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html[http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html]
* Add "gerrit show-caches" to view cache statistics
+
There is a new administrative command over SSH called "gerrit show-caches" which displays current cache statistics for the various caches within the Gerrit memory space.
* Expand local part emails when creating new changes
+
Simple DWIMery: users can now do `repo upload --reviewer=who` to have the reviewer email automatically expand according to the email_format column in system_config, e.g. by expanding `who` to `who@example.com`.
Bug Fixes
---------
* GERRIT-81 Can't repack a repository while Gerrit is running
+
Running "git repack", "git gc" or "git fetch" in a repository owned by Gerrit is now safe while Gerrit is running.
* GERRIT-165 Don't create new user accounts as full name = "null nu...
+
New users coming from Google Accounts OpenID provider where given a full name of "null null" rather than "Anonymous Coward".
* Honor account.preferred_email when checking co...
+
Service users created by manually inserting into the accounts table didn't permit using their preferred_email in commits or tags; administrators had to also insert a dummy record into the account_external_ids table. The dummy account_external_ids record is no longer necessary.
Other Changes
-------------
* Start 2.0.11 development
* Include the 'Google Format' style we selected in our p...
* Upgrade JGit to v0.4.0-310-g3da8761
* Include JGit sources when building GWT code
* Cleanup classpath and use source JARs to build JavaScr...
* Remove the ImportGerrit1 command line utility
* Remove EncryptContactInfo helper program
* Add custom serialization for jgit.diff.Edit
* Add Ehcache 1.6.0-beta5 to our dependency list
* Start/stop Ehcache when GerritServer starts/stops
* Cache OpenID discovery results inside of Ehcache
* Cache JGit FileHeader and EditList inside of Ehcache
* Store FileHeader and EditList in Ehache during patch s...
* Remove the now dead patch_contents table from the data...
* Fix "null null" user names during schema upgrade from ...
* Work around asciidoc 8.2.2 not including our APLv2 lic...
* Remove unused logger from SshServlet
* Reuse is administrator test in admin SSH commands
* Use common PrintWriter construction in command impleme...
* Refactor gerrit flush-caches to just flush everything ...
* GERRIT-166 Move the SSH key cache into Ehcache
* Change the diff cache serialization of JGit ObjectId i...
* Fix git_base_path documentation in config-gerrit
* Clarify the default max_session_age in config-gerrit
* Enhance the site_path entry in config-gerrit
* Clarify the caching of static assets under $site_path/...
* Minor grammar fixes in the Google Analytics documentat...
* Document that replication honors StrictHostKeyChecking
* Document how ~/.ssh/known_hosts is used during replica...
* Document how ssh-agent cannot be used for replication
* Fix git_base_path references in project-setup
* Cleanup project setup documentation
* Expand the config-contact documentation to describe th...
* Clarify the gitweb integration documentation
* Minor corrections in install documentation
* Reformat the config-gerrit page to free up section hea...
* Enable table of contents in documentation files
* Add the source code version number to documentation
* More reformatting of the config-gerrit page
* Cleanup formatting references for file system path var...
* Cleanup the documentation index
* Kill the feature roadmap in the documentation
* Only use the disk cache directory if we can write to it
* Change the title of the installation guide
* Note in the developer install guides that you need to ...

View File

@ -0,0 +1,140 @@
Release notes for Gerrit 2.0.12
===============================
Gerrit 2.0.12 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
*WARNING: This version contains a schema change.*
Apply the schema upgrade:
----
java -jar gerrit.war --cat sql/upgrade010_011.sql | psql reviewdb
----
Important Notes
---------------
Java 6 Required
~~~~~~~~~~~~~~~
Gerrit now requires running within a Java 6 (or later) JVM.
Protocol change
~~~~~~~~~~~~~~~
The protocol between the browser based JavaScript and the server has changed. After installing 2.0.12 users need to load the site page again to ensure they are running 2.0.12 or later. Users can verify they have the new version by checking the version number in the footer in the lower right. Users who don't load the new version (e.g. are using a stale tab from a week ago) will see errors when trying to view patches.
New Features
------------
* Honor --reviewer=not.preferred.email during upload
* Also scan by preferred email for --reviewers and --cc ...
+
Better DWIMery for matching reviewers by name, email address, or just local name (e.g. "jdoe") if using HTTP authentication with email_format.
* Add support for MySQL database
+
Now MySQL can be used as a backend data store.
* Switch all current SSH commands to use args4j
* Allow targeted cache flushes to only specific caches
+
SSH commands, especially administrative ones like "gerrit show-caches", "gerrit flush-caches", or "gerrit show-connections" now accept options like "-h"/"--help" to view command line options, and use a more typical option parsing semantics.
* GERRIT-164 Bind our SSH daemon with SO_REUSEADDR
* Honor sshd.tcpKeepAlive for TCP keep alive controls
* Enable SSH daemon cipher and MAC configuration
+
The SSH daemon now binds with SO_REUSEADDR, making warm-restarts of the daemon easier, especially if the site is busy. Additionally, gerrit.config gained some new options to further control the behavior of the internal SSHD.
* Add admin command 'gerrit show-connections'
+
The new "gerrit show-connections" command reports who is connected, from what host, and what command(s) they are running on that SSH session.
* Replace the top menu bar with a tab panel and links
* GERRIT-27 Add a search box to quickly locate changes by change n...
+
The top menu bar area has been redesigned, and a search box has been added on the right, below the username and Settings links. Currently the search box only accepts change numbers, but in the future we hope to support additional types of query strings.
* Allow users to disable clippy the flash movie if they ...
+
A new per-account setting permits users to disable the clippy Flash movie that supports copying text to the clipboard. In every context where this movie appears clicking on the text converts it to a text box, allowing a fast "click Ctrl-C" interaction to place the text on the clipboard. Personally I've found that loading 3 Flash movies on a change page really slowed down the UI rendering, so I wanted to disable the Flash movies.
* Allow users to control the number of results per page
+
A new per-account setting allows users to control how many rows appear per page in the All screens, like All Open Changes, etc.
* Rewrite the keyboard event handlers to use new GlobalK...
* GERRIT-136 Implement n/p keys to jump to next/previous diff chunk...
* Add keyboard bindings n/p for all change lists to pagi...
* Put the "Use '?' for keyboard help" ahead of the versi...
* GERRIT-136 Use 'f' in a patch to browse the list of files in the ...
* Add global jump navigation keys for the main menu
+
Keyboard bindings have been completely overhauled in this release, and should now work on every browser. Press '?' in any context to see the available actions. Please note that this help is context sensitive, so you will only see keys that make sense in the current context. Actions in a user dashboard screen differ from actions in a patch (for example), but where possible the same key is used when the logical meaning is unchanged.
Bug Fixes
---------
* Ignore "SshException: Already closed" errors
+
Hides some non-errors from the log file.
* GERRIT-86 Stop generating raw #target anchor tags
+
Should be a minor improvement for MSIE 6 users.
Other Changes
-------------
* Start 2.0.12 development
* Report what version we want on a schema version mismat...
* Remove unused imports in SshServlet
* Fix vararg warnings in GerritSshDaemon
* Update Ehcache to 1.6.0-beta5
* Update SSHD to 1.0-r773859
* Start targeting Java 1.6
* Switch Maven GWT plugin to org.codehaus.mojo:gwt-maven...
* GERRIT-75 Upgrade to GWT 1.6.4
* GERRIT-75 Switch to GWT 1.6's new HostedMode debugging utility
* Allow become any account to use GET parameters
* Switch to gwtexpui's new CSS linker module
* Load the GWT theme before any other stylesheets
* Switch from our own LazyTabChild to GWT 1.6's LazyPanel
* GERRIT-75 Convert all GWT 1.5 listener uses to GWT 1.6 handlers
* Stop bundling the PostgreSQL driver
* Upgrade JGit to 0.4.0-372-gbd3c3db
* Add args4j 2.0.12 as a dependency
* Describe MySQL and H2 setup in jetty_gerrit.xml templa...
* Actually deregister a command when it exits
* Put the link to the review inside the body instead of ...
* Fix change permalinks after breaking them during GWT 1...
* Delete dead CSS bundle code
* Always use NpTextBox or NpTextArea to prevent GlobalKe...
* Detect cases where system_config has too many rows
* Remove unnecessary warning supressions
* Remove dead code, these aren't used anymore
* Fix warnings about potential serialization problems
* Fix warning about debug code in OpenIdServiceImpl
* Blur menu item hyperlinks on activation
* Fix LinkMenuItem blur on older browsers
* Remove dead LoginService, SignInResult classes
* Remove pointless GWT.isClient calls in Gerrit module
* Refactor how user preferences are applied to the UI
* Move the watched project list to its own tab in settin...
* Refactor account preferences model
* Sort the RSA host key before the DSA host key
* Clarify what the "known hosts entry" is
* Cleanup the name of the search focus key registration
* Change sign out handler to use GWT's HandlerManager su...
* Fix all onLoad, onUnload methods to be protected acces...
* Honor GWT 1.6's handleAsClick logic in DirectScreenLink
* Switch all hyperlinks to be InlineHyperlink
* Fix unused import in PatchScreen
* Make n/p only honor comments on file adds/deletes
* Switch to gwtjsonrpc's new Handler based status update...
* Move the comment editor actions into their own keyboar...
* Ensure the row pointer is visible before moving it
* Automatically reposition/resize file browser if window...
* Minor cleanup to Gerrit module bootstrap code path
* Make escape in the search box abort the search
* Switch to tagged gwtexpui, gwtjsonrpc, gwtorm
* gerrit 2.0.12

View File

@ -0,0 +1,172 @@
Release notes for Gerrit 2.0.13, 2.0.13.1
=========================================
Gerrit 2.0.13.1 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
*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.<name>.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

View File

@ -0,0 +1,116 @@
Release notes for Gerrit 2.0.14, 2.0.14.1
=========================================
Gerrit 2.0.14.1 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
*WARNING: This version contains a schema change* (since 2.0.13)
Apply the database specific schema script:
----
java -jar gerrit.war --cat sql/upgrade012_013_postgres.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade012_013_mysql.sql | mysql reviewdb
----
New Features
------------
* GERRIT-177 Display branch name next to project in change list
+
Now its easier to see from your Mine>Changes what branch each change goes to. For some users this may help prioritize reviews.
* GERRIT-27 Add commit SHA-1 search to search panel
+
The search box in the top right now accepts full or abbreviated commit SHA-1s, in addition to change numbers. This is a more user friendly way to locate a change, instead of hacking the URL with the legacy /r/commitsha1 reference.
* Add "Ignore whitespace" to patch views
+
You can now ask for a difference ignoring leading/trailing whitespace, which may be useful in a review when a block of code is moved underneath an if, or moved out of an if.
* Added a checkbox to switch between contextual/full fil...
+
You can now switch a side-by-side view to full context without going to Settings and returning back.
* GERRIT-115 Automatically close changes when a commit is pushed in...
* GERRIT-54 Close change if a replacement patch set is already sub...
+
These pair of changes basically mean that if you download and merge a commit locally, then push that directly into a branch (assuming you have been granted Push access), the change closes automatically. Likewise, if a replacement patch set is uploaded to a change, but is already merged to a branch, the change closes automatically. These close some loopholes where the branches and the changes weren't necessarily always in sync.
* Add a micro scp daemon to our SSHD
* Create gerrit-cherry-pick for client usage
+
Gerrit now runs a micro scp daemon as part of its SSHD, and that scp provides a read-only access of some utility functions for client computers.
gerrit-cherry-pick is a small Bourne shell script end-users can scp onto their local system, then use to download and cherry-pick changes from Gerrit by change number.
More tools are likely to be developed in the future.
* Audit group member addition and removals
* Add automaticMembership flag to account groups
* GERRIT-17 Enable groups to manage contributor agreements
+
Group membership changes are now audited in the account_group_members_audit table, but the information is not currently published in the web UI. This is a start in the direction of keeping track of "who had access to do what when". In addition, if you use contributor agreements (like review.source.android.com does), CLA acknowledgement can now be done through group membership, rather than a per-user basis.
* GERRIT-174 Record the submitter in the reflog during merge
+
This is really for the server admin, the Git reflogs are now more likely to contain actual user information in them, rather than generic "gerrit2@localhost" identities. This may help if you are mining "WTF happened to this branch" data from Git directly.
Bug Fixes
---------
* GERRIT-213 Fix n/p on a file with only one edit
* GERRIT-66 Always show comments in patch views, even if no edit e...
* Correctly handle comments after last hunk of patch
+
Bug fixes for patch views (e.g. side by side and unified). Always showing comments is a really nice plus, it helps during a review to ensure that reviewer comments were addressed, even if there was no edit made in that region of the file.
* Don't allow commits to replace in wrong project
+
It was possible to upload a replacement commit in project Foo to a change created in project Bar, putting the Bar change into a corrupt and not-viewable state. This is now correctly error-checked.
* Update SSHD to 1.0-r784137
* GERRIT-199 Update JGit to 0.4.0-388-gd3d9379
* Update JGit to 0.4.0-398-ge866578
+
JGit suffered from some performance problems when the client was very far ahead of the server, e.g. fetching an Android msm kernel (which is based on an older Linux kernel) into a recent bleeding edge kernel repository took hours. It now takes seconds. SSHD was bumped to pick up MINA 2.0.0-M6 which fixes some minor bugs, and is likely to be the final 2.0.0 release version.
* Fix double click on patch set SHA-1 to select only SHA...
* GERRIT-190 Provide feedback when a reviewer is invalid
* GERRIT-191 Show email address matched by completion rather than p...
+
Minor cosmetic improvements.
* Fix multiple recipient To/CC headers in emails
+
Fixed run-on addresses when more than one user was listed in To/CC headers.
Other Changes
-------------
* Start 2.0.14 development (again)
* Small doc updates.
* Merge change 10282
* documentation: Use git config --file path
* Skip the ssh:// download URL if the SSHD is unknown
* Refactor submitter to PersonIdent mapping in MergeOp
* Refactor MergeOp.getSubmitter to return the ChangeAppr...
* Remove invalid usage of List.subList(int,int)
* Convert command line programs to use args4j
* Don't permit overlapping Edit instances in patch scrip...
* Merge change 10347
* Update executablewar to 1.2
* Pass the PatchScriptSettings back as part of the Patch...
* Move PatchScriptSettings to .data package
* Use ValueChangedHandler for CheckBox update events in ...
* Display post-image lines in side-by-side view when ign...
* Use binary search when pulling lines from SparseFileCo...
* Fix compile error in PatchFile
* Don't try to auto-close changes on branch delete
* Document the new gerrit-cherry-pick command
* gerrit 2.0.14
+
* Start 2.0.15 development
* GERRIT-221 Ensure RevCommit's body buffer is available when needed
* Fix stack trace capture in Receive error path
* Fix --reviewer during replace patch set
* Document git receive-pack with Gerrit options
* Add toString debugging aids to SparseFileContent
* GERRIT-220 Fix bad diff display near empty comment caused edits
* gerrit 2.0.14.1

View File

@ -0,0 +1,40 @@
Release notes for Gerrit 2.0.15
===============================
Gerrit 2.0.15 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Schema Change
-------------
None. For a change. :-)
New Features
------------
* Allow other ignore whitespace settings beyond IGNORE_S...
+
Now you can ignore whitespace inside the middle of a line, in addition to on the ends.
Bug Fixes
---------
* Update SSHD to include SSHD-28 (deadlock on close) bug...
+
Fixes a major stability problem with the internal SSHD. Without this patch the daemon can become unresponsive, requiring a complete JVM restart to recover the daemon. The symptom is connections appear to work sporadically... some connections are fine while others freeze during setup, or during data transfer.
* Fix line-wrapped To/CC email headers
+
Long To/CC headers with multiple recipients sometimes ran together, making Reply-to-all in the user's email client not address them correctly. This was a bug in the header formatting code, it wasn't RFC 2822 compliant.
* GERRIT-227 Fix server error when remaining hunks are comments
* Fix binary search in SparseFileContent
+
Stupid bugs in the patch viewing code. Random server errors and/or client UI crashes.
Other Changes
-------------
* Restart 2.0.15 development
* Update JGit to 0.4.0-411-g8076bdb
* Remove dead isGerrit method from AbstractGitCommand
* Update JSch to 0.1.41
* gerrit 2.0.15

View File

@ -0,0 +1,85 @@
Release notes for Gerrit 2.0.16
===============================
Gerrit 2.0.16 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Schema Change
-------------
*WARNING: This version contains a schema change* (since 2.0.14)
Apply the database specific schema script:
----
java -jar gerrit.war --cat sql/upgrade013_014_postgres.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade013_014_mysql.sql | mysql reviewdb
----
New Features
------------
* Search for changes created or reviewed by a user
+
The search box in the upper right corner now accepts "owner:email" and "reviewer:email", in addition to change numbers and commit SHA-1s. Using owner: and reviewer: is not the most efficient query plan, as potentially the entire database is scanned. We hope to improve on that as we move to a pure git based backend.
* Make History panel settings in a diff screen sticky
+
When comparing different patch sets, e.g. patch set 3 against patch set 2, the settings are now sticky across files in the same change, reducing the number of clicks required to re-review an existing change.
* GERRIT-113 Permit projects to require Signed-off-by lines to crea...
+
GERRIT-113 requested that project owners be able to enforce having a Signed-off-by line in the footer of a commit message. Forks of the Linux kernel require this line in order to contribute back upstream. If enabled in the project settings screen there must be a SOB line for the author, the committer, and the uploader of a change (though typically committer == uploader).
* Use Tested-by: instead of Verified-by: during cherry-p...
+
The Verified-by footer line created during a cherry-picked submit is now called Tested-by. This better matches with the upstream Linux kernel's conventions of what the role means. Since the kernel is more widespread than Gerrit Code Review, I'm sticking with the kernel's conventions.
* Extract reviewer suggestions from commit messages
+
If a commit message contains Reviewed-by, Tested-by or CC footer lines and those email addresses are registered in Gerrit, those users will receive notification of the new change. This is an alternate method to supplying reviewer address on the command line.
* Drop the unnecessary host page servlet name from URLs
+
The "/Gerrit" suffix is no longer necessary in the URL. Gerrit now favors just "/" as its path location. This drops one redirection during initial page loading, slightly improving page loading performance, and making all URLs 6 characters shorter. :-)
Bug Fixes
---------
* Don't create reflogs for patch set refs
+
Previously Gerrit created pointless 1 record reflogs for each change ref under refs/changes/. These waste an inode on the local filesystem and provide no metadata value, as the same information is also stored in the metadata database. These reflogs are no longer created.
* Fix "Error out if a user forgets to squash when replac...
+
Users were still able to find a way to make a change depend upon itself, which makes the change unsubmittable. Often this was done by creating a merge commit, then committing on top of that, and uploading it as a replacement. Gerrit failed to notice this condition because it only considered direct ancestors, now it also looks for indirect ancestors.
* Fix syntax error in MySQL URL in jetty_gerrit.xml
+
Someone noticed that the MySQL URL was invalid XML, its fixed now.
* Catch OpenID errors caused by clock skew and present t...
+
OpenID errors caused by clock skew (or other factors) now present as an error in the client user interface, and in the server log file, making it more obvious when an OpenID failure occurs. New administrators trying to setup Gerrit installations have often run into problems here, due to bad error reporting.
* GERRIT-232 Support HTTP connections tunneled through SSH
+
If the hostname is "localhost" or "127.0.0.1", such as might happen when a user tries to proxy through an SSH tunnel, we honor the hostname anyway if OpenID is not being used.
Other Changes
-------------
* Start 2.0.16 development
* Update JGit to 0.4.9-18-g393ad45
* Name replication threads by their remote name
* Exclude JGit's JSch version during build
* Update ehcache to 1.6.0 release
* Update JGit to 0.5.0
* Update openid4java to 0.9.5 release
* Remove --offline mode from to_hosted.sh
* Save all project settings in one RPC
* Don't tag Reviewed-by, Tested-by if already Signed-off...
* Don't append duplicate Reviewed-on Gerrit URLs during ...
* Don't append duplicate Verified-by or Tested-by lines
* Use the List<FooterLine> to determine if a paragraph b...
* Try harder to pretty-print an exception name in error ...
* Fix minor whitespace issues in ErrorDialog
* Document how to contribute to Gerrit Code Review
* gerrit 2.0.16

View File

@ -0,0 +1,108 @@
Release notes for Gerrit 2.0.17
===============================
Gerrit 2.0.17 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Schema Change
-------------
*WARNING: This version contains a schema change* (since 2.0.16)
Apply the database specific schema script:
----
java -jar gerrit.war --cat sql/upgrade014_015_part1_postgres.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade014_015_part1_mysql.sql | mysql reviewdb
----
After the upgrade is successful, apply the final script to drop dead columns:
----
java -jar gerrit.war --cat sql/upgrade014_015_part2.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade014_015_part2.sql | mysql reviewdb
----
New Features
------------
* Add '[' and ']' shortcuts to PatchScreen.
+
The keys '[' and ']' can be used to navigate to previous and next file in a patch set.
* GERRIT-241 Always show History panel in PatchScreen
+
The History panel in a patch screen is now always shown, even if there is only one patch set for this file. This permits viewing the number of comments more easily when navigating through files with ']'.
* Add 'Reply' button to comments on diff screen
+
There is now a 'Reply' button on the last comment, making it easier to create a new comment to reply to a prior comment on the same line. However, Gerrit still does not quote the prior comment when you reply to it.
* GERRIT-228 Apply syntax highlighting when showing file content
+
Files are now syntax highlighted. The following languages are supported, keyed from common file extensions: C (and friends), Java, Python, Bash, SQL, HTML, XML, CSS, JavaScript, and Makefiles.
* GERRIT-139 Allow mimetype.NAME.safe to enable viewing files
+
The new configuration option mimetype.NAME.safe can be set to enable unzipped download of a file, for example a Microsoft Word document. See http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html for examples.
* GERRIT-179 Display images inline for compare if mimetype.image/*....
+
If mimetype.image/TYPE.safe is true images can be viewed inline in order to more easily visually compare them when an image is modified. Primarily useful for viewing icons in an icon library.
* File review status tracking.
+
Per-user green check marks now appear when you view a file. This makes it easier to keep track of which patch set you last looked at, and within a patch set, which files you have looked at, and which ones you have not.
* GERRIT-247 Allow multiple groups to own a project
+
The owner of a project was moved from the General tab to the Access Rights tab, under a new category called Owner. This permits multiple groups to be designated the Owner of the project (simply grant Owner status to each group).
Bug Fixes
---------
* Permit author Signed-off-by to be optional
+
If a project requires Signed-off-by tags to appear the author tag is now optional, only the committer/uploader must provide a Signed-off-by tag.
* GERRIT-197 Move 'f' and 'u' navigation to PatchScreen
+
The 'f' and 'u' keystrokes in a patch screen were disabled when there were no differences to view. This was fixed, they are now always available.
* Remove annoying 'no differences' error dialog
* GERRIT-248 Fix server crash when showing no difference
+
The "No Differences" error dialog has been removed. Instead the "No Differences" message is displayed in the patch screen. This makes navigation through a pair of patch sets easier with ']' (no dialog stopping to interrupt you when you encounter a file that has not changed and has no comments).
* GERRIT-244 Always enable Save button on comment editors
+
Some WebKit based browsers (Apple Safari, Google Chrome) didn't always enable the Save button when selecting a word and deleting it from a comment editor. This is a bug in the browser, it doesn't send an event to the Gerrit UI. As a workaround the Save button is now just always enabled.
* GERRIT-206 Permit showing changes to gitlinks (aka submodule poin...
+
You can now view a change made to a gitlink (aka a submodule path).
* GERRIT-171 Don't crash the submit queue when a change is a criss-...
+
Instead of crashing on a criss-cross merge case, Gerrit unsubmits the change and attaches a message, like it does when it encounters a path conflict.
Other Changes
-------------
* Start 2.0.17 development
* Move '[' and ']' key bindings to Navigation category
* Use gwtexpui 1.1.2-SNAPSHOT to fix navigation keys
* A few Javadocs and toString() methods for Patch and Pa...
* Merge change 10646
* Include the mime-util library to guess file MIME types
* Merge change 10667
* Added missing access method for accountPatchReviews
* Fix bad upgrade014_015 ALTER TABLE command
* GERRIT-245 Update PatchBrowserPopup when reviewed status is modif...
* Remove DiffCacheContent.isNoDifference
* Fix upgrade014_015 part1 scripts WHERE clause
* Don't allow users to amend commits made by Gerrit Code...
* Fix bad formatting in UnifiedDiffTable appendImgTag
* GERRIT-228 Add google-code-prettify 21-May-2009 version
* GERRIT-228 Load Google prettify JavaScript into client
* Fix formatting errors in PatchScreen
* Remove unused imports
* GERRIT-250 Fix syntax highlighting of multi-line comments
* Use gwtexpui 1.1.2
* gerrit 2.0.17

View File

@ -0,0 +1,317 @@
Release notes for Gerrit 2.0.18
===============================
Gerrit 2.0.18 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Important Notices
-----------------
Please ensure you read the following important notices about this release; .18 is a much larger release than usual.
* OpenID Configuration
+
If you use OpenID authentication, the `trusted_external_ids`
table has moved from the database to the local gerrit.config
file. Please ensure you copy any critical patterns to the
`auth.trustedOpenID` setting in gerrit.config before upgrading
your server. Failure to set a pattern will allow Gerrit
to trust any OpenID provider. Refer to `auth.trustedOpenID` in
[http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html Configuration] for more details.
* Caches
+
The groups that a user is a member of is no longer stored in the
`groups` cache; it is now part of the `accounts` cache. If you
use a cron script to update the `account_groups` database table
based upon an external data source (such as LDAP), you will need
to adjust your script to flush the `accounts` cache.
The `diff` cache is no longer written to disk by default.
To enable the disk store again, administrators must explicitly
set `cache.directory` in the gerrit.config file prior to starting
Gerrit.
* SSH Usernames
+
SSH usernames are no longer automatically assigned to the
local part of the user's email address. With 2.0.18, usernames
must also be unique within the database. These changes were
implemented to resolve a minor potential security issue with
the SSH authentication system. More details can be found in the
[http://android.git.kernel.org/?p=tools/gerrit.git;a=commit;h=080b40f7bbe00ac5fc6f2b10a861b63ce63e8add commit message].
Schema Change
-------------
*WARNING: This version contains a schema change* (since 2.0.17)
Important notes about this schema change:
* The schema change may be difficult to undo once applied.
+
Downgrading could be very difficult once the upgrade has been started.
Going back to 2.0.17 may not be possible.
* Do not run the schema change while the server is running.
+
This upgrade changes the primary keys of several tables, an operation
which shouldn't occur while end-users are able to make modifications to
the database. I _strongly_ suggest a full shutdown, schema upgrade,
then startup approach for this release.
Apply the database specific schema script:
----
java -jar gerrit.war --cat sql/upgrade015_016_part1_postgres.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade015_016_part1_mysql.sql | mysql reviewdb
----
After the upgrade is successful, apply the final script to drop dead tables:
----
java -jar gerrit.war --cat sql/upgrade015_016_part2.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade015_016_part2.sql | mysql reviewdb
----
New Bugs
--------
* Memory leaks during warm restarts
2.0.18 includes [http://code.google.com/p/google-guice/ Google Guice], which leaves a finalizer thread dangling when the Gerrit web application is halted by the servlet container. As this thread does not terminate, the web context stays loaded in memory indefinitely, creating a memory leak. Cold restarting the container in order to restart Gerrit is highly recommended.
New Features
------------
* GERRIT-104 Allow end-users to select their own SSH username
+
End users may now select their own SSH username through the web interface. The username must be unique within a Gerrit server installation. During upgrades from 2.0.17 duplicate users are resolved by giving the username to the user who most recently logged in under it; other users will need to login through the web interface and select a unique username. This change was necessary to fix a very minor security bug (see above).
* Display supported commands when subcommand is not prov...
+
Running `ssh -p 29418 gerrit.example.com gerrit` now lists the complete set of subcommands recognized by the gerrit top level command. This (slightly) improves discoverability of the remote command execution facilities.
* Add a Register link in the menu bar when not signed in
+
The Register link in the top right shows up on OpenID based sites when the user is not yet signed in. This should help discoverability of signing into a Gerrit server to establish your account identity.
* Combine all initial page data into a single object
* Avoid XSRF initialization requests by using one token ...
+
An initial XSRF token is now sent as part of the initial HTTP request, and used for all subsequent RPCs from that browser. This reduces the initial page load time by cutting out a few round trips that previously were used to bootstrap that XSRF token.
* Redirect /Gerrit#foo to /#foo on the client side
+
Gerrit now favors "/#mine" rather than "/Gerrit#mine" for URLs. Older style URLs will be redirected to the newer style automatically, for the foreseeable future.
* Sort permissions in project access tab
* Get branches directly from Git rather than database
* Style tab panel headers like our menu bar header
* Narrow tables that don't have to be 100% width
* Cleanup display of external ids in the user settings
+
A few minor UI nits in the Settings and Admin panels. The new UI is a bit more consistent with the theme, and formats data in a bit more sane way. Nothing earth shattering.
* Make disk cache completely optional
+
As noted above in the section about cache changes, the disk cache is now completely optional.
Bug Fixes
---------
* GERRIT-5 Remove PatchSetInfo from database and get it always fr...
+
A very, very old bug. We no longer mirror the commit data into the SQL database, but instead pull it directly from Git when needed. Removing duplicated data simplifies the data store model, something that is important as we shift from a SQL database to a Git backed database.
* GERRIT-220 Fix infinite loop in PatchScriptBuilder
+
Under somewhat rare conditions web request threads locked up in an infinite loop while obtaining the data necessary to show a side-by-side or unified patch view to a browser. The loop doesn't allocate any memory, or perform any database requests, but it still ties up a database connection and a servlet container request processing thread indefinitely. We found the bug internally at Google when our Gerrit server load average spiked to 32... and we had no more connections in our database connection pool, which was also sized at a max of 32 handles.
* Fix Reviewed-On lines to only include the server URL o...
+
The Reviewed-On lines in cherry-picked commits were duplicating the server URL.
* Set outgoing email header Content-Transfer-Encoding: 8...
+
Emails are sent in UTF-8, which may have the high bit set. Thus the transfer encoding must always be set as 8bit, to prevent gateways from potentially discarding the high bits and corrupting the UTF-8 message payload.
* Ensure OpenID related responses aren't cached by proxi...
+
Some OpenID related login responses may have sent HTTP headers which were confusing to proxies, potentially allowing a proxy to cache something it should not have cached. The headers were clarified to better denote no caching is permitted.
* Move ChangeApproval to be a child of PatchSet
+
The database schema changed, adding `patch_set_id` to the approval object, and renaming the approval table to `patch_set_approvals`. If you have external code writing to this table, uh, sorry, its broken with this release, you'll have to update that code first. :-\
Other Changes
-------------
This release is really massive because the internal code moved from some really ugly static data variables to doing almost everything through Guice injection. Nothing user visible, but code cleanup that needed to occur before we started making additional changes to the system.
* Start 2.0.18 development
* Remove bad import of HostPageServlet
* Upgrade GWT to 1.7.0
* Update gwt-maven-plugin to 1.1 release
* Remove dead gwt-maven repository
* Stop including gwt-dev JARs in project classpath
* Remove ConvertSystemConfig utility
* Update SSHD to 1.0-r798139
* Update JGit to 0.5.0-57-g4c5eb17
* Replace our RepositoryCache with JGit's RepositoryCache
* Make missing project descriptions an empty file
* Remove unused imports.
* Move all service implementations into server side code
* Move RpcConstants out of Common class
* Move the CurrentAccountImpl accessor to Gerrit onModul...
* Move workflow function access to CategoryFunction class
* Move ChangeDetail.load to strictly server side code
* Move the workflow package to be strictly server side
* Add Guice 2.0 to our dependencies
* Switch web.xml to Guice based injection
* Use Guice injection to pass GerritServer to HttpServle...
* Use Guice to inject GerritServer into RPC backends
* Move calls to Common.getSchemaFactory to GerritServer....
* Create the EncyptedContactStore during servlet startup
* Move OpenID implementation setup to Guice
* Remove more Common.getSchemaFactory invocations to dir...
* Pass GerritServer down through SSH command factory
* Pass GerritServer instance down through the push queue
* Use Guice to setup the FileTypeRegistery singleton
* Delete unnecessary GerritCacheControlFilter
* Remove pointless Srv subclasses of GerritJsonServlet
* Refactor FileTypeRegsitery to be an interface
* Let Guice inject the ContactStore implementation
* Remove dependency on gwtexpui, gwtjsonrpc and gwtorm p...
* Use Guice to bring up the SSH daemon and its configura...
* Remove unnecessary GerritServer field in Receive comma...
* Move PushQueue and ReplicationQueue to singletons mana...
* Get rid of the GerritServer static singleton
* Provide SchemFactory ReviewDb by Guice and not Gerrit...
* Get the SystemConfig from Guice rather than GerritServ...
* Merge change 10823
* Inject the site path configuration setting directly
* Use FileBasedConfig Config rather than RepositoryConfig
* Correct copyright dates in SitePath support to be 2009
* Load gerrit.config through Guice injection
* Refactor outgoing email to be constructed by Guice
* Move contact store configuration off GerritServer
* Configure Eclipse projects to cleanup trailing whitesp...
* Move PatchSetPublishDetail.load() to server side and i...
* Hide GerritServer.getGerritConfig and use Guice outsid...
* Use Guice to create the per-request GerritCall object
* RegisterNewEmailSender is managed by Guice through Ass...
* AddReviewerSender class is managed by Guice through As...
* Merge change 10856
* Merge change 10858
* FilebasedConfig requires File pointing at config file ...
* CreateChangeSender class is managed by Guice through A...
* AbandonedSender is managed by Guice now.
* Move RegisterNewEmailSender to servlet module
* Move authentication bits out of GerritServer
* Update Ehcache to 1.6.1
* Move Ehcache construction out of GerritServer to Guice
* CommentSender is managed by Guice now.
* MergedSender class is managed by Guice now.
* MergeFailSender is managed by Guice now.
* Make ReplacePatchSetSender managed by Guice.
* Refactor MergeOp to use assisted injection
* Inject the canonicalweburl rather than using GerritSer...
* Use JGit's cached hostname when URL can't give us the ...
* Remove use of PatchSetInfoAccess interface in PatchDet...
* Merge change 10839
* Use member injection for OutgoingEmail related depende...
* Fix CanonicalWebUrl when it is null
* Inject the Provider GerritCall rather than looking it...
* Use assisted injection to create the PushOp instances
* Use PatchSetInfoFactory in OutgoingEmail class.
* Simplify the setup of assisted injection factories
* Inject the WorkQueue via Guice
* Fix ProvisionException catch blocks in GerritServletCo...
* Move system configuration related code to the server.c...
* Move servlets related to UI RPCs into the server.rpc p...
* Reduce CreateSchema dependencies to avoid cache
* Start injectors in production mode
* Isolate SSHD module from web module
* Use ServletContext injection to load files from context
* Refactor SSH commands into their own package
* Support Guice request and session scopes in SSHD
* Cleanup CommandFactory to be session aware
* Refactor CurrentUser to always be request scoped
* Cleanup names of SSH daemon related classes
* Refactor command handling to support subcommands in Gu...
* Refactor command thread creation logic into BaseCommand
* Move command line parsing to BaseCommand
* Avoid duplicate singletons
* Don't inject fields in providers
* Run Gerrit servlet container in PRODUCTION mode
* Make database error reporting more predictable from th...
* Fix duplicate definition of ReviewDb injection
* Cleanup unused imports in client code
* Remove unnecessary references to HttpServletRequest
* Get HttpServletRequest via injection rather than JsonS...
* Get the remote peer address via the @RemotePeer annota...
* Move HTTP related classes to an HTTP specific package
* Drop ServletName in favor a unique annotation object
* Move all URL lookup to the CanonicalUrlProvider
* Only load the OpenID servlets if we are using OpenID a...
* Make the magic "Become" mode for development a normal ...
* Present new users with a registion welcome screen
* Fix SSH daemon in web mode to actually have commands
* Explicitly bind RemoteJsonService implementations to t...
* Use Anchor for become rather than location assignment
* Move the become any account form to a real HTML file
* Document the DEVELOPMENT_BECOME_ANY_ACCOUNT auth.type ...
* Fix upgrade014_015_part1_mysql syntax errors
* Merge change 10972
* Inject most server references to GerritConfig
* Cleanup CacheManagerProvider's construction of the con...
* Make DiffCacheEntryFactory package private
* Cache account ids by email address key in Ehcache
* Rename ReviewDbProvider to ReviewDbDatabaseProvider
* Perform per-request cleanup actions at the end of a re...
* Refactor ChangeDetailService to use injected database ...
* Move ChangeDetailService code to its own package
* Refactor ChangeManageService to use the new Handler st...
* Refactor SSH commands to use request scoped database h...
* Fix docs in BaseCommand
* Mark all of BaseServiceImplementation deprecated
* Refactor SSH command permission checks to use CurrentU...
* Move ProjectCache to server side and rewrite entire pe...
* Make existing BaseServiceImplementation use per-reques...
* Use Project.NameKey in admin panels rather than Projec...
* Change project to use Project.NameKey as the primary k...
* Fix sshdAddress in GerritConfig object sent to clients
* Rename ProjectCache.invalidate to evict
* Rename ChangeDetailModule to ChangeModule
* Move account related RPCs to the account package
* Move patch RPC stuff to the rpc.patch package
* Remove unnecessary injected dependencies from CatServl...
* Document why we abuse the GerritCall in HostPageServlet
* Create a dummy account if the user account no longer e...
* Construct the AgreementInfo only from server code
* Merge change 11021
* Convert GroupCache to be injected by Guice and stored ...
* Remove Common.getAccountId and use Guice injection only
* Remove Common.getSchemaFactory
* Remove Common.getAccountCache
* Consolidate account lookups to the AccountResolver
* Rename GerritServerModule to GerritGlobalModule
* Rename SshDaemonModule to SshModule
* Update documentation on the named caches
* Move trusted_external_ids to auth.trustedOpenID
* Paper bag fix OutgoingEmail initialization
* Paper bag fix submit action
* Fix server error 'Array index out of range' on some pa...
* Merge branch 'maint'
* Move ChangeApproval to be a child of PatchSet
* Make #register alone go to the registration form
* Enable register new email after saving contact informa...
* Bind ApprovalTypes without using GerritConfig
* Remove Common class entirely
* Catch missing BouncyCastle PGP during contact store cr...
* Correct Owner project_rights min_values during upgrade
* Unset use_contributor_agreements if agreements are dis...
* Sort permissions in project access tab
* Get branches directly from Git rather than database
* Style tab panel headers like our menu bar header
* Narrow tables that don't have to be 100% width
* Cleanup display of external ids in the user settings
* Preserve negative approvals when replacing patch sets
* Use gwtjsonrpc 1.1.1
* gerrit 2.0.18

View File

@ -0,0 +1,381 @@
Release notes for Gerrit 2.0.19, 2.0.19.1, 2.0.19.2
===================================================
Gerrit 2.0.19.2 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Important Notices
-----------------
* Prior User Sessions
+
The cookie used to identify a signed-in user has been changed. All users
will be automatically signed-out during this upgrade, and will need to
sign-in again after the upgrade is complete.
Users who try to use a web session from before the upgrade may receive the
obtuse error message "Invalid xsrfKey in request". Prior web clients are
misinterpreting the error from the server. Users need to sign-out and
sign-in again to pick up a new session.
This change was necessary to close GERRIT-83, see below.
* Preserving Sessions Across Restarts
+
Administrators who wish to preserve user sessions across server restarts must
set [http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html#cache.directory cache.directory] in gerrit.config. This allows Gerrit to flush the set
of active sessions to disk during shutdown, and load them back during startup.
Schema Change
-------------
*WARNING: This version contains a schema change* (since 2.0.18)
Important notes about this schema change:
* Do not run the schema change while the server is running.
+
This upgrade adds a new required column to the changes table, something
which cannot be done while users are creating records. Like .18, I _strongly_
suggest a full shutdown, schema upgrade, then startup approach.
Apply the database specific schema script:
----
java -jar gerrit.war --cat sql/upgrade016_017_postgres.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade016_017_mysql.sql | mysql reviewdb
----
New Features
------------
* New ssh create-project command
+
Thanks to Ulrik Sjölin we now have `gerrit create-project`
available over SSH, to construct a new repository and database
record for a project. Documentation has also been updated to
reflect that the command is now available.
* Be more liberal in accepting Signed-off-by lines
+
The "Require Signed-off-by line" feature in a project is now
more liberal. Gerrit now requires that the commit be signed off
by either the author or the committer. This was relaxed because
kernel developers often cherry-pick in patches signed off by
the author and by Linus Torvalds, but not by the committer who
did the backport cherry-pick.
* Allow cache.name.diskLimit = 0 to disable on disk cache
+
Setting cache.name.diskLimit to 0 will disable the disk for
that cache, even though cache.directory was set. This allows
sites to set cache.diff.diskLimit to 0 to avoid caching the diff
records on disk, but still allow caching web_sessions to disk,
so that live sessions are maintained across server restarts.
This is a change in behavior, the prior meaning of diskLimit =
0 was "unlimited", which is not very sane given how Ehcache
manages the on disk cache files.
* Allow human-readable units in config.name.maxage
+
Timeouts for any cache.name.maxAge may now be specified in human
readable units, such as "12 days" or "3 hours". The server will
automatically convert them to minutes during parsing. If no
unit is specified, minutes are assumed, to retain compatibility
with prior releases.
* Add native LDAP support to Gerrit
+
Gerrit now has native LDAP support. Setting auth.type to
HTTP_LDAP and then configuring the handful of ldap properties
in gerrit.config will allow Gerrit to load group membership
directly from the organization's LDAP server. This replaces
the need for the sync-groups script posted in the wiki. See:
link:http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html#ldap[http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html#ldap]
If you use the sync-groups script from the wiki page, you would
also need to delete the group members after upgrading, to remove
unnecessary records in your database:
{{{
DELETE FROM account_group_members
WHERE group_id IN (
SELECT group_id FROM account_groups
WHERE automatic_membership = 'Y');
}}}
* Don't allow users to edit their name if it comes from LDAP
+
User information loaded from LDAP, such as full name or SSH
username, cannot be modified by the end-user. This allows the
Gerrit site administrator to require that users conform to the
standard information published by the organization's directory
service. Updates in LDAP are automatically reflected in Gerrit
the next time the user signs-in.
* Remembers anchor during HTTP logins
+
When using an HTTP SSO product, clicking on a Gerrit link received
out-of-band (e.g. by email or IM) often required clicking the
link twice. On the first click Gerrit redirect you to the
organization's single-sign-on authentication system, which upon
success redirected to your dashboard. The actual target of the
link was often lost, so a second click was required.
With .19 and later, if the administrator changes the frontend web
server to perform authentication only for the /login/ subdirectory
of Gerrit, this can be avoided. For example with Apache:
----
<Location "/login/">
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
...
</Location>
----
During a request for an arbitrary URL, such as '/#change,42',
Gerrit realizes the user is not logged in. Instead of sending an
immediate redirect for authentication, Gerrit sends JavaScript
to save the target token (the part after the '#' in the URL)
by redirecting the user to '/login/change,42'. This enters
the secured area, and performs the authentication. When the
authenticated user returns to '/login/change,42' Gerrit sends
a redirect back to the original URL, '/#change,42'.
* Create check_schema_version during schema creation
+
Schema upgrades for PostgreSQL now validate that the current
schema version matches the expected schema version at the start
of the upgrade script. If the schema does not match, the script
aborts, although it will spew many errors.
* Reject disconnected ancestries when creating changes
+
Uploading commits to a project now requires that the new commits
share a common ancestry with the existing commits of that project.
This catches and prevents problems caused by a user making a typo
in the project name, and inadverently selecting the wrong project.
* Change-Id tags in commit messages to associate commits
+
Gerrit now looks for 'Change-Id: I....' in the footer area of a
commit message and uses this to identify a change record within
the project.
If the listed Change-Id has not been seen before, a new change
record is created. If the Change-Id is already known, Gerrit
updates the change with the new commit. This simplifies updating
multiple changes at once, such as might happen when rebasing an
entire series of commits that are still being reviewed.
A commit-msg hook can be installed to automatically generate
these Change-Id lines during initial commit:
{{{
scp -P 29418 review.example.com:hooks/commit-msg .git/hooks/
}}}
Using this hook ensures that the Change-Id is predicatable once
the commit is uploaded for review.
For more details, please see the docs:
link:http://gerrit.googlecode.com/svn/documentation/2.0/user-changeid.html[http://gerrit.googlecode.com/svn/documentation/2.0/user-changeid.html]
Bug Fixes
---------
* Fix yet another ArrayIndexOutOfBounds during side-by-s...
+
We found yet another bug with the side-by-side view failing
under certain conditions. I think this is the last bug.
* Apply URL decoding to parameter of /cat/
* Fix old image when shown inline in unified diff
+
Images weren't displaying correctly, even though
mimetype.image/png.safe was true in gerrit.config.
Turned out to be a problem with the parameter decoding of the
/cat/ servlet, as well as the link being generated wrong.
* Fix high memory usage seen in `gerrit show-caches`
+
In Gerrit 2.0.18 JGit had a bug where the repository wasn't being
reused in memory. This meant that we were constantly reloading
the repository data in from disk, so the server was always maxed
out at core.packedGitLimit and core.packedGitOpenFiles, as no
data was being reused from the cache. Fixed in this release.
* Fix display of timeouts in `gerrit show-caches`
+
Timeouts were not always shown correctly, sometimes 12 hours
was showing up as 2.5 days, which is completely wrong. Fixed.
* GERRIT-261 Fix reply button when comment is on the last line
+
The "Reply" button didn't work if the comment was on the last
line of the file, the browser caught an array index out of
bounds exception as we walked off the end of the table looking
for where to insert the new editor box.
* GERRIT-83 Make sign-out really invalidate the user's session
+
The sign-out link now does more than delete the cookie from the
user's browser, it also removes the token from the server side.
By removing it from the server, we prevent replay attacks where
an attacker has observed the user's cookie and then later tries
to issue their own requests with the user's cookie. Note that
this sort of attack is difficult if SSL is used, as the attacker
would have a much more difficult time of sniffing the user's
cookie while it was still live.
* Evict account record after changing SSH username
+
Changing the SSH username on the web immediately affected the
SSH daemon, but the web still showed the old username. This
was due to the change operation not flushing the cache that
the web code was displaying from. Fixed.
* Really don't allow commits to replace in wrong project
+
It was possible for users to upload replacement commits to the
wrong project, e.g. uploading a replacement commit to project
B while picking a change number from project A. Fixed.
=Fixes in 2.0.19.1=
-------------------
* Fix NPE during direct push to branch closing a change
+
Closing changes by pushing their commits directly into the branch didn't
always work as expected, due to some data not being initialized correctly.
* Ignore harmless "Pipe closed" in scp command
+
scp command on the server side threw exceptions when a client aborted the
data transfer. We typically don't care to log such cases.
* Refactor user lookup during permission checking
* GERRIT-264 Fix membership in Registered Users group
+
Users were not a member of "Registered Users", this was a rather serious
bug in the code as it meant many users lost their access rights.
* GERRIT-265 Correctly catch "Invalid xsrfKey in request" error as ...
+
Above I mentioned we should handle this error as "Not Signed In", only
the pattern match wasn't quite right. Fixed.
* GERRIT-263 Fix --re=bob to match bob@example.com when using HTTP_LDAP
+
HTTP_LDAP broke using local usernames to match an account. Fixed.
=Fixes in 2.0.19.2=
-------------------
* Don't line wrap project or group names in admin panels
+
Line wrapping group names like "All Users" when the description column
has a very long name in it is ugly.
* GERRIT-267 Don't add users to a change review if they cannot access
+
If a user cannot access a change, let the owner know when they try to
add the user as a reviewer, or CC them on it.
* commit-msg: Do not insert Change-Id if the message is ...
+
The commit-msg hook didn't allow users to abort accidental git commit
invocations, as it still modified the file, making git commit think
that the end-user wanted to make a commit. Anyone who has a copy of
the hook should upgrade to the new hook, if possible.
* Support recursive queries against LDAP directories
* Fix parsing of LDAP search scope properties
+
As reported on repo-discuss, recursive search is sometimes necessary,
and is now the default.
Removed Features
----------------
* Remove support for /user/email style URLs
+
I decided to remove this URL, its a pain to support and not
discoverable. Its unlikely anyone is really using it, but if
they are, they could try using "#q,owner:email,n,z" instead.
Other Changes
-------------
* Start 2.0.19 development
* Document the Failure and UnloggedFailure classes in Ba...
* Merge change 11109
* Document gerrit receive-pack is alias for git receive-...
* Define a simple query language for Gerrit
* Create new projects on remote systems with mkdir -p
* Set the GIT_DIR/description file during gerrit create-...
* Remove unnecessary toLowerCase calls in AdminCreatePro...
* Remove unnecessary exception from AdminCreateProject
* Remove unused import from AccountExternalId
* Abstract out account creation and simplify sign-on for...
* Implement server side sign-out handling
* Cleanup private keys in system_config table
* Remove dead max_session_age field from system_config
* Report 'Invalid xsrfKey' as 'Not Signed In'
* Update gerrit flush-caches documentation about web_ses...
* Update documentation on cache "web_sessions" configura...
* Add getSchemeRest to AccountExternalId
* Cleanup ContactStore and WebModule injection
* Catch Bouncy Castle Crypto not installed when loading ...
* Declare caches in Guice rather than hardcoded in Cache...
* Remove old commented out cache configuration code
* Don't NPE in SSH keys panel when SSHD is bound to loca...
* Don't send users to #register,register,mine
* Document the new LDAP support
* Cleanup section anchors to be more useful
* Put anchors on every configuration variable section
* Add missing AOSP copyright header to WebSession
* Fix short header lines in gerrit-config.txt
* Update documentation about system_config private key f...
* Fetch groups from LDAP during user authentication
* Actually honor cache.ldap_groups.maxage
* Add enum parsing support to ConfigUtil
* Rename LoginType to AuthType
* Support loading the sshUserName from LDAP
* Change ldap.accountDisplayName to ldap.accountFullName
* Fix parsing set-to-nothing options in ldap section
* Report more friendly errors from gwtjsonrpc
* Ensure dialog box displays correctly on network failure
* Document how setting LDAP properties disables web UI
* Ensure the commit body is parsed before getting the co...
* Cleanup more section anchors
* Make documentation table of contents anchors human rea...
* Remove notes about HTML 5 offline support
* Fix typo in LegacyGerritServlet javadoc
* Use subList in server side change query code
* Remove unsupported /all_unclaimed
* Rewrite UrlRewriteFilter in terms of Guice bindings
* Create a commit-msg hook to generate Change-Id tags
* Add change_key to changes table in database
* Allow searching for changes by Change-Id strings
* Display the change key, aka Change-ID in the informati...
* Display abbreviated change ids in change lists
* Change javax.security AccountNotFoundException to NoSu...
* Automatically update existing changes during refs/for/...
* Automatically close changes when pushing into a branch...
* Document the new commit-msg hook supplied by Gerrit
* Correct title of "Command Line Tools" documentation pa...
* Correct URL example used in Google Analytics Integrati...
* Correct comment about customizing categories and caches
* Fix formatting of remote.name.timeout section in docum...
* Add anchors for remote settings in replication.config ...
* Widen the search panel now that Change-Ids are 41 char...
* Revert "Ensure dialog box displays correctly on networ...
* Allow searches for Change-Ids starting with lowercase ...
* Fix line wrapped formatting in ChangeListServiceImpl
* Move Change.Key abbreviation to Change.Key class
* Format change ids in listing tables with a fixed with ...
* Cleanup documentation of the commit-msg hook
* Cleanup the command line tool index page
* Correct stale documentation section about SSH authenti...
* Correct access control documentation about project own...
* Quote the current directory when running asciidoc
* Move the Default Workflow link into the top of the Use...
* Correct formatting of usage in gerrit-cherry-pick docu...
* Document how Gerrit uses Change-Id lines
* Add Change-Id lines during cherry-pick if not already ...
* Fix "no common ancestry" bug
* Fix commit-msg hook to handle first lines like "foo: f...
* Add a link to Gerrit's project to the top of gerrit-ch...
* Add full ASLv2 copyright notice to commit-msg hook
* Embed Gerrit's version number into shell scripts copie...
* Don't drop max_session_age column in transaction durin...
* gerrit 2.0.19

View File

@ -0,0 +1,71 @@
Release notes for Gerrit 2.0.2
==============================
Gerrit 2.0.2 is now available for download:
link:http://code.google.com/p/gerrit/[http://code.google.com/p/gerrit/]
Important Notes
---------------
Starting with this version, Gerrit is now packaged as a single WAR file.
Just download and drop into your webapps directory for easier deployment.
The WAR file itself is also executable via "java -jar gerrit.war", so tools
like CreateSchema are easier to invoke ("java -jar gerrit.war
CreateSchema").
The following optional 3rd party JARs are not included in the WAR:
* Bouncy Castle Crypto API
* H2 JDBC Driver
* c3p0 pooled DataSource
+
Existing Gerrit administrators either need to change the SSH host key used
by their servers, or download the Bouncy Castle Crypto API. The OpenSSH key
file format can only be read if Bouncy Castle is available, so you need to
install that library to continue using an existing host key. If you are
using Jetty, you can download the library (
http://www.bouncycastle.org/java.html) to $JETTY_HOME/lib/plus, then restart
Jetty.
If you use H2 as your database, you will need to download the JDBC driver
and insert it into your container's CLASSPATH. But I think all known
instances are on PostgreSQL, so this is probably not a concern to anyone.
New Features
------------
* Trailing whitespace is highlighted in diff views
* SSHD upgraded with "faster connection" patch discussed on list
* Git reflogs now contain the Gerrit account information of who did the push
* Insanely long change subjects are now clipped at 80 characters
All Changes
-----------
* Switch back to -SNAPSHOT builds
* Overhaul our build system to only create a WAR file
* Rename top level directory devutil to gerrit1_import
* Move appjar contents up one level to normalize our struc...
* Refactor the project admin screen into tabs
* Move "Publish Comments" before "Submit Patch Set"
* Fix to_jetty.sh to account for the WAR not having a scri...
* Don't close SSH command streams as MINA SSHD does it for...
* Avoid NPE if sign-in goes bad and is missing a token
* Describe how to make /ssh_info unprotected for repo
* Improve documentation links to Apache SSHD
* Fix Documentation Makefile to correctly handle new files
* Insert some line breaks to make Documentation/install.tx...
* Don't require Bouncy Castle Crypto
* Don't require c3p0 or H2 drivers
* Show the account id in the user settings screen
* Fix log4j.properties to not run in DEBUG
* Don't log DEBUG data out of c3p0's SqlUtils class
* Fix to_jetty so it doesn't unpack c3p0 from our WAR
* Cleanup c3p0 connection pools if used
* Yank the mobile specific OpenID login panel
* GERRIT-23 Highlight common whitespace errors such as whitespace on...
* Fix tabs in Gerrit.css to be 2 spaces
* Record the account identity in all reflogs
* Don't allow the project name in change tables to wrap
* Clip all change subject lines at 80 columns in change ta...
* gerrit 2.0.2

View File

@ -0,0 +1,87 @@
Release notes for Gerrit 2.0.20
===============================
Gerrit 2.0.20 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Schema Change
-------------
A prior bug (GERRIT-262) permitted some invalid data to enter into some databases. Administrators should consider running the following update statement as part of their upgrade to .20 to make any comments which were created with this bug visible:
----
UPDATE patch_comments SET line_nbr = 1 WHERE line_nbr < 1;
----
Unfortunately the correct position of the comment has been lost, and the statement above will simply position them on the first line of the file. Fortunately the lost comments were only on the wrong side of an insertion or deletion, and are generally rare. (On my servers only 0.33% of the comments were created like this.)
New Features
------------
* New ssh command approve
+
Patch sets can now be approved remotely via SSH. For more
details on this new feature please see the user documentation:
link:http://gerrit.googlecode.com/svn/documentation/2.0/cmd-approve.html[http://gerrit.googlecode.com/svn/documentation/2.0/cmd-approve.html]
* Support changing Google Account identity strings
+
For various reasons, including but not being limited to server
host name changes, the Google Accounts OpenID provider service
may change the identity string it returns to users. By setting
auth.allowGoogleAccountUpgrade = true in the configuration file
administrators may permit automatically updating an existing
account with a new identity by matching on the email address.
Bug Fixes
---------
* GERRIT-262 Disallow creating comments on line 0
+
Users were able to create comments in dead regions of a file.
That is, if a region was deleted, and thus the left hand side
showed red deletion of lines, and the right hand side showed a
grey background of nothing, users were able to place a comment on
the right hand side in the nothing area. Since this line did not
actually exist, the comment was positioned on line 0 of the file.
Because line 0 does not exist (lines are numbered 1..n), these
comments become hidden and could not be seen, but showed up in
the "X comments" counter seen on the Patch History or in the
listing of files in a patch set.
The UI and RPC layer was fixed to prevent comments on line 0,
but existing comments need to be manually moved to a real line.
See above for the suggested SQL UPDATE command.
* Make ID column same font size as rest of table
+
The font size of the ID column was too small, it is now the
same size as the other columns in the table.
* Fix ALTER INDEX in upgrade015_016_part1_mysql
* GERRIT-269 Fix bad change_key creation in upgrade016_017_mysql
+
MySQL schema upgrade scripts had a few bugs, fixed.
Other Changes
-------------
* Restart 2.0.20
* Update MINA SSHD to 0.2.0 release
* Update args4j to snapshot built from current CVS
* Cleanup newCmdLineParser method in BaseCommand
* Remove unnecessary throws IOException in ApproveCommand
* Cleanup formatting in ApproveCommand
* Cleanup assumption of Branch.NameKey parent is Project...
* Fix deprecated constructor warning in PatchSetIdHandler
* Don't log command line caused failures in flush-caches
* Use Guice to create custom arg4j OptionHandler instanc...
* gerrit approve: Allow --code-review=+2
* gerrit approve: Cleanup invalid patch set error handli...
* gerrit approve: Cleanup error reporting for missing ob...
* Parse project names through custom args4j OptionHandler
* git receive-pack: Use args4j to parse --reviewer and -...
* Move args4j handlers to their own package
* gerrit approve: Cleanup option parsing to reduce unnec...
* gerrit approve: accept commit SHA-1s for approval too
* gerrit approve: Allow approving multiple commits at on...
* gerrit approve: Add user documentation
* Remove unused imports from PatchSetDetailServiceImpl
* Only enable auth.allowGoogleAccountUpgrade when auth.t...
* Rename loginType to authType
* gerrit 2.0.20

View File

@ -0,0 +1,343 @@
Release notes for Gerrit 2.0.21
===============================
Gerrit 2.0.21 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Schema Change
-------------
*WARNING: This version contains a schema change* (since 2.0.19)
* The schema change may be difficult to undo once applied.
+
Downgrading could be very difficult once the upgrade has been
started. Going back to 2.0.20 may not be possible.
* Do not run the schema change while the server is running.
+
This upgrade changes the primary key of a table, an operation
which shouldn't occur while end-users are able to make
modifications to the database. I _strongly_ suggest a full
shutdown, schema upgrade, then startup approach for this release.
* There may be some duplicate keys
+
This upgrade removes a column from the primary key of a table,
which may result in duplicates being found. You can search
for these duplicates before updating:
{{{
SELECT account_id,external_id FROM account_external_ids e
WHERE e.external_id IN (SELECT external_id
FROM account_external_ids
GROUP BY external_id
HAVING COUNT(*) > 1);
}}}
Resolving duplicates is left up to the administrator, in
general though you will probably want to remove one of the
duplicate records. E.g. in one case I had 3 users with the
same mailing list email address registered. I just deleted
those and sent private email asking the users to use their
personal/work address instead of a mailing list.
Apply the database specific schema script:
----
java -jar gerrit.war --cat sql/upgrade017_018_postgres.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade017_018_mysql.sql | mysql reviewdb
----
Important Notices
-----------------
* Prior User Sessions
+
The cookie used to identify a signed-in user has been changed.
Again. All users will be automatically signed-out during
this upgrade, and will need to sign-in again after the upgrade
is complete. The new schema has more room for extensions, so
this might be the last time we will need to invalidate sessions.
* Harmless error on first startup
+
Starting 2.0.21 on an instance which previously had the diff
cache stored on disk will result in the following non-fatal error
in the server logs during the first launch of .21 on that system:
----
2009-09-02 18:50:07,446::INFO : com.google.gerrit.server.cache.CachePool - Enabling disk cache /home/gerrit2/android_codereview/disk_cache
Sep 2, 2009 6:50:07 PM net.sf.ehcache.store.DiskStore readIndex
SEVERE: Class loading problem reading index. Creating new index. Initial cause was com.google.gerrit.server.patch.DiffCacheKey
java.lang.ClassNotFoundException: com.google.gerrit.server.patch.DiffCacheKey
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
...
----
This error can be safely ignored. It is caused by a change
in the diff cache's on disk schema, invalidating all existing
cache entries.
* Significantly larger "diff" cache
+
The diff cache schema change noted above changed the element
stored in the cache from per-file to per-patchset. That is,
a patch set which modifies 500 files will now occupy only 1
element in the diff cache, rather than 500 distinct elements.
Accordingly, the default `cache.diff.memoryLimit` setting has
been reduced to 128.
* Removed configuration settings
+
The following configuration settings are no longer honored:
`cache.maxAge`, `cache.memoryLimit`, `cache.diskLimit`, and
`cache.diskBuffer`. These settings may now only be set on a
per-cache basis (e.g. `cache.diff.maxAge`).
* Connection pool recommendation: Apache Commons DBCP
+
All of the servers I run now use Apache Commons DBCP instead
of c3p0 for their connection pools, and the setup guide and
sample jetty_gerrit.xml reference DBCP now.
We've run into problems with c3p0 under high loads, or when
the connection pool is completely exhausted. DBCP seems to
fail more gracefully, and seems to give us less trouble.
Changing pool implementations is not required, c3p0 is still
a supported provider. I just want to make it clear that I no
longer recommend it in production.
New Features
------------
* GERRIT-189 Show approval status in account dashboards
+
Account dashboards now show a summary of the approval status on
each change. Unreviewed changes are now highlighted to bring
the reviewer's attention to them. Tooltips when hovering over
a cell will bring up slightly more detailed information.
* GERRIT-276 Allow users to see what groups they are members of
+
Under Settings > Groups a user can now view what groups Gerrit
has placed them into. This may help administrators to debug
a user's access problems, as they can ask the user to verify
Gerrit is seeing what they expect.
* GERRIT-276 Show simple properties of an LDAP group
+
If auth.type is HTTP_LDAP, groups which are marked as automatic
membership now show non-repeating LDAP attributes below their
description under Admin > Groups. This display should help an
administrator to verify that Gerrit has mapped an LDAP group
correctly.
* Move Patch entity out of database and store in cache
+
The `patches` database table has been deleted, Gerrit now makes
the list of affected files on the fly and stores it within the
diff cache. This change is part of a long-running series to
remove redundant information from the database before we switch
to a pure Git backed data storage system.
* Only copy blocking negative votes to replacement patch
+
Previously Gerrit copied any negative vote in any approval
category whenever a replacement patch set was uploaded to
a change. Now Gerrit only copies "Code Review -2".
This change should make it easier for reviewers (and scripts
scanning `patch_set_approvals`) to identify updated changes
which might require a new review.
Adminstrators who have created their own categories and want to
copy the blocking negative vote should set `copy_min_score = 'Y'`
in the corresponding approval_categories records.
* show-caches: Make output more concise
+
Instead of showing ~12 lines of output per cache, each cache is
displayed as one line of a table.
* Handle multiple accountBase and groupBase
+
ldap.accountBase and ldap.groupBase may now be specified multiple
times in gerrit.config, to search more than one subtree within
the directory.
* Summarize collapsed comments
+
Collapsed comments (both inline on a file and on the change
itself) now show a short summary of the comment message, making
it faster to locate the relevant comment to expand for more
detailed reading.
* Edit inline drafts on Publish Comments screen
+
Inline comment drafts may now be directly edited on the Publish
Comments screen, which can be useful for fixing up a minor typo
prior to publication.
* Less toggly thingies on change screen
+
The change description and the approvals are no longer nested
inside of a foldy block. Most users never collapse these, but
instead just scroll the page to locate the information they are
looking for.
* Restore Enter/o to toggle collapse state of comments
+
Enter and 'o' now expand or collapse an inline comment on the
the current row of a file.
* Display abbreviated hexy Change-Id in screen titles
* Use hexy Change-Id in emails sent from Gerrit
+
Change-Id abbreviations are now used throught more of the UI,
including emails sent by Gerrit and window/page titles. This
change breaks email threading for any existing review emails.
That is comments on a change created before the upgrade will
not appear under the original change notification thread.
* Add sendemail.from to control setting From header
+
Gerrit no longer forges the From header in notification emails.
To enable the prior forging behavior, set `sendemail.from`
to `USER` in gerrit.config. For more details see
[http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html#sendemail.from sendemail.from]
Bug Fixes
---------
* Fix ReviewDb to actually be per-request scoped
+
When we switched to Guice a misconfiguration allowed Guice to
give out multiple database connections per web or SSH request.
This could exhaust the connection pool faster than expected.
* Send no-cache headers during HTTP login
+
An oversight in the HTTP login code path may have allowed a proxy
server between the user's browser and the Gerrit server to cache
a user's session cookie. Fixed by sending the correct no-cache
headers, disallowing any caching of the authentication response.
* Fix project owner permissions
+
Folks reported on repo-discuss that a project owner also had to
have READ permission to use the Branches tab of their project.
This was a regression introduced when we refactored some of the
code when adding Guice to the project. Fixed.
* GERRIT-277 Fix hyperlinks in messages
+
Hyperlinks in commit messages such as "<http://foo>" were
including the trailing > in the URL, making the link broken.
The trailing > is now properly not included in the URL.
* GERRIT-266 Fix web session cookie refresh time
+
In 2.0.19 we introduced web sessions stored in Ehcache, but the
logic was causing sessions to expire roughly half-way through the
`cache.web_sessions.maxAge` time. At the default setting, active
sessions were expiring after 6 hours. The cache management has
been refactored to make this a lot less likely.
* Cleanup not signed in error to be more user friendly
+
The error message which comes up when your session is expired
is now much more useful. From the dialog you can restart your
session by clicking the "Sign-In" button, and return to the
screen you are currently on.
* Fix commit-msg hook to work with commit -v option
+
The commit-msg hook was buggy and did not handle `git commit -v`
correctly. It also did some bad insertions, placing the magic
`Change-Id: I...` line at the wrong position in the commit
message. The updated hook resolves most of these problems,
but must be recopied to individual Git repositories by end-users.
* Identify PGP configuration errors during startup
+
If the encrypted contact store is enabled, the required encryption
algorithms are checked at startup to ensure they are enabled
in the underlying JVM. This is necessary in case the JVM is
updated and the administrator forgot to install the unlimited
strength policy file in the new runtime directory. Recently
review.source.android.com was bitten by just such an upgrade.
* GERRIT-278 Fix missing reply comments on old patch set
+
Some comments were not visible because they were replies made
to a comment on say patch set 1 while looking at the difference
between patch set 1 and patch set 2 of a change. Fixed.
* Make external_id primary key of account_external_ids
+
The database schema incorrectly allowed two user accounts to have
the same email address, or to have the same OpenID auth token.
Fixed by asserting a unique constraint on the column.
Other Changes
-------------
* Start 2.0.21 development
* Support cleaning up a Commons DBCP connection pool
* Clarify which Factory we are importing in ApproveComma...
* Avoid loading Patch object in /cat/ servlet
* Remove unnecessary reference of patch key in save draft
* GERRIT-266 Tweak cache defaults to be more reasonable
* Merge change I131e6c4c
* Bring back the "No Differences" message when files are...
* Pick up gwtorm 1.1.2-SNAPSHOT
* Refactor GroupListScreen's inner table for reuse
* Do not normalize approval scores on closed changes in ...
* Don't obtain 0 approvals or submit approvals in dashbo...
* Update JGit to 0.5.0-93-g5b89a2c
* Add tests for Change-Id generating commit-msg hook
* Add test for commit-msg with commit -v
* Fix formatting error in ApprovalCategory
* Fix typo in change table column header "Last Update"
* Fix reference to the All Projects broken when we remov...
* Use category abbreviations in the dashboard approval c...
* Format approvals columns in change tables with minimal...
* Shrink the Last Updated column in dashboards and chang...
* Highlight changes which need to be reviewed by this us...
* Fix typo in ChangeTable comment
* Reduce the window used for "Mon dd" vs. "Mon dd yyyy" ...
* Don't assume "Anonymous Users" and "Registered Users" ...
* Log encrypted contact store failures
* Identify PGP configuration errors during startup
* Take the change description block out of the disclosure...
* Move the approval table out of a disclosure panel
* Explicitly show what value is needed to submit
* Modernize the display of comments on a change
* Modernize the display of inline comments on a file
* Fix "Publish Comments" when there are no inline drafts
* Merge change 11666
* Fix display of "Gerrit Code Review" authored comments
* Fix source code formatting error in FormatUtil
* Remove unnecessary fake author on inline comments
* Auto expand all drafts on publish comments screen
* Remove unused local variable in PublishCommentsScreen
* Remove unused import from PublishCommentsScreen
* Use gwtorm, gwtexpui release versions
* Add javadoc for Change.getKey
* Updated documentation for eclipse development.
* Merge change 11698
* Merge change 11699
* Merge change 11700
* Merge change 11703
* Merge change 11705
* Moved creation of GerritPersonIdent to a separate provi...
* Remove unused dependency on GerritServer.
* Renamed GerritServert to GitRepositoryManager and moved...
* Remove declaration of OrmException that is never thrown.
* Increase margin space between buttons of comment editors
* Simplify GerritCallback error handling
* Correct comment documenting SignInDialog
* Remove unused CSS class gerrit-ErrorDialog-ErrorMessage
* Clarify become any account servlet errors
* Fix anchor in sshd.reuseAddress documentation
* Extract parametrized string formatting out of LdapQuery
* Make cache APIs interfaces for mocking
* Add easymock 2.5.1 to our test dependencies
* Add sendemail.from to control setting From header
* gerrit 2.0.21

View File

@ -0,0 +1,160 @@
Release notes for Gerrit 2.0.22
===============================
Gerrit 2.0.22 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
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 concentation.
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 a 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

View File

@ -0,0 +1,49 @@
Release notes for Gerrit 2.0.23
===============================
Gerrit 2.0.23 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Schema Change
-------------
There is no schema change in this release.
New Features
------------
* Adding support to list merged and abandoned changes
+
The project link in a change now lists all changes merged in that
project, or abandoned in that project, based upon the state of the
change the link is displayed in. So open changes link to all open
changes in the same project while merged changes link to all merged
changes in the same project. These links are bookmarkable.
Bug Fixes
---------
* Fix new change email to always have SSH pull URL
* Move git pull URL to bottom of email notifications
+
The new change emails were missing the SSH pull URL, fixed. Also
the SSH pull URL is now further away from the web URL, to make it
less likely one is clicked by accident in an email client.
* issue 286 Fix Not Signed In errors when multiple tabs are open
+
Users with multiple tabs open were getting session errors due to
the tabs not agreeing about the session state. Fixed.
* Fix MySQL CREATE USER example in install documentation
Other Changes
-------------
* Start 2.0.23 development
* Move Jetty 6.x resources into a jetty6 directory
* Move the Jetty 6.x start script to our extra directory
* Add scripts for Jetty 7.x and make that the default i...
* Merge change I574b992d
* Gerrit 2.0.23

View File

@ -0,0 +1,199 @@
Release notes for Gerrit 2.0.24, 2.0.24.1, 2.0.24.2
===================================================
Gerrit 2.0.24 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Schema Change
-------------
*WARNING: This version contains a schema change* (since 2.0.21)
Apply the database specific schema script:
----
java -jar gerrit.war --cat sql/upgrade018_019_postgres.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade018_019_mysql.sql | mysql reviewdb
----
LDAP Change
-----------
LDAP groups are now bound via their full distinguished name, and not
by their common name. Sites using LDAP groups will need to have the
site administrator visit every LDAP backed group through the web UI
(Admin > Groups), search for, and select the underlying LDAP group
from the directory server.
This change was made to remove some of the guesswork when it comes
to setting up an LDAP enabled group, as well as to permit creating
new LDAP enabled groups completely from the web UI. It also removes
an ambiguous case when different parts of the same directory space
create identically named groups.
New Features
------------
* Check if the user has permission to upload changes
+
The new READ +2 permission is required to upload a change to a
project, while READ +1 permits read but denies uploading a change.
The schema upgrade script automatically converts READ +1 to +2.
* Use LDAP DN to match LDAP group to Gerrit group
* issue 297 Allow admins to search for and bind to LDAP groups
+
As noted above, LDAP groups now use the full DN to match to their
Gerrit database counterpart, rather than just the common name.
Administrators may now create Gerrit groups and attach them to
any LDAP group, by performing a query on the LDAP directory for
matching groups and selecting a result.
* issue 301 Try to prevent forgotten `git add` during replace
+
Users are now stopped from performing a replace of a patch set if
they have not made a meaningful change (modify a file, or modify
the commit message). If only the commit message was modified,
a warning is printed, but the replace still occurs.
* issue 126 Link to our issue tracker in the page footer
+
The footer now includes a link to the Gerrit project's issue
tracker, so end-users can more easily report bugs or feature
requests back to the developers.
* issue 300 Support SMTP over SSL/TLS
+
Encrypted SMTP is now supported natively within Gerrit, see
[http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html#sendemail.smtpEncryption sendemail.smtpEncryption]
Bug Fixes
---------
* issue 290 Fix invalid drop index in upgrade017_018_mysql
+
Minor syntax error in SQL script.
* Fixed ActiveDirectory LDAP group support. Allows recu...
* issue 307 Set proper LDAP defaults for Active Directory
+
ActiveDirectory is now better supported out of the box. Defaults
for the LDAP configuration settings are automatically guessed at
startup based upon the type of server configured in ldap.server.
Recursive groups (group which is a member of a group) is also
now supported when using an ActiveDirectory server. Other LDAP
servers (e.g. OpenLDAP) probably don't support this.
* "250-AUTH " will be returned if 'AUTH' response does ...
* Fix: Authentication fail when authTypes is empty
* Fix a typo that broke the gerrit build
+
Outgoing SMTP sometimes failed to authenticate against a
SMTP server due to slightly incorrect handling of the AUTH
advertisement.
* Correct scp commands in documentation to include -p
+
Our documentation of how to copy the commit-msg hook down via
scp did not include the -p option, which is necessary to make
the client preserve the executable flag on the hook script.
* issue 291 Suggest latin1 charset for MySQL databases
+
Documentation was updated to encourage using latin1 for MySQL
as MySQL fails with key too long errors during schema creation
when the database is using the UTF-8 character set.
* issue 294 Fix OpenID self registration dialog
+
OpenID 'Register' hyperlink was broken due to the dialog having
no content added to it before display. This bug was fixed by
using the proper OpenID login dialog.
* issue 309 Clear message on publish comments screen after submit...
+
The publish comments button preserved your last comment, making
it easy for a user to accidentally publish the same message on
the same change twice. The message is now cleared after it has
been successfully sent.
* issue 299 Remove the branches table from the database
* Display current branch SHA-1 in Branches tab
* issue 299 Display not-yet-born HEAD branch in Branches tab
+
The not-yet-born branch in an empty project is now shown in the
Branches tab. (This is based on the value of the HEAD symbolic
reference within the project's Git repository.)
The branches table was removed from the database. We now fully
rely upon the Git repository to determine which branches exist
and thus permit changes to be uploaded to.
* issue 296 Make help more friendly over SSH
+
`ssh -p 29418 localhost help` is now more user friendly.
* Don't request registration if the account exists
* issue 38 Fix OpenID delegate authentication
+
OpenID authentication was sometimes asking providers for
registation data when we already had it on hand, fixed.
OpenID delegate identities were being stored rather than claimed
identities when the claimed identity is just a delegate to the
delegate provider. We now store both in the account.
Fixes in 2.0.24.1
-----------------
* Fix unused import in OpenIdServiceImpl
* dev-readme: Fix formatting of initdb command
+
Minor documentation/code fixes with no impact on execution.
* Fix LDAP account lookup when user not in group
+
Fixes a NullPointerException when a user is not in any group
and the underlying LDAP server is ActiveDirectory.
* issue 315 Correct sendemail.smtppass
+
Fixes sendemail configuration to use the documented smtppass
variable and not the undocumented smtpuserpass variable.
Fixes in 2.0.24.2
-----------------
* Fix CreateSchema to create Administrators group
* Fix CreateSchema to set type of Registered Users group
* Default AccountGroup instances to type INTERNAL
* Document the various AccountGroup.Type states better
+
CreateSchema was broken in 2.0.24 and 2.0.24.1 due to the default
groups being misconfigured during insertion. Fixed.
* Grant anonymous uses READ +1, registered users READ +...
+
Default permissions were a bit confusing, there is no point in an
anonymous user having READ +2.
* Use the H2 database for unit tests
* Unit test for SystemConfigProvider and CreateSchema
+
Added unit tests to validate CreateSchema works properly, so we
don't have a repeat of breakage here.
Other Changes
-------------
* Start 2.0.24 development
* Merge change Ie16b8ca2
* Switch to the new org.eclipse.jgit package
* Allow default of $JETTY_HOME in to_jetty.sh
* LdapRealm: Remove unused throws declaration
* LdapRealm: Fix missing type parameter warnings
* Remove dead exists method from AccountManager
* Document ldap.groupPattern
* AuthSMTPClient: Fix formatting errors
* style fixup: remote trailing whitespace from our sour...
* show-caches: Correct example output in documentation
* Move server programs section under User Guide
* Revert "Remove dead exists method from AccountManager"
* Ensure prior commit body is parsed before comparing m...
* Gerrit 2.0.24

View File

@ -0,0 +1,68 @@
Release notes for Gerrit 2.0.3
==============================
Gerrit 2.0.3 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
I would like to express a big thank you to Brad Larson for diving into
Gerrit and coming up with the implementation for "Add reviewer to an
existing change". This has been an open issue in the bug tracker for a
while, and its finally closed thanks to his work.
New Features
------------
* GERRIT-37 Add additional reviewers to an existing change
* Display old and new image line numbers in unified diff
* Make 'c', 'r' in a patch view open a new comment editor
* Allow up/down arrow keys to scroll the page in patch view
* Use a Java applet to help users load public SSH keys
Bug Fixes
---------
* GERRIT-72 Make review comments standout more from the surrounding text
* GERRIT-7 Restart the merge queue when Gerrit starts up
* Fix message threading for comment replies
* Fix unified diff view to support creating a comment
* Fix line numbers for new post-image comments in unified diff
* Don't store SSH keys we know to be invalid
* Bust out of an iframe if Gerrit is embedded in one
+
The last item is a security fix. It prevents Gerrit from being loaded
inside of an iframe, which is a potential security flaw if some evil outer
page used CSS tricks to show only a portion of a particular part of the
Gerrit UI. Such a display might be able to convince a user they are
clicking on one thing, while doing something else entirely.
Other Changes
-------------
* Restore -SNAPSHOT suffix after 2.0.2
* Add a document describing Gerrit's high level design
* Rename the gerrit artifact to be gerrit-$version.war
* Ensure our SSHD always disables compression
* Make the magic refs/heads/ constant available in GWT
* Move Account to PersonIdent code to ChangeUtil for reuse
* GERRIT-20 Add a Branches tab to the project admin screen
* Add a link to our project homepage in the documentation
* Add documentation on all of the software licenses
* Add a link to the Android Open Source Project workflow a...
* Fix a minor language typo in project setup documentation
* Abstract the account name hint into AddMemberBox
* Fix vertical-align: center to be middle
* Fixed some minor documentation typos
* Actually return failure to clients if new change creatio...
* Log any failures while creating patch set refs
* Update approvals table when adding reviewer.
* Include "a=commit" in direct gitweb commit links
* Add a loading message, link to the project, before the U...
* Fix detach assertion error caused by loading messing bei...
* Allow callers of AddMemberBox to control the button text
* Cleanup the ApprovalTable formatting for adding a review...
* Display the text "invalid key" instead of a red X icon i...
* Add a clear button to make it easier to replace the key
* Make Gerrit.getVersion public for other code to use
* Allow embedded applets to be cached indefinitely by prox...
* gerrit 2.0.3

View File

@ -0,0 +1,50 @@
Release notes for Gerrit 2.0.4
==============================
Gerrit 2.0.4 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
*WARNING: This version contains a schema change.*
Simple version of the schema upgrade:
java -jar gerrit.war --cat sql/upgrade004_005_part1.sql | psql reviewdb
If you aren't collecting the contact information fields on individual
user accounts (the accounts columns contact_address, contact_country,
contact_phone_nbr, contact_fax_nbr) then you can safely apply both the
part1 and part2 upgrades without further thought.
java -jar gerrit.war --cat sql/upgrade004_005_part2.sql | psql reviewdb
After this upgrade, the contact fields under My > Settings > Contact
Information will be hidden.
A much longer upgrade process is explained in the documentation if you
need to store the contact data.
* http://gerrit.googlecode.com/svn/documentation/2.0/config-contact.html
* http://gerrit.googlecode.com/svn/documentation/2.0/config-contact.html#upgrade_203
+
This horribly painful change was necessary to better protect
individual user's privacy by strongly encrypting their contact
information, and storing it "off site".
Other Changes
-------------
* Change to 2.0.3-SNAPSHOT
* Correct grammar in the patch conflict messages
* Document how to create branches through SSH and web
* Add how/why we call Gerrit Gerrit to the background sect...
* Don't bother logging IO errors caused by disappearing cl...
* Remove old entries from our feature roadmap
* Add a link to our issue tracker to the feature roadmap
* Add documentation on the access control lists and rights
* Escape single quotes when escaping text for HTML inclusi...
* Document that install was tested with Jetty 6.1.14 and l...
* Add a note about CA Siteminder long headers and Jetty
* Make sure the WorkQueue terminates when running command ...
* Move all contact information out of database to encrypte...
* Peg the versions of JGit and MINA SSHD to something known
* gerrit 2.0.4

View File

@ -0,0 +1,73 @@
Release notes for Gerrit 2.0.5
==============================
Gerrit 2.0.5 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
WARNING: This version contains a schema change.
Schema upgrade:
java -jar gerrit.war --cat sql/upgrade005_006.sql | psql reviewdb
If you use an OpenID authentication provider, you may want to review the new trusted providers functionality added by this release. See the OpenID section in the SSO documentation for more details:
link:http://gerrit.googlecode.com/svn/documentation/2.0/config-sso.html[http://gerrit.googlecode.com/svn/documentation/2.0/config-sso.html]
New Features
------------
* GERRIT-62 Work around IE6's inability to set innerHTML on a tbody ...
* GERRIT-62 Upgrade to gwtjsonrpc 1.0.2 for ie6 support
+
These add (crude) support for Microsoft Internet Explorer 6 and 7.
* Allow users to delete OpenID identities no longer used
* Show the trust status of a user's identities
* Allow effective permissions only for trusted OpenID prov...
+
These features allow a site to lock down access to only a trusted OpenID provider. review.source.android.com uses this to give out approval access only to users who have registered with the site's trusted OpenID provider, Google Accounts.
* Add clippy.swf to support copying download commands to t...
* Display the clippy button for the permalink of a change
* Allow clicking on a copyable text to switch label to inp...
+
These features make it easier to copy patch download commands.
Bug Fixes
---------
* GERRIT-79 Error out with more useful message on "push :refs/change...
* Invalidate all SSH keys when otherwise flushing all cach...
Other Changes
-------------
* Set version 2.0.4-SNAPSHOT
* Correct note in developer setup about building SSHD
* Change the order of links in developer setup
* Document how to enable SSL with Jetty and Apache2
* Ignore errors when current row no longer exists in a tab...
* Show the Web Identities panel when on HTTP authentication
* Relabel the "Web Identities" tab as just "Identities
* Use an &nbsp; when showing an empty cell in the identity...
* Simplify the Gerrit install from source procedue to avoi...
* Support -DgwtStyle=DETAILED to support browser debugging
* Don't link to JIRA in our docs, link to our issues page
* Use &nbsp; in the identities table email column when emp...
* Fix GWT Mac OS X launcher to include all sources
* Catch any unexpected exceptions while closing a replicat...
* Fix indentation in UserAgent.gwt.xml
* Only load the flash clippy button if flash plugin is ava...
* Fix border in the info block on the settings page
* Reuse code that was moved to gwtexpui
* Rename our CSS to encourage caching
* Add gwtexpui to our license list
* Fix account settings screen by correcting row offset
* Replace DomUtil with SafeHtmlBuilder
* Mention the OpenID provider restriction feature in our d...
* Mention the contact information encryption in our design...
* Switch to gwtexpui's iframe busting code
* Use gwtexpui 1.0
* gerrit 2.0.5

View File

@ -0,0 +1,40 @@
Release notes for Gerrit 2.0.6
==============================
Gerrit 2.0.6 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
New Features
------------
* GERRIT-41 Add support for abandoning a dead change
+
Everyone cheer for Brad Larson for providing this!
* Bold substrings which match query when showing completi...
Bug Fixes
---------
* GERRIT-43 Work around Safari 3.2.1 OpenID login problems
* GERRIT-43 Suggest boosting the headerBufferSize when deploying un...
* GERRIT-94 Only show the progress meter if we haven't reset the ta...
* GERRIT-94 Defer showing the patch set table until it is fully bui...
* GERRIT-76 Upgrade to JGit 0.4.0-209-g9c26a41
* Ensure branches modified through web UI replicate
Other Changes
-------------
* Start 2.0.6 development
* Generate the id for the iframe used during OpenID login
* Fix formatting after method rename caused longer lines
* Change copyright messages in file headers to AOSP
* Add missing copyright notice headers to Java sources
* Support running the SSH daemon from the command line
* Ignore GerritServer.properties at the top level
* Fix gerrit_macos.launch to make Eclipse happy
* Merge
* Merge
* Gerrit 2.0.6

View File

@ -0,0 +1,52 @@
Release notes for Gerrit 2.0.7
==============================
Gerrit 2.0.7 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Of note is the WAR file doubled in size. This is due to the switch to openid4java for the OpenID relying party implementation, as it is more compliant to the OpenID 2.0 draft standard than the prior relying party, dyuproject.
Installation of openid4java may require installing Xalan/Xerces from the WAR into your application container's secure classes directory or something equally obtuse. Under stock Jetty it still works fine to just drop the WAR in. If you aren't using Jetty and are using OpenID authentication, be warned, the upgrade may be a bit harder than just dropping the WAR in due to Xalan/Xerces issues.
Gerrit is still Apache 2/MIT/BSD licensed, despite the switch of a dependency.
New Features
------------
* GERRIT-103 Display our server host keys for the client to copy an...
+
For the paranoid user, they can check the key fingerprint, or even copy the complete host key line for ~/.ssh/known_hosts, directly from Settings > SSH Keys.
Bug Fixes
---------
* GERRIT-98 Require that a change be open in order to abandon it
* GERRIT-101 Switch OpenID relying party to openid4java
* GERRIT-102 Never place an OpenID provider into an iframe
+
These are fixes suggested by the OpenID team at Google, or by the security team at Google.
* Use a TOPO sort when processing commits in the merge q...
* Upgrade JGit to 0.4.0-236-gcb63365
+
The upgrade of JGit should resolves issues relating to not being able to upload a merge commit change for review when merging in an upstream change that is already available under another tracking branch. Multiple groups have reported this problem late last week.
* Fix a NullPointerException in OpenIdServiceImpl on res...
Other Changes
-------------
* Start 2.0.7 development
* Upgrade JGit to 0.4.0-212-g9057f1b
* Make the sign in dialog a bit taller to avoid clipping...
* Define our own version of a URL encoding helper
* Refactor the openid_identifier field name to be a cons...
* GERRIT-102 Simplify the OpenID login code now that the iframe is ...
* Sort request parameters during OpenID response handling
* Shorten our OpenID return_to URL by removing unnecessa...
* Honor the "Remember Me" checkbox when it comes to cook...
* Remove the now dead SetCookie.html page
* Don't ask for registration information on existing acc...
* Disable spell checking on the SSH key add text area
* Hide the SSH key add field if we already have keys reg...
* gerrit 2.0.7

View File

@ -0,0 +1,49 @@
Release notes for Gerrit 2.0.8
==============================
Gerrit 2.0.8 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
*WARNING: This version contains a schema change.*
Schema upgrade:
java -jar gerrit.war --cat sql/upgrade006_007.sql | psql reviewdb
This version has some major bug fixes for JGit. I strongly encourage people to upgrade, we had a number of JGit bugs identified last week, all of them should be fixed in this release.
New Features
------------
* Allow users to subscribe to submitted change events
+
Someone asked me on an IRC channel to have Gerrit send emails when changes are actually merged into a project. This is what triggered the schema change; there is a new checkbox on the Watched Projects list under Settings to subscribe to these email notifications.
* BCC any user who has starred a change when sending rela...
+
A nice idea. If the user starred the change, keep them informed on all emails related to that change, even if they aren't otherwise watching that project.
* GERRIT-33 Quote the line a comment applies to when sending commen...
+
A long standing "bug"/feature request. I had a small chunk of time I didn't know what else to do with on Friday... it was too small for most items on the open list, so this got done instead.
* Record the remote host name in the reflogs
* Record the starting revision expression used when makin...
+
The reflogs now contain the remote user's IP address when Gerrit makes edits, resulting in slightly more detail than was there before.
Bug Fixes
---------
* Make sure only valid ObjectIds can be passed into git d...
* GERRIT-92 Upgrade JGit to 0.4.0-262-g3c268c8
+
The JGit bug fixes are rather major. I would strongly encourage upgrading.
Other Changes
-------------
* Start 2.0.8 development
* Upgrade MINA SSHD to SVN trunk 755651
* Fix a minor whitespace error in ChangeMail
* Refactor patch parsing support to be usable outside of ...
* Gerrit 2.0.8

View File

@ -0,0 +1,67 @@
Release notes for Gerrit 2.0.9
==============================
Gerrit 2.0.9 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
*WARNING: This version contains schema changes.*
Schema upgrades:
----
java -jar gerrit.war --cat sql/upgrade007_008.sql | psql reviewdb
java -jar gerrit.war --cat sql/upgrade008_009.sql | psql reviewdb
----
If one or more of your projects are using the undocumented `gerrit.fastforwardonly` configuration option, you should import that setting into the database:
----
java -DGerritServer=GerritServer.properties -jar gerrit.war ImportProjectSubmitTypes
----
The SQL statement to insert a new project into the database has been changed. Please see [http://gerrit.googlecode.com/svn/documentation/2.0/project-setup.html Project Setup] for the modified statement.
New Features
------------
* GERRIT-69 Make the merge commit message more detailed when mergi...
* Show the user's starred/not-starred icon in the change...
* Modify Push Annotated Tag to require signed tags, or r...
* GERRIT-77 Record who submitted a change in the change message
+
* Support different project level merge policies
* GERRIT-111 Support cherry-picking changes instead of merging them
+
These last two changes move the hidden gerrit.fastforwardonly feature to the database and the user interface, so project owners can make use of it (or not). Please see the new 'Change Submit Action' section in the user documentation:
link:http://gerrit.googlecode.com/svn/documentation/2.0/project-setup.html[http://gerrit.googlecode.com/svn/documentation/2.0/project-setup.html]
Bug Fixes
---------
* Work around focus bugs in WebKit based browsers
* Include our license list in the WAR file
* Whack any prior submit approvals by myself when replac...
* GERRIT-35 Handle unwrapped commit message more gracefully
* GERRIT-85 ie6: Correct rendering of commit messages
* GERRIT-89 ie6: Fix date line wrapping in messages
Other Changes
-------------
* Start 2.0.9 development
* Always show the commit SHA-1 next to the patch set hea...
* Silence more non-critical log messages from openid4java
* Fix default READ access on new database initialization
* Don't permit project rights to be created backwards
* Don't permit project rights to be created backwards (p...
* Select better defaults for min/max access rights when ...
* Show the + or - numeric level when adding a new ACL en...
* Fix odd formatting errors in MergeOp.java
* Fix tab formatting in pom.xml
* Require the submitter approval to be > 0 to claim it i...
* Fix the copyright header in pom.xml to be AOSP
* Add some missing copyright headers
* Remove Gerrit 1.x to 2.x import tools
* Upgrade JGit to 0.4.0-272-g7322ea2
* Upgrade gwtexpui to 1.0.2
* Attach submitter identity to change messages about suc...
* Automatically generate unique names for our CSS code
* Cache `*`.nocache.js and don't cache the host page
* gerrit 2.0.9

View File

@ -0,0 +1,211 @@
Release notes for Gerrit 2.1.1, 2.1.1.1
=======================================
Gerrit 2.1.1.1 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
Schema Change
-------------
*WARNING* This release contains a schema change. To upgrade:
----
java -jar gerrit.war init -d site_path
----
Patch 2.1.1.1
-------------
* Update MINA SSHD to SVN 897374
+
A deadlock was recently discovered in the SSHD, causing an
IoProcessor thread to freeze and stop servicing clients. This
manifests itself as spotty SSH service; sometimes a connection
works, sometimes it hangs and never executes the command. Fixed.
* issue 376 Fix deletion of comments on publish comments screen
+
Discarding a comment from the publish comments screen caused
a ConcurrentModificationException. Fixed.
New Features
------------
* issue 322 Update to GWT 2.0.0
+
JavaScript code generation is now based upon GWT 2.0, which
is the latest stable release available. One benefit of this
is the initial JavaScript download is smaller, by omitting
less-frequently used sections of the UI like the admin screens
or user preferences.
* Support creating new users in `DEVELOPMENT_BECOME_ANY_`...
+
Developers can now create new users (to facilitate testing
scenarios) through the /become URL, rather than manually
inserting account records or switching over to OpenID/LDAP.
* issue 371 Make gitweb url links customizable, add support for c...
+
The linkage to gitweb is now more configurable, and we also
support linking to cgit, a popular C based alternative to the
Perl based gitweb.cgi.
* Log SSH activity to $site_path/logs/sshd_log
+
SSH authentication failures and commands are now logged, including
execution times, so administrators can monitor server activity.
The log file is local to the server running the daemon process,
and came about to help replace the lastUsedOn columns which were
dropped from the database (see below).
* Drop the lastUsedOn from AccountSshKeys, AccountExternalIds
* Implement automatic schema upgrading
+
The lastUsedOn column is no longer updated in the database,
and was actually removed by a schema upgrade in this release.
* issue 162 Record submitters as the author of a merge commit
+
Merge commits created by Gerrit during change submission now
use the submitter's identity as the author identity, and generic
Gerrit user identity as the committer identity.
* issue 162 Summarize single change merges with short description
+
The short description of a merge commit including exactly
one change into the branch now includes that change's short
description, making the log easier to read.
* Reload GerritSiteHeader, GerritSiteFooter, GerritSite...
+
The site header/footer files are reloaded on the fly if they are
modified, allowing the administrator to abuse the header for a
"message of the day" feature, if desired.
* Reduce the size (and cost) of the host page
* Use server side permutation selection
* Allow ?s=0 to disable server side permutation
+
The host page was compacted slightly, and the CPU time used on
the server to send it to a client was reduced by reusing as much
work as possible between sessions.
Additionally, the host page now selects the correct JavaScript
based on the User-Agent HTTP header, removing one HTTP round
trip during initial page load, and saving ~5 KiB of transfer.
* Make hyperlinks update URL when screen is visible
+
The address bar now only updates when the corresponding content
is actually visible. This matches the behavior used within
other AJAX applications like Gmail.
* Use a glass pane behind our dialogs, make most modal
+
Error dialogs are now more noticable, and less easily dismissed
by an accidential click. This is especially useful when there
is a merge error during submit.
Bug Fixes
---------
* issue 359 Allow updates of commits where only the parent changes
+
Commit replacements were sometimes rejected when the only thing
that changed as the parent pointer, e.g. rebasing a change because
the parent's commit message was modified to correct a typo.
We now allow these replacements, with a warning to the console.
* gsql: Fix \d table missing first column
+
The gsql tool skipped the first column of any table, e.g. when
showing "\d accounts" the registered_on column wasn't displayed.
* Default to the en locale
* Limit permutations to only the en locale
+
The WAR file shrank because we deleted a large chunk of JavaScript
which was never used. GWT created this code in case the browser
didn't get forced into the 'en' locale, but we always force it to
use the 'en' locale because the top of our HTML page demands it.
* issue 364 Fix SchemaCreatorTest to work when localized errors a...
+
This test failed when the JVM's default locale wasn't en_US, as it
was testing a translated string against an English expected value.
* issue 365 Skip CommitMsgHookTest on Win32
+
This test failed on Windows platforms, where there is no shell
or perl available from a native Win32 application like the JVM.
For now, we skip the test.
* issue 369 Add missing repositories to build search path
+
The out-of-the-box build of Gerrit's own source code didn't work,
due to missing Maven repository URLs in our pom.xml. I never
noticed the failure because my local repository already had the
required JARs present.
* Fix MSIE 8 compatibility
+
Releases between 2.0.18 and 2.1.1 have not supported MSIE 8,
due to a broken GWT upgrade. Fixed.
* Ensure gitweb.cgi pipes are closed
+
Exceptions may have allowed our internal gitweb CGI invocations
to leak file descriptors, as pipes to the external CGI were not
always closed. Fixed.
Other
-----
* Switch to ClientBundle
* Update to gwtexpui-1.2.0-SNAPSHOT
* Merge branch 'master' into gwt-2.0
* Use gwt-maven's -Dgwt.style rather than our own
* Don't build the "Story of Your Compile" report by def...
* Drop the com.google.gerrit.httpd.auth.become system p...
* Move all of our CSS rules into our CssResource
* Start splitting our code to reduce initial download
* Defer our large JavaScript parsing until later
* Move prettify to be loaded as part of our patch split...
* issue 363 Update Google Code Prettify to 3-Dec-2009
* Start next release development
* Merge branch 'gwt-2.0'
* documentation: Remove Eclipse user library
* Fix disclosure panel CSS
* Simplify pretty printer loading
* Fix formatting of whitespace errors
* Correct URL to apache license in CSS headers
* Restore the CSS linker for GWT's stylesheet
* documentation: Correct calculation of QPS
* Consolidate windows platform tests to a single class
* documentation: Correct other calculations of QPS
* issue 370 Revert "Defer our large JavaScript parsing until late...
* Merge change If238e2bd
* Remove unnecessary /login/`*` URLs when auth.type = LDAP
* Stop using AccountExternalId lastUsedOn for most rece...
* Revert "Remove unnecessary /login/* URLs when auth.ty...
* Document why LoginRedirectServlet is required
* Cleanup Maven build by pushing component dependencies...
* Cleanup Maven build by using common plugin management
* Fix package-before-copyright in GerritLauncher
* Fix unified patch view
* Fix background of RPC loading status message
* Use @def for common CSS definitions
* Correct comment panel border styles
* Improve keyapplet referencing
* Remove the duplicate Version class
* Be specific about the Maven plugin groupId
* Fix automatic formatting in SshPanel
* Remove unnecessary compile scope tags
* Disable unnecessary class operations
* Use the full name 'Gerrit Code Review' in sign-in dia...
* init: Defer all prune executions until upgrade cycle ...
* Fix automatic formatting in LdapRealm
* Update gwtorm, gwtjsonrpc, gwtexpui
* Push Command.destroy down through DispatchCommand red...
* Quote usernames in the sshd_log if necessary
* Document why ReplicationUser doesn't use registered g...
* Configure the gwtorm KeyUtil.Encoder during module lo...

View File

@ -0,0 +1,378 @@
Release notes for Gerrit 2.1
============================
Gerrit 2.1 is now available in the usual location:
link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]
New site_path Layout
--------------------
The layout of the `$site_path` directory has been changed in 2.1.
Configuration files are now stored within the `etc/` subdirectory
and will be automatically moved there by the init subcommand.
Upgrading From 2.0.x
--------------------
If the server is running a version older than 2.0.24, upgrade the
database schema to the current schema version of 19. Download
'schema-upgrades003_019.zip' from the download area and run the
scripts by hand as listed in README until the server is caught up.
Run init to convert the layout of $site_path:
----
java -jar gerrit.war init -d $site_path
----
If there is a GerritServer.properties file handy, ensure it is in the
current working directory or inside of $site_path when running init.
If present, init will reuse this information rather than prompting
for it. If the file is not found, init will prompt for database
connection information.
While moving the server's configuration files into the new
etc/ subdirectory, init will also move secret settings such as
sendemail.smtpPass and ldap.password out of gerrit.config into a
read-protected secure.config file.
New Daemon Mode
---------------
Gerrit 2.1 and later embeds the Jetty servlet container, and
runs it automatically as part of `java -jar gerrit.war daemon`.
This is the preferred method of running Gerrit Code Review, and is
how sites like review.source.android.com are operating.
To simplify management on UNIX systems an rc.d style startup script
is created in `$site_path/bin/gerrit.sh`. This script can be used
to start and stop the background daemon process. When started
from this script the daemon calls itself `GerritCodeReview` in ps,
but may still show up in top as `java`.
Configuration of the daemon is handled by gerrit.config. For more
information see the 2.1 documentation.
link:http://gerrit.googlecode.com/svn/documentation/2.1/index.html[http://gerrit.googlecode.com/svn/documentation/2.1/index.html]
New Features
------------
* issue 19 Link to issue tracker systems from commits
+
Hyperlinks from commit messages and any inline comments to
bug tracking systems can be enabled by configuring one or
more commentlink regular expressions in gerrit.config.
* Git replication security
+
Git replication can now be controlled on the sending side by
configuring one or more authGroups for a remote and granting
READ +1 access to only certain projects.
* Better repo upload/git push throughput
+
MINA SSHD was misconfiguring the host's TCP/IP stack, this
limited throughput of git push to under 16 KiB/s. Fixed.
Its such a huge improvement that its an important feature,
rather than a bug fix. :-)
* issue 320 Queue SSH commands and ensure consistent throughput
+
SSH commands are entered into a queue and executed in FIFO order
as processor capacity becomes available. The queue enables
the server to work on a finite number of commands at once and
ensures running commands complete in a timely fashion, no matter
how many concurrent connections are being established.
The queue allows sites to maintain consistent throughput without
thrashing, even as the number of requests increase beyond server
capacity. The change was made in anticipation of `repo sync`
learning how to fetch all projects at once, inducing a load of
over 200 concurrent commands per user/Android checkout.
Server administrative commands such as kill or gsql (below) bypass
the queue and are allowed to execute as soon as they are received.
* kill: Support killing any queued task
+
A new administrative kill command was introduced to terminate
any queued or running tasks. Unlike UNIX kill, a killed task
will continue until its next safe interruption point, which is
usually at the next network read or write.
* issue 327 gsql: query tool on command line and SSH
+
Gerrit supports an interactive SQL query tool for administrators.
The query tool is available over SSH as `gerrit gsql`, or locally
as `java -jar gerrit.war gsql`. The query tool is primarily
useful with H2 databases, where the database is only accessible
to the running Java process.
* issue 202 Self contained daemon mode
* issue 328 daemon: Automatically log into $site_path/logs
* daemon: Automatically compress our log files
+
As noted above, Jetty 7.0.1.v20091125 is now bundled, making new
site installation easier. Logs from daemon mode are written
out to the site's logs/ subdirectory. Logs are rotated and
compressed daily.
* issue 330 init: Create a command to setup a new site
* issue 343 init: Create database indexes during schema creation
* Remove CreateSchema command
+
The init command can be used to initialize a new site, or
as noted above, to upgrade an existing site to the current
software version. Since init now does the work of CreateSchema,
and everything else that used to be listed out as individual
steps in the installation guide, CreateSchema was deleted.
* issue 325 Allow secure.config to overlay gerrit.config
* Configure database from gerrit.config
+
Database connectivity is now configured out of gerrit.config
and secure.config, rather than GerritServer.properties.
* Bundle PostgreSQL, H2, DBCP, MySQL, Bouncy Castle
+
JDBC drivers for PostgreSQL, H2, and the Apache Commons DBCP
connection pool implementation are now bundled, reducing the
number of external dependencies that must be obtained before
getting a working installation.
The MySQL driver is automatically downloaded and verified by
init if required, as is the Bouncy Castle Crypto provider.
These JARs are not packaged in the standard distribution due to
export and/or license restrictions.
* issue 183 Support invoking gitweb from within Gerrit
+
The standard gitweb.cgi can now be automatically configured and
executed through Gerrit's servlet container, making it easier to
publish a repository for browsing on the web.
Project level access controls are honored when browsing through
this gitweb interface.
* issue 105 Support OpenID when behind an HTTP proxy
* issue 323 Use JGit's http_proxy based initialization
+
HTTP proxies are now supported for OpenID authentication, as
well as for init's optional external library download.
* Add a Register link when using LDAP authentication
+
When auth.type is LDAP the Register link in the top right corner
can point to an administrator defined URL. This external URL
might be as simple as a 'mailto:...' link, to help the user
request a new LDAP account from the directory administrators.
* Switch remote JSON services to use JSON-RPC 2.0
+
The JSON-RPC interface now speaks the JSON-RPC 2.0 draft
specification, in addition to the prior JSON-RPC 1.1
specification previously used.
* issue 336 Update MINA SSHD to SVN 891122
* issue 324 Update JGit to 0.5.1.51-g96b2e76
* Update JUnit to 3.8.2
* Update args4j to 2.0.16
* Update slf4j-log4j12 to 1.5.8
* Update Ehcache to 1.7.1
* Update commons-pool to 1.5.4
* Update H2 to 1.2.125
* Update to gwtjsonrpc 1.2.0, gwtexpui 1.1.4
+
Most dependencies were updated to their current stable versions.
Bug Fixes
---------
* issue 259 Improve search hint to include owner:email
+
The hint text in the search box in the upper right corner has
been improved to suggest owner:email and reviewer:email, as
these tags were not discoverable.
* issue 335 daemon: Refuse to launch unless gerrit.config exists
+
Gerrit now refuses to launch until the site path has been
properly initialized with init. This is true both in daemon
mode and also when deployed inside of any servlet container.
* issue 152 Allow adding users who are missing a preferred email
+
The user suggestion boxes now permit adding a user that has not
yet selected a preferred email address on their contact panel.
* issue 319 Automatically set preferred email to first configured
+
If a user has no email addresses, the first address they register
through the next OpenID login, LDAP login, or 'Register New Email'
feature will be automatically set as the preferred email address
for their account.
* issue 356 Fix committer identity on cherry-pick
+
The committer identity created when cherry-picking a change was
formatted incorrectly, it used the internal account identity.
Fixed to use the submitter's preferred email address only.
* issue 345 Make "call11" readable in file content
+
The prior font made the string "call11" (c-a-ell-ell-one-one)
impossible to read because the ell and one looked the same.
Fixed by changing to different fonts for the fixed width file
content display.
* Automatically make first user account administrator
+
To simplify installation, the first user to login to a brand
new site is added to the 'Administrators' group. This avoids
the need to update the database manually via SQL and restart
the daemon to have it be picked up.
* Always trim Change-Id lines to handle whitespace
+
Some users were adding trailing whitespace on a Change-Id line
by accident, causing Gerrit to not always honor it when uploading
a replacement patch. Fixed.
* Fix duplicate branches in the branches panel
+
The Branches tab under a project displayed the HEAD branch twice,
but every other branch once. Fixed.
* Enforce all HTTP requests through SSL
+
JSON-RPC requests are now required to be over SSL if the site
prefers to use SSL for communication.
Prior to 2.1 the JSON-RPC requests from the web UI were performed
over https:// if the web UI loaded over https://, but JSON-RPC
requests from other tools (e.g. a command line script) were
still allowed over plain text HTTP.
* Work around NPE when patch list fails to compute
+
Rather than return NullPointerException to the browser return
a "not found" error, as the source of the null pointer is the
underlying diff operation returned no results.
* Fix stuck "Loading Gerrit Code Review ..."
+
Many users have noticed that after about a week of server uptime
Gerrit no longer loads in their browser, until the server is
restarted. This was usually caused by Jetty unpacking the WAR
file contents to /tmp, and the system having a cron task that
deleted files more than a week old from /tmp.
Under the daemon command the WAR file contents are unpacked into
`$HOME/.gerritcodereview/tmp`, which should be isolated from
the host system's /tmp cleaner.
Other=
------
* Pick up gwtexpui 1.1.4-SNAPSHOT
* Merge change Ia64286d3
* Merge branch 'maint-2.0.24.1'
* Merge change Ic6f00304
* Merge branch 'maint-2.0.24.2'
* Add H2 database as a test dependency
* Update Ehcache to 1.7.0
* Fix formatting
* Rewrite our build as modular maven components
* Forbid use of anonymous servlets on any container
* Use listeners to manage server startup/shutdown
* Load additional JARs from $site_path/lib
* Fix PostgreSQL/H2 access under gwtdebug sessions
* Fix Become link in hosted mode debugging sessions
* Fix ssh:// URLs on change pages
* daemon: Update help for --slave option
* daemon: Remove -DGerritServer from documentation
* Launcher: Clarify the purpose of the daemon command
* daemon: Fix --site-path documentation
* Remove unused imports from pgm.DataSourceProvider
* launcher: Don't print stack trace with reflection frames
* Move H2 database down into $site_path/db
* Remove dead code identified by Eclipse 3.5.1
* Add missing default serialVersionUID
* pgm_daemon: Remove unnecessary -DGerritServer flag
* Move configuration files under $site_path/etc
* Update documentation to point to etc subdirectory
* Display the full stack trace if requested
* init: Don't delete site path on database creation fail
* Simplify errors reported by command line database fail
* init: Correct defaults for httpd.listenUrl in --batch
* issue 341 gsql: Fix \d on H2
* gsql: Improve formatting of column types and indexes
* pgm: Move non commands into a util package
* issue 342 gsql: Reduce connections used to only 1
* WorkQueue: Drop the word "-thread" from thread names
* documentation: Correct links in dev-design
* Fix port number in ssh pull lines in emails
* Update MINA SSHD to 0.3.0
* Update Jetty to 7.0.1.v20091125
* launcher: Refactor how we return the status code
* cat, ls: move inside our main program package
* Default temporary directory to $HOME/.gerritcodereview
* Clean up stale empty temporary directories
* daemon: Unpack the WAR contents to a local directory
* daemon: Run correctly under Eclipse debugger
* Create a rc.d style start/stop script for our daemon
* Remove unused ADMIN_PEOPLE link
* Ignore unsupported ulimit -x errors
* Use more portable printf instead of echo -n
* Support starting as current user without start-stop-daemon
* Make startup output universally the same
* Get the canonical path to our temporary directory
* init: Start daemon and open web browser when done
* documentation: Clean up references to 'Gerrit2'
* Cleanup the reflog identity generation
* Update to gwtjsonrpc 1.2.0-SNAPSHOT
* init: Configure gerrit.canonicalWebUrl if reverse proxy
* tools/version.sh: Quick hack to edit our Maven version
* Call the next version 2.1
* documentation: Rewrite installation guide
* Fix gerrit.sh to run properly on SuSE systems
* documentation: Fix formatting of remote.name.authGroup
* Fix missing @Override warning in IoUtil
* Don't enable replication if replication.config is empty
* Give H2 a canonical file path
* init: Add --no-auto-start to prevent starting the daemon
* init: Support updating an existing site configuration
* init: Open browser to gerrit.canonicalWebUrl
* daemon: Allow httpd.listenUrl to end with /
* issue 358 init: Don't abort on empty directory
* init: Initialize system_config.site_path
* Remove dead class MessagePanel
* issue 331 documentation: Update developer docs
* documentation: Link to apache2 reverse proxy setup
* init: Fix LDAP prompts to store to ldap section
* init: Store httpd.sslKeyPasword in secure.config
* init: Fix a minor source code formatting error
* commentlink: Support raw HTML replacements
* documentation: Cleanup formatting in gerrit-config
* Delete legacy schema upgrade scripts
* Remove legacy tools/to_jetty.sh
* Remove standalone Jetty 6.x support scripts
* Move all resource files into src/main/resources
* init: Move optional library download configuration
* init: Refactor init to be small parts created
* Test SitePaths class
* Test SocketUtil class
* Test init's Libraries class
* Test init's upgrade from 2.0.x layout to 2.1 layout
* pgm_daemon launch: Run ../test_site like docs suggest...
* tools/version.sh: Don't mangle the git describe output
* Use SitePaths to locate the logs directory
* Resolve out any symlinks before starting logging
* Mark compressed log files read-only
* tools/release.sh: Simplify our release build process
* Teach Main to check the Java runtime version
* documentation: Mention Google Code Prettify in licens...
* Refactor GitRepositoryManager to be an interface
* issue 346 Fix duplicate branches showing in the Branches tab
* Completely remove GerritServer.properties
* Clean up the DWIMery for database.* configuration set...
* Never compress a pid file under $site_path/logs
* Fix reading the $site_path/etc/ssh_host_key in serial...
* gerrit 2.1

View File

@ -0,0 +1,18 @@
[attributes]
asterisk=&#42;
plus=&#43;
caret=&#94;
startsb=&#91;
endsb=&#93;
tilde=&#126;
[specialsections]
GERRIT=gerrituplink
[gerrituplink]
<hr style="
height: 2px;
color: silver;
margin-top: 1.2em;
margin-bottom: 0.5em;
">

39
ReleaseNotes/index.txt Normal file
View File

@ -0,0 +1,39 @@
Gerrit Code Review - Release Notes
==================================
[[2_1]]
Version 2.1.x
-------------
* link:ReleaseNotes-2.1.1.html[2.1.1]
* link:ReleaseNotes-2.1.html[2.1]
[[2_0]]
Version 2.0.x
-------------
* link:ReleaseNotes-2.0.24.html[2.0.24]
* link:ReleaseNotes-2.0.23.html[2.0.23]
* link:ReleaseNotes-2.0.22.html[2.0.22]
* link:ReleaseNotes-2.0.21.html[2.0.21]
* link:ReleaseNotes-2.0.20.html[2.0.20]
* link:ReleaseNotes-2.0.19.html[2.0.19]
* link:ReleaseNotes-2.0.18.html[2.0.18]
* link:ReleaseNotes-2.0.17.html[2.0.17]
* link:ReleaseNotes-2.0.16.html[2.0.16]
* link:ReleaseNotes-2.0.15.html[2.0.15]
* link:ReleaseNotes-2.0.14.html[2.0.14]
* link:ReleaseNotes-2.0.13.html[2.0.13]
* link:ReleaseNotes-2.0.12.html[2.0.12]
* link:ReleaseNotes-2.0.11.html[2.0.11]
* link:ReleaseNotes-2.0.10.html[2.0.10]
* link:ReleaseNotes-2.0.9.html[2.0.9]
* link:ReleaseNotes-2.0.8.html[2.0.8]
* link:ReleaseNotes-2.0.7.html[2.0.7]
* link:ReleaseNotes-2.0.6.html[2.0.6]
* link:ReleaseNotes-2.0.5.html[2.0.5]
* link:ReleaseNotes-2.0.4.html[2.0.4]
* link:ReleaseNotes-2.0.3.html[2.0.3]
* link:ReleaseNotes-2.0.2.html[2.0.2]
GERRIT
------
Part of link:http://code.google.com/p/gerrit/[Gerrit Code Review]