view relnotes/next @ 45075:04ef381000a8

hooklib: fix detection of successors for changeset_obsoleted Provide a hook for obsutil.getobsolete to be used with either a transaction or the changes item of the transaction, since hooks only have access to the latter. Use that to find the correct list of revisions with obsmarkers, even new ones, and then filter out revisions with known successors. Move the processing from pretxnclose to txnclose as the transaction access itself is no longer necessary. This is more in line with notify and ensures that sanity checks can abort the transaction first. Differential Revision: https://phab.mercurial-scm.org/D8575
author Joerg Sonnenberger <joerg@bec.de>
date Thu, 21 May 2020 18:18:50 +0200
parents 72feaeb510b3
children 3496b5f24371
line wrap: on
line source

== New Features ==

 * clonebundles can be annotated with the expected memory requirements
   using the `REQUIREDRAM` option. This allows clients to skip
   bundles created with large zstd windows and fallback to larger, but
   less demanding bundles.

== New Experimental Features ==

 * The core of some hg operations have been (and are being)
   implemented in rust, for speed. `hg status` on a repository with
   300k tracked files goes from 1.8s to 0.6s for instance.
   This has currently been tested only on linux, and does not build on
   windows. See rust/README.rst in the mercurial repository for
   instructions to opt into this.

== Backwards Compatibility Changes ==

* Mercurial now requires at least Python 2.7.9 or a Python version that
  backported modern SSL/TLS features (as defined in PEP 466), and that Python
  was compiled against a OpenSSL version supporting TLS 1.1 or TLS 1.2
  (likely this requires the OpenSSL version to be at least 1.0.1).

* The `hg perfwrite` command from contrib/perf.py was made more flexible and
  changed its default behavior. To get the previous behavior, run `hg perfwrite
  --nlines=100000 --nitems=1 --item='Testing write performance' --batch-line`.


== Internal API Changes ==

 * logcmdutil.diffordiffstat() now takes contexts instead of nodes.

 * The `mergestate` class along with some related methods and constants have
   moved from `mercurial.merge` to a new `mercurial.mergestate` module.