This eliminates the last Makefile in our code base.
Also change the section style within ReleaseNotes from asciidoc style to
asciidoctor style.
Also I feel that put images/link.png under ReleaseNotes and deal with
all the resource packing is too stupid, so I used the unicode emoji
instead of the picture ("🔗"). If this is too crazy, we can also use "#"
instead :) This also affects documentation rendering.
Other side effects:
1. The css of release notes switched from default asciidoc css into
default asciidoctor css.
2. The section anchors for ReleaseNotes/index.html changed from "2_13"
to "s2_13", because asciidoctorj is unhappy with anchors without
letters.
Change-Id: I4adf2ce090385cc6b699445012f10a009892aaac
		
	
		
			
				
	
	
		
			463 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			463 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
= Release notes for Gerrit 2.3
 | 
						|
 | 
						|
Gerrit 2.3 is now available:
 | 
						|
 | 
						|
link:https://www.gerritcodereview.com/download/gerrit-2.3.war[https://www.gerritcodereview.com/download/gerrit-2.3.war]
 | 
						|
 | 
						|
== Schema Change
 | 
						|
*WARNING:* This release contains schema changes.  To upgrade:
 | 
						|
----
 | 
						|
  java -jar gerrit.war init -d site_path
 | 
						|
----
 | 
						|
 | 
						|
*WARNING:* Upgrading to 2.3.x requires the server be first upgraded
 | 
						|
to 2.1.7 (or a later 2.1.x version), and then to 2.3.x.
 | 
						|
 | 
						|
If you are upgrading from 2.2.x.x, you may ignore this warning and
 | 
						|
upgrade directly to 2.3.x.
 | 
						|
 | 
						|
 | 
						|
== New Features
 | 
						|
=== Drafts
 | 
						|
* New draft statuses and magic branches
 | 
						|
+
 | 
						|
Adds draft status to Change. DRAFT status in change occurs before NEW
 | 
						|
and will be for a change that is not meant for review (yet).
 | 
						|
Also adds magic branches refs/drafts/ and refs/publish/ that
 | 
						|
will handle whether or not a patchset is a draft or goes straight to
 | 
						|
review. refs/for/ should be deprecated in favor of explicitly marking
 | 
						|
a patchset as a draft or directly to review.
 | 
						|
 | 
						|
* Draft patchset and change visibility in UI
 | 
						|
+
 | 
						|
If a patchset is a draft, adds a (DRAFT) label next to the revision
 | 
						|
(or gitweb link if it exists). If a change is a draft, adds a (DRAFT)
 | 
						|
next to the subject and changes the status appropriately.
 | 
						|
 | 
						|
* Publish draft patchsets in UI and SSH
 | 
						|
+
 | 
						|
Adds Publish button to draft patchsets in UI and an option to
 | 
						|
publish draft patchsets in the review ssh command. Publishing a draft
 | 
						|
patchset makes it visible. Publishing a draft patchset in a draft
 | 
						|
change irreversibly upgrades the change status to NEW.
 | 
						|
 | 
						|
* Delete draft changes and patchsets
 | 
						|
+
 | 
						|
Adds ability to delete draft changes and patchsets that are not meant
 | 
						|
or fit for code review. Deleting a draft patchset also deletes the
 | 
						|
corresponding ref from the repository and decrements the next patch
 | 
						|
set number for the change if necessary. Deleting a draft change
 | 
						|
deletes all of its (draft) patchsets.
 | 
						|
 | 
						|
* Add pushing drafts to refs/drafts/
 | 
						|
+
 | 
						|
Pushing to refs/drafts/ will now push a draft patchset. If this is the
 | 
						|
first patch set, change created will be in draft status. Pushing a
 | 
						|
draft patchset to a draft change keeps it in draft status. Pushing
 | 
						|
a non-draft patchset (with refs/publish/ or refs/for/, they do the
 | 
						|
same thing) to a draft change turns it into a non-draft change.
 | 
						|
Draft patchsets cannot be submitted.
 | 
						|
 | 
						|
* When pushing changes as drafts, output [DRAFT] next to the change link
 | 
						|
 | 
						|
 | 
						|
=== Web
 | 
						|
* issue 203 Create project through web interface
 | 
						|
+
 | 
						|
Add a new panel in the Admin->Projects Screen.  It
 | 
						|
enables the users that are allowed to create projects
 | 
						|
via command-line to create them also via web interface.
 | 
						|
 | 
						|
* Suggest parent for 'create-project' in the UI.
 | 
						|
+
 | 
						|
Add a list of parent suggestions for 'create project'
 | 
						|
in the UI, so the user can select a parent for the new
 | 
						|
project from a list of projects that are already parents to
 | 
						|
other projects.
 | 
						|
 | 
						|
* issue 981 Fix diffs skipping one line
 | 
						|
+
 | 
						|
Don't show '... skipping 1 common line ...'.  The text to show this
 | 
						|
takes up just as much space as showing the line which was skipped.
 | 
						|
 | 
						|
* issue 18 Support expanding lines of context in diff
 | 
						|
+
 | 
						|
Allow lines of context which were skipped in the side-by-side diff
 | 
						|
view to be expanded.  This makes it easier to get more code context
 | 
						|
when needed but not show huge amounts of unneeded data.
 | 
						|
 | 
						|
* Move checkbox to mark file as reviewed into title bar
 | 
						|
 | 
						|
* Redirect the user to the reverted change (when reverting).
 | 
						|
 | 
						|
* On group rename update the group name in the page title
 | 
						|
 | 
						|
* In ProjectAccessScreen add link to history of project.config in gitweb
 | 
						|
 | 
						|
* Removed superfluous 'comment' for patch history table.
 | 
						|
 | 
						|
* Make OpenID login images transparent
 | 
						|
 | 
						|
* Disable SSH Keys in the web UI if SSHD is disabled
 | 
						|
 | 
						|
 | 
						|
=== SSH
 | 
						|
* Adds --description (-d) option to ls-projects
 | 
						|
+
 | 
						|
Allows listing of projects together with their respective
 | 
						|
description.
 | 
						|
 | 
						|
* ls-projects: new option to list all accessible projects
 | 
						|
+
 | 
						|
Add a new option '--all' to the 'ls-projects' SSH command to display
 | 
						|
all projects that are accessible by the calling user account. Besides
 | 
						|
the projects that the calling user account has been granted 'READ'
 | 
						|
access to, this includes all projects that are owned by the calling
 | 
						|
user account (even if for these projects the 'READ' access right is
 | 
						|
not assigned to the calling user account).
 | 
						|
 | 
						|
* Suggest parent for 'create-project' in the SSH command
 | 
						|
+
 | 
						|
Add an option '--suggest-parents' which will print out
 | 
						|
a list of projects that are already parents to another
 | 
						|
projects, thus it can help user to find a suitable
 | 
						|
parent for the new project.
 | 
						|
 | 
						|
* Support reparenting all children of a parent project
 | 
						|
+
 | 
						|
This change adds a new option to the 'set-project-parent' command that
 | 
						|
allows reparenting all child projects of one parent project to another
 | 
						|
parent project.
 | 
						|
 | 
						|
* set-parent-project: evict child projects from project cache
 | 
						|
 | 
						|
* Add ssh command to list groups.
 | 
						|
 | 
						|
* ls-groups: add option to list groups for a project
 | 
						|
+
 | 
						|
Add an option to the ls-groups SSH command that allows to list only
 | 
						|
those groups for which any permission is assigned to a project.
 | 
						|
 | 
						|
* ls-groups: Add option to only list groups that are visible to all
 | 
						|
 | 
						|
* ls-groups: Support listing groups by group type
 | 
						|
 | 
						|
* ls-groups: Support listing of groups for a user
 | 
						|
 | 
						|
* Add new SSH command to rename groups
 | 
						|
 | 
						|
* Support for --file option for ssh queries.
 | 
						|
+
 | 
						|
Allows user to list files and attributes (ADDED,
 | 
						|
MODIFIED, DELETED, RENAMED, COPIED) when querying for
 | 
						|
patch sets.
 | 
						|
 | 
						|
* Output full commit message in query results
 | 
						|
 | 
						|
* Option for SSHD review-cmd to always publish the message.
 | 
						|
+
 | 
						|
"--force-message" option for the SSHD review command,
 | 
						|
which allows Gerrit to publish the "--message", even if the
 | 
						|
labels could not be applied due to change being closed.
 | 
						|
 | 
						|
 | 
						|
=== Config
 | 
						|
* issue 349 Apply states for projects (active, readonly and hidden)
 | 
						|
+
 | 
						|
Active state indicates the project is regular and is the default value.
 | 
						|
+
 | 
						|
Read Only means that users can see the project if read permission is
 | 
						|
granted, but all modification operations are disabled.
 | 
						|
+
 | 
						|
Hidden means the project is not visible for those who are not owners
 | 
						|
 | 
						|
* Enable case insensitive login to Gerrit WebUI for LDAP authentication
 | 
						|
+
 | 
						|
Gerrit treats user names as case sensitive, while some LDAP servers
 | 
						|
don't. On first login to Gerrit the user enters his user name and
 | 
						|
Gerrit queries LDAP for it. Since LDAP is case-insensitive with regards
 | 
						|
to  the username, the LDAP authentication succeeds regardless in
 | 
						|
which case the user typed in his user name. The username is stored in
 | 
						|
Gerrit exactly as entered by the user. For further logins the user
 | 
						|
always has to use the same case. If the user specifies his user name in
 | 
						|
a different case Gerrit tries to create a new account which fails with
 | 
						|
"Cannot assign user name ... to account ...; name already in use.".
 | 
						|
This error occurs because the LDAP query resolves to the same LDAP
 | 
						|
user and storing the username for SSH (which is by default always
 | 
						|
lower case) fails because such an entry exists already for the first
 | 
						|
account that the user created.
 | 
						|
+
 | 
						|
This change introduces a new configuration parameter that converts the
 | 
						|
user name always to lower case before doing the LDAP authentication.
 | 
						|
By this the login to the Gerrit WebUI gets case insensitive. If this
 | 
						|
configuration parameter is set, the user names for all existing
 | 
						|
accounts have to be converted to lower case. This change includes a
 | 
						|
server program to do this conversion.
 | 
						|
 | 
						|
* Enable case insensitive authentication for git operations
 | 
						|
+
 | 
						|
A new configuration parameter is introduced that converts the username
 | 
						|
that is received to authenticate a git operation to lower case for
 | 
						|
looking up the user account in Gerrit.
 | 
						|
+
 | 
						|
By setting this parameter a case insensitive authentication for the
 | 
						|
git operations can be achieved, if it is ensured that the usernames in
 | 
						|
Gerrit (scheme 'username') are stored in lower case (e.g. if the
 | 
						|
parameter 'ldap.accountSshUserName' is set to
 | 
						|
'${sAMAccountName.toLowerCase}').
 | 
						|
 | 
						|
* Support replication to local folder
 | 
						|
 | 
						|
* Read timeout parameter for LDAP connections: ldap.readTimeout
 | 
						|
+
 | 
						|
This helps prevent a very slow LDAP server from blocking
 | 
						|
all SSH command creation threads.
 | 
						|
 | 
						|
* Introduce a git maxObjectSizeLimit in the [receive] config
 | 
						|
+
 | 
						|
This limits the size of uploaded files
 | 
						|
 | 
						|
* Make 'Anonymous Coward' configurable
 | 
						|
 | 
						|
* Add property to configure path separator in URLs for a gitweb service
 | 
						|
 | 
						|
* Customize link-name pointing to gitweb-service.
 | 
						|
+
 | 
						|
Previously the link to the external gitweb-type
 | 
						|
pages said "(gitweb)" regardless if using cgit
 | 
						|
or a custom service.
 | 
						|
 | 
						|
* Support gitweb.type=disabled
 | 
						|
 | 
						|
* rules.enable: Support disabling per project prolog rules in gerrit.config
 | 
						|
 | 
						|
* Allow site administrators to define Git-over-HTTP mirror URL
 | 
						|
 | 
						|
* Allow sshd.listenAddress = off to disable the daemon
 | 
						|
 | 
						|
* daemon: Allow httpd without sshd
 | 
						|
 | 
						|
* Allow disabling certain features of HostPageServlet
 | 
						|
+
 | 
						|
These features are: user agent detection and automatic refresh
 | 
						|
logic associated with the site header, footer and CSS.
 | 
						|
 | 
						|
 | 
						|
=== Dev
 | 
						|
* Fix 'No source code is available for type org.eclipse.jgit.lib.Constants'
 | 
						|
 | 
						|
* Fix miscellaneous compiler warnings
 | 
						|
 | 
						|
* Add entries to .gitignore for m2e settings/preference files
 | 
						|
 | 
						|
* Package source JARs for antlr, httpd, server
 | 
						|
 | 
						|
* pom.xml: change gerrit-war's dependency on gerrit-main to runtime
 | 
						|
+
 | 
						|
This only seems to matter to IntelliJ, since the Main class is
 | 
						|
provided to the war via an overlay in gerrit-war/pom.xml
 | 
						|
 | 
						|
* Fixed the full name of the MAVEN2_CLASSPATH_CONTAINER
 | 
						|
+
 | 
						|
Fixes java.lang.NoClassDefFoundError: com/google/gwt/dev/DevMode
 | 
						|
 | 
						|
 | 
						|
=== Miscellaneous
 | 
						|
* Allow superprojects to subscribe to submodules updates
 | 
						|
+
 | 
						|
The feature introduced in this release allows superprojects to
 | 
						|
subscribe to submodules updates.
 | 
						|
+
 | 
						|
When a commit is merged to a project, the commit content is scanned
 | 
						|
to identify if it registers submodules (if the commit contains new
 | 
						|
gitlinks and .gitmodules file with required info) and if so, a new
 | 
						|
submodule subscription is registered.
 | 
						|
+
 | 
						|
When a new commit of a registered submodule is merged, gerrit
 | 
						|
automatically updates the subscribers to the submodule with new
 | 
						|
commit having the updated gitlinks.
 | 
						|
+
 | 
						|
The most notable benefit of the feature is to not require
 | 
						|
to push/merge commits of super projects (subscribers) with gitlinks
 | 
						|
whenever a project being a submodule is updated. It is only
 | 
						|
required to push commits with gitlinks when they are created
 | 
						|
(and in this case it is also required to push .gitmodules file).
 | 
						|
 | 
						|
* Allow Realm to participate when linking an account identity
 | 
						|
+
 | 
						|
When linking a new user identity to an existing account, permit the
 | 
						|
Realm to observe the new incoming identity and the current account,
 | 
						|
and to alter the request. This enables a Realm to observe when a
 | 
						|
user verifies a new email address link.
 | 
						|
 | 
						|
* issue 871 Show latest patchset with cherry-picked merge
 | 
						|
+
 | 
						|
When a change is published via the cherry-pick merge strategy,
 | 
						|
show the final commit as a patchset in the change history.
 | 
						|
This now makes it possible to search for the cherry-picked SHA1.
 | 
						|
 | 
						|
* issue 871 Display hash of the cherry-pick merge in comment
 | 
						|
 | 
						|
* Added more verbose messages when changes are being rejected
 | 
						|
 | 
						|
* Display proper error message when LDAP is unavailable
 | 
						|
 | 
						|
* Clarify error msg when user's not allowed to '--force push'.
 | 
						|
 | 
						|
* ContainerAuthFilter: fail with FORBIDDEN if username not set
 | 
						|
 | 
						|
* Resolve 'Project Owners' group if it is included into another group
 | 
						|
 | 
						|
* Hide SSH URL in email footers if SSH is disabled
 | 
						|
 | 
						|
* Sort the jar files from the war before adding to classpath.
 | 
						|
 | 
						|
* Apply user preferences when loading site
 | 
						|
 | 
						|
* Ensure HttpLog can always get the user identity
 | 
						|
 | 
						|
* Prevent comments spam for abandoned commit
 | 
						|
+
 | 
						|
If some change was abandoned but later submitted (e.g. by
 | 
						|
cherry-picking it to a another branch) then pushing a new branch
 | 
						|
that contains this change no longer adds a new comment.
 | 
						|
 | 
						|
* Make Address, EmailHeader visible to other EmailSenders
 | 
						|
 | 
						|
* Use transactions to handle comments when possible
 | 
						|
 | 
						|
* Try to use transactions when creating changes
 | 
						|
 | 
						|
* gerrit.sh: disown doesn't accept pid as a argument, fix script
 | 
						|
 | 
						|
* gerrit.sh: detach gerrit properly so it won't keep bad ssh sessions open.
 | 
						|
 | 
						|
* Cache list of all groups in the group cache
 | 
						|
 | 
						|
* issue 1161 Evict project in user cache on save of project meta data
 | 
						|
 | 
						|
* Ensure that the site paths are resolved to their canonical form (for Windows)
 | 
						|
 | 
						|
* Connect Velocity to slf4j
 | 
						|
 | 
						|
* Expose project permissionOnly status via JSON-RPC
 | 
						|
 | 
						|
* Make HEAD of All-Projects point to refs/meta/config
 | 
						|
 | 
						|
* issue 1158 Added support for European style dates
 | 
						|
 | 
						|
* Make macros in email templates local to the template
 | 
						|
 | 
						|
* Support http://server/project for Git access
 | 
						|
 | 
						|
* Use _ instead of $ for implementation-detail Prolog predicates
 | 
						|
 | 
						|
* Update the Sign In anchor with current URL
 | 
						|
+
 | 
						|
Always update the href of the Sign In anchor in the menu bar with
 | 
						|
the current page URL after /login/, making the redirect process
 | 
						|
bring users back to the current view after sign in.
 | 
						|
 | 
						|
* Improve validation of email registration tokens
 | 
						|
 | 
						|
 | 
						|
== Upgrades
 | 
						|
* Upgrade to gwtorm 1.2
 | 
						|
 | 
						|
* Upgrade to JGit 1.1.0.201109151100-r.119-gb4495d1
 | 
						|
+
 | 
						|
This is needed because of this change:
 | 
						|
https://gerrit-review.googlesource.com/#/c/30450/
 | 
						|
 | 
						|
* Support Velocity 1.5 (as well as previous 1.6.4)
 | 
						|
 | 
						|
 | 
						|
== Bug Fixes
 | 
						|
* Avoid NPE when group is missing
 | 
						|
 | 
						|
* Do not fail with NPE if context path of request is null
 | 
						|
 | 
						|
* Fix NPE in set-project-parent command if parent is not specified
 | 
						|
 | 
						|
* Only send mail to author and committer if they are registered to prevent an NPE
 | 
						|
 | 
						|
* Avoid potential NPE when querying the queue.
 | 
						|
 | 
						|
* Allow loading Project Access when there is no refs/meta/config
 | 
						|
 | 
						|
* Fix calculation of project name if repo is not existing
 | 
						|
+
 | 
						|
If a project inherits from a non existing parent, prevent a
 | 
						|
StringIndexOutOfBoundsException.
 | 
						|
 | 
						|
* Fix: Suppress "Error on refs/cache-automerge" warnings.
 | 
						|
 | 
						|
* Don't allow registering for cleanup after cleanup runs
 | 
						|
+
 | 
						|
This prevents leaking a database connection.
 | 
						|
 | 
						|
* issue 807 Fix: Tags are not replicated properly
 | 
						|
 | 
						|
* Prevent smtp rejected users from rejecting emails for all users
 | 
						|
 | 
						|
* Fix token saving redirect in container auth
 | 
						|
+
 | 
						|
Update the jump page that redirects users from /#TOKEN to
 | 
						|
/login/TOKEN.  This forces using the container based
 | 
						|
authentication.  Also correct "/login//" to be just "/login/".
 | 
						|
 | 
						|
* Use custom error messages for Git-over-HTTP
 | 
						|
+
 | 
						|
Ensure clients see messages related to contributor agreement not
 | 
						|
being activated even if they push over HTTP.
 | 
						|
 | 
						|
* Avoid double key event for GroupReferenceBox
 | 
						|
 | 
						|
* Fix git push authentication over HTTP
 | 
						|
 | 
						|
* Fix http://login/ redirect bug
 | 
						|
 | 
						|
* Fix missing targets in /login/ URLs
 | 
						|
 | 
						|
* set-project-parent: if update of 1 project fails continue with others
 | 
						|
 | 
						|
* Verify the case of the project name before opening git repository
 | 
						|
 | 
						|
* Update top level SUBMITTING_PATCHES URLs
 | 
						|
 | 
						|
 | 
						|
== Documentation
 | 
						|
* Some updates to the design docs
 | 
						|
 | 
						|
* cmd-index: Fix link to documentation of rename-group command
 | 
						|
 | 
						|
* Update documentation for testing SSH connection
 | 
						|
 | 
						|
* Bypass review updated with 2.2.x permissions
 | 
						|
 | 
						|
* Add documentation for 'peer_keys'
 | 
						|
 | 
						|
* Improve 'Push Merge Commit' access right documentation
 | 
						|
 | 
						|
* Access control: Capabilities documented
 | 
						|
** Administrate Server
 | 
						|
** Create Account
 | 
						|
** Create Group
 | 
						|
** Create Project
 | 
						|
** Flush Caches
 | 
						|
** Kill Task
 | 
						|
** Priority
 | 
						|
** Query Limit
 | 
						|
** Start Replication
 | 
						|
** View caches
 | 
						|
** View connections
 | 
						|
** View queue
 | 
						|
 | 
						|
* Access control: Example roles documented
 | 
						|
** Contributor
 | 
						|
** Developer
 | 
						|
** CI System
 | 
						|
** Integrator
 | 
						|
** Project owner
 | 
						|
** Administrator
 |