Mercurial 4.6 release

1. New Features

1.1. pullbundles

Pullbundles allow the server to answer client requests using pre-built bundles. This is different from the existing clonebundle feature:

Pullbundles are only used for clients running Mercurial 4.6 as well.

1.2. push

If 'server.streamunbundle' option is enabled, the server will directly apply the changes send by the changes. This avoids potentially large temporary files on the server side. It can also prevent concurrent pushes.

1.3. notify extension

The 'maxdiffstat' option can be used to truncate long file lists similar to 'maxdiff' for the patch part of the email.

1.4. hgweb

hgweb now shows date and user for operations that resulted in obsolete commit(s). For unstable commits, it shows the exact reason why they are considered unstable.

Server: header is now configurable using web.server-header option.

1.5. templates

A new template keyword 'reporoot' which shows the root directory of the current repository. A new template function 'mailmap' which maps author fields based on values in a .mailmap file.

2. Backwards Compatibility Changes

3. Performance Improvements

4. Bug Fixes

5. New experimental features

Each release there are lot of new features added which are hidden under the EXPERIMENTAL tag as the behavior may change in future or the feature is not complete yet. The experimental features added in this cycle are:

5.1. narrow extension

Allows to create clones which fetch history data for only a subset of files. This experimental extension is now distributed with Mercurial.

5.2. remotenames extension

Shows remotebookmarks and remotebranches in the UI. This experimental extension is now distributed with Mercurial.

5.3. infinitepush extension

Allows to store some pushes in a remote blob store on the server and to serve commits from remote blob store. The revisions are stored on disk or in everstore, the metadata are stored in sql or on disk. This experimental extension is now distributed with Mercurial.

5.4. fix extension

Allows to rewrite file content in changesets or working copy. For example, automatically applying formatting fixes to modified lines of code. This experimental extension is now distributed with Mercurial.

5.5. lfs extension

An alternative to the largefiles extension, which uses the git-lfs protocol. This experimental extension is now distributed with Mercurial.

6. Other notable features

7. API Changes

More notes to sort into the above

0.1. core

0.2. unsorted

Release4.6 (last edited 2018-05-26 17:37:15 by PulkitGoyal)