|= Release notes for Gerrit 2.1.8
|Gerrit 2.1.8 is now available:
|== New Features
|* Add cache for tag advertisements
|When READ level access controls are used on references/branches, this
|cache provides a massive performance boost. On some repositories,
|no-op Git client requests can go from 7.910s to 0.550s. Since all
|of the time reduction is server CPU, this is a major performance
|improvement for busy servers.
|* Substantially speed up pushing changes for review
|Pushing changes to big projects was very slow, for similar issues
|as the READ level access controls. Push checks have been improved,
|reducing the amount of server CPU required to validate a push for
|review is connected to the branch its intended for.
|* Avoid costly findMergedInto during push to refs/for/*
|Checking to see if a new commit uploaded for review has already been
|merged into a branch turns out to be expensive, and not very useful.
|Since the commit is brand new to the server, it cannot possibly ever
|have been merged. Skip the merge check to get a major performance
|improvement on upload to big projects.
|* Allow serving static files in subdirectories
|The /static/ subdirectory can now serve static files contained within
|subdirectories. This change also patches the code to perform better
|checks to ensure the requested URL is actually in the subdirectory.
|These additional checks are only relevant on Windows servers, where
|MS-DOS compatibility may have permitted access to special device
|files in any directory, rather than just the "\\.\" device namespace.
|== Bug Fixes
|* issue 518 Fix MySQL counter resets
|MySQL databases lost their change_id, account_id counters after
|server restarts, causing duplicate key insertion errors. Fixed.
|* issue 1019 Normalize OpenID URLs with http:// prefix
|OpenID standards require sites to add "http://" to an OpenID
|identifier if the user did not enter it themselves.
|* Ignore PartialResultException from LDAP.
|Instead of crashing with an exception, partial results are ignored
|when configured to be ignored.