ReleaseNotes

Release Notes for TortoiseHg

This wiki page contains last minute notes to users about the releases, which may not be included in the documentation or README files included with the distribution kits. It also contains change information, for users who are interested in what bugs have been fixed, and what features have been added in the current version.

Note that like TortoiseSVN, we recommend to to turn off the indexing service on the working copies and repositories, and exclude them from virus scans.

Matching Versions

If you are using TortoiseHG from source, we recommend you use the most recent stable releases of TortoiseHG and Mercurial together. If you must use an older version of Mercurial, please consult the following chart:

Mercurial ReleaseTortoiseHg Release
<= 1.00.5
1.1.X0.6
1.2.X0.7.6
1.3.X0.8.n
1.4.x0.9.n
1.5.x1.0.n
1.6.x1.1.n
1.7.x1.1.9.1
1.8.x2.0.n
1.9.x2.1.n
2.0.x2.2.n
2.1.x2.3.n
2.2.x2.4.n
2.3.x2.5.n
2.4.x2.6.n
2.5.x2.7.n
2.6.x2.8.n
2.7.x2.9.n
2.8.x2.10.n
2.9.x2.11.n
hg default tipthg default tip

TortoiseHg 2.11.2

TortoiseHg 2.11.2 is a regularly scheduled bug-fix release

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)

TortoiseHg 2.11.1

TortoiseHg 2.11.1 is a regularly scheduled bug-fix release

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

TortoiseHg 2.11

TortoiseHg 2.11 is a major feature release with many visible and internal changes to improve future stability and usability.

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
  • 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

Installer

  • hgcr-gui 30ef0802e8ba (closes #3562)

TortoiseHg 2.10.2

TortoiseHg 2.10.2 is a regularly scheduled bug fix release

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

Improvements

N/A

Installer

  • Python 2.7.6 (includes fix for #3309, #3546)
  • PyQt 4.10.3
  • pygments 1.6 (includes fix for #2026, #2176)

TortoiseHg 2.10.1

TortoiseHg 2.10.1 is a minor scheduled release

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

TortoiseHg 2.10

TortoiseHg 2.10 is a major feature release

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, fixes #2173)
  • 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

TortoiseHg 2.9.2

TortoiseHg 2.9.2 is a regularly scheduled bug fix release

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)

TortoiseHg 2.9.1

TortoiseHg 2.9.1 is a regularly scheduled bug fix release

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

TortoiseHg 2.9

TortoiseHg 2.9 is a major feature release

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)

TortoiseHg 2.8.2

TortoiseHg 2.8.2 is a minor bugfix release

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)

TortoiseHg 2.8.1

TortoiseHg 2.8.1 is a minor bugfix release

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)
  • sync: tone down new-branch error because it is handled specially (fixes #1137)
  • 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
  • settings: check enabled extensions if they are not changeable
  • 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

TortoiseHg 2.8

TortoiseHg 2.8 is a major feature release

Bug Fixes

  • commit: convert options string to a HTML string (fixes #2543)
  • manifest: report invalid --line option as error instead of traceback
  • repotreeitem: have RepoItem respond to EditRole (fixes #2550)
  • repoview: disable hover effect of column header because it has no click action
  • run: forcibly use bundled Qt plugins in frozen environment (fixes #2513)
  • several GC fixes causing "C++ object has been deleted" (fixes #2554, #2564)

Installer

  • enable mercurial_keyring by default on Windows

Improvements

  • annotate: group related context menu items
  • annotate: 'Go to Original revision' on Ctrl+click or double click on margin
  • commit: allow amending merge revisions when mercurial >= 2.6
  • customtools: add 'workingdir' setting, {FILES} and {ALLFILES} variables
  • customtools: add a "Custom Tools" submenu to the commit file context dialogs
  • customtools: list available icons in setting dialog
  • email: remember patch attachment (body, inline, attach) and diffstate options
  • fileview: load selected text into searchbar when searchbar is shown
  • graph: show graft relations (closes #2008)
  • infobar: overlay infobar on top of revision graph (closes #2113)
  • lexers: allow user configuration of lexers by file extension
  • messageentry: make the lexer optional
  • messageentry: improved "Apply Format" behavior
  • qscilib: improve the multi-selection behavior
  • repomodel: use monospace font for Node and Converted columns
  • repofilter: add "Show/Hide hidden changesets" (and visual effect in graph)
  • repofilter: better revset detection and visual effect (closes #2019)
  • repofilter: remember working branch as special symbol (refs #2206)
  • repofilter: show progress/error messages loudly in infobar (closes #344)
  • repoview: add option to show full author name (closes #2434)
  • repowidget: add menu to copy patch of multi-select to clipboard (closes #2504)
  • repowidget: show the actual number of outgoing changesets
  • revdetails: add revision details dialog
  • settings: improved detection and selection of editor and terminal applications
  • sync: add option to push without confirmation dialog (closes #190)
  • workbench: allow clone dialog to be non-modal
  • workbench: add combobox to select push/pull target
  • workbench: don't display icons in menu on Mac OS X

TortoiseHg 2.7.2

TortoiseHg 2.7.2 is a bug fix release with minor improvements

  • Includes Mercurial 2.5.4

Bug Fixes

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

Improvements

  • filedata: distinguish between file copies and file renames
  • pyqt: make settings dialog work with PyQt 4.6 (CentOs 6.3)

TortoiseHg 2.7.1

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)

TortoiseHg 2.7

TortoiseHg 2.7 is a major feature release. Because of the amount of churn in both TortoiseHg and Mercurial, we are taking the unusual step of shipping 2.7 with the tip of Mercurial's stable branch prior to their feature freeze for the 2.5 release. TortoiseHg 2.7.1 will be shipped with 2.5.1

  • Includes Mercurial version 7648b87e76dbf89c9cdfb7993c52479480ff43c7 (2.4.2 + fixes)

Bug Fixes

  • update: fix unicode error on confirmation of bookmarks (fixes #2341)
  • repotreemodel: recover from missing <allgroup> 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 (fixes #2340)
  • Upgraded python-keyring to 1.2

TortoiseHg 2.6.2

This is a bug fix release with minor improvements

Bug Fixes

  • chunks: use regexp to capture .rej filename from non-English message
  • clone: handle location of source patch repository as full path
  • cmdui: always set percentage to QProgressBar (fixes #2261)
  • rejects: handle non-ascii path correctly
  • rename: remove workaround for case-changing rename on Windows

TortoiseHg 2.6.1

This is a bug fix release with minor improvements

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

TortoiseHg 2.6

This is a major feature release

Packaged Versions

  • Mercurial 2.4+6-35ba170c0f82

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

OlderReleaseNotes

Updated

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.