##// END OF EJS Templates
relnotes: add 6.4.4
Raphaël Gomès -
r51556:da372c74 6.4.4 stable
parent child Browse files
Show More
@@ -1,203 +1,214 b''
1 = Mercurial 6.4.4 =
2
3 * clonebundles: filter out invalid schemes instead of failing on them
4 * doc: format argument for date uses strftime format string (issue6818)
5 * test: make test-contrib-perf.t more robust
6 * revlog: fix a bug in revlog splitting
7 * bundles: clarify streaming v2 bundle usage
8 * delta-find: fix pulled-delta-reuse-policy=forced behavior
9 * dirstate: fall back to v1 if reading v2 failed
10 * revlog: avoid possible collision between directory and temporary index
11
1 12 = Mercurial 6.4.3 =
2 13
3 14 * chg: declare environ (issue6812)
4 15 * chg: set CHGHG before connecting to command server
5 16 * delta-find: never do anything fancy when general delta is off
6 17 * delta-find: add a simple safeguard to prevent bad non-general-delta
7 18 * debug-delta: add minimal documentation for `devel.bundle-delta` option
8 19 * fix: highlight the required configuration and behavior of the fixer tools
9 20 * rhg: don't print copy source when --no-status is passed
10 21 * rhg: correctly relativize copy source path
11 22 * repo-upgrade: write new requirement before upgrading the dirstate
12 23 * backup: fix issue when the backup end up in a different directory
13 24
14 25 = Mercurial 6.4.2 =
15 26
16 27 Exceptional bugfix release due to a corruption bug that happens when using
17 28 clonebundles on repositories with large files.
18 29
19 30 * revlog-split: make sure the self._indexfile attribute is reset (issue6811)
20 31
21 32
22 33 = Mercurial 6.4.1 =
23 34
24 35 * rhg: fix a bug in path encoding
25 36 * rhg: don't crash on empty directory names in path_encode, just in case
26 37 * commands: correct documentation of hg serve’s --ipv6 options
27 38 * run-tests: remove obsolete coverage check and packaging import (issue6805)
28 39 * chg: populate CHGHG if not set
29 40 * match: sort patterns before compiling them into a regex
30 41 * match: match explicit file using a set
31 42 * rebase: do not cleanup the working copy when --dry-run is used (issue6802)
32 43 * sslutil: set context security level for legacy tls testing (issue6760)
33 44
34 45
35 46 = Mercurial 6.4 =
36 47
37 48 == New Features ==
38 49
39 50 * There is a new internal merge tool called `internal:union-other-first`.
40 51 It works like `internal:union` but add other side on top of local.
41 52 * Pullbundles are enabled by default
42 53 * delta-find: add a way to control the number of bases tested at the same time
43 54 * changelog-v2: add a configuration to disable rank computation
44 55 * debug: add an option to display statistic about a bundling operation
45 56 * debug: add an option to display statistic about a unbundling operation
46 57 * delta-find: add a delta-reuse policy that blindly accepts incoming deltas
47 58 * debug: add debug-revlog-stats command
48 59 * dirstate: add narrow support to `verify`
49 60 * verify: also check dirstate
50 61 * commit: add --draft option to use draft phase
51 62 * amend: add a --draft option to set phase to draft
52 63 * debug: add a config to abort update early
53 64 * rhg: implement checkexec to support weird filesystems
54 65 * debugshell: allow commands to be specified as a CLI argument
55 66 * rhg-files: add support for narrow when specifying a revision
56 67 * rust-narrow: enable narrow support for plain `rhg files`
57 68
58 69 == Bug Fixes ==
59 70
60 71 Aside from the following (unordered) commits which made it through a manual filter, there are a bunch of typing improvements and fixes, removal of deprecated code and general code cleanup.
61 72
62 73 * lfs: improve an exception message for blob corruption detected on transfer
63 74 * revlog: use the user facing filename as the display_id for filelogs
64 75 * rust-status: query fs traversal metadata lazily
65 76 * shelve: add Shelf.changed_files for resolving changed files in a plugin
66 77 * demandimport: ensure lazyloaderex sets loader attributes (issue6725)
67 78 * typing: fix a syntax error in mercurial/cext/bdiff.pyi
68 79 * cffi: fix a bytes vs str issue on macOS when listing directories
69 80 * changelog-v2: fix the docket `struct`
70 81 * schemes: fix a broken check for drive letter conflicts
71 82 * worker: avoid reading 1 byte at a time from the OS pipe
72 83 * rust-narrow: fix loop that never loops
73 84 * setup: Ensure target directory exists with building rust extension
74 85 * dirstate: invalidate changes when parent-change fails
75 86 * dirstate: warn about non-explicitly rolledback parent-change
76 87 * dirstate: write dirstate on successful exit of changing_parents context
77 88 * largefile: make sure we hold the lock when updating the second dirstate
78 89 * dirstate: enforce holding the lock while doing any changes
79 90 * run-tests: stop ignoring venv-installed packages
80 91 * transaction: run abort callback in all cases
81 92 * transaction: quietly rollback if no other changes than temporary files
82 93 * debugrebuilddirstate: double check that no transaction is open
83 94 * dirstate: do not write an empty dirstate just for backup
84 95 * locking: take the `wlock` for the full `hg add` duration
85 96 * locking: take the `wlock` for the full `hg remove` duration
86 97 * locking: take the `wlock` for the full `hg forget` duration
87 98 * locking: take the `wlock` for the full `hg addremove` duration
88 99 * locking: grab the wlock before touching the dirstate in `perfdirstatewrite`
89 100 * locking: hold the wlock for the full duration of the "keyword demo"
90 101 * mq: properly take the wlock during the full qfold operation
91 102 * dirstate: invalidate the dirstate change on transaction failure
92 103 * status: fix post status writing
93 104 * status: fix post status invalidation
94 105 * dirstate: avoid transaction backup/restore if we do not hold the lock
95 106 * rollback: explicitly skip dirstate rollback when applicable
96 107 * dirstate-guard: remove the feature
97 108 * dirstate: make `restorebackup` more robust when it is a noop
98 109 * dirstate: generalize the dirstate's invalidation on transaction abort
99 110 * dirstate: detect potential fishy transaction patterns while changing
100 111 * mq: write the dirstate before stripping
101 112 * dirstate: explicitly backup the datafile
102 113 * localrepo: enforce a clean dirstate when the transaction open
103 114 * localrepo: "blindly" do a dirstate backup at the end of the transaction
104 115 * dirstate: remove the dedicated backup logic
105 116 * rhg: fix a bug in path_encode
106 117 * dirstate: invalidate on all exceptions
107 118 * large-files: make sure we write newly initialized standin file early
108 119 * dirstate: warn if dirty when starting an edition
109 120 * dirstate: track that changes are pending in a transaction
110 121 * dirstate: distinct transaction callback from largefile
111 122 * automv: lock the repository before searching for renames
112 123 * dirstate: only reload the dirstate when it may have changed
113 124 * dirstate: cleanup the `_map` property cache
114 125 * status: invalidate dirstate on LockError
115 126 * dirstate: check that dirstate is clean at the initial context opening
116 127 * dirstate: have `running_status` write the dirstate when holding the lock
117 128 * dirstate: have `running_status` warn when exiting with a dirty dirstate
118 129 * narrow: widden the lock context in `tracking`
119 130 * narrow: enforce that narrow spec is written within a transaction
120 131 * transaction: no longer explicitly cache phaseroots
121 132 * transaction: no longer explicitly cache bookmarks
122 133 * transaction: use the standard transaction mechanism to backup branch
123 134 * bundlerepo: handle changegroup induced phase movement in the associated method
124 135 * bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
125 136 * config-item: declare undeclared path suboption
126 137 * narrow: read pending file when applicable
127 138 * rust: fix building on macOS (issue6801)
128 139 * run-tests: fix a crash when using the coverage options
129 140 * undo-files: also remove the undo.backupfiles
130 141 * undo-files: cleanup backup when cleaning undos
131 142 * undo-files: clean existing files up before writing new one
132 143 * undo-files: cleanup legacy files when applicable
133 144 * dirstate-v2: fix an incorrect handling of readdir errors
134 145 * rust: update zstd dependency
135 146 * rust: upgrade `rayon` dependency
136 147 * dirstate: fix the bug in [status] dealing with committed&ignored directories
137 148 * dirstate: fix a potential traceback when in `copy` and `rename`
138 149 * histedit: fix diff colors
139 150 * cext: fix for PyLong refactoring in CPython 3.12
140 151 * py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences
141 152 * statprof: with Python 3.12, lineno is (more) often None
142 153 * transaction: properly clean up backup file outside of .hg/store/
143 154 * transaction: raise on backup restoration error
144 155 * revlog: improve the robustness of the splitting process
145 156 * debugdeltachain: stop summing the same chain over and over
146 157 * url: don't ignore timeout for https connections
147 158 * py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences
148 159 * tests: accept a test output change in [tests/test-serve.t]
149 160 * rust: fix thread cap (for real this time)
150 161 * dirstate: try refreshing the changelog when parent are unknown
151 162 * hooks: invalidate the repo after the hooks
152 163
153 164 == Backwards Compatibility Changes ==
154 165 * rust: upgrade supported Rust toolchain version
155 166 * rust: move all crates in the main workspace to edition 2021
156 167 * hg-core: upgrade `zstd` dependency
157 168 * hg-core: upgrade `clap` dependency
158 169 * hg-core: upgrade all remaining dependencies
159 170 * hg-cpython: upgrade dependencies
160 171 * rhg: upgrade `clap` dependency
161 172 * rhg: upgrade the remainder of the dependencies
162 173
163 174 == Internal API Changes ==
164 175
165 176 * Many APIs around the dirstate have been made much stricter with regards to
166 177 locking and transaction handling
167 178 * Some dirstate APIs have been renamed/removed
168 179 * In both cases, you should get loud complaints in your tests if you do
169 180 something wrong.
170 181
171 182 == Miscellaneous ==
172 183
173 184 * pullbundle support no longer requires setting a server-side option,
174 185 providing a .hg/pullbundles.manifest according to the syntax specified in
175 186 'hg help -e clonebundles' is enough.
176 187 * debug-delta-find: add a --source option
177 188 * delta-find: add debug information about reuse of cached data
178 189 * delta-find: set the default candidate chunk size to 10
179 190 * attr: vendor 22.1.0
180 191 * configitems: add a default value for "merge-tools.xxx.regappend"
181 192 * debugrevlog: display total stored information
182 193 * emitrevision: if we need to compute a delta on the fly, try p1 or p2 first
183 194 * emitrevision: consider ancestors revision to emit as available base
184 195 * find-delta: pass the cache-delta usage policy alongside the cache-delta
185 196 * delta-find: use a smarter object for snapshot caching
186 197 * delta-find: use sets instead of list in the snapshot cache
187 198 * delta-find: make sure we only use newer full snapshot as candidate
188 199 * delta-find: use a single snapshot cache when applying a group to an object
189 200 * bundleoperation: optionnaly record the `remote` that produced the bundle
190 201 * bundle: when forcing acceptance of incoming delta also accept snapshot
191 202 * bundle: emit full snapshot as is, without doing a redelta
192 203 * pathutil: slightly faster path audit in the common case
193 204 * merge: don't pay for pathconflicts if there are none
194 205 * merge: short-circuit the _checkfs loop upon getting ENOENT
195 206 * merge: disable the whole filesystem access loop if [_realfs] is false
196 207 * merge: cache the fs checks made during [_checkunknownfiles]
197 208 * rust: use `logging_timer` instead of `micro_timer`
198 209 * rust: run `cargo clippy`
199 210 * makefile: add `cargo clippy` to tests if cargo is available
200 211 * heptapod-ci: add `clippy` to the CI
201 212 * convert: use a priority queue for sorting commits, to make sorting faster
202 213 * delta-find: adjust the default candidate group chunk size
203 214 * delta-find: declare the "paths..*:pulled-delta-reuse-policy option No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now