Summarized Changelog:
- New Features
- hg config now has a --source option to show where each configuration value comes from.
- Introduced a command to repair repositories affected by issue6528 where certain files would show up as modified even if they were clean due to an issue in the copy-tracing code.
- Bug Fixes
- Fixed committing empty files with narrow
- Allow overriding pip's pep517 compliance to build C or Rust extensions
- Fixed regression on outgoing email when not specifying revisions
- Fixed a regression causing bookmarks to disappear when using Rust persistent nodemap
- Fixed detection of directories becoming symlinks, but only when using the Rust extensions.
- Fixed ignore and include not composing in the Rust status
- hg commit --interactive now handles deselecting edits of a rename
- Fixed a case where hg evolve gives different results when interrupted
- Fixed a memory leak in phases computation
- histedit and shelve don't swallow errors when updating the working copy anymore
- Improve error message when detecting content-divergence with a hidden common predecessor
- No longer re-order parents in filelog
- Fix revisions affected by issue6533 on the fly during exchange
- Many Windows fixes for stability and py3 compatibility improvements
- Many other miscellaneous fixes
Full changelog: https://www.mercurial-scm.org/wiki/Release5.9