view relnotes/6.5 @ 50831:afddb0d5be4f

clone: migrate `opts` to native kwargs
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 20 Aug 2023 01:02:52 -0400
parents 787af4e0e8b7
children 5a8b54201039
line wrap: on
line source

= Mercurial 6.5.1 =

 * A bunch of improvements to Python 3.12 compatibility
 * repoview: fix the filter created by `extrafilter`
 * Improve portability of the test suite
 * fncache: fix a bug that corrupts the fncache after transaction rollback
 * revlog: fix the naming scheme use by split temporary file
 * perf: fix perf::tags

= Mercurial 6.5 =

As usual, a lot of patches don't make it to this list since they're more internal.

== New Features ==

 * Improved Python 3.12 compatiblity
 * configitems: enable changegroup3 by default (unless using infinitepush)
 * extras: expose 'retained_extras' for extensions to extend
 * stabletailgraph: implement stable-tail sort
 * stabletailgraph: naive version of leap computation
 * bundle: introduce a "v3" spec
 * clone-bundles: add a basic first version of automatic bundle generation
 * clone-bundles: garbage collect older bundle when generating new ones
 * clone-bundles: only regenerate the clone bundle when cached ration is low
 * clone-bundles: also control automation based on absolute number of revisions
 * clone-bundles: add a configuration to control auto-generation on changes
 * clone-bundles: introduce a command to refresh bundle
 * clone-bundles: add a command to clear all bundles
 * clone-bundles: add an option to generate bundles in the background
 * clonebundles: add support for inline (streaming) clonebundles
 * clonebundles: adds a auto-generate.serve-inline option
 * match: add `filepath:` pattern to match an exact filepath relative to the root
 * hgweb: add "children" into the JSON template for a changeset
 * hgweb: add support to explicitly access hidden changesets
 * pull: add --remote-hidden option and pass it through peer creation
 * hidden: add support for --remote-hidden to HTTP peer
 * hidden: support passing --hidden with `serve --stdio`
 * hidden: add support to explicitly access hidden changesets with SSH peers
 * perf: introduce a `perf::stream-locked-section` command
 * perf: add a function to find a stream version generator
 * perf: add support for stream-v3 during benchmark
 * perf: add a perf::stream-generate command
 * perf: add a perf::stream-consume
 * cli: make debugnodemap capable of inspecting an arbitrary nodemap
 * rust: configure MSRV in Clippy
 * rhg: make `rhg files` work if `ui.relative-files=true` is specified
 * rhg: support `rhg files` with `ui.relative-paths=false`
 * rhg: support `status --print0`
 * tree-manifest: allow `debugupgraderepo` to run on tree manifest repo
 * library: enable runpy invocation on mercurial package
 * library: incorporate demandimport into runpy invocation
 * exchange: allow passing no includes/excludes to `pull()`

== New Experimental Features ==

 * stream-clone: add an experimental v3 version of the protocol
 * stream-clone: support streamv3 on the cli [hg bundle]

== Bug Fixes ==

 * mail: add a missing argument to properly override starttls
 * bundle: include required phases when saving a bundle (issue6794)
 * outgoing: fix common-heads computation from `missingroots` argument
 * strip: do not include internal changeset in the strip backup
 * bundle: abort if the user request bundling of internal changesets
 * bundle: prevent implicit bundling of internal changeset
 * encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
 * sha1dc: Make sure SHA1DC_BIGENDIAN is set on Darwin/PowerPC
 * zstd: hack include order to ensure that our zstd.h is found
 * dirstate: better error messages when dirstate is corrupted
 * stream-clone: avoid opening a revlog in case we do not need it
 * treemanifest: make `updatecaches` update the nodemaps for all directories
 * rust-hg-core: move from `ouroboros` to `self_cell`
 * rust-dependencies: switch from `users` to `whoami`
 * dirstate-v2: actually fix the dirstate-v2 upgrade race
 * dirstate: avoid leaking disk space in `hg debugrebuilddirstate`
 * clonebundles: add warning if auto-generate is enabled without formats
 * win32mbcs: unbyteify some strings for py3 support
 * rust-revlog: fix incorrect results with NULL_NODE prefixes
 * rust-revlog: fix RevlogEntry.data() for NULL_REVISION

== Backwards Compatibility Changes ==

 * infinitepush: aggressively deprecated infinite push
 * narrow: indicated the default of 'Yes' when confirming auto-remove-includes

== Internal API Changes ==

 * Store walk was reworked to fix small race conditions in stream-clone and
   greatly improve its API robustness and flexibility.

== Miscellaneous ==

 * Typechecking support was improved in a lot of places
 * Removed more useless compat code for now unsupported Python versions
 * Sped up zstd usage in Rust contexts
 * revlog: add an exception hint when processing LFS flags without the extension
 * ui: keep the progress bar around when writing if stdout is not a tty
 * transaction: use a ".bck" extension for all backup file