Opened 9 months ago
Closed 6 months ago
#21547 closed enhancement (fixed)
mercurial-7.1
| Reported by: | Bruce Dubbs | Owned by: | Douglas R. Reno |
|---|---|---|---|
| Priority: | normal | Milestone: | 12.4 |
| Component: | BOOK | Version: | git |
| Severity: | normal | Keywords: | |
| Cc: |
Description
New point version.
Change History (6)
comment:1 by , 9 months ago
| Milestone: | 12.4 → 99-Waiting |
|---|---|
| Summary: | mercurial-7.0.2 → mercurial-7.0.2 (Wait until June) |
comment:2 by , 6 months ago
| Milestone: | 99-Waiting → 12.4 |
|---|
comment:3 by , 6 months ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:4 by , 6 months ago
New Features
share: add a --share-source argument to hg root
fastexport: make it possible to ignore .gitmodules in the source repository
Many Rust-related changes
rust-revset: support resolving wdir()
rhg: allow --repo as abbreviation for --repository
rhg: support basic aliases
rhg: support -0 flag in rhg files
rust-annotate: support -Tjson
rust-annotate: support --rev wdir()
rust-annotate: allow --follow
rhg: document known rough edges for the sake of users and packagers
Better profiling options, Rust tracebacks and tracing framework
profiling: support writing profiles to a directory
tracing: add a way of calling the Rust tracing framework from Python
rust-errors: add support for a runtime-configured backtrace
dispatch: enable Rust traceback processing when using --tracing
Improvement to debug commands
debugcommands: bring over functionality from debugshell extension
debugindexdot: add flags for more control over graph
Other noteworthy performance work
rhg annotate is up to 61 times faster in certain pathological cases
Improved performance of the low-level Rust storage primitive
Removed a lot of syscalls when listing things from storage with high-level APIs
merge: save one status in certain cases
merge: improve detection of subrepos in Rust fast path
Improved the delta encoding algorithm by avoiding computation, using better
heuristics and folding deltas
hgtags-fnode-cache: fast path full warm when no tag exists
Developer tooling
setup-dev-tools: add a first version of script that install dev tools
setup-dev-tools: add make target to format the working copy using fix
setup-dev-tools: add make target to format the current stack using fix
Default Format Change
No default format changes this version.
New Experimental Features
Following last version’s “update from null”, this is a Rust version of the update logic
when all tracked files are clean and we are not merging. It is on by default if you have
Rust enabled: if you encounter any problems use rust.update-from-clean=no to disable it,
and please let us know what the problem is.
rust: add an “update from clean” fast-path
New flags are being added to the revlog and transmitted over the network to help with
copytracing and delta encoding.
revlog: introduce a FLAG_FILELOG_META revlog flag and requirements
changegroup: use REVIDX_HASMETA in changegroup ‘04’
revlog: add a delta-info-flag requirements
changegroup: transmit snapshot level information in cg4
delta-search: add a option to ignore suspicious delta
A temporary store encoding that should only exist for one version of Mercurial, until we
get a better solution to a very specific problem that you probably don’t have.
store: add a first version of a “plain” encoding
rust: add support for plain encoding
Bug Fixes
diff: fix function name context detection (issue6965)
merge: filter ambiguous files and/or wait for fs tick in applyupdates
rust: handle censored revisions according to the config
changelog: also disable sparse-revlog when disabling generaldelta
rust-repo: unconditionally load the dirstate before loading the changelog
revlog: fix a bytes vs str crash when emitting a deprecation warning
rust-annotate: prefix abort messages with “abort:”
debugshell: return an exit code 1 on exception
dirstate: properly purge the cwd cache between commands
commandserver: always restore working directory (issue6992)
dispatch: always chdir back in _getlocal
dispatch: chdir back to original cwd in _dispatch
ui: avoid a str interpolation into bytes crash in fixconfig()
contrib-hgk: use plain ascii (C) instead of latin1 symbol”
Backwards Compatibility Changes
fastexport: add support for Git subrepositories (BC)
pycompat: drop support for Python 3.8 (BC)
annotate: use exit code 255 for missing files
contrib: delete debugshell extension
rust: update minimum Rust supported version to 1.85.1 for the 7.1 cycle
Internal API Changes
revlog: add “writable” parameter to revlog
revlog: enforce that filelog get the writable parameter passed
Miscellaneous
As with every release for a while, there were a ton of patches helping with adding
typing information to our Python code, and catching bugs while doing so. The Pytype CI
job itself was upgraded to be more helpful.
We’ve migrated our Rust<->Python bridge from using the deprecated rust-cpython to the
new standard PyO3.
rust: remove hg-cpython
rust: move from log to tracing-based logging
We’ve upgraded our CI to be much easier to update, more up-to-date and use smaller images
ci: switch the “checks” job to a “v3.0” images
Other mentions
debugnodemap: print a message when no action was specified
pyproject: SPDX license expression and license-files (PEP 639)
apache-server: update the setup from Wheezy to Buster
apache-server: update the README, add Anubis, add notes about ProxyPass
rust-pyo3: raise proper Exceptions in more cases
rust-dependencies: upgrade which dependency
rust: move README from rst to md
contrib: add support for rhel10
Mercurial 7.0.3
convert: correctly convert sub-hour timezones from Git source
fastexport: fix error message when UTC offset is not a multiple of minutes
hgdemandimport: exclude _contextvars (newly imported from threading)
procutil: actually silence backgrounded process stdio on Windows when asked
bundlespec: fix error in help text
branch: pass correct set of files to memctx() in case of merge (issue6972)
branch: recreate changeset of top of new parents if they were replaced
fix: stop adding unexpected extra requirements to stream clones
crecord: handle bad regexes in search
config: move the –shared and –non-shared flag out of experimental
Test harness improvements
More modern Python fixes
Mercurial 7.0.2
rust: document a pipx install
keepalive: don’t reuse a connection to the proxy for a different host
httppeer: don’t put an int in headers
dirstate: fix panic when validating dirstate on write
reject_new_heads: handle None being passed as node
rust-revlog: detect and fix nodemap lagging behind its revlog
General improvements to the CI
comment:5 by , 6 months ago
| Summary: | mercurial-7.0.2 (Wait until June) → mercurial-7.1 |
|---|
comment:6 by , 6 months ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.

Wait until June. There have been 8 updates so far this year (127 days). Change to a schedule of once a month.