blob: 276714c378f47b71f1420d7c2974f00650cbd422 [file] [log] [blame]
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -07001= Release notes for Gerrit 2.2.2
Martin Fick95092702011-12-22 14:46:33 -07002
3Gerrit 2.2.2 is now available:
4
Shawn Pearce6d7ebc62015-06-12 16:34:42 -07005link:https://www.gerritcodereview.com/download/gerrit-2.2.2.war[https://www.gerritcodereview.com/download/gerrit-2.2.2.war]
Martin Fick95092702011-12-22 14:46:33 -07006
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -07007== Schema Change
Martin Fick95092702011-12-22 14:46:33 -07008*WARNING:* This release contains schema changes. To upgrade:
9----
10 java -jar gerrit.war init -d site_path
11----
12
13*WARNING:* Upgrading to 2.2.x requires the server be first upgraded
14to 2.1.7 (or a later 2.1.x version), and then to 2.2.x.
15
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -070016== New Features
Martin Fick95092702011-12-22 14:46:33 -070017
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -070018=== Prolog
Martin Fick95092702011-12-22 14:46:33 -070019* issue 971 Use Prolog Cafe for ChangeControl.canSubmit()
20
21* Add per-project prolog submit rule files
22+
23When loading the prolog environment, now checks refs/meta/config
24branch for a file called rules.pl. If it exists, consult the
25file. Expects a predicate called submit_rule. If no file is found,
26uses the default_submit predicate in common_rules.pl.
27
28* Add inheritance of prolog rules
29+
30Projects now inherit the prolog rules defined in their parent
31project. Submit results from the child project are filtered by the
Magnus Bäckc392e3c2012-03-27 09:52:19 -040032parent project using the filter predicate defined in the parent's
Martin Fick95092702011-12-22 14:46:33 -070033rules.pl. The results of the filtering are then passed up to the
34parent's parent and filtered, repeating this process up to the top
35level All-Projects.
36
37* Load precompiled prolog rules from jar file
38+
39Looks in (site)/cache/rules for a jar file called:
40 rules-(sha1 of rules.pl).jar
41Loads the precompiled prolog rules and uses them instead of
42consulting rules.pl. If the jar does not exist, consults rules.pl.
43If rules.pl does not exist, uses the default submit rules.
44
45* Cmd line tool rulec to compile jar from prolog
46+
47Rulec takes rules.pl from the refs/meta/config branch and creates a
48jar file named rules-(sha1 of rules.pl).jar in (sitepath)/cache/rules.
49Generates temporary prolog, java src, and class files which are
50deleted afterwards.
51
52* prolog-shell: Simple command line Prolog interpreter
53+
54Define a small interactive interpreter that users or site
Magnus Bäckc392e3c2012-03-27 09:52:19 -040055administrators can play around with by downloading the Gerrit WAR
Martin Fick95092702011-12-22 14:46:33 -070056file and executing: java -jar gerrit.war prolog-shell
57
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -070058==== Prolog Predicates
Martin Fick95092702011-12-22 14:46:33 -070059* Add Prolog Predicates to check commit messages and edits
60+
61commit_message returns the commit message as a symbol.
62+
63commit_message_matches takes in a regex pattern and checks it against
64the commit message.
65+
66commit_edits takes in a regex pattern for filenames and a regex
67pattern for edits. For all files in a commit that match the filename
68regex. Returns true if the edits in any of those files match the
69edit regex.
70
71* Add Prolog Predicates to expose commit filelist
72+
73commit_delta/1,3,4 each takes a regular expression and matches it to
74the path of all the files in the latest patchset of a commit.
75If applicable (changes where the file is renamed or copied), the
76regex is also checked against the old path.
77+
78commit_delta/1 returns true if any files match the regex
79+
80commit_delta/3 returns the changetype and path, if the changetype is
81renamed, it also returns the old path. If the changetype is rename,
82it returns a delete for oldpath and an add for newpath. If the
83changetype is copy, an add is returned along with newpath.
84+
85commit_delta/4 returns the changetype, new path, and old path
86 (if applicable).
87
88* Add Prolog predicates that expose the branch, owner,
89project, and topic of a change, the author and committer of the most
90recent patchset in the change, and who is the current user.
91
92* For user-related predicates, if the user is not a gerrit user, will
93return user(anonymous) or similar. Author and committer predicates
94for commits return user(id), name, and email.
95
96* Make max_with_block/4 public
97+
98This is the current rule generally applied to a label function. Make
99it exportable for now until we can come back and clean up the legacy
100approval data code.
101
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700102=== Web
Martin Fick95092702011-12-22 14:46:33 -0700103
104* Support in Firefox delete key in NpIntTextBox
105+
106Pressing the delete key while being in a NpIntTextBox (e.g. in the
107text box for the Tab Width or Columns preference when comparing a
108file) now works in Firefox.
109
110* Make sure special keys work in text fields
111+
112There is a bug in gwt 2.1.0 that prevents pressing special keys like
113Enter, Backspace etc. from being properly recognized and so they have no effect.
114
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700115==== ChangeScreen
Martin Fick95092702011-12-22 14:46:33 -0700116* issue 855 Indicate outdated dependencies on the ChangeScreen
117+
118If a change dependency is no longer the latest patchSet for that
119change, mark it OUTDATED in the dependencies table and make
120its row red, and add a warning message to the dependencies
121header, also keep the dependencies disclosure panel open
122even when an outdated dependent change is merged.
123Additionally make the link for dependencies link to the
124exact patchSet of the dependent change.
125
126* issue 881 Allow adding groups as reviewer
127+
128On the ChangeScreen it is now possible to add a group as reviewer for
129a change. When a group is added as reviewer the group is resolved and
130all its members are added as reviewers to the change.
131
132* Update approvals in web UI to adapt to rules.pl submit_rule
133+
134The UI now shows whatever the results of the submit_rule are, which
135permits the submit_rule to make an ApprovalCategory optional, or to
136make a new label required.
137
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700138==== Diff Screen
Martin Fick95092702011-12-22 14:46:33 -0700139* Add top level menus for a new PatchScreen header
140+
141Modify the PatchScreen so that the header contents is selectable
142using top level menus. Allow the header to display the commit
143message, the preferences, the Patch Sets, or the File List.
144
145* Add SideBySide and Unified links to Differences top level menus
146+
147These new menu entries allow a user to switch view types easily
148without returning to the ChangeScreen. Also, they double as a
149way to hide the header on the PatchScreen (when clicking on the
150currently displayed type).
151
152* Add user pref to retain PatchScreen Header when changing files
153
154* Flip the orientation of PatchHistory Table
155
156* Remove the 'Change SHA1:' from the PatchScreen title
157
158* Remove scrollbar from Commit Message
159
160* Allow comment editing with single click on line numbers
161+
162Make it easier to comment (and now possible on android devices which
163zoom on double click) on a patch by simply clicking on the line number.
164
165* Add a "Save" button to the PatchScriptSettingsPanel
166+
David Pursehouse4d7ac772013-06-25 17:14:30 +0900167The "Update" button now only updates the display. Additionally,
Martin Fick95092702011-12-22 14:46:33 -0700168for logged in users, a "Save" button now behaves the way that
169"Update" used to behave for logged in users.
170
171* issue 665 Display merge changes as differences from automatic result
172+
173Instead of displaying nothing for a two-parent merge commit, compute
174the automatic merge result and display the difference between the
175automatic result that Git would create, and the actual result that
176was uploaded by the author/committer of the merge.
177
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700178==== Groups
Martin Fick95092702011-12-22 14:46:33 -0700179* Add menu to AccountGroupScreen
180+
181This change introduces a menu in the AccountGroupScreen and
182different screens for subsets of the functionality (similar as it's
183done for the ProjectScreen). Links from other screens to the
184AccountGroupScreen are resolved depending on the group type.
185
186* Display groupUUID on AccountGroupInfoScreen
187+
188To assign a privilege to a new group by editing the
189'project.config' file, the new group needs to be added to the
190'groups' file in the 'refs/meta/config' branch which requires
191the UUID of the group to be known.
192
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700193==== Project Access
Martin Fick95092702011-12-22 14:46:33 -0700194* Automatically add new rule when adding new permission
195+
196If a new permission was added to a block, immediately create the new
197group entry box and focus it, so the user can assign the permission.
198
199* Only show Exclusive checkbox on reference sections
200+
201In the access editor, hide the Exclusive checkbox on the
202Global Capabilities section since it has no inheritance and
203the exclusive bit isn't supported.
204
205* Disable editing after successful save of Access screen
206+
207When the access has been successfully modified for a project,
208switch back to the "read-only" view where the widgets are all
209disabled and the Edit button is enabled.
210
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700211==== Project Branches
Martin Fick95092702011-12-22 14:46:33 -0700212* Display refs/meta/config branch on ProjectBranchesScreen
213+
214The new refs/meta/config branch was not shown in the ProjectBranchesScreen.
215Since refs/meta/config is not just any branch, but has a special
216meaning to Gerrit it is now displayed at the top below HEAD.
217
218* Highlight HEAD and refs/meta/config
219+
220Since HEAD and refs/meta/config do not represent ordinary branches,
221highlight their rows with a special style in the ProjectBranchesScreen.
222
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700223==== URLs
Martin Fick95092702011-12-22 14:46:33 -0700224* Modernize URLs to be shorter and consistent
225+
226Instead of http://site/#change,1234 we now use a slightly more
227common looking http://site/#/c/1234 URL to link to a change.
228+
229Files within a patch set are now denoted below the change, as in
230http://site/#/c/1234/1/src/module/foo.c
231+
232Also fix the dynamic redirects of http://site/1234
233and http://site/r/deadbeef to jump directly to the corresponding
234change if there is exactly one possible URL.
235+
236Entities that have multiple views suffix the URL with ",view-name"
237to indicate which view the user wants to see.
238
239* issue 1018 Accept ~ in linkify() URLs
240
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700241=== SSH
Martin Fick95092702011-12-22 14:46:33 -0700242* Added a set-reviewers ssh command
243
244* Support removing more than one reviewer at once
245+
246This way we can batch delete reviewers from a change.
247
248* issue 881 Support adding groups as reviewer by SSH command
249+
250With the set-reviewers SSH command it is now possible to also add
251groups as reviewer for a change.
252
253* Fail review command for changing labels when change is closed
254+
255If a reviewer attempts to change a review label (approval) after a
256change is closed using the ssh review command, cause it to fail the
257command and output a message.
258
259* ls-projects: Fix display of All-Projects under --tree
260+
261Everything should be nested below All-Projects, since that is actually
262the root level.
263
264* ls-projects: Add --type to filter by project type
265+
266ls-projects now supports --type code|permissions|all. The default is
267code which now skips permissions only projects, restoring the output
268to what appears from Gerrit 2.1.7 and earlier.
269
270* show-caches: Improve memory reporting
271+
272Change the way memory is reported to show the actual values,
273and the equation that determines how these are put together
274to form the current usage. Include some additional data including
275server version, current time, process uptime, active SSH
276connections, and tasks in the task queue. The --show-jvm option
277will report additional data about the JVM, and tell the caller
278where it is running.
279
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700280==== Queries
Martin Fick95092702011-12-22 14:46:33 -0700281* Output patchset creation date for 'query' command.
282
283* issue 1053 Support comments option in query command
284+
285Query SSH command will show all comments if option --comments is
286used. If --comments is used together with --patch-sets all inline
287comments are included in the output.
288
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700289=== Config
Martin Fick95092702011-12-22 14:46:33 -0700290* Move batch user priority to a capability
291+
292Instead of using a magical group, use a special capability to
293denote users that should get the batch priority behavior.
294
295* issue 742 Make administrator, create-project a global capability
296+
297This gets rid of the special entries in system_config and
298gerrit.config related to who the Administrators group is,
299or which groups are permitted to create new projects on
300this server.
301
302* issue 48 & 742 Add fine-grained capabilities for administrative actions
303+
304The Global Capabilities section in All-Projects can now be used to
305grant subcommands that are available over SSH and were previously
306restricted to only Administrators.
307
308* Disallow project names ending in "/"
309
310* issue 934 query: Enable configurable result limit
311+
312Allow site administrators to configure the query limit for user to be
313above the default hard-coded value of 500 by adding a global
314[capability] block to All-Projects project.config file with group(s)
315that should have different limits.
316
317* Introduced a new PermissionRule.Action: BLOCK.
318+
319Besides already existing ALLOW and DENY actions this change
320introduces the BLOCK action in order to enable blocking some
321permission rules globally.
322
323* issue 813 Use remote.name.replicatePermissions to hide permissions
324+
325Administrators can now disable replication of permissions-only
326projects and the per-project refs/meta/config in replication.config
327by setting the replicatePermissions field to false.
328
329* Add a Restored.vm template and use it.
330+
331The restore action has been erroneously using the Abandoned.vm
332template. Create a template and sender for the restorecommand.
333
334* sshd.advertisedAddress: specify the displayed SSH host/port
335+
336This allows aliases which redirect to gerrit's ssh port (say
337from port 22) to be setup and advertised to users.
338
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700339=== Dev
Martin Fick95092702011-12-22 14:46:33 -0700340* Updated eclipse settings for 3.7 and m2e 1.0
341
342* Fix build in m2eclipse 1.0
343+
344Ignore the antrun and the build-helper-maven-plugin tasks in m2eclipse.
345
346* Make Gerrit with gwt 2.3.0 run in gwtdebug mode
347
348* Fix a number of build warnings that have crept in
349
350* Accept email address automatically
351+
352Enable Gerrit to accept email address automatically in
353"DEVELOPMENT_BECOME_ANY_ACCOUNT" mode without a confirmation email.
354
355* Added clickable user names at the BecomeAnyAccountLoginServlet.
356+
357The first 5 (by accountId) user names are displayed as clickable
358links. Clicking a user name logs in as this user, speeding up
359switching between different users when using the
360DEVELOPMENT_BECOME_ANY_ACCOUNT authentication type.
361
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700362=== Miscellaneous
Martin Fick95092702011-12-22 14:46:33 -0700363* Permit adding reviewers to closed changes
364+
365Permit adding a reviewer to closed changes to support post-submit
366discussion threads.
367
368* issue 805 Don't check for multiple change-ids when pushing directly
369to refs/heads.
370
371* Avoid costly findMergedInto during push to refs/for/*
372+
373No longer close a change when a commit is pushed to res/for/* and the
374Change-Id in the commit message footer matches another commit on an
375existing branch or tag.
376
377* Allow serving static files in subdirectories
378
379* issue 1019 Normalize OpenID URLs with http:// prefix
380+
381No longer violate OpenID 1.1 and 2.0, both of which require
382OpenIDs to be normalized (http:// added).
383
384* Allow container-based authentication for git over http
385+
386Gerrit was insisting on DIGEST authentication when doing git over
387http. A new boolean configuration parameter auth.trustContainerAuth
388allows gerrit to be configured to trust the container to do the
389authentication.
390
391* issue 848 Add rpc method for GerritConfig
392+
393Exposes what types of reviews are possible via json rpc, so that the
394Eclipse Reviews plugin currently can parse the javascript from a
395gerrit page load.
396
397
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700398== Performance
Martin Fick95092702011-12-22 14:46:33 -0700399* Bumped Brics version to 1.11.8
400+
401This Brics version fixes a performance issue in some larger Gerrit systems.
402
403* Add permission_sort cache to remember sort orderings
404+
405Cache the order AccessSections should be sorted in, making any future
406sorting for the same reference name and same set of section patterns
407cheaper.
408
409* Refactor how permissions are matched by ProjectControl, RefControl
410+
411More aggressively cache many of the auth objects at a cost of memory,
David Pursehouse4d7ac772013-06-25 17:14:30 +0900412but this should be an improvement in response times.
Martin Fick95092702011-12-22 14:46:33 -0700413
David Pursehouse4d7ac772013-06-25 17:14:30 +0900414* Substantially speed up pushing changes for review
Martin Fick95092702011-12-22 14:46:33 -0700415+
416Pushing a new change for review checks if the change is related to
417the branch it's destined for. It used to do this in a way that
418required a topo-sort of the rev history, and now uses JGit's
419merge-base functionality.
420
421* Add cache for tag advertisements
422+
423To make the general case more efficient, introduce a cache called "git_tags".
424+
425On a trivial usage of the Linux kernel repository, the average
426running time of the VisibleRefFilter when caches were hot was
4277195.68 ms. With this commit, it is a mere 5.07 milliseconds
428on a hot cache. A reduction of 99% of the running time.
429
430* Don't set lastCheckTime in ProjectState
431+
432The lastCheckTime/generation fields are actually a counter that
433is incremented using a background thread. The values don't match
434the system clock, and thus reading System.currentTimeMillis()
435during the construction of ProjectState is a waste of resources.
436
437
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700438== Upgrades
Martin Fick95092702011-12-22 14:46:33 -0700439* Upgrade to GWT 2.3.0
440* Upgrade to Gson to 1.7.1
441* Upgrade to gwtjsonrpc 1.2.4
442* Upgrade to gwtexpui 1.2.5
443* Upgrade to Jsch 0.1.44-1
444* Upgrade to Brics 1.11.8
445
446
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700447== Bug Fixes
Martin Fick95092702011-12-22 14:46:33 -0700448* Fix: Issue where Gerrit could not linkify certain URLs
449
450* issue 1015 Fix handling of regex ref patterns in Access panel
451+
452regex patterns such as "\^refs/heads/[A-Z]{2,}\-[0-9]\+.\*" were being
453prefixed with "refs/heads/", resulting in invalid reference patterns
454like "refs/heads/^refs/heads/[A-Z]{2,}-[0-9]+.*".
455
456* issue 1002 Check for and disallow pushing of invalid refs/meta/config
457+
458If the project.config or groups files are somehow invalid on
459the refs/meta/config branch, or would be made invalid due to
460a bad code review being submitted to this branch, reject the
461user's attempt to push.
462
463* issue 1002 Fix NPE in PermissionRuleEditor when group lacks UUID
464+
465If a group does not have an entry in the "groups" table within
466the refs/meta/config branch render the group name as a span,
467without the link instead of crashing the UI.
468
469* issue 972 Filter access section rules to only visible groups
470+
471Users who are not the owner of an access section can now only
472see group names and rules for groups which they are a member of,
473are visible to all users, or that they own.
474
475* Correctly handle missing refs/meta/config branch
476+
477If the refs/meta/config branch did not exist, getRevision() no longer
478throws an NPE when trying to access the ProjectDetail.
479
480* Allow loading Project Access when there is no refs/meta/config
481+
482Enable loading the access screen with a null revision field,
483and on save of any edits require the branch to be new.
484
485* create-project: Fix creation vs. replication order
486+
487Create the project on remote mirrors before creating either the
488refs/meta/config or the initial empty branch. This way those can be
489replicated to the remote mirrors once they have been created locally.
490
491* create-project: Bring back --permissions-only flag
492+
493If a project is permissions only, assign HEAD to point to
494refs/meta/config. This way the gitweb view of the project
495shows the permissions history by default, and clients that
496clone the project are able to get a detached HEAD pointing
497to the current permission state, rather than an empty
498repository.
499
500* create-project: Fix error reporting when repository exists
501+
502If a repository already exists, tell the user it already is
503available, without disclosing the server side path from gerrit.basePath.
504
505* Do not log timeout errors on upload and receive connections
506
507* Only automatically create accounts for LDAP systems
508+
509If the account management is LDAP, try to automatically create
510accounts by looking up the data in LDAP. Otherwise fail and reject an
511invalid account reference that was supplied on the command line via
512SSH.
513
514* Add missing RevWalk.reset() after checking merge base
515+
516This fixes an exception from RevWalk when trying to push a new
517commit for review.
518
519* issue 1069 Do not send an email on reviews when there is no message.
520+
521No longer send an email when reviewing a change via ssh, and
522the change message is blank (when no change message is actually
523added to the review).
524
525* Ignore PartialResultException from LDAP.
526+
527This exception occurs when the server isn't following referrals for
528you, and thus the result contains a referral. That happens when
529you're using Active Directory. You almost certainly don't really want
530to follow referrals in AD *anyways*, so just ignore these exceptions,
531so we can still use the actual data.
532
533* issue 518 Fix MySQL counter resets
534+
535gwtorm 1.1.5 was patched to leave in the dummy row that incremented
536the counter, ensuring the server will use MAX() + 1 instead of 1 on
537the next increment after restart.
538
539* Don't delete account_id row on MySQL
540+
541If the table is an InnoDB table deleting the row after allocation may
542cause the sequence to reset when the server restarts, giving out
543duplicate account_ids later.
544
545
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700546== Documentation
Martin Fick95092702011-12-22 14:46:33 -0700547
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700548=== New Documents
Martin Fick95092702011-12-22 14:46:33 -0700549* First Cut of Gerrit Walkthrough Introduction documentation.
550+
551Add a new document intended to be a complement for the existing
552reference documentation to allow potential users to easily get a
553feel for how Gerrit is used, where it fits and whether it will
554work for them.
555
556* Introducing a quick and dirty setup tutorial
557+
558The new document covers quick installation, new project and first
559upload. It contains lots of quoted output, with a demo style to it.
560
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700561=== Access Control
Martin Fick95092702011-12-22 14:46:33 -0700562* Code review
563
564* Conversion table between 2.1 and 2.2
565+
566Add a table to ease conversion from 2.1.x. The table tries to address
567the old permissions one by one except for the push tag permission which
568in effect needed two permissions to work properly. This should
569be familiar to the administrator used to the 2.1.x permission model
570however.
571
572* Reformatted text
573
574* Verify
575+
576Updated some text in the Per project-section and edited the verified
577section to reflect the current label.
578
579* Capabilities
580+
581Adds general information about global capabilities, how the server
582ownership is administered.
583
584* Added non-interactive users
585+
586This change adds the non-interactive user group.
587It also adds that groups can be members of other groups.
588The groups are now sorted in alphabetical order.
589
590* Reordering categories
591+
592Access categories are now sorted to match drop down box in UI
593
Yuxuan 'fishy' Wang4f5ad9d2016-05-03 16:18:58 -0700594=== Other Documentation
Martin Fick95092702011-12-22 14:46:33 -0700595* Added additional information on the install instructions.
596+
597The installation instructions presumes much prior knowledge,
598make some of that knowledge less implicit.
599
600* Provides a template to the download example.
601+
602Clarifies that the example host must be replaced with proper
603hostname.
604
605* Provided an example on how to abandon a change from
606the command line
607
608* update links from kernel.org to code.google.com
609
610
611* Rename '-- All Projects --' in documentation to 'All-Projects'
612
613* Explain 'Automatically resolve conflicts'
614
615* Update documentation for testing SSH connection
616+
617The command output that is shown in the example and the description
618how to set the ssh username were outdated.
619
620* Remove unneeded escape characters from the documentation
621+
622The old version of asciidoc required certain characters to be escaped
623with a backslash and when the upgrade to the new version was done all
624those backslashes that were used for escaping became visible.
625
626* Clean up pgm-index
627+
628Break out the utilities into their own section, and correct
629some of the item descriptions.
630
631* Update manual project creation instructions
632
633* Update project configuration documentation
634+
635Remove the textual reference to obsolete SQL insert statement to
636create new projects.
637
638* Clean up command line documentation, examples
639+
640The formatting was pretty wrong after upgrading to a newer version
641of AsciiDoc, so fix up most of the formatting, correct some order
642of commands in the index, and make create-project conform to the
643same format used by create-account and create-group.
644
645* Correct syntax of SQL statement for inserting approval category