TortoiseHg Changelog

What's new in TortoiseHg 5.5.1

Sep 10, 2020
  • TortoiseHg 5.5.1 is a regularly scheduled bug-fix release

New in TortoiseHg 5.0.2 (Jul 23, 2019)

  • TortoiseHg 5.0.2 is primarily a refresh to pick up the latest stable Mercurial release

New in TortoiseHg 4.9.1 (Apr 15, 2019)

  • TortoiseHg 4.9.1 is a regularly scheduled bug-fix release

New in TortoiseHg 4.9.0 (Feb 24, 2019)

  • Bugs Fixes
  • hglib: use mercurial.filesetlang instead of mercurial.fileset (fixes #5301)
  • Improvements
  • phabricator: introduce a dialog for posting reviews

New in TortoiseHg 4.8.2 (Jan 22, 2019)

  • Bug Fixes:
  • Hglib: use mercurial.filesetlang instead of mercurial.fileset (fixes #5301)

New in TortoiseHg 4.8.1 (Dec 11, 2018)

  • Bugs Fixes
  • Mq: use scmutil.revsymbol() to resolve applied patch tooltip (fixes #5271)
  • Qtlib: check PyQt ver supporting setShortcutVisibleInContextMenu (fixes #5272)
  • Repowidget: do not open merge dialog with the "current" rev (fixes #5222)
  • Repowidget: use rev() to convert changectx and thgchangectx (fixes #5283)
  • Settings: display only usable phases for phases.new-commit (fixes #5288)
  • Update: use rev() to convert changectx and thgchangectx (fixes #5281)
  • Wix: add _sqlite3.pyd to the lib folder

New in TortoiseHg 4.8.0 (Nov 17, 2018)

  • Bug Fixes
  • FileEditor: use a fixed width font
  • Merge: don't show config dialog if ui.askusername is enabled (fixes #5245)
  • Bisect: use scmutil.revsymbol() to resolve revision string (fixes #5263)
  • Improvements:
  • Clone: add default destination setting (fixes #5241)

New in TortoiseHg 4.7.2 (Oct 15, 2018)

  • Bugs Fixes:
  • Commit - disable format-changing diff options for chunk select (fixes #5224)
  • Commit - use scmutil.revsymbol() to look up existing branch (fixes #5226)
  • Graft - parse graftstate as new format if file starts with '1n' (fixes #5220)
  • Grep - use scmutil.revsymbol to resolve revision string to changectx
  • Visdiff - use scmutil.revsymbol() to resolve --change

New in TortoiseHg 4.6.1 (Jun 21, 2018)

  • Bug Fixes:
  • archive: don't convert changectx to int, call rev() explicitly (fixes #5095)
  • compat: adapt to patch.extract() generator of hg 4.6 (fixes #5088)
  • compat: catch the right exception to be raised by util.parsedate()
  • pipeui: wrap _writenobuf() if available for hg 4.6 compatibility (fixes #5090)
  • qscilib: use QWheelEvent::angleDelta() on Qt5 (fixes #5109)
  • Installer:
  • perfarce extension has been unbundled, for a broken upstream link

New in TortoiseHg 4.6.0 (May 21, 2018)

  • Bug Fixes:
  • fileview: serialize font name passed to Scintilla as UTF-8 (fixes #5075)
  • Improvements:
  • repofilter: use partial matching to filter branch list (closes #4589)
  • repomodel: add a column with the git commit hash (closes #5073)
  • revpanel: show the git commit hash if the repo is a git clone (refs #5073)
  • topics: new dialog to manage topics
  • Installer:
  • latest evolve, hgsubversion releases

New in TortoiseHg 4.5.3 (Apr 10, 2018)

  • repowidget: do not stringify 'None' of filter revisions (fixes #5060)
  • i18n: drop excessive '' from internal URL of ru translation (fixes #5063)
  • graphopt: do not build nodes just for flags() (fixes #5061)

New in TortoiseHg 4.5.2 (Mar 11, 2018)

  • TortoiseHg 4.5.2 is a regularly scheduled bug-fix release, primarily containing the security fixes in Mercurial 4.5.2

New in TortoiseHg 4.5 (Feb 13, 2018)

  • Bug Fixes:
  • mergetools: add meld with --auto-merge (fixes #4973)
  • mq: add action for "qpush --move" (closes #4991)
  • mq: preserve selection on trivial renames (fixes #5004)
  • mq: trigger delete patches action by Del (closes #4944)
  • Improvements:
  • chunks: do not apply fontdiff to whole DiffBrowser widget
  • manifestmodel: do not call begin/endInsertRows() if empty (fixes #5000)
  • qtapp: do not try to select destroyed signal having no argument (fixes #5020)
  • qtapp: enable support for HiDPI toolbar icons (fixes #5025)
  • settings: remove unsupported "fontlist" config knob (fixes #4945)

New in TortoiseHg 4.4.2 (Dec 27, 2017)

  • Fixed Bugs:
  • guess: replace Model.reset() by begin/endResetModel() (fixes #4967)
  • qt5: work around incompatibility with QProxyStyle (fixes #4962)
  • qtapp: convert login username to unicode (fixes #4964)
  • visdiff: coerce type of configbool() value to be passed to setEnabled()

New in TortoiseHg 4.4.1 (Nov 26, 2017)

  • TortoiseHg 4.4.1 is a major release, coinciding with Mercurial's 4.4.1 security fix release. The x64 Windows installer packages are now built with Qt5. The x86 Windows installer packages will remain on Qt4. Linux and Mac OS X users can use Qt4 or Qt5, whichever is more stable on your platform.
  • Installer:
  • Qt5.9.2, PyQt5.9.2
  • latest versions of hg-git, dulwich and evolve

New in TortoiseHg 4.3.1 (Aug 13, 2017)

  • Bug Fixes:
  • fileview: fix marker dark theme background colors (refs #810)
  • Improvements:
  • repowidget: add custom tools support to pair selection menu
  • repowidget: add custom tools support to multiple selection menu
  • sync: use [hostsecurity] section instead of [hostfingerprints] (refs #4830)
  • Installer:
  • newest versions of hg-git, dulwich and evolve

New in TortoiseHg 4.2.2 (Jul 17, 2017)

  • Installer:
  • latest hg-git, evolve

New in TortoiseHg 4.2.1 (Jun 6, 2017)

  • Bug Fixes:
  • compat: replace util.stderr on frozen Windows build (fixes #4754)
  • compat: wrap scmutil.userrcpath() for hg 4.2 (fixes #4744)
  • mq: escape patch revision passed to qfinish command (fixes #4773)
  • qtrun: actually disable pager in GUI by ui.paginate flag (fixes #4778)
  • run: import getopt.GetoptError directly (fixes #4746)
  • Installer:
  • latest hg-git, mercurial_keyring

New in TortoiseHg 4.2.0 (May 8, 2017)

  • Bug Fixes:
  • customtools: do not crash by tool name containing dot (fixes #4740)
  • revdetails: convert issue patterns to unicode (fixes #4737)
  • win32: fix XLS hack in docdiff (refs #4540)
  • Improvements:
  • archive: allow to archive "all files touched since X"
  • merge: respect 'merge-pattern' config when merging (fixes #1928)
  • status, repo: remove unnecessary invalidation (fsmonitor compatibility)
  • Installer:
  • packaged with Mercurial 4.2 + 3 stable commits and one WIX fix commit
  • updated keyring and evolution

New in TortoiseHg 4.1.3 (Apr 18, 2017)

  • TortoiseHg 4.1.3 is a special release to pick up security fixes in Mercurial 4.1.3

New in TortoiseHg 4.1.2 (Apr 4, 2017)

  • Bug Fixes:
  • fix URLs to websites
  • Installer:
  • Latest evolve and dulwich extensions

New in TortoiseHg 4.1.1 (Mar 14, 2017)

  • Bug Fixes:
  • fix URLs to website
  • Installer:
  • Latest keyring extension

New in TortoiseHg 4.1.0 (Feb 21, 2017)

  • Bug Fixes:
  • cmdcore: fix PYTHONPATH to not include ''
  • revdetails: fix url/nodeid markup to not capture HTML escapes (fixes #4663)
  • Installer:
  • Latest hgsubversion and evolve tags

New in TortoiseHg 4.0.2 (Jan 23, 2017)

  • TortoiseHg 4.0.2 is a regularly scheduled bug-fix release, containing only updates to Mercurial itself.

New in TortoiseHg 4.0.1 (Dec 20, 2016)

  • Bug Fixes:
  • customtools: add tooltips to hook types dropdown (fixes #4625)

New in TortoiseHg 4.0.0 (Nov 3, 2016)

  • Improvements:
  • graph: make annotate/history graph work with a shallow (remotefilelog) repo
  • repoagent: light-weight suspend of repository monitor while running commands
  • repofilter: adjust branch combo to content every time model changed
  • repofilter: do not calculate width of revset combo from contents (fixes #4035)
  • hgext:
  • extension: rename the extension from 'lighthg' to 'thg'
  • extension: restrict to only 'view' as a command name
  • light-ui: update the windows name to mention TortoiseHg and reponame

New in TortoiseHg 3.9.2 (Oct 6, 2016)

  • There were no changes to TortoiseHg itself in this release, but the installer packages include Mercurial 3.9.2 and many updates to the packaged software libraries. The Windows installers now come with the latest Python release (2.7.10), the latest Qt4 and PyQt4 releases, and updates to several Mercurial extensions including keyring, evolve, and dulwich (hg-git).

New in TortoiseHg 3.9.1 (Sep 13, 2016)

  • Bug Fixes:
  • graphopt: show working copy if any of its parents are in a branch filtering
  • sync: reorder SecureDialog.init to avoid too early _updateUi() (fixes #4559)
  • toposort: avoid crash when tip revision is hidden

New in TortoiseHg 3.8.4 (Aug 2, 2016)

  • Installer:
  • Updates to dulwich and evolve, and (obviously) hg 3.8.4

New in TortoiseHg 3.8.3 (Jun 2, 2016)

  • Installer:
  • Updates to hgsubversion, hggit, evolve, hgkeyring, and python-keyring (which changed hosting to github)

New in TortoiseHg 3.8.1 (May 4, 2016)

  • Bug Fixes:
  • guifork: disable interaction with tty input (refs #4469)
  • qtapp: disable interaction with tty on GUI (fixes #4469)
  • postreview: suggest wiki if reviewboard extension not enabled (fixes #4463)
  • workbench: fall back to revset query on "go to revision" (fixes #4084)
  • Improvements:
  • clone: add a --config extensions.largefiles= option
  • paths: always respect the HG environment variable
  • Installer:
  • updates to packaged dulwich and hgsubversion

New in TortoiseHg 3.7.3 (Mar 31, 2016)

  • TortoiseHg 3.7.3 is a regularly scheduled bugfix release, primarily to pick up security bug fixes in Mercurial 3.7.3.

New in TortoiseHg 3.7.2 (Mar 4, 2016)

  • TortoiseHg 3.7.2 is a regularly scheduled bugfix release, primarily to pick up bug fixes on the stable branch of Mercurial and packaging improvements.

New in TortoiseHg 3.7.1 (Feb 4, 2016)

  • Bug Fixes:
  • cmdui: backport more robust parsing of prompt choices (fixes #4423)
  • commit: include ignored files if explicitly selected (fixes #4422)
  • docklog: stop shell expansion if command-line token looks quoted (fixes #4312)
  • fileview: invert colors of excluded chunks on dark theme (refs #810)
  • lfprompt: catch Abort caused by invalid largefiles.patterns (fixes #4397)
  • merge: don't call other revision as "target" (fixes #4413)
  • nautilus: fix the extension for Nautilus 3.16+ (fixes #4228)
  • repowidget: label "reject bundle" button as "cancel" (closes #4292)
  • repotreeitem: keep root paths in unicode (fixes #3723)
  • Improvements:
  • introduce a GUI lock tool
  • repowidget: add "Revert all Files" context menu (closes #4337)
  • settings: resurrect field for ui.editor
  • sync: add browse button to the synchronize window (closes #4394)
  • Installer:
  • setup: add support for building OS X application bundles

New in TortoiseHg 3.6.3 (Jan 14, 2016)

  • Bugs Fixes:
  • demandimport: exclude pkgutil and pkg_resources (fixes #4271, #4298)

New in TortoiseHg 3.6.2 (Dec 14, 2015)

  • Bugs Fixes:
  • repowidget: fix handling of patch.extract() result (hg 3.6) (fixes #4390)
  • Improvements:
  • doc: include link to download and use Python 2.7 SWIG bindings

New in TortoiseHg 3.6.1 (Nov 20, 2015)

  • Bugs Fixes:
  • reporegistry: move warning of opening non-hg repository to common function
  • bump major revision number in docs
  • Installer:
  • mercurial_keyring 0.7.1
  • evolve 5.2.1
  • dulwich 0.11.2
  • hgsubversion tip of stable branch
  • hggit tip

New in TortoiseHg 3.6.0 (Nov 9, 2015)

  • Bugs Fixes:
  • mq: suppress original error only if all rejects are resolved (fixes #4325)
  • repowidget: allow bookmarking applied MQ patch (fixes #4336)
  • update: handle EnvironmentError in the same way as parameter error (fixes #4283)
  • Improvements:
  • compress, graft, rebase: provide "shelve" as cleanup option (closes #4252)
  • mqdock: add menu action to push/pop to the selected patch
  • mqdock: add menu and toolbar action to finish patches (closes #4296)
  • repowidget: change Filter by/Ancestors into Filter by/Ancestors and Descendants

New in TortoiseHg 3.5.2 (Oct 6, 2015)

  • Bug Fixes:
  • repotab: do not close removed repo in the middle of switching tabs (fixes #4253)
  • settings: fix noop deletion of unnamed hook (fixes #4289)
  • shelve: create patchctx by MQ patch name if appropriate (fixes #4308)
  • Installer:
  • wix: resurrect kdiff3-noauto for bundled kdiff3 (fixes #4309)

New in TortoiseHg 3.5.1 (Sep 11, 2015)

  • Bugs Fixes:
  • visdiff: preserve the executable bit after editing a file
  • Installer:
  • setup: exclude setup.py and distutils from py2exe build
  • wix: add mercurial/help/scripting.txt (fixes #4264)

New in TortoiseHg 3.5.0 (Aug 8, 2015)

  • Bugs Fixes:
  • filectxactions: open save dialog where repository file exists (fixes #3445)
  • grep: split inc/exc patterns on Comma instead of Comma+Space (fixes #836)
  • lfprompt: suppress exception on getting size of inaccessible file (fixes #4240)
  • qtlib: drop support for old-style icon lookup
  • qtlib: load icons from filesystem unless frozen
  • reporegistry: look for parent repo in model on removeSubrepo (fixes #4214)
  • repowatcher: check mtime of bookmarks file (hg 3.5)
  • repowatcher: detect rollback of repository states (fixes #4193)
  • sync: sort bookmarks in target combobox alphabetically (fixes #4222)
  • Improvements:
  • names: experimental support for displaying any name space
  • repoview: add an action to resize columns ignoring settings
  • repowidget: add menu to filter ancestors, by author or branch (closes #1455)
  • sync: allow to select user certificates by file dialog
  • sync: open the save dialog when Enter is pressed in URL field
  • workbench: add icon to Web Server menu item (closes #4211)
  • Installer:
  • update tsvn doc-diff scripts (fixes #3404, #4244)
  • setup: build Qt resources only for py2exe target
  • setup: do not pack unnecessary files to icon resource
  • setup: generate config module according to installation options (refs #2178)
  • setup: generate list of .mo files from existing .po files (fixes #2431)
  • setup: move library.zip and dlls to lib/ directory (refs #4164)
  • setup: respect prefix where nautilus extension will be installed (fixes #2178)

New in TortoiseHg 3.4.2 (Jul 15, 2015)

  • Bug Fixes:
  • settings: have filename edit accept focus by clicking (fixes #4192)
  • update docdiff scripts
  • thgstatus: fix typo in an option description
  • lighthg: use 'sys.argv' instead of undefined 'argv'

New in TortoiseHg 3.4.1 (Jun 4, 2015)

  • Bug Fixes:
  • hglib: prevent loading zeroconf extension in GUI process (fixes #3289)
  • Improvements:
  • filectxactions: add explore local option to file context menu (fixes #3442)
  • Installer:
  • contrib/hg, thg: avoid crash by missing PATH environment
  • overlay: insert bin folder to PATH and sys.path for pywintypes (fixes #4158)
  • thg: insert bin folder into sys.path for pywintypes (fixes #4153)
  • wix: move kdiff3.exe into bin/ folder (fixes #4151)

New in TortoiseHg 3.4+7 (May 19, 2015)

  • TortoiseHg 3.4+7 is a respin of the 3.4 Windows packages with fixes for multiple problems exposed by the reorganization of the target install folder:
  • contrib/hg, thg: avoid crash by missing PATH environment
  • overlay: insert bin folder to PATH and sys.path for pywintypes (fixes #4158)
  • thg: insert bin folder into sys.path for pywintypes (fixes #4153)
  • wix: move kdiff3.exe into bin/ folder (fixes #4151)

New in TortoiseHg 3.4 (May 11, 2015)

  • Bug Fixes:
  • bookmark, matching, sign, tag: allow to resize horizontally while having fixed height (refs #4043)
  • bookmark, tag, update: avoid combo box taking too much space (fixes #4043)
  • commit: prompt for new largefiles first to skip extra confirmation (fixes #1954)
  • filedata: rewrite copy detection by using copies.pathcopies() (fixes #3949)
  • merge: discard p2 changes without using debugsetparents (fixes #3856)
  • mergetools: add $output to meld to change which file will be saved (fixes #4134)
  • quickop: do not calculate status unnecessarily in GUI process (refs #1828)
  • quickop: catch known exceptions raised from repo.status() (fixes #1828)
  • repomodel: clear cache of latest tags on repository change (fixes #4137)
  • repoview: ignore corrupted column_widths saved in QSettings (fixes #1456)
  • repowidget: refresh commit tab after rollback or custom hg command (fixes #3981)
  • revset: set appropriate size policy to status bar of query dialog (fixes #834)
  • sync: get host fingerprint asynchronously by extension command (fixes #4114)
  • Improvements:
  • bookmark: add simple bookmark dialog to sync screen (fixes #322)
  • commit: do not overwrite username if ui.askusername is set (closes #4064)
  • filectxactions: enable shortcuts only if the owner or its children has focus
  • filectxactions: add shortcut to delete unversioned file (closes #3681)
  • fileview, status: enable annotate mode for working directory
  • rebase: mention command line options in checkbox labels
  • sync: add "unbundle" to "repository" menu (fixes #4067)
  • workbench: add default merge action to main menu and toolbar (closes #222)
  • Installer:
  • libsvn evicted from the binary packages - it will be a 2nd download
  • move Qt and other DLLS into bin/ folder in Windows installers
  • remove PDF file from Windows installers
  • ssl: use the system's CA store
  • dulwich 0.10.1+, hgsubversion 1.8.1, evolve 5.1.4, keyring 5.0

New in TortoiseHg 3.3.3 (Apr 6, 2015)

  • Bug Fixes:
  • annotate: do not instantiate filectx per line (fixes #4071)
  • copypatch, export: pass --rev option in compact form (fixes #4081)
  • doc, version: bump copyright year (fixes #4066)
  • filectxactions: avoid crash by opening log of new file (fixes #4096)
  • filedata: calculate status from given base revision if not known
  • filedata: copy subrepo attributes when switching base revisions (fixes #4102)
  • guess: sort added/removed files by path for stable result (fixes #4079)
  • repofilter: always request to unapply revset by clear button (fixes #4073)
  • repotab: catch Abort on repository lookup as well (fixes #4069)
  • repowidget: stop the description column from shrinking on restart (refs #3882)
  • Installer:
  • Evolve extension is now bundled (latest stable tag: 5.1.2)
  • dulwich bumped to 0.9.9 (0.10.0 is broken on Windows)
  • hgkeyring bumped to 0.6.7
  • hgcr-gui (fixes #4065)

New in TortoiseHg 3.3.2 (Mar 3, 2015)

  • Bug Fixes:
  • archive, clone, init, rename: prettify command-line string for display (fixes #4051)
  • cmdserver: handle unicode error in command gracefully (fixes #3246, #3453)
  • cmdserver: recreate QProcess if remainder of last request is in write buffer
  • guifork: do not fork() more than once on posix by reentering to dispatch()
  • merge, rename, settings: correct typos in help and warning messages (fixes #4047, #4049, #4050)
  • openshell: do not parse command string by shlex on Windows (fixes #4044)
  • qscilib: re-enable custom handling of input method events on QScintilla 2.8
  • repofilter: take query not convertible to localstr as revset (fixes #3664)
  • repomodel: prioritize latest tags by date and distance (fixes #4048)
  • resolve: preserve selection on refresh instead of selecting all (refs #2615)
  • resolve: disable actions while command is running (fixes #2615)
  • sync: do not trust incoming bundle, just re-pull (fixes #2497, #3582, #3847)
  • Installer:
  • Pygments 2.0.2 (fixes #2407, #4028 by any chance)
  • Python 2.7.9 (fixes #3938)
  • QScintilla 2.8.4 (fixes #3573)
  • Qt 4.8.6 (fixes #2300, #4006)
  • libsvn 1.7.5 (fixes #3745)

New in TortoiseHg 3.3.0 (Feb 4, 2015)

  • BUG FIXES:
  • annotate: fetch line information by command (fixes unsafe thread access)
  • cmdcore: handle ui labels in unicode to avoid possible exception (fixes #3988)
  • guifork: use real fork() on posix to run GUI in background (fixes #3701)
  • init: open repo in existing workbench process if any (fixes #3922)
  • init: run "hg init" in command process (fixes #3931)
  • lfprompt: parse minsize as float value (fixes #1901 again)
  • qtapp: handle SIGINT more gracefully by sending close event to all windows
  • repomodel: work around RepoLookupError that may occur while reload is pending
  • repowidget: switch to default task tab after initial revision is selected
  • sync: drop "recurse into subrepositories" option (closes #1645)
  • workbench: disable back/forward actions when all repositories are closed
  • workbench: make sure to run workbench by "New Workbench" action
  • workbench: narrow --newworkbench option to command scope
  • workbench: show busy indicator while command is running (fixes #1186)
  • IMPROVEMENTS:
  • clone, init: open workbench after repository created by standalone dialog
  • filectxactions: open file history dialog in annotate mode (closes #3760)
  • init: add option to copy user files instead of empty .hgignore (closes #3569)
  • reporegistry: mark shared repositories with a link icon overlay
  • repotab: stop filesystem watcher of background tabs
  • sync: never switch task tabs on revision selected
  • sync: provide standalone dialog by LightRepoWindow
  • workbench: forcibly reload models and views by Ctrl+refresh
  • workbench: make it possible to restore the selected sync path across restarts
  • workbench: restore last open repositories without loading them
  • workbench: resurrect docked console widget (closes #3984)
  • graph:
  • color: use "color hashing" to pick a color for each branch (closes #3490)
  • color: use "color hashing" to pick a color for each user
  • graph: support the branch grouping experiment from mercurial core
  • repomodel: hide all revisions if no matches found for the given revset query
  • repomodel: rerun last revset query on reload (closes #1705)
  • repoview: use a square shape for secret changesets
  • repoview: use a pentagon shape for draft changesets
  • command:
  • log: add -r option to specify the initial revision to be selected
  • log: add -k/--query option to filter changesets by keyword or revset
  • nautilus/caja:
  • add Python Caja extension support (fixes #3936)
  • INSTALLER:
  • hgsubversion 1.8
  • mercurial_keyring 0.6.6
  • python-keyring 4.1.1

New in TortoiseHg 3.2.4 (Jan 21, 2015)

  • Bug Fixes:
  • commit: reload patch description if hash changes (fixes #3983)
  • filedialogs: forcibly add --hidden because hidden rev can appear in filelog
  • repofilter: another workaround to run selected query on Mac OS X
  • repowidget: fix indexes of unapplied patch actions to be enabled
  • Installer:
  • Dulwich 0.9.8
  • mercurial_keyring 0.6.4

New in TortoiseHg 3.2.3 (Dec 20, 2014)

  • TortoiseHg 3.2.3 is an unscheduled bug fix release, intended to pick up two security fixes in Mercurial 3.2.3.

New in TortoiseHg 3.2.2 (Dec 18, 2014)

  • Bug Fixes:
  • chunks: preserve line ending of source file in diff view (fixes #3975)
  • console: do not confuse output with prompt input while idle (fixes #3982)
  • filectxactions: directly use boolean evaluation to check for empty (fixes #3967)
  • init: getExistingDirectory without keyword argument (CentOs 6.3)
  • rejects: decode chunk lines as selected content encoding (fixes #3974)
  • rename, settings: work around memory corruption by QCompleter(parent)
  • repomodel: actually clear revset when repository is stripped
  • repomodel: update row count even if failed to reload graph (fixes #3971)
  • repowidget: evaluate dagrange set eagerly to fix crash on "Bundle DAG Range"
  • Improvements:
  • mergetools: add 3-way dir diff to BeyondCompare 4 (closes #3976)

New in TortoiseHg 3.2.1 (Nov 21, 2014)

  • Bug Fixes:
  • Avoid confusion with explorer extension dialog (#3968, #2339)
  • Improve documentation for terminal shell configuration (#3957)

New in TortoiseHg 3.2.0 (Nov 7, 2014)

  • Bug Fixes:
  • commit: do not reload patch description if parent is unchanged (fixes #3304)
  • qreorder: have drag-and-drop patches run extension command in worker process
  • paths: resolve root directory from frozen executable path
  • repowatcher: detect removal of repository files (fixes #3697)
  • repoagent: unify workingBranchChanged with repositoryChanged
  • fixes #2572 - doesn't auto refresh when update and discard new branch)
  • repofilter: grab focus only if shown by user action (refs #3917)
  • repomodel: do not clear status message on filter option change (fixes #3887)
  • repomodel: restore current/selected indexes by model on reload (refs #1913)
  • repowatcher: check mtime of obsolescence markers (fixes #3913)
  • repowidget: do not overwrite browse history by revset result (refs #3832)
  • repowidget: do not re-create model on repository or revset changed
  • repowidget: move focus to history view when window gets visible (fixes #3917)
  • repowidget: remove unused _reload_rev and _last_series (fixes #3923)
  • repowidget: switch to commit tab if working-dir row is selected (fixes #1913)
  • sync: bypass bundle overlay on fetch just like pull
  • fixes #3946 - fetch after check incoming fails)
  • sync: rebuild target bookmarks/branches only when changelog updated (refs #3912)
  • Improvements:
  • make output log a task tab, remove class LogDockWidget
  • cmdcore: propagate --config options to command process
  • debugruncommand: add command that runs hg command in dialog (closes #3934)
  • infobar: clear status message with slight delay if command finished (refs #3308)
  • prune: add dialog that prunes the specified revs
  • qtapp: use wake-up fd to notice SIGINT on Unix
  • strip: add --keep checkbox (closes #1865)
  • workbench: add toolbar button that aborts any running commands
  • Graph style:
  • evolution: also fadeout obsolete changeset
  • repomodel: branches color rework, with new colors stolen from Mathematica 10
  • repomodel: use lighter version of the usual color when a revision is hidden
  • repomodel: use red as the default text color for troubled changeset

New in TortoiseHg 3.1.2 (Oct 13, 2014)

  • TortoiseHg 3.1.2 is a regularly scheduled bug-fix release.
  • Since 3.1, Mercurial commands are run in separate command server process. It generally contributes to reliability, but if you have a faulty extension or an in-process Python hook, it can corrupt the communication channel between TortoiseHg and the command server.
  • If you see an error message like "cmdserver: timeout while reading...", please report it with the list of enabled third-party extensions and their versions. Currently, reviewboard (#3841) and onsub (#3924) extensions are known to have this issue.
  • Bug Fixes:
  • commit: correct boundary value to disable pygments parsing (refs #3910)
  • commit: do not show username prompt if ui.user is set (fixes #3901)
  • obsolete: look for markers even if intermediate revisions are hidden
  • repomodel, sync: fix performance regression on repo having many named branches (fixes #3912)
  • tag: propagate --force option properly on remove

New in TortoiseHg 3.1.1 (Sep 9, 2014)

  • Bug Fixes:
  • annotate: ignore double-click of margin next to the last line (fixes #3877)
  • cmdcore: allow to change output device of null command session
  • (fixes #3864 - RuntimeError on detect outgoing changes to empty path)
  • filectxactions: do not try 3-way diff if p2 is explicitly selected
  • (fixes #3854 - "Diff to parent" options only diff to the left parent)
  • graph: fix AssertionError when generating family lined graph (fixes #3892)
  • hgignore: disable auto-default of all buttons (fixes #3889)
  • repomodel: make sure to render labels by using the same font as view
  • status: do not set "remove filter" button as auto-default (fixes #3876)
  • sync: outgoing {node} might be prefixed with white space
  • (fixes #3872 - missing first outgoing node if authentication required)
  • wctxcleaner: do not report branch change as dirty working directory
  • (refs #3822 - allow backout, graft, merge and rebase onto new branch)
  • win32ill: suppress KeyboardInterrupt while shutting down message-loop thread
  • Improvements
  • merge: add link to review a merge
  • wctxactions: add "Edit Rejects" action that opens RejectsDialog (closes #3838)
  • Installer:
  • update hg-git to current tip (c68edf83bfbc), fixes SSH issue (#3862)
  • pyre2 is now bundled, for must improved regexp performance

New in TortoiseHg 3.1 (Aug 6, 2014)

  • Bug Fixes:
  • cmdui: add hidden button to close prompt dialog with no response
  • fixes #1317 - merge has no cancel option)
  • filectxactions: redesign to show diff between baseRev and rev
  • fixes #2313 - diff selected file revisions not working after move/rename)
  • grep, status: use built-in drag-and-drop infrastructure
  • patchctx: use patch name give by repo if it is an MQ patch
  • fixes #3831 - patch name is ambiguous when using directories)
  • postreview: correctly set parent of first selected revision (fixes #3538)
  • repofilter: do no run revset query by focus out during history completion
  • repofilter: do not steal focus when window is restored from minimized state
  • repomodel: render description column without using HTMLDelegate
  • fixes #1590 - description column contents aligned 1px upper)
  • repotreemodel: work around unicode error on XML parse failure (fixes #3820)
  • run: continue without fork if new process can't be spawned (fixes #1949, #3800)
  • run: promote rev to common annotate/log option (fixes #3799)
  • workbench: do not change window icon (closes #3737)
  • command runner:
  • cmdcore: enable command-server client by default in 3.1, fixes:
  • 3343 - blackbox extension not working
  • 1661 - "abort: Interrupted system" call during push with subrepos
  • 2071 - crash when pushing with mercurial_keyring
  • 2614 - util.hgexecutable() returns wrong path
  • 074fd0fde0b6 - worker.py of Mercurial 2.6 only works in main thread
  • 3370 - Workbench UI getting dispresponsive on certain operations
  • 484, #788 - can't use git/subversion subrepo
  • 3637 - redirect hook stdout, stderr to Output log
  • 3670 - WindowsError 6 in pipe decode/encode filter
  • repowidget: run "Export Diff" and "Copy Patch" in command process for stability
  • revset: run query in command process for stability
  • commit/status widget:
  • commit: do not bulk-add unknown files when all selected files are largefiles
  • commit, filectxactions: escape paths prior to command execution
  • fixes #2108 - files with some special names can't be added or commited)
  • commit: take "autoinc" list as glob pattern again
  • filectxactions: make "copy patch" generate diff between base and target revs
  • repowatcher: invalidate cache if dirstate file is modified
  • fixes #3647 - file renaming inconsistencies)
  • wctxactions: delegate "file history" action to filectxactions
  • fixes #2591 - No shortcut for "File history" command on files in Working Directory)
  • wctxcleaner: invalidate changelog on each check of dirstate
  • fixes #3826 - commit do not work properly in the merge dialog)
  • wctxactions: make visual diff compare to base revision, add "diff local" in place
  • fixes #2001 - diff does not work on MQ patches)
  • wctxactions: reimplement by using command APIs, fixes:
  • 1347 - add support for pre- and post- hooks
  • 2217 - adding files to source control in the separate thread
  • 1953 - largefiles treated wrong when added by "add large..." menu
  • high dpi issues:
  • graphdelegate: update row height to actual value prior to painting
  • refs #3690)
  • widgets: use small icon size defined by platform style (fixes #3690)
  • obsolete changeset:
  • repoagent: append --hidden option while hidden changesets are visible
  • repowidget: replace pseudo "incoming()" filter by "bundle()" (refs #3535)
  • repowidget: switch visibility of hidden changesets globally
  • fixes #3735 - obosoleted changeset appears as "Child:" field unexpectedly)
  • thgrepo: start with filtered repo because it is the default of Mercurial
  • Improvements:
  • blockmatcher: improve visibility of narrow markers
  • filelog: export thg filelog [-r REV] [--compare] FILE command
  • fileview: remember chunk selection on view mode switch
  • mergetools: port gvimdiff from Mercurial's mergetools.hgrc
  • searchtoolbar: make next/prev shortcuts available in owner widget (fixes #3819)
  • status: open merge tool on double-click for unresolved file (closes #1230)
  • toolbars: use toolbar icon size defined by QApplication.style() except on Mac (see 8d6212194e21 for details)
  • graph:
  • graph: draw ancestor-descendant relations in filtered graph (see 891146f5a9bb for details)
  • Installer:
  • wix: remove i18n source files (.po) from installer package (closes #2566)
  • keyring 4.0
  • hgsubversion 1.6.2

New in TortoiseHg 3.0.2 (Jul 14, 2014)

  • Bug Fixes:
  • cmdthread: map empty promptchoice response to default value
  • fixes #3785 - crash on email preview with diffstat)
  • grep: fix list of urls to include all dragged files
  • grep, status: fix several unicode errors in drag-and-drop handler
  • status: fix handling of non-ascii file name in drag-and-drop handler
  • purge: make sure to not include deselected statuses
  • fixes #3786 - ignored files can be deleted even if checkbox is off)
  • settings: remove outdated details of default authorcolor behavior (fixes #3789)
  • thgrepo: preserve config values that are internally set
  • fixes #588 - random failure of unified diff with eol extension)
  • Improvements:
  • commit: allow amending non-head if obsolete is enabled
  • repomodel: do not truncate description if longsummary is enabled (fixes #3776)
  • reduce workbench toolbar icon size on Mac to match size on Windows
  • Installer:
  • update python keyring library to 3.8
  • update dulwich to 0.9.7
  • update hg-git to current tip (ab8562b11c4f)

New in TortoiseHg 3.0.1 (Jun 6, 2014)

  • Bug Fixes:
  • commit: do not crash by invalid issue.regex expression (fixes #3732)
  • customtools: separate arguments before running external commands (fixes #3752)
  • graph: fix problem about `showgraftsource` and `branch`
  • repowidget: resize columns only when model is initially loaded (fixes #3742)
  • wctxactions: resurrect 'forget' action for added files (closes #3748)
  • commit: clear unmodified message, including the default merge message, when repository changed (fixes #3755)
  • Installer:
  • bundled hgsubversion moved from hg-svn to hgsubversion
  • bundled hg-git moved from hg-git to hggit

New in TortoiseHg 3.0 (May 7, 2014)

  • Bug Fixes:
  • backout: remove support for merges deprecated since Mercurial 2.0 (refs #3416)
  • commit: do not create recent message menu more than once (fixes memleak)
  • email: preview is empty if patchbomb extension is not loaded
  • filectxactions: save files in working-copy line endings (fixes #3696)
  • graft: merge source csinfo and cslist to save vertical space (closes #3655)
  • qtapp: font placement is wrong with OSX 10.9
  • shellext: context menus icons NOT properly displayed on Windows XP (fixes #1364)
  • Improvements:
  • bisect: open as modeless dialog in workbench
  • bisect: follow candidate changeset in workbench
  • clone: suggest new destination on source changed or existing dest selected
  • cmdui: switch detail button text to show what will happen (closes #3666)
  • commit: automatically set merge commit message
  • email: allow to omit introduction email even if more than one patches available
  • filectxactions: add filter action to file context menu
  • filectxactions: run "hg cat" by asynchronous command runner
  • fileview: add option to guess encoding from its content on load (closes #3620)
  • fileview: add shift-clicking feature on chunk selection (ref #3672)
  • graft: save/restore boolean command options
  • merge: remember autoresolve check, run internal:merge (autoresolve) by default
  • qdelete: remember last state of --keep option
  • reporegistry: save expanded state in settings (closes #2132)
  • repoview: allow drag-and-drop of column headers (closes #2544)
  • shelve: confirm to delete selected chunks (closes #2493)
  • update: add 'Pull subrepos from:' combobox
  • workbench, filelog: give standard shortcuts to go-back/forward actions
  • core:
  • cmdcore: add experimental command-server client enabled by --config tortoisehg.cmdworker=server
  • refs #1507, #1661, #2071, #2614, #3343, #3370, #3637)
  • graph: assign same color to edges in first ancestors line
  • graph: do not assign gray to normal line because gray means `inactive`
  • graph: draw starting edge of topo branch in same color as its descendants
  • graph: narrow margin around graph edges to save horizontal space
  • Installer:
  • bundle hg-git and hgsubversion extensions
  • dulwich 0.9.6 (inclues fixes for GitHub, #3653)
  • keyring 3.7 and hgkeyring 0.6.2

New in TortoiseHg 2.11.2 (Apr 2, 2014)

  • Bug Fixes:
  • chunks: honor file encoding when displaying diffs (fixes #3660)
  • copypatch: make revision 0 exportable to clipboard (fixes #3652)
  • repoagent: fix comparison of subrepo path starting from root path (fixes #3688)
  • shellconf: the label is utf8 encoding. Convert to unicode by decode()
  • sync: open email dialog with numeric revs so that they can be sorted correctly
  • thg: remove the -psn argument supplied by launchd only if present (refs #3437)
  • wctxactions: refresh status after "renamed from" action (fixes #3671)
  • wctxactions: refresh status when ignore dialog closed (fixes #3657)
  • Improvements:
  • fileview: save last selected encoding as widget's default (refs #3620)
  • mergetools: add BeyondCompare 4 support (closes #3679)
  • qfold: accept command by Ctrl+Return like commit or email dialog (closes #3650)

New in TortoiseHg 2.11.1 (Mar 5, 2014)

  • Bug Fixes:
  • chunks: bypass copy protection of repo.ui that drops eol settings (fixes #3600)
  • cmdui: disown temporary progress widgets so that they can be deleted (fixes memleak)
  • commit: do not restore last amend message on repository change (fixes #3605)
  • commit: say "nothing changed" instead of "code: 1" on empty amend (refs #3599)
  • filectxactions: reenable file log actions for working directory (closes #3613)
  • init: catch filesystem error while creating repository (fixes #3630)
  • manifestmodel: disable lookup of file-type icons from system (fixes #3594 - double overlay icons)
  • manifestmodel: do not ignore reload request of uncommitted changes (fixes #3595 - shelve not refresh)
  • manifestmodel: instantiate subrepo only when necessary (fixes #3638)
  • quickop: chdir to repo root so that status widget can filter file (fixes #3634)
  • repowidget: refresh active commit tab when purge dialog closed (closes #3643)
  • sync: fix list index to override pull command by fetch (fixes #3612)
  • update: do not eat up enter key to complete wrong revision from history
  • wctxactions: clear propertycache of cwd for each command execution (fixes #3603)
  • Improvements:
  • archive, clone, rename: allow to resize horizontally while having fixed height
  • mergetools: copy TortoiseMerge entry for the one of TortoiseGit (refs #1952)
  • settings: list well-known smtp ports in combobox

New in TortoiseHg 2.11 (Feb 5, 2014)

  • Bug Fixes:
  • archive: use fileset to filter modified/created files (closes #2595)
  • clone: do not select first history item of src/dest combo on enter key
  • customtools: work around erratic type of value in settings dialog (fixes #3548)
  • dialogs: fix several GC issues
  • filectxactions: disable several invalid actions according to the context
  • filedata: check renamed state even if larger than maxdiff (fixes #3531)
  • fileview: disable annotation of removed files
  • fileview: do not override chunk markers by annotation colors
  • fileview: fix deletion of translated "excluded" chunk message
  • fileview: restore lost mode even if all modes are not enabled
  • fileview: update availability of next/prev diffs according to cursor position
  • grep, init, rename: do not bury unknown exception
  • init: lay out dialog buttons according to the widget style (fixes #3555)
  • manifest/revdetails: fix subrepo status to compare to parent revision of main repo
  • merge: do not skip merge result if there was a warning
  • mq: check rejects according to exit code of qpush/qgoto command (fixes #1310)
  • rejects: add menu to specify encoding of file content (closes #3314)
  • rupdate: remove unused check boxes and dangling widgets
  • settings, ignore: convert to local encoding on reading/writing file (fixes #1719)
  • settings: disable web.name in global tab (refs #1113)
  • settings: update smtp.tls options for current Mercurial version
  • strip: keep local changes unless the current revision will be stripped
  • sync: ignore defaultpush if branch is specified by OptionsDialog (fixes #3547)
  • update: allow to resize horizontally while having fixed height (fixes #3575)
  • visdiff: make invalid merge-tools priority fall back to default (fixes #3585)
  • wctxactions: request to refresh only if copy/rename finished successfully
  • workbench: do not assign Alt+n shortcut to separator or hidden task view action
  • core:
  • cmdui: fix several bugs in error/status handling
  • docklog: show command output of all dialogs
  • hglib: do not try utf-8 when converting localstr to unicode (fixes #3299)
  • hglib: ignore global web.name which was probably set by accident (fixes #1113)
  • paths: import config in full spelling for demandimport.ignore (fixes #3542)
  • repowatcher: do not monitor network/removable drives by default (closes #889)
  • thgrepo: remove manual busy count handling (closes #3376)
  • windows: use GetDriveType to check if repo is on local drive (closes #2521)
  • Improvements:
  • annotate: use cached data when annotating the same content
  • bisect: add option to discard local changes
  • filedata: show unified diff of directory in tree view
  • fileview: add `Go to line` action
  • fileview: show parent revision information on first and second parent buttons
  • fileview: specify encoding of file content by menu or web.encoding
  • fileview: use the same color as block list to colorize replaced lines
  • graph: show a line to obsolescence parents
  • manifest/revdetails: add support for fileset query
  • repomodel: allow tags other than 'global'
  • revdetails: remove Shift+cursor shortcuts because they conflict with selection
  • run: parse --config option like Mercurial (closes #2208)
  • strip: make it possible to keep the local changes during strip
  • workbench: reorder repository menu and add update action
  • unified revdetails/manifest view:
  • Manifest task tab was merged to revision details. Click "Manifest Mode" button to switch to the so-called manifest view.
  • manifest: replace stand-alone ManifestDialog by RevDetailsDialog (closes #1634)
  • repowidget: delete manifest task tab
  • revdetails: add button to enable so-called manifest file list by one tap
  • revdetails: add menu to switch tree/flat view
  • revdetails: add menu to switch status filters

New in TortoiseHg 2.10.2 (Jan 27, 2014)

  • Bug Fixes:
  • commit: disable chunk selection by space key if nothing available (fixes #3532)
  • grep: bring back window attributes and missing status bar in stand-alone dialog
  • grep: make repo accessible before updateRecurse (fixes #3522)
  • manifest: fix drag of non-ascii file names
  • rebase: hide "swap link" during rebase
  • reporegistry, workbench: fix handling of non-ascii name and path on openshell
  • Installer:
  • Python 2.7.6 (includes fix for #3309, #3546)
  • PyQt 4.10.3
  • pygments 1.6 (includes fix for #2026, #2176)

New in TortoiseHg 2.10.1 (Jan 27, 2014)

  • Bug Fixes:
  • commit: make sure to clear last amend message on repository change (fixes #3467)
  • commit: preserve user name on amend
  • import, rename: several compatibility fixes for CentOs 6.3
  • import: fix handling of unicode path in browsefiles/dir
  • messageentry: fix "Apply Format" crash when the message contains an empty line
  • openshell: show error if configured command contains invalid spec (fixes #3454)
  • patchctx: don't fail on reading original parent from missing file (fixes #3462)
  • rejects: use monospace (or configured) font even if no lexer found (fixes #3500)
  • sync: actually show rebase dialog on conflict during pull --rebase
  • update: fix handling of non-ascii bookmark in activate/deactivate confirmation
  • Installer:
  • Upgrade dulwich to 0.9.4

New in TortoiseHg 2.10 (Nov 5, 2013)

  • Bug Fixes:
  • clone: connect checkbox and lineedit without using lambda (refs #3397)
  • clone: do not touch self after dialog closed (refs #3397)
  • filedata: handle clean like modified so that size limit enforced (fixes #3425)
  • graph: avoid invalid comparison of unapplied patch revision (fixes #1182)
  • mq: fix availability of patch actions after reload
  • mq: fix loss of guards and comments on drag-and-drop patches (refs #441)
  • mq: show all command outputs in Output Log (fixes #2164, #2165)
  • qrename: fix handling of non-ascii patch name in checkPatchname
  • qscilib: memleak in context menu handler
  • reporegistry: fix detection of existing subrepos on addSubrepo()
  • repowatcher: watch patches/status to invalidate stale applied (fixes #1094)
  • repowidget: do not reload while phase command is running
  • repowidget: remove redundant shortcut Ctrl+P for goto parent action (use Ctrl+. instead)
  • run: fix exit code handling
  • settings: don't listen to events of orphan widgets causing invalid memory access
  • settings: failure of unicode to QString comparison
  • shelve: disallow to select the same patch/shelve by both sides (fixes #3411)
  • status: enable tristate of all/none checkbox only if applicable (fixes #3398)
  • status: sync partials table to model on updateModel (fixes #3406)
  • sync: fix comparison of unicode and localstr in related paths (fixes #3401)
  • workbench: fix non-ascii revset built from command-line filenames
  • workbench: send files specified by command-line to open instance (fixes #3402)
  • workbench: work around sender bug (fixes #3393, #3440)
  • Improvements:
  • annotate: add diff menus to annotate view
  • cmdcore: postpone queued command requests until current one finishes
  • commit: keep cursor position when the current paragraph is reformatted
  • commit: make possible to select hunk by space key
  • csinfo: show 'Original Parent' field for patches when necessary
  • docklog: add "Clear Log" context menu
  • filedata: improve subrepo info
  • filedialogs: show insertion markers to mark the plus/minus start of lines
  • filelist: mark added and removed subrepos with an icon overlay
  • rebase: add support for --base modifier (refs #3322)
  • rebase: allow swapping source and destination (closes #3322)
  • rebase: by selecting both source and destination (refs #3322)
  • repofilter: toggle graft relations visibility (closes #2622)
  • reporegistry: add 'Remove Subrepository...' command to subrepo context menu
  • repoview: set X primary selection to short node ID on revClicked
  • repowatcher: reduce number of files to be monitored by OS
  • resolve: execute 3 way diff when resolved file is double clicked
  • revert: allow reverting files to any of the selected revision parents (fixes #2590)
  • revpanel: add changeset.link config to customize the target of cset links (fixes #3373)
  • serve: run hgweb server in separate process
  • settings: do not validate extensions for each checkbox on refresh (saves 1sec)
  • settings: add SSH command to sync page
  • settings: separate push/pull options to new sync page
  • settings: show human-readable font description
  • thg: do not suppress stderr except for frozen windows exe
  • Improvements in MQ:
  • MQ task widget has been removed
  • use "Commit" widget to create/refresh patches
  • use "Patch Queue" dock to switch/create/delete queues -- separate QQueueDialog has been removed
  • use "Patch Queue" dock or revision graph to reorder patches -- separate QReorderDialog has been removed (closes #441)
  • other changes:
  • mqdock: add icon in front of the patch to highlight the patch
  • mqdock: allow to delete and reorder more than one patches
  • mqdock: disable inline qrename so that qgoto can be triggered by double click
  • mqdock: synchronize the patch selection with revision graph
  • repowidget: add 'Apply onto original parent' to the unapplied patch context menu
  • repowidget: support for --keep-changes option
  • Installer:
  • add sqlite3 to Windows TortoiseHg Python package (closes #2519)
  • docdiff scripts updated to latest versions from TortoiseSVN

New in TortoiseHg 2.9.2 (Oct 8, 2013)

  • Bug Fixes:
  • commit: properly set the file list "defcheck" when amend is selected (fixes #2567)
  • filedata: use ctx2 to calculate subrepo's "from" revision
  • filedialogs: fix initial page step of diffblock
  • lexers: invert lightness of low-contrast colors (refs #810)
  • hglib: check name conflicts in getrevisionlabel (fixes #3339)
  • qqueue: fix handling of non-ascii name in queue list widget
  • qscilib: don't pass negative int as argument 2 of SendScintilla (fixes #3358)
  • qtapp: fix KeyboardInterrupt handler not to open exception dialog
  • wconfig: fix AttributeError on translation of pure ParsingError (fixes #3353)
  • Improvements:
  • commit: remember last amend/qrefresh message until the next commit
  • lexers: disable advanced recognition of c++ conditional preprocessor block
  • repotreemodel: make XML reader work with PyQt 4.6 (CentOs 6.3)
  • revdetails: do not resize the revision description automatically
  • Installer:
  • setup: include .desktop file in sdist again (fixes #3357)

New in TortoiseHg 2.9.1 (Sep 7, 2013)

  • Bug Fixes:
  • contrib: name the .desktop file thg so it matches WM_CLASS
  • fontcache, settings: fix handling of non-ascii font name
  • graft: disallow to close dialog while CheckThread is running (fixes #3291)
  • purge: match API has changed WRT directory traversal
  • qscilib: avoid extra encoding conversion in detection of eol (refs #3314)
  • qtapp: unlink dead server socket on ECONNREFUSED for recovery (fixes #3290)
  • repowidget: "Unapply Patch" should only effect on applied patches (closes #3330)
  • settings: catch OSError to show warning dialog (closes #3313)
  • settings: performing refresh no matter if the setting file is modified
  • thgrepo: check mtime of bookmarks.current to detect update (fixes #3332)
  • thgrepo: recreate QFileSystemWatcher to restart monitoring (fixes #3298)
  • thread: fix compatibility with ui.promptchoice of hg 2.7 (fixes #3293)
  • workbench: reload MQ dock on manual refresh (refs #3274)
  • workbench: unmark _runSyncAction as slot to avoid sender bug (fixes #3320)
  • Improvements:
  • bookmark: set active text dependent on selected changeset
  • messageentry: sort the filenames when using the "Paste Filenames" command
  • status: show error dialog on refresh failure (closes #1867)
  • Installer:
  • python-keyring 2.1.1

New in TortoiseHg 2.9 (Aug 3, 2013)

  • Bug Fixes:
  • archive/bisect: handle ambiguous/unknown revision gracefully
  • archive/sync: getOpen/SaveFileName without keyword argument (CentOs 6.3)
  • cmdui: keep running state just before emitting commandFinished (fixes #2611)
  • docklog: move focus only when shown by toolbar/keyboard action (fixes #492)
  • guess: try to abort RenameSearchThread by exception on cancel (fixes #1990)
  • import: disable -p0 checkbox for qimport and shelve (fixes #3267)
  • openshell: parse command string by shlex.split()
  • overlay: cache icon handle (fixes #3223)
  • purge: prevent "local variable 'f' referenced before assignment"
  • qtapp: correct exception mapping of revlog decompress error
  • quickop: use helper to build cmdline of common operation (fixes #1313)
  • rejects: report I/O error on save file (refs #3284)
  • repowidget: allow graft or rebase of applied patches
  • repowidget: test existence of mqDemand explicitly (fixes #2048)
  • thgrepo: disable filesystem monitor while busy (refs #1469)
  • thgrepo: start/stop filesystem monitor by open state of repo (fixes #1783)
  • Improvements:
  • annotate: use FileLogDialog instead of ManifestDialog
  • archive: prefer symbolic label than revision number
  • csinfo: add ellipsis to summary field if the rev description spans several lines
  • csinfo: add "obsolete" field
  • docklog: assign console per repository (closes #120)
  • docklog: move title bar to left if console is spanned horizontally
  • graph: improve revision graph appearance when revset specified
  • graph: build color table incrementally (fixes #2559)
  • guess: edit unrevisioned file on double click
  • messageentry: make "Paste Filenames" separate filenames with EOL (fixes #3230)
  • repowidget: open merge and shelve dialog modelessly
  • repowidget: reuse existing ManifestDialog if shift key isn't pressed
  • sign: add sign dialog
  • sync: add new mode in postpull: update or rebase (closes #2551)
  • workbench: assign shortcut keys to incoming/outgoing actions (closes #3243)
  • workbench: hide urlCombo if there isn't more than 1 alias (fixes #2600)
  • workbench: keep single instance of ServeDialog by DialogKeeper (closes #1845)
  • workbench: place the sync task button next to the sync toolbar by default
  • Installer:
  • PyQt 4.10.2 (includes fix for #1999: crash "Assertion failed" in lexlib\CharacterSet.h)

New in TortoiseHg 2.8.2 (Jul 15, 2013)

  • Bug Fixes:
  • bookmark: don't sort in reversed order
  • chunks: keep permission of working-copy file by atomictemp (fixes #2414)
  • commit: avoid double refreshWctx when creating commit widget (refs #3227)
  • grep: do not start search in constructor (fixes #2639)
  • lexers: use the C++ Lexer for .cc and .hh files (fixes #3240)
  • repowidget: unapply all patches through MQWidget (--force option) (fixes #1766)
  • settings: add 'never' option to 'Monitor Repo Changes' setting (refs #3227)
  • settings: do not clear description text on focus out (fixes #1429)
  • shelve: allow to resize name combobox smaller than content length (fixes #2637)
  • shelve: double-check platform-specific bad filenames (fixes #2640)
  • status: fix Python 2.5 compatibility (fixes #3252)
  • status: refresh after menu action only if necessary (fixes #3222)
  • sync: use built-in drag-and-drop infrastructure (fixes #744)
  • Improvements:
  • customtools: add "Custom Tools" context menu to revdetails and manifest widgets
  • graft: add GUI options for --currentuser, --currentdate and --log (refs #2328)
  • sync: add 'Update subrepo paths' checkbox to save dialog
  • workbench: improved tooltip of sync toolbar
  • Installer:
  • mercurial_keyring no longer by default (fixes #2587)

New in TortoiseHg 2.8.1 (Jun 8, 2013)

  • Bug Fixes:
  • bookmark: option to activate if adding or moving to current node (fixes #2605)
  • branchop: strip leading/trailing spaces from branch name (fixes #2568)
  • clone: deselect history before setting src/dest paths (fixes #394)
  • commit: exclude removed and missing files by default during amend (fixes #2567)
  • filedialogs: do not override goto-ed revision on modelFilled
  • filelist: remove invalid setResizeMode() (fixes #2573)
  • grep: look up parent revision of subrepo when annotating wctx of subrepo
  • manifest, reporegistry: sort paths case-insensitively on Windows (fixes #2618, #2180)
  • messageentry: fix Apply Format when paragraph has a single line (closes #2597)
  • patchctx: implement __iter__() for compatibility (fixes #2602)
  • repowidget: refresh active commit widget when shelve dialog closed (fixes #1933)
  • repowidget: work around unwanted rejectBundle during pull to here (fixes #2596)
  • sync: override defaultpush of outgoing preview if target specified (fixes #2609)
  • sync: reassign finishfunc before retrying push --new-branch
  • sync: reject empty host name before opening SecureDialog (fixes #684)
  • run: export missing thgstatus command
  • thgrepo: don't list related repositories of null node (fixes #2576)
  • Improvements:
  • nautilus: overlay icons update
  • repofilter: save "include all ancestors" setting (refs #2559)
  • revdetails: add filter editbox
  • settings: add 'Hooks' panel
  • sync, workbench: improve ordering of push/pull URLs
  • sync: show target on the infobar if specified
  • workbench: add shortcuts for task tabs.
  • Installer:
  • pywin32 build 218
  • win32: re-enable default editor for command line Mercurial

New in TortoiseHg 2.7.2 (Apr 13, 2013)

  • Bug Fixes:
  • backout: manage connection from CheckThread in C++ layer
  • commit: make sure to drop untranslatable character
  • filedata: prepend diff header only if diff text is not empty
  • icons: include 8bit alpha channel and use 16x16 for system tray icon
  • infobar: use lambda to replace hash-like string by subrepo link
  • manifest: move to the specified line even if path isn't changed
  • mergetools: add a beyondcompare3-noauto merge tool
  • mergetools: fix kdiff3-noauto detection
  • pyqt: fix incompatibility with PyQt 4.10 (ArchLinux and Fedora)
  • postreview: accept non-ascii summary text
  • repowidget: do not allow a revision to be merged with itself (
  • sync: reload the list of paths explicitly on edit or remove
  • thg: cleanup sys.stdin when launched as thgw.exe
  • Improvements:
  • filedata: distinguish between file copies and file renames
  • pyqt: make settings dialog work with PyQt 4.6 (CentOs 6.3)

New in TortoiseHg 2.7.1 (Mar 4, 2013)

  • TortoiseHg 2.7.1 is a bug fix release with minor improvements
  • Includes Mercurial 2.5.2
  • Bug Fixes:
  • annotate: show annotate menu even if no character exists under mouse cursor
  • branchop: fix unicode and localstr comparison of wctx branch (fixes #1288)
  • chunks, fileview: delay force-display until mouse release (fixes #2427)
  • commit: skip pygments parsing when auto-complete is disabled (fixes #2407)
  • commit, status: don't eliminate too many chars from repo link (fixes #2401)
  • fileview: disable strikeout of excluded chunks by default (refs #2442)
  • mergetools: force a check of p4merge outputs (refs #2415)
  • repofilter: increase number of max visible branches on Windows (closes #2262)
  • reporegistry: don't normcase subrepo path to be added (fixes #2251)
  • reporegistry: fix AttributeError on open all, sort and Del key with no selection
  • shortcuts: remove conflicted key bind from "open subrepository" (fixes #2443)
  • status: forget checked state only after pctx changed (fixes #2376)
  • status: postpone overlapped refreshWctx() request (fixes #2406)
  • sync: target selection should override tortoisehg.defaultpush (fixes #2411)
  • several GC fixes causing "C++ object has been deleted" exception (fixes #2425)
  • Improvements:
  • mergetools: improve Code Compare 3-way merge configuration
  • graph: only show "visible" revisions (early support for evolution extension)
  • postreview: enable reviewboard context menu for mq patches
  • pyqt: make workbench and commit tool work with PyQt 4.6 (CentOs 6.3)

New in TortoiseHg 2.7 (Feb 4, 2013)

  • Bug Fixes:
  • update: fix unicode error on confirmation of bookmarks (fixes #2341)
  • repotreemodel: recover from missing element (closes #1075)
  • repotreemodel: remove unsafe processEvents() during loadSubrepos() (fixes #2256)
  • status: respect filter text when the file list is refreshed
  • bookmark, branchop, tag: work around case-insensitive completion of QComboBox
  • qtlib: make sure getCurrentUsername() not fall back to system value
  • purge: move completed() handlers to instance to avoid GC issue (fixes #2386)
  • bisect: ask cmdui.Widget() to create a status bar (fixes #2390)
  • guess: keep similarity as raw value for sorting (fixes #1332)
  • Improvements:
  • change selection in the commit tool
  • startup performance improvements (closes #940)
  • cleanup menu and title strings
  • blockmatcher: make BlockList clickable
  • commit, revdetails: change splitter style to make it easier to see on Windows
  • cmdui: prettify command-line string for display (closes #1529)
  • fileview, shelve: add 'Display the file anyway' link when files or patches are not shown
  • infobar: convert revision id hashes into links
  • infobar: convert subrepo references and subrepo revision id hashes into links (needs Mercurial 2.5)
  • mergetools: add a kdiff3-noauto merge tool disabling automated merge
  • mergetools: add Windows support for "meld"
  • serve: show balloon when minimizing running server to tray (refs #1845)
  • settings: synchronize and remember the active page of all settings forms
  • Installer:
  • Upgraded PyQt to 2.9.6 (from 2.9.1), which includes QScintilla 2.7
  • Upgraded python-keyring to 1.2

New in TortoiseHg 2.6.1 (Dec 13, 2012)

  • Bug Fixes:
  • commit: hide the 'autoinc' option when merging
  • copypatch: have dummy Writable object acts like a string (fixes #2280)
  • copypatch: support internal lossless export/import via clipboard (fixes #841)
  • hgignore: use util.expandpath() to expand env vars of ui.ignore (fixes #2306)
  • manifestdialog: fix possible unicode error at cset link handler (fixes #2289)
  • merge: refresh csinfo of commit page so that it can show two parents
  • rejects: earlybytes fix (fixes #2295)
  • rename: actually overwrite existing file if requested
  • repofilter: use case-sensitive completion for revsets (fixes #2276)
  • reporegistory: restore original behavior of setActiveTabRepo('') (fixes #2279)
  • resolve: normalize paths before calling resolve
  • update: correct default behavior of updating to bookmark to 'prompt'
  • workbench: pushes new branch without failing if --pushafter set (fixes #1986)
  • Improvements:
  • merge: improve Commit/Cancel buttons and merge "cancel" message (refs #1727)
  • merge: let the user change the commit options on the merge wizard commit page (fixes #1727)
  • resolve: add "diff to common ancestor" cmenu actions in resolve window (fixes #2201)
  • resolve: add doubleclick actions in resolve window (fixes #2236)
  • settings: completed helptext for 'Diff and Annotate' -> 'MQ Git Format'
  • wctxactions: use RenameDialog for copy action
  • Installer:
  • onsub extension now bundled
  • dulwich upgraded to 0.8.7

New in TortoiseHg 2.6 (Nov 19, 2012)

  • Bug Fixes:
  • cmdui, qscilib: avoid CTRL+L key binding collision (fixes #2205)
  • commit: ignore IOError when saving state (fixes #2202)
  • filectxactions: fix parent of vdiff warning dialog (fixes #2252)
  • filectxactions: set up initial state of actions correctly (fixes #2255)
  • fileview: fix possible TypeError on AnnotateThread.abort (fixes #2188)
  • qtlib: check if user input can be converted to local encoding (fixes #2196)
  • repomodel: avoid filled.emit() of destroyed HgRepoListModel (fixes #1267)
  • repofilter: restore index of revset combobox to avoid extra activated signal
  • repotreeitem: cast possible QString to unicode at setShortName (fixes #2227)
  • revdetails: have message widget honor user-specified font
  • reporegistry: activate the current repository entry after a model reload
  • rollback: remove unwanted restriction of undo desc
  • thg: make sure to load threading module by main thread (fixes #1894)
  • workbench: use windows-safe getuser() to build IPC socket name (fixes #2238)
  • grep: fix unicode handling of several context menu actions (fixes #2274)
  • Improvements:
  • commit: prompt the user to set a default username on commit if necessary
  • filedialogs: add multi-selection menu (fixes #1871)
  • menu: add shelve to menuthg so it shows up in shellconf (fixes #2209)
  • repomodel: add Latest tags column
  • repowidget, status, manifest: change background color when a filter is applied
  • resolve: add context-menu in resolve window (fixes #2200)
  • settings: add 'phases.publish' support
  • RTF file support in docdiff

New in TortoiseHg 2.5.1 (Oct 4, 2012)

  • Packaged Versions:
  • Mercurial 2.3.2
  • wix: package x64 Pageant for 64bit Windows (fixes #2145)
  • Bug Fixes:
  • filedialogs: only allow single selection (refs #1871)
  • graft: sort graft source revisions from lowest to highest revision number (fixes #2159)
  • hglib: make getDeepestSubrepoContainingFile() compatible with patchctx (fixes #2163)
  • manifest: have fileIcon() handle unknown subrepo type gracefully (fixes #2174)
  • repowidget: switch to outgoing context menu only if outgoing nodes exist (fixes #982)
  • status: fix unicode handling at setFilter() (fixes #2168)
  • sync: replace hg.islocal() on reload by lightweight alternative (fixes #2153)
  • workbench: fix unicode error when opening repo via IPC channel (fixes #2135)
  • workbench: work around QObject.sender() bug of PyQt 4.7.3 (fixes #2170)
  • Improvements:
  • filedialogs: improve context menu descriptions
  • repowidget: allow REVID as additional customtools command variable
  • workbench: add help menu link to explorer help

New in TortoiseHg 2.5 (Sep 6, 2012)

  • Packaged Versions:
  • Mercurial 2.3.1
  • Bug Fixes:
  • filedata: ctx.sub() can throw a KeyError (refs #2115)
  • filectxactions: descend into sub-repository if necessary (fixes #2035)
  • hgqt: use setShortcuts() to preserve secondary key of StandardKey (refs #2045)
  • nautilus: Fix issue #869 [1]. Nautilus extension now works
  • revset: fix return key behavior (closes #2104)
  • repowidget, status: delete old model on reload (refs #2119, #702)
  • shortcuts: change all "Ctrl+Alt" shortcuts into "Ctrl+Shift" shortcuts (closes #1976)
  • strip: fix compatibility with hg 2.3
  • sync: reload the list of paths when a path is saved
  • wctxactions: provide 'all' flag so that subrepo revert works (fixes #2122)
  • Improvements over 2.4:
  • compare: show "Editor Options" in menus, show horizontal scrollbars
  • customtools: settings: add 'Tools' panel (includes format change of config file, 2f71b15196e9)
  • docklog: add command history (closes #1779)
  • docklog: add 'hg/thg command' completion
  • filectxactions: add "Folder history" command
  • filedata: add new binary detection heuristic, based on the max line length
  • fileview: add 'Annotate Options' context submenu (fixes #1861)
  • manifest: expand the file tree when "return" is pressed
  • repofilter: restore previously selected branch (closes #1009, #1927)
  • repofilter: show current working branch first (closes #2042)
  • reporegistry: ensure that the selected tab item is visible
  • settings: add "New Commit Phase" setting
  • wctxactions: add a confirmation for revert of file types SAR! (closes #2102)
  • workbench: make the task toolbar buttons configurable

New in TortoiseHg 2.4.3 (Aug 22, 2012)

  • Bug Fixes:
  • bugtraq: add missing import of COMError (fixes #2013)
  • commit: allow amending a revision without selecting any files
  • commit: escape from mqPerformAction if canceled (fixes #2010)
  • fileview: also preserve cursor position on reloading the same file (fixes #1803)
  • mq: enable qreorder button if unapplied patch exists (refs #2064)
  • guess: do not show unmodified largefiles as candidates for rename
  • archive, rename: use getSaveFileName to select non-existent file for dest path
  • reporegistry: fix unicode handling at open() called thru openClone()
  • repowidget: don't clear revset text by request from filterbar (fixes #2020)
  • repowidget: update menuselection even while bundle/outgoing (fixes #2052)
  • revset: display "fromsvn" and "svnrev" items 0 or 1 time
  • serve: minimal support for paths containing space or comma (fixes #2082)
  • sync: correct logic whether to read defaultpush setting (fixes #2022)
  • sync: don't show "new branch" confirmation endlessly (fixes #1615)
  • sync: warn invalid port number at getfingerprint (refs #1910)
  • wctxactions: do not offer the forget command for added files
  • wctxactions: do not ask for revert --discard if files are not modified
  • Installer:
  • Includes sspi package from pywin32

New in TortoiseHg 2.4.2 (Aug 14, 2012)

  • Bug Fixes:
  • bugtraq: improve error handling
  • commit: allow committing a merge that does not change a file
  • commit: exclude all files on new/close branch if no file selected (fixes #1985)
  • hgignore: ignore largefiles when scanning for untracked files (fixes #1978)
  • lfprompt: catch ValueError from int() (fixes #1901)
  • outgoing: fix push all command and improve outgoing infobar
  • repofilter: don't disable branch options menu at all (fixes #1962)
  • repowidget: bring back 'Browse at revision' menu action (closes #1920)
  • sync: check if curalias is not None before using it (fixes #1950)
  • tortoisehgtools: do not crash when command cannot be executed
  • wctxactions: allow to overwrite existing file on copy (fixes #1983)
  • fix several unicode errors
  • Improvements:
  • annotate: take into account annotate settings
  • graft: add basic support of graft core command
  • mergetools: add support for Devart Code Compare and Code Compare 3 (Free and Pro)
  • workbench: bring to front when opening a repo on Single Workbench mode

New in TortoiseHg 2.4.1 (Aug 14, 2012)

  • Bug Fixes:
  • qrename: fix unicode error when displaying patch name (fixes #1914)
  • rejects: ensure editing doesn't start before first line (fixes #1424, #369)
  • remove unused tortoisehg/util/hgshelve.py, refs #1908
  • repoview: hide "drop line" when dragging an unapplied patch to an invalid drop location
  • repowidget: correct parameter for shell_notify()
  • repowidget: fix 'Push all' revision context menu (was doing 'Push to here' instead)
  • repowidget: refresh wctx status of commit widget by tab change (fixes #1657)
  • repowidget: take into account the tortoisehg.branchcolors setting (refs #1644)
  • revdetails: do not crash on visual diff for unapplied patches (fixes #1772)
  • sync: append svn+https and git schemes to urlparse.uses_netloc
  • sync: convert non-ascii alias/url correctly at editurl action
  • sync: fix several unicode issues at SaveDialog (fixes #1883)
  • sync: fix URL displayed on direct pull
  • update: fix target information when updating to null revision
  • workbench: fix unicode error while loading the last session
  • Improvements:
  • commit: automatically set 'close branch' commit message
  • graft: display graft source in changeset info when available
  • repofilter: show the 'default' branch as the first branch on the branch combobox
  • repowidget: make links (addresses and paths) on the infobar clickable
  • sync: basic support for default push URL
  • workbench: activate the tab that was active on the previous session

New in TortoiseHg 2.4 (May 7, 2012)

  • Packaged Versions:
  • Mercurial 2.2.1
  • dulwich 0.8.5
  • keyring 0.9
  • Updated pageant.exe
  • Bug Fixes:
  • merge: move initial focus to Next button (fixes #1868)
  • update: improved bookmarks support
  • openshell: show error if failed to execute shell command (fixes #1833)
  • reporegistry: normalize paths of added repositories (fixes #1837)
  • grep: convert filename column to unicode (fixes #1774)
  • Improvements:
  • Workbench: new custom toolbar for custom commands
  • Workbench: new "similar revisions.." dialog
  • Workbench: optional "Single Wokbench Window" mode
  • Workbench: startup progress bar
  • Workbench: many more lexers enabled
  • Workbench: add GitHub/BitBucket-like "README" file detection
  • reporegistry: use a different icon for repositories located on UNC paths
  • repowidget: keep URL of incoming bundle source as instance variable (refs #1118)
  • repowidget: improve incoming pull infobar messages (fixes #1118)
  • reporegistry: improve accuracy of subrepo detection when adding a repository (refs #1672)
  • sync: in-place editing of URLs and aliases
  • commit: add commit --amend support
  • revdetails: improved display of tags and bug links

New in TortoiseHg 2.3.1 (Mar 6, 2012)

  • Packaged Versions:
  • Mercurial 2.1.1
  • Bug Fixes:
  • revdetails: don't test revison existence for workingctx (fixes #1617)
  • sync: convert character encoding on load/save settings (fixes #1688)
  • commit: display only whitelisted options (fixes #1647)
  • repowidget: don't clearSelection in gotoParent (fixes #1673)
  • Improvements:
  • qscilib: give the filEditor dialog a maximize button
  • repowidget: limit infobar error messages to 2 lines of up to 140 chars by default
  • repowidget: show all errors on infobar
  • sync: improve support for hg-git extension
  • largefiles: improve support of largefile extension

New in TortoiseHg 2.1.2 (Aug 2, 2011)

  • Bug Fixes:
  • fileview: catch mode changes while diff marker thread is active (fixes #921)
  • fileview: fix syntax error (close #922)
  • repowidget: clear filter text in clearRevisionSet() (closes #925)
  • qtlib: HgRepoView.forward() must forward keyword parameters
  • reporegistry: fix unicode handling at addSubrepo() (fixes #947)
  • filedata: handle 'removed and dirty' subrepo state (closes #934)
  • repowidget: abort bundle pulls if self.bundle is None (closes #959)
  • commit: catch TypeError from guess_lexer_for_filename (closes #962)
  • repoview: ensure that revision being selected is visible (fixes #946)
  • manifestdialog: only pass a Workbench window as repoviewer (fixes #938)
  • status: update check box to match file check states (fixes #960)
  • revset: respond to the arrow keys (fixes #833)
  • qtlib: open only existing paths in terminal
  • manifest: do not crash when calling revert on the working directory
  • revert: throw a ValueError, rather than crashing, when reverting to the None rev
  • reporegistry: better common path extraction on Windows
  • messageentry: allow resizing commit message box down to one line (fixes #44)
  • sync: require that port be numeric and in the appropriate range (fixes #994)
  • workbench: showRepo() takes a QString or Unicode string (closes #1003)
  • manifestdialog: set ignorecase during init, fixes highlighting on Annotate File in search
  • workbench: do not reopen repos during startup until subrepos have been loaded into the registry (closes #1017)
  • qtlib: make InfoBar word-wrap long status/error message (fixes #1031)
  • grep: convert ctx search results to unicode before dispalying in tableview
  • thgrepo: add option not to monitor changes on network drives (refs #889)
  • repoview: fixes ctrl click behavior reported in #1019
  • Improvements:
  • backout: add support for backing out merge revisions
  • many layout improvements
  • add background-color support to diff lexer
  • update: add checkbox for --verbose
  • registry: Add keyboard shortcut for delete (Suppr) and rename(F2)
  • sync: allow username to be edited in ssh hostentry (closes #964)
  • bugreport: include encoding value in report text
  • cmdui: show red error message if command fails
  • status: hide check boxes in standalone status browser
  • several usability improvements to the settings tool
  • reporegistry: mark .hgsub file for add when it is created
  • reporegistry: Make sure that the item corresponding to the active tab is visible

New in TortoiseHg 2.1.1 (Jul 8, 2011)

  • Packaged Versions:
  • Mercurial 1.9+10 (tip of stable branch)
  • Updated perfarce extension, now hg-1.9 compatible
  • Bug Fixes:
  • sync: move import of paths to top of the file (fixes #853, etc)
  • hgcrutil: add missing import of _() (closes #852)
  • NameError: global name 'paths' is not defined (#853)
  • wctxactions: give parent to transient menus (closes #716)
  • repomodel: reorder colors in Changes column (refs #776)
  • sync: do not use --bookmark argument for target in in/out commands (refs #901)
  • wctxactions: fix rename from status/commit dialogs (fixes #902)
  • thg: workaround for resolve tool bug (fixes #891)
  • archive: fix bad handling of non-ascii path (fixes #883)
  • thg: reintroduce stderr capture (closes #856)
  • shelve: fix shelf creation when .hg/shelves must be created
  • visdiff: fix possible unicode error at launchtool (fixes #796)
  • fileview: avoid unwanted unicode issue at timerBuildDiffMarkers (fixes #857)
  • shellext: additionally use GetDriveType for local disks check (closes #842)

New in TortoiseHg 2.0.4 (May 2, 2011)

  • Bug Fixes:
  • cmdui: make sure newly opened prompt line is visible
  • fix visual diffs of incoming changesets
  • avoid encoding errors in the shelve tool by avoiding unicode round trip
  • fix incompatibility with Google Pinyin input method
  • Merge and backout dialogs did not respect push-after-commit
  • handle non-ascii repository name during export and archive
  • disallow consecutive clones to the same destination folder
  • shelve buttons not disabled when a patch was empty
  • fix shelving of chunks that have the same starting line
  • prevent hard crashes seen after previewing incoming changesets
  • do not create annotate menus if annotation thread has not reached current line
  • fix branch name encoding mixup
  • validate index in filelistview before generating a context menu
  • rebase: disable buttons during wctx check
  • cmenu: add annotate to file selection context menu
  • workbench: do not try to open ssh: URLs as local repositories
  • hgignore: better handle wctx errors in the refresh function
  • fix UnicodeDecodeErrors in annotation view
  • fix UnboundLocalError in hgignore
  • do not needlessly insert a newline between shelved patches
  • add missing import for _() in qtlib
  • catch environment errors when repowidgets are closed
  • prevent IndexError during refresh of file history dialogs
  • serve: respect repo's configured http port
  • rename: fix display of non-ascii paths
  • sync: properly handle ssh urls that have '@' in the username
  • fix support for Python2.4
  • Improvements:
  • allow reordering of groups in the reporegistry, along with their content
  • sync - display currently selected push/pull options
  • status/commit: allow fileview to be compressed beyond file name
  • status/commit: double click opens visual diffs for single file
  • status/commit: support auto-excludes
  • clone - use a subprocess to perform perforce clones (using the perfarce extension)
  • clone - it's now possible to select another patch queue than the default one for qclone
  • add --keepbranches option to rebase dialog
  • allow use of numeric keypad Enter key for most shortcuts
  • offer 'default' and 'default-push' as drop-down options for 'push after commit'
  • bundle distutils in binary packages, fixes pygments including the lexer used to generate completion strings in the commit tool.
  • rename - use repository manifest as line edit completer
  • Installer:
  • package Qt translations for standard buttons, etc
  • many translation improvements
  • Updated TortoisePlink to the current version shipped with TortoiseCVS

New in TortoiseHg 2.0.3 (May 2, 2011)

  • Bug Fixes:
  • improve labels of merge buttons in resolve dialog
  • prevent qrename from using an existing patch name
  • prevent file history from being launched from shelve dialog
  • open visual diffs on double-click
  • libsasl.dll was missing from x86 packages
  • give quickop dialog the ability to delete unversioned files
  • validate the correct postreview extension is in use
  • shelve: fix race condition in detecting shelf file changes
  • hgignore: catch errors during repo.status() call
  • sync widget could show the lock button for local urls
  • outgoing can cause IndexError in setRevisionSet
  • fix crash in templatefilters caused by bad patches
  • UnicodeDecodeError in rename dialog
  • dragging URLs from registry to sync tab should not delete URL from registry
  • Workbench: update sync tooltips to reflect their current behavior
  • TypeError raised by os.path.isfile() in thgrepo.changectx()
  • chunks: UnicodeDecodeError while moving chunks
  • wctxactions: UnicodeDecodeError while showing warnings/errors
  • sync: ignore .hg/rebasestate if --rebase was not used in command
  • enforce maxdiffsize when displaying deleted files
  • commit: clear branch operation after every successful commit
  • grep: prevent AttributeError after stopping a search
  • grep: catch I/O errors while scanning working directory
  • repotreemodel: validate internalPointer(), prevent a TypeError
  • UnicodeDecodeError in bug report dialog save function
  • registry: fix deletion behavior
  • Assign "changelog" font to revisioned text without a lexer
  • LookupError from ambiguous revision set query
  • Prevent certain tracebacks in file history dialogs
  • shelve: catch environment errors while patching
  • qfold: fix patch message decoding
  • shelve: catch an empty patch being applied
  • Fix abort when command needs a repository but was not within one
  • dropping a patch on the MQ tab was broken
  • backout: improve UI at the end of the operation
  • commit: do not pre-check unknown files even when they match filter
  • ignore: fix context menu behavior
  • status: prevent errors on button presses when model is empty
  • update: check subrepo status before using update --clean
  • fix repeated visual diffs of working folder
  • fileview: catch generic file and lookup errors
  • sync: catch environment errors when opening a terminal
  • sync: cast exceptions to strings before converting to unicode
  • commit: prevent IndexError in message history maintenance
  • guess: fix unicode decode errors in path display
  • workbench: add unicode conversion when openRepo fails
  • settings: add unicode conversion when repo does not exist
  • repotreeitem: catch RepoError more cleanly
  • hgemail: prevent exceptions on empty change messages
  • annotate: properly handle bundle previews
  • generically capture exceptions while gathering graph data
  • sync: use the given port when querying server certificate
  • shelve: respect user's patch.eol configuration
  • fix translation of Filenames column
  • status: catch more errors during refresh
  • rejects: preserve eoln state of patch chunks
  • prevent race conditions after pulling from a bundle
  • fix color extension use from shells opened by THG
  • displayed revision sets should respect current branch filter
  • purge: give purge thread its own repo object, prevents hazards
  • remember selected revision when toggling filter mode
  • disable the hiding of the file history toolbars
  • fix progress signals from output log widget
  • Workbench: properly show search bar state at startup
  • Improvements:
  • commit: show progress bar, disable commit button, add a stop button during commit
  • add transplant menu option to multiple-selection menus
  • archive: support subrepositories
  • merge: improve default merge message for named branch merges
  • hide filter bar if cleared twice or return pressed on empty entry
  • resolve: show local and other revision summaries
  • grep: recursively scan Mercurial subrepositories when searching the working directory
  • status: share status button with manifest tool
  • serve: improve support for subrepositories
  • sync: more effectively filter duplicate paths from related paths list
  • Workbench: improve graph resize logic
  • Workbench: close repository tabs by middle-click
  • Workbench: display modified subrepositories in revision details tab
  • fileview: add eoln visibility toggle to context menus
  • Free entire repository tab widget when it is closed
  • Better use of user configured Windows fonts
  • Installer:
  • Added a number of new translations

New in TortoiseHg 2.0.1 (May 2, 2011)

  • Bug Fixes:
  • drop bin/ folder, add root folder to %PATH%
  • clone: use native path separators in path names
  • manifest: IndexError: list index out of range
  • show bookmarks in update dialog, fix bookmark behavior, improve bookmark dialog
  • visdiff: KeyError from toolSelect
  • visdiff: TypeError: p1dirdiff() takes exactly 2 arguments (1 given)
  • visdiff: TypeError: argument of type 'NoneType' is not iterable
  • settings: extensions page was confused by 'hgext.' prefixes
  • documentation fix (f.i.)
  • settings: no configuration for issue tracker linking
  • qtlib: TypeError: signal clicked(bool) has 1 argument(s)Key
  • fileview: fix diff markers in file mode
  • compare file history: convert file data to unicode before displaying
  • workbench: Abort: no username supplied (see "hg help config")
  • compress: AttributeError: 'Widget' object has no attribute 'stbar'
  • commit: "No files found for this operation"
  • commit: handle non ASCII encoded filenames
  • x64 Mercurial could not find 32bit diff/merge tools
  • shelve: AttributeError: 'ChunksWidget' object has no attribute 'mtime'
  • repowidget: catch errors when selecting a revision
  • settings: UnicodeDecodeError from username
  • sync: catch ssh URL parse errors
  • run: catch environment errors when opening repositories
  • manifest: models leaked memory
  • x86 packages did not have all the SVN SWIG DLLs
  • about: do not block dialog closing on network errors
  • AttributeError: 'SyncWidget' object has no attribute 'targetargs'
  • sync: keep bundle file in local encoding
  • clipboard: fix encoding of data sent to the clipboard
  • merge: AttributeError: 'ResultPage' object has no attribute 'reject'
  • sync: catch errors from fingerprint query
  • show clean file contents
  • unshelve not applying chunks to dos EOLN files
  • Fix file dragging into applications like VisualStudio
  • Improvements:
  • improve performance of sync tool startup, do not open related repositories
  • preserve changeset graph column widths per repository
  • improve sorting behavior in the status tool and its derivatives
  • sync: add --debug flag to the options dialog
  • verify and enforce minimum Qt/PyQt versions
  • Installer:
  • x64 installers now provide 64bit native PyQt applications, which means they no longer install in Program Files (x86), they install in Program Files.
  • hg.exe and thg.exe are in the %PATH% again, unlike the 2.0 installers. The bin/ folder has been removed.
  • kdiff3.exe is again in the %PATH%
  • kdiff3.exe was upgraded from the 1.1 release to the 2.0 release. It appears to have a bug when reading its old configuration files that cause it to save merge results in DOS EOLN. If you are upgrading a 1.1 install or have run KDiff3 in the past, it is suggested to run the new KDiff3 and check this configurable.

New in TortoiseHg 2.0 (May 2, 2011)

  • Workbench:
  • We wanted a single ‘TortoiseHg’ application which can access nearly all TortoiseHg (and Mercurial) functionality and that could be launched by a desktop or start menu shortcut. So we developed the Workbench application.
  • The Workbench can support multiple repositories open at a time via “Repo Tabs” across the top of the main window.
  • Each repository tab supports multiple “Task Tabs” beneath its graph splitter. These task tabs are switchable via icons on the side of the Workbench or via application menus. Available task tabs include a changeset browser, a commit tool, a manifest browser, a history search widget, and a sync widget.
  • Also available are two dockable widgets - a Repository Registry which lists all known repositories on your local machine and an Output Log Window which displays running command lines and their output and can also function as a minimal shell.
  • Showing Mercurial command lines:
  • In an effort to educate users on Mercurial’s command interface, nearly all commands are executed in the log window, displaying the full command line and Mercurial’s output (progress indication is provided by progress bars inside the Workbench status bar). The few tools that do not use a command log window will generally display the command line they execute.
  • Resolve tool, deliberate merges:
  • TortoiseHg 2.0 introduces a resolve dialog for resolving conflicted file merges. It shows the users all the files that require resolution and those files that have been resolved, allowing merges to be verified.
  • As supported by Mercurial’s resolve command, individual file merges may be restarted as many times as necessary to get the merge correctly completed.
  • By default, TortoiseHg will use the resolve dialog to resolve all conflicts, including trivial conflicts. It instructs Mercurial to never merge files automatically, deferring their resolution until the resolve dialog can be launched. This is true for merges, update commands that require content merges, rebases, and backouts.
  • Shelve Improved:
  • TortoiseHg 2.0 includes a new shelve tool which is capable of moving changes between your working directory, a shelf file, or an unapplied MQ patch.
  • Revision Sets:
  • We have replaced the filter bar of the Repository Explorer with a revision set bar in the Workbench. Revision sets were introduced in Mercurial 1.6 and have been integrated with an increasing number of commands in each subsequent release. They are a powerful query language for finding and specifying revisions in your repository.
  • The Workbench also includes a revision set editor which both teaches the user the available keywords and their arguments, and offers brace matching, auto-completions, and other editing amenities.
  • In TortoiseHg 2.0, incoming and outgoing changesets are visualized as revision sets. In previous versions they were represented by graph annotations.
  • Technology:
  • Qt and PyQt:
  • TortoiseHg 2.0 has been a near rewrite of all of the tools and dialogs taking advantage of Nokia’s excellent Qt UI framework and Riverbank Computing’s fine PyQt Python bindings.
  • QScintilla2:
  • TortoiseHg uses the QScintilla2 editing component extensively to:
  • display file contents and diffs with syntax highlighting
  • display annotations with syntax highlighting
  • edit commit messages with auto-completion of filenames and source symbols
  • edit revision set strings with brace matching and auto-completion
  • One can configure the QScintilla2 tab stop parameter using the settings tool, while white space visibility and wrap are controlled by context menus.
  • Polling of repository state and config:
  • The Workbench and other applications like the commit tool will poll repositories on your local machine to detect changes made to either the repository or their configuration files, and automatically update running applications as necessary. Nearly all configuration changes are effective immediately, with the notable exception of enabling or disabling Mercurial extensions. Changes to extension configuration generally require application restarts before they take effect.
  • Immediate bug report dialogs:
  • Prior to TortoiseHg 2.0, bug reports were written to stderr as they occured and stderr was captured and scanned at exit to report those errors to the user. While we gained many valuable bug reports via this mechanism, there was rarely any context on what operations caused these bugs.
  • In TortoiseHg 2.0, we have created a generic exception handler that catches all Python exceptions that are otherwise unhandled by application code. This allows us to display exception tracebacks almost immediately after they occur (after a short timeout to collect consecutive exceptions together). The hope is that future bug reports will contain better reproduction instructions, or at least context for the tracebacks.
  • Demand loaded graph:
  • To keep refreshes as efficient as possible, the graphing algorithm will only load a couple hundred revisions initially during a refresh, and then load further revisions only when those revisions are required to be displayed. You will notice scrolling through the graph is jerky, these are bulk loads of revisions into the graph. To avoid this jerkiness you can force TortoiseHg to load all revisions in the graph via the Load all revisions option from the View menu.

New in TortoiseHg 1.1.9 (Feb 3, 2011)

  • Packaged Versions:
  • Mercurial 1.7.5
  • Bug Fixes:
  • catch COM errors while walking BugTraq clients
  • workaround commit messages that look like command line arguments
  • hgeol was renamed to eol as it was pulled into hgext/
  • fix italian translation strings
  • fix setting tool when locales are not installed
  • Improvements:
  • improve layout of merge dialog
  • improve parsing of SSL error messages
  • context menu outside of repository folders can be configured to require shift-click

New in TortoiseHg 1.1.8 (Jan 3, 2011)

  • This is a bug fix release, with minor improvements. Users are recommended to upgrade.
  • Packaged Versions:
  • Mercurial 1.7.3
  • Bug Fixes:
  • support branch closing with no selected files
  • catch util.Abort from subrepository status updates
  • correctly force installed gtk/ folder to have highest load precedence
  • cmenu - start overlay server with cwd of install folder, not requesting repo
  • Improvements:
  • use the bugreport dialog to notify of mercurial version problems
  • settings - improve start times by caching extension list in library.zip
  • i18n - improved language detection, allow selection (#320)
  • Installer:
  • Now includes an SSL root CA file for certificate verification

New in TortoiseHg 1.1.7 (Dec 2, 2010)

  • This is a bug fix release, with minor improvements. Users are recommended to upgrade.
  • Packaged Versions
  • Mercurial 1.7.2
  • Bug Fixes:
  • merge dialog caused exception during update
  • use filelog.rawsize() to check max diff size
  • nautilus - avoid circular imports when demandimport is disabled
  • Improvements:
  • visdiff - do not use dialog to display single renamed file
  • settings - improve documentation of fields with empty defaults
  • cmenu - add context menu to library background

New in TortoiseHg 1.1.6 (Nov 16, 2010)

  • Packaged Versions:
  • Mercurial 1.7.1
  • Bug Fixes:
  • util.lexists() was removed prior to Mercurial 1.7
  • patch.NoHunks was removed prior to Mercurial 1.7
  • 'move' alias added to rename command prior to Mercurial 1.7
  • disallow known bad extension combinations
  • Improvements:
  • New column for showing subversion source revision
  • Add subversion --startrev support to clone
  • changeset - (perf) keep repo.status() output to reuse in patch.diff() calls

New in TortoiseHg 1.1.5 (Nov 3, 2010)

  • This is a bug fix release, with minor improvements. Users are recommended to upgrade.
  • Packaged Versions
  • Mercurial 1.7
  • dulwich 0.6.2
  • pygments 1.3.1
  • Bug Fixes:
  • properly display exceptions caused during commit
  • nautilus: catch IOErrors from shell notify functionality
  • visdiff: do not require visdiff window for copy sources
  • hglib: only try to detect each merge tool one time
  • commit: respect merge-tool.executable property when resolving merges
  • commit: allow branches named default to be closed
  • backout: catch up with changes in Mercurial 1.7

New in TortoiseHg 1.1.4 (Oct 4, 2010)

  • Bug Fixes:
  • add validation for file patterns, various pattern fixes
  • remove redundant bugtraq import
  • fallback to older bugtraq API when necessary
  • Fixed problems in Ukranian translation
  • prevent hard crashes during merge
  • hglib - handle an API that was recently moved
  • handle non-ASCII file names in docdiff
  • Improvements:
  • Add support for 'force' to qpush/ppop commands
  • add a mechanism for disabling overlays in Nautilus
  • save and restore column widths in repository explorer

New in TortoiseHg 1.1.3 (Aug 27, 2010)

  • Bug Fixes:
  • Allow archive of revision 0
  • Improve support for multiple patch queues
  • Convert encoding of keyword search parameters
  • Unconditionally re-insert commit messages into the MRU list
  • catch ValueError from datamine searches
  • catch RevlogError while trying to read a changeset
  • quickop: catch EnvironmentErrors while scanning repository
  • Fix generic exception handler in commit logic
  • special case code for case-sensitive directory renames
  • Improvements:
  • add option to open commit tool after successful init
  • introduce support for bugtraq clients

New in TortoiseHg 1.1.2 (Aug 24, 2010)

  • Bug Fixes:
  • fix revert in repositories with no revisions
  • Improvements:
  • add support for archiving only files modified in a revision

New in TortoiseHg 1.1 (Jul 4, 2010)

  • Packaged Versions:
  • Mercurial 1.6
  • Enhancements:
  • Undo/Redo in text editor panes:
  • Commit, email, and backout edit panes now support CTRL-Z/CTRL-R undo/redo (#1088)
  • Rollback description:
  • Mercurial 1.6 adds transaction descriptions that provide an indication of what will be rolled back. The commit tool uses this data to allow the "Undo" feature to always be available if the last transaction was a commit (essentially allowing undo to survive commit tool restarts). The recovery tool uses this information to give better feedback of what will be rolled back. (#1151)
  • Color highlighting:
  • In Mercurial 1.6, the color extension works natively on Windows consoles (cmd.exe). TortoiseHg also gets color markups directly from Mercurial so it can colorize it's output in command consoles and other windows. One notable example is the highlighting of search matches in the datamining tool. (#1122, #1156)
  • Support for pbranch extension:
  • The Repository Explorer now has intrinsic support for the "patch branch" extension. See http://arrenbrecht.ch/mercurial/pbranch/
  • Bug fixes:
  • status, chunks: try harder to prevent display of binary diffs
  • status: give name to exception
  • shelve: catch IOError from recovering backup files
  • status: do not add empty chunk lists to self.filechunks
  • commit: catch errors in refresh thread
  • history: fix display of tags and branch names with underscores
  • shellext: fix tortoise icon in shell context menu on XP
  • history, etc: add workarounds for all tracebacks reported in #969
  • shellext: disable cmenu on "virtual" unavailable folders
  • untruncatable Windows' hidden files
  • Minor Improvements:
  • Repository Explorer:
  • Show currently active filter type in window title
  • support for push --new-branch
  • highlight branch heads in graph
  • support import of SVN patches (-p0)
  • DataMine:
  • improve handling of file patterns
  • diff to local file
  • Commit:
  • status: add annotation to context menu
  • status: rename 'Log' context menu entry to 'File History'
  • optional auto-close after commit
  • allow 'guess renames' for added files
  • improve messages in branch dialogs
  • Shelve:
  • Abandon shelf operation
  • Improve error handling in general
  • General:
  • support for iniparse 0.4
  • progress bar for recovery tool
  • repo name and hashes available as visual diff labels
  • Configure extensions from user settings tool
  • Explorer overlays are now configurable
  • Installer Changes:
  • wincolor is obsolete, will be removed in the next release. In this release, it simply loads color.py
  • unbundle pyreadline, no longer needed by wincolor
  • bundle nntplib
  • update to TortoiseOverlays 1.1.2

New in TortoiseHg 1.0.4 (Jun 7, 2010)

  • Packaged Versions
  • Bug Fixes
  • Improvements

New in TortoiseHg 1.0.3 (May 14, 2010)

  • Updated translations
  • Improved arguments passed to Araxis Merge
  • Switched MQ panel to use less conflicting key accelerators

New in TortoiseHg 1.0.1 (Apr 16, 2010)

  • Bugs Fixes:
  • #879 - Remove closed branches from Repository Explorer branch drop-down
  • #973 - Correct behavior when canceling mode change in settings tool
  • #998 - Visual Diff and hgignore edit were missing from shell context menus
  • #1000 - Clicking on null revision link in Repository Explorer caused infinite load loop
  • #1003 - Fix bugtracking link at start of changeset message
  • #1004 - Fix display of underscores in tags and branch names
  • #1005 - Catch race conditions when terminating threads
  • #1007 - Fix docdiff for non-mergable file types
  • #1008 - Catch util.Abort in quickop dialog
  • #1009 - Fix push-after-commit with CmdRunner enabled
  • #1022 - Fix CTRL-F in Repository Explorer
  • #1028 - Show filter criteria in Repository Explorer title bar
  • #1032 - catch OSError from os.makedirs
  • #1039 - installer: do not start thgtaskbar if shell extensions were not installed
  • #1044 - Fix potential errors after clone on Linux
  • #1045 - Fix 'working directory has no parent' after strip
  • #1048 - refresh branch name drop-down on reload
  • #1051 - Correctly parse svn revisions from convert extension
  • #1075 - Make clone, update dialogs resizeable
  • #1076 - Restart TortoiseHgOverlayServer on 'Update Icons', when necessary
  • #1083 - Remove redundant vertical pane from shelve tool
  • #1085 - Fix problems caused by large simultaneous rename batches
  • #1091 - Fix direct diff tool usage when copies are present but not selected
  • #1100 - Fix potential back-traces from quickop
  • #1112 - Fix misbehaviors in tag dialog
  • Fixed direct use of 3-way (merge) directory diffs
  • Installer Changes:
  • wincolor extension and its pyreadline prerequisite are now packaged
  • pyopenssl is now included

New in TortoiseHg 0.7.5 (Jun 30, 2009)

  • #220 - prevent crashes in commit/status with wide text files
  • #209 - prevent pywin32 errors from shell notify on Win2k
  • #210 - prevent key errors when reading app data
  • #207 - prevent key errors in gdialog when parsing settings
  • #201 - prevent thgconfig from writing broken hgrc files

New in TortoiseHg 0.7.1 (Mar 23, 2009)

  • Datamine: fix markup usage in status bar
  • Status: fix counters after keyboard selections
  • Installer: fixed theme selection index
  • Settings: show text descriptions
  • Log: make column toggles sticky
  • Synch: support bundles without (*.hg) extension
  • Synch: make most settings sticky
  • History: allow patch file overwrite
  • Update to GTK-2.14 and PyGtk-2.12, and also now includes the MSVC redistributables that TortoisePlink requires
  • .7.1 will install over versions 0.5 or later without first requiring an uninstall
  • Old Mercurial.ini will be backed up and replaced, rather than asking user for overwrite
  • Theme selection fixed during the installation process

New in TortoiseHg 0.5 (Oct 8, 2008)

  • Explorer shell extensions:
  • Share overlay icons with TortoiseSVN 1.5.x via TortoiseSVN's
  • TortoiseOverlays project (by Peer Sommerlund)
  • New mercurial-like command line syntax for hgtk, with help support
  • The gPyFm merge-tool is not longer bundled (see bug 2119067)
  • Interal commit dialog:
  • Show number of files selected (also apply to Status dialog)
  • Add 'Undo' button to rollback last commit
  • Do not clear commit message window if commit fails
  • Accept commit message in multi-byte charset (fix bug 2116362)
  • Load patchbomb extension automatically (by Peer Sommerlund)
  • Bug fixes

New in TortoiseHg 0.4.1 (Sep 4, 2008)

  • TortoiseHg 0.4.1 is essentially an update of TortoiseHg 0.4 to link with
  • Recently released Mercurial 1.0.2, in order to address some of the critical
  • Bug-fixes in Mercurial's core functions. TortoiseHg 0.4 was linked with
  • Mercurial 1.0.1
  • There's no changes specific to TortoiseHg