# -*- coding: UTF-8 -*-

                    Release Notes for TortoiseHg

This file 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.

The ReleaseNotes page on the TortosieHg Wiki is usually kept up to date.
http://bitbucket.org/tortoisehg/stable/wiki/ReleaseNotes

= TortoiseHg 1.0 =

Released on March 5, 2010

Codenamed **Varnish**

== Packaged Versions ==

The following products are included in our TortoiseHg Windows installers.

* Mercurial 1.5
* Python 2.6.4 [1]
* GTK 2.18.7
* PyGtk 2.16.0
* python-svn 1.6.6 (for use by hgsubversion and hg convert)
* dulwich (for use by hg-git and others)
* Perfarce extension
* hgeol extension
* mercurial keychain extension
* TortoiseSVN's doc diff scripts 
* See extension-versions.txt in the install directory for the complete
* list of bundled extensions and modules and their versions

[1] If you used any hooks or extensions with previous versions of
TortoiseHg, and those hooks or extensions added local Python
site-packages to sys.path, you will have to upgrade your Python to 2.6
to stay current with TortoiseHg 1.0.  Failure to do so will cause hgtk
to not function correctly.  You will see errors on the console about
failing to import gdialog.

== Behavior Changes ==

=== Entirely new installer ===

The new MSI installers can perform installs and upgrades/downgrades (of
previous MSI installs) without reboot and perform silent installs. The
MSI installer packages are now digitally signed. 

There are two important details to be aware of:

1) **You must uninstall pre-1.0 (InnoSetup based) installers before
installing 1.0.  Before uninstalling the old version, backup your user
Mercurial.ini file.**  The old installers have a tendency to delete your
user Mercurial.ini file when they are uninstalled.

2) **There are now separate x86 and x64 installer packages.**  Download
the appropriate package for your platform.

After the first install of an msi installer (not an upgrade or downgrade
from a previously installed msi installer), a logout/login of all users
is required to have the overlay icon handler initialized. The context
menu works without logout/login. Later upgrade (or downgrade) installs
won't need a logout/login on Vista and Windows 7, as all affected
programs are shut down by the installer and explorer is restarted
automatically by the installer.

On Windows XP, a logout/login of all users after every msi upgrade or
downgrade install is required. If in doubt, doing a reboot will make
sure all users will get the updated files loaded.

If you don't install any shell extension at all (overlay icons and shell
context menu), then no logout/login is needed at all.

If you don't install the 32 bit ("x86") shell extension on 64 bit
versions of Windows, there will be no need to shutdown any 32 bit
programs on later upgrades/downgrades (which may be handy, because,
typically, lots of programs -- e.g. email clients, browsers -- are still
32 bit only). On 64 bit Windows Vista and Windows 7, explorer is a 64
bit process, so there is no need to install the 32 bit shell extension
on these systems in order to have the overlay icons and context menu
working in explorer. 

There are more installer details near the end of the release notes.

=== Branch Head Detection ===

In Mercurial 1.5, the 'hg heads' command was changed to make it more
branch centric.  In particular, a revision with children on other
branches but no child on it's own branch is still considered a branch
head.  For example, if you merge the head of branch A into branch B,
branch A's head is still considered a repository head even though it has
a child in branch B.

TortoiseHg tries to follow along with this semantic change, primarily in
the commit tool.  We no longer warn of creating new heads when
committing on a branch head that has children in other branches.  And
similarly merging heads of two branches no longer indicates the reducing
of the number of heads.  Refs #953

=== Shell extension configuration removed from taskbar app ===

The Shell extension configuration tool is now launched from its own
shell context menu option named "Explorer extension settings".  The
dialog no longer has a logging feature, so debugging overlay refresh
issues must be done by manually starting the thgtaskbar.exe application
from a command line window.

=== CopyHash configurable removed ===

The tortoisehg.copyhash configurable, marked deprecated in 0.9, was
removed in this release.  Use the 'Copy Hash' context menu option in the
Repository Explorer instead.

=== Skip Diff Window removed ===

The tortoisehg.nodiffwin configurable has been made obsolete by an
overhaul of the visual diff system.  The system automatically detects
when the visual diff window is required.

== Enhancements ==

=== Visual Diff Overhaul ===

The visual diff infrastructure was largely overhauled in this release to
detect diff tools on your computer and use them optimally.  Among other
improvements, it now supports visual diffs of renames and copies, as
well as many common binary formats.  For details, see

http://tortoisehg.bitbucket.org/manual/1.0/common.html#visual-diffs

Refs #567, #166

=== Import Dialog ===

TortoiseHg can now import (or qimport) patches from a dialog which
supports file and folder drag-n-drop.

See http://tortoisehg.bitbucket.org/manual/1.0/patches.html#import-patches for details

=== Perforce Integration via perfarce extension ===

TortoiseHg can now operate as a front end to a Perforce client via the
use of the perfarce extension.

See http://tortoisehg.bitbucket.org/manual/1.0/extensions.html#perfarce for details

=== HTTP(s)/SMTP keychain integration ===

The mercurial-keyring extension is now bundled.  It caches passwords for
HTTP(S) and SMTP requests.  It must be enabled and configured to
activate the cache behavior.

See http://tortoisehg.bitbucket.org/manual/1.0/extensions.html#mercurial-keyring
for details.

Refs #103, #854

=== Changeset Message Links ===

The Repository Explorer now parses your commit messages for changeset
hashes, HTTP(S) URLs, and bug tracker links.  For more information, see 

http://tortoisehg.bitbucket.org/manual/1.0/changelog.html#message-parsing

Refs #315, #369

=== Miscellaneous ===

* CmdRunner widget for running interactive commands in the background (much fewer popup windows)
* Improved support for bookmark extension
* bash completion support added for hgtk
* Repository Explorer menu cleanup
* Icons for file status in Repository Explorer
* Icons in menus of Repository Explorer and other applications, #704
* Improved row selection logic in Repository Explorer
* Improved support for converted subversion changesets
* MQ pane added to commit tool (only visible when MQ extension is enabled)
* MQ pane supports file and directory drag/drop events
* MQ pane supports multi-selections, #874
* Add 'no-backup' option to revert mode of quickop dialog
* Taskbar icon display is now configurable from shell configuration dialog
* Support for subrepos in the status/commit tool, #338, #507.
* Improve selection and context menu behavior of status/commit/shelve tools, including #633,#875
* Allow a new named branch to be created without file changes
* Merge option to discard changes from other branch (dummy/null merge) #873
* New layout for settings tool, new fonts page #924
* Layout improvements to several tools, including #712,#713, #724, #763,#768, #773,#805,#874,#878,#883
* Ctrl-., next/prev file accelerators for several tools
* Ctrl-[] page up/down accelerators for several tools
* The About dialog will look for upgrades and offer a download link
* Tag dialog improvements, #915, #916
* Explorer overlays are now case insensitive #867
* Show context menus from  "Library" folders and background in Windows 7, #923

== Bug fixes ==

* #507 - commit: update .hgsubstate when checking in dirty subrepos
* #561 - status: improve display of merge diffs
* #586 - status: check files after running rename guess tool
* #709 - status: partially selected files refreshed properly
* #764 - prevent traceback in Repository Explorer
* #784 - detect and help prevent install problems on Linux
* #788 - prevent a traceback in quickop dialog
* #792 - prevent a traceback from non-standard dialog layouts
* #827 - catch up with patch API changes in Mercurial
* #834 - catch errors from launching URLs on Windows
* #844 - fix hunk selection feature, after regression
* #846 - use newer status() API after older function was removed
* #847 - re-enable toggle display of deleted files in status/commit/shelve
* #850 - patch iniparse to consider %include lines to be comments
* #860 - fix commits from context menu of commit tool
* #867 - handle case folding conflicts in icon overlays (use lower case file names everywhere)
* #870 - commit: fix parent bar refresh
* #888 - fix tracebacks in quickop dialog
* #894 - prevent crashes in quickop on early exits
* #897 - diff text pane of status/commit tool now supports max diff size
* #907 - Catch IO and other errors when saving files from other revisions
* #912 - CTRL-C in cmd.exe should not kill forked hgtk processes
* #919 - Consistent treatment of branch names and UTF-8
* #920 - disable MQ operations when a bundle is applied
* #922 - Catch errors during status refresh
* #927 - Strip leading/trailing whitespace in clone tool
* #929 - QNew will no longer include all diffs when no files were selected
* #934 - Correctly reset commit tool title after clearing a filter
* #947 - Save cherry picked patch files with raw EOLN
* #942, #959 - Improve bundle error handling
* #951 - Escape file paths on Windows if they are not safe globs
* #977 - Close init dialog on success

== Installer Changes ==

TortoiseOverlays are now included as "merge modules" so they no longer
appear in **Add/Remove Programs** as separate applications.  It should
be safe to uninstall old versions of TortoiseOverlays you find on your
computer at the same time you uninstall your older TortoiseHg installs,
so long as you do not have other Tortoise utilities that use them
(TortoiseCVS or TortoiseBzr, for instance).  Future upgrades and
uninstalls should handle TortoiseOverlays seamlessly.

Similarly, we include the MSVC CRT redistributables using MS's approved
merge modules.

Because of these first two changes, the MSI installers require elevated
install privileges.  We do not intend to make any ZIP style installers
for download, though users are free to make them for their own use.
Refs #677

The new MSI packages will refuse to upgrade an old InnoSetup install.
The old install must be removed and rebooted before installing the MSI
package. The good news is this should be the last reboot required by
THG. MSI packages will upgrade or downgrade other MSI packages without
reboot.

If the old InnoSetup installer created your user Mercurial.ini file (if
it asked for your username and email address) the old installer will try
to delete that file when you uninstall it. We *highly* recommend you
backup your user Mercurial.ini file before uninstalling your existing
TortoiseHg package. The new MSI installers do not have this problem. 

MSI's use the Windows Installer framework, so you get safer upgrades,
repair facilities, and safe rollbacks after errors.

There are now separate packages for x86 and x64 targets. They will
refuse to install on inappropriate architectures so just be aware of the
split.

The x64 package correctly installs the x86 portions under
${ProgramFiles(x86)} and the x64 portion under ${CommonProgramFiles}.
This is a change from the pre-1.0 installers.



== TortoiseHg 0.9 ==

Released November 16, 2009

Codenamed **Sandpaper**

=== Packaged Versions ===

TortoiseHg 0.9 requires Mercurial version 1.4

=== Behavior Changes ===

* dropped support for external commit tools
* potentially harmful extensions are no longer loaded for you.  MQ, qup,
rebase, transplant, and fetch must be enabled by the user to unlock their
support inside the TortoiseHg tools.
* The synchronize tool has been deprecated.  Most of it's functionality has
been merged into the changelog tool.  Synchronize will be removed in a future
release.
* commit tool - after a commit, all remaining files are unchecked
* commit/status/etc - context menus were refactored as per issue #133

**Note** During upgrade, it is possible for the taskbar app to crash when the
installer closes it.  This only happens if the taskbar config dialog has been
opened, and it only seems to happen on slower XP machines.  It is also
harmless.  The installer was trying to kill it, it just happened to die in a
non-orderly fashion.  Just ignore the crash.  If you don't want to see this
happen, simply exit the taskbar app before starting the upgrade.

=== Enhancements ===

* spell checker for commit and email tools (gtkspell, Gnome only)
* changelog - integrate synchronize functionality, including previews of incoming changesets
* changelog - integrate MQ
* changelog - new branch graphing algorithm
* changelog - rebase and transplant context menu support
* changelog - transplanted changes link to their source, when possible
* changelog - allow columns to be re-ordered
* changelog - improve display of merge changesets
* changelog - allow graph column to be resized past 500 pixels
* changelog - less padding between changeset rows
* changelog - per-branch coloring in the graph (toggleable)
* changelog - show filelog graph if single file pattern specified #265
* changelog - new "Select Revision" dialog and Navigate menu
* changelog - new filter bar below toolbar, title indicates current filter
* changelog - memory utilization improvements
* changelog - refresh/load performance improvements
* changelog - menu bar
* datamine - improved rename support
* datamine - view at revision, file history context menu options
* status - menu bar
* status - progress bar for repo.status() calls
* status - add support for forget command
* status - add a button for clearing file filter pattern
* status - allow revert to discard changes
* status - disable toolbar buttons when no files are checked
* status - move refresh button #402
* commit - text diff tab
* commit - parent changeset indication
* commit - use gtkspell on platforms that support it (Linux, etc)
* commit - username entry, autoinclude, push-after-commit advanced bar
* commit - uncommitted changes are unchecked
* commit - QNew and Qrefresh improvements, 'patch contents' tab
* commit - merge improvements
* archive - new archive feature, from both 'hgtk archive' and the changelog menu
* synch - shelve toolbar button
* thgtaskbar - added --noicon command line argument
* shelve - 'shelf contents' tab

=== Bug fixes ===

* changelog - clicking on cset links loads revisions if needed
* status - catch IOErrors during repo.status
* rename - fix error handling when no arguments specified
* too many more to enumerate

=== Installer / Source Changes ===

* Spell Checker depends on gtkspell.  In Debian 5 it is included in the package
python-gnome2-extras, in sid probably in python-gtkspell
* [[http://code.google.com/p/iniparse/|iniparse]] was unbundled from the source repository
* The hggtk and thgutil python packages were moved into tortoisehg/hgtk and tortoisehg/util, respectively



= 0.8 Release July 1, 2009 =

== C++ Shell Extension ==

The Python shell extension has been removed in favor of a pure C++ shell
extension which directly reads the Mercurial dirstate for overlays, and
produces hard-coded context menus.  This should fix much of the
interoperability problems reported in issue #67, and it fixes the
overlay performance problems we have suffered since version 0.1.

To support fast overlay icons, we have introduced a taskbar application
(thgtaskbar.exe, programmed in Python) that externalizes the refreshing
of cache information (new cache file ".hg/thgstatus") into a separate
server process (started on user logon), controlled by the shell
extension over a named pipe. thgtaskbar.exe adds a systray icon with an
options dialog to control settings affecting the shell extension.

== X64 Support ==

The C++ TortoiseHg shell extension works properly in x64 Vista and Win7
environments.  Release 0.8 does not support having 32bit and 64bit
extensions installed on the same machine.  We do plan to support this in
0.9.

== Translations ==

TortoiseHg 0.8 is the first release to include translations. This
release has translations for 13 locales.  Eight of those are full or
nearly full translations.

== Linux packages ==

RPM and DEB packages will be made available for download for this
release.

== Bug fixes and Enhancements in 0.8 ==

* #1  - never ending blinking overlays in Vista
* #10 - support --close-branch in commit tool
* #14 - consistent behavior in cmenu operations
* #16 - overlays on repository root
* #18 - hunk selection should survive refresh
* #27 - Config dialog's path editor
* #28 - merge workflow is clunky
* #29 - support pull --rebase from synch dialog
* #31 - consistent Y/N accelerators on question dialogs
* #32 - consistent behavior of ctrl-w, ctrl-q, and ctrl-d
* #36 - overlays are very slow
* #38 - configure separate visual diff tool for single file use
* #39 - avoid binary diff overhead where possible
* #44 - consistent behavior in email dialog
* #47 - bug report dialog for hgtk
* #48 - Allow Visual Diff whenever unified diff is presented
* #51 - visual diff should be default file action
* #52 - add --remotecmd to advanced synch options
* #53 - improve clone tool work flow
* #54 - add commit button to merge tool
* #58 - hide passwords in URLs in the synch tool
* #59 - configurable context menu
* #61 - adding a file just by two clicks
* #64 - remember position and maximize state
* #66 - file history vdiffs should filter by filename
* #71 - context menus on Desktop
* #67 - interoperability with other applications, especially Python apps
* #82 - win32text breaks record and shelve
* #96 - improve support for named branches in synch tool
* #97 - improve branch support and workflow in update dialog
* #104 - no URL history in synch dialog drop-down
* #110 - commit option to insert file names into message
* #111 - ctrl-enter to commit (accept response)
* #112 - consistent loading of repo .hg/hgrc files
* #114 - commit/status chokes on large files
* #116 - fix ever-expanding thgconfig dialog
* #117 - hgtk version should show hg version info
* #123 - Changing the file categories selection status changes already selected items
* #131 - Improve changelog performance with very large changesets
* #132 - Specify the commiter 
* #138 - consistent treatment of default paths
* #140 - slow explorer even when overlays are disabled
* #141 - show branches in merge tool
* #145 - add ability to generate functional tarfile distributions
* #159 - support internal:merge as merge tool option
* #160 - give useful feedback when no changes are vdiffable
* #161 - commit takes too long to startup
* #164 - hide passwords in settings dialog (not in paths)
* #169 - F5 to refresh
* #172 - add utc column to changelog
* #174 - add edit button for mercurial.ini in settings tool
* #177 - add synch button to log viewer, when not launched from synch
* #178 - edit user wide hgignore files
* #180 - clone tool usability improvements
* #184 - non-editable background color for description text in settings dialog
* #185 - bold font and ctrl-p accelerator for wc parent in log tool
* #187 - better dialogs for mercurial prompts (mostly from merging)
* #188 - load extensions at hgtk startup, fixes some extensions
* #192 - add 'show revision ancestry' to changelog tool
* #205 - status is too slow with large files
* #245 - allow missing files to be marked remove in status/commit tools
* #246 - serve dialog locked up on address conflicts
* allow revert to work in merge contexts (revert to either parent, or remerge)
* allow searching in grep and annotate windows
* display aliases in synchronize window, allow them to be used as URLs
* Setup proper search columns in all treeview widgets
* Catch HTTP errors cleanly in synchronize tool
* annotate work-flow improvements.  ctrl-d everywhere, zoom to change, etc.
* zsh completion file for hgtk

== MacOSX support ==

* hgtk works on MacOSX, but requires one to build GTK+
* Workarounds for multiple window map events
* Uses apple key for command sequences (%-W, %-Q, %-D)

== Behavior Changes ==

The Ctrl-O accelerator in the commit tool removed, replaced by a
Ctrl-Enter generic accelerator that is common to many dialogs.

Shell extension configuration removed from Mercurial.ini.  However they
are editable in the taskbar options dialog and changes made there take
effect immediately.

There is no supported method in 0.8 for de-registering the shell
extension without uninstalling THG.  You can globally disable the
overlays via it's configurable option, but the context menu is always
present.

Merge and unmerge were removed from the shell context menu.  You must
use the changelog tool to perform merges.

The changelog tool does not show all file diffs in a changeset right
away.  It only shows the first file's diffs.  To see all diffs at once,
the user must click 'All Files' at the top of the file list.

Changelog, commit, status, etc all obey a maximum file size for showing
diffs (default is 1MB).  Files above this size will not be diffed for
performance reasons (obviously you can still commit them).  This max
diff limit is configurable per-repository via the settings dialog.

The default dbl-click action in the Changelog tool is now visual diff.
In previous releases it was 'Display Change'.

Commit, status, shelve no longer show all diffs at once.  They only show
diffs for the selected file.  This change was made for performance
reasons.

The 'show diffs' button was removed from commit, status, shelve.

hgtk forks a separate process for GUI commands, freeing up the CLI.
HGTK_NOFORK environment variable and the --nofork argument disable the
forking behavior.  This will be user configurable in 0.9.

== Installer / Source Changes ==

The hgtk script has been moved from contrb/ into the project root.

The hgproc script and batch file have been removed.

The tortoise python package has been removed.

The thgutil package has been added.

The tracelog application has been removed, since THG no longer uses
win32traceutil.  Dbgview from sysinternals can be used to debug the new
shell extension.

The forest and qct extensions are no longer bundled.  Forest is being
replaced by a core Mercurial feature (subrepo) in hg-1.3, and qct has
not been included in THG since 0.6.  Both extensions can still be used
with THG 0.8, you must download them and then specify their full path in
your user Mercurial.ini file.

We no longer bundle extra GTK themes.  We only ship MS-Windows since it
now works correctly on all the platforms we're interested in.

We no longer bundle msvcp71.dll and msvcr.dll

We no longer bundle Putty.exe and Puttygen.exe, but Pageant is still
included.

We now bundle win32 and x64 versions of TortoiseOverlays.


= Release 0.7 March 1, 2009 =

Bug fixes since 0.7:

* thgutil: UNC paths should be filtered by 'localdisks' config
* serve: direct web browser at loopback address
* shlib: moved app data to %APPDATA%\TortoiseHg on Windows
* thgconfig: UTF-8 fixes
* thgconfig: show description of selected item
* thgconfig: move 'bottom diffs' to tortoisehg page
* datamine: fix markup problem in status bar
* sync: allow bundles without .hg extension
* sync: handle non-ascii paths and aliases
* status: prevent traceback caused by toggling rename diffs
* update: fix update to rev 0 from changelog viewer
* hgtK: follow 'hg version' convention for 'hgtk version'

New features and improvements in 0.7:

  * Status window now supports shelving of selected changes.
    Unknown files are now displayed by default, hg status convention.

  * Commit window now supports commit of selected changes (record-style)
    or shelving of selected changes.
    Modified, Added, and Removed files are preselected for commit.
    Added a ctrl-o key accelerator for initiating a commit.
    Added support for refreshing an applied MQ patch.
    Improved support for merge (two parent) commits.

  * Qct has been unbundled and must be downloaded separately.  We
    strongly suggest you use the internal tool instead, as it has better
    change selection support than Qct and it is much better integrated
    into TortoiseHg.

  * The tortoisehg.commit configuration setting has been obsoleted.
    TortoiseHg will always use the internal commit tool by default,
    unless the user selects Qct as the prefered *external* commit tool.
    Settings->Global->Commit tab->External Commit Tool

  * Synchronize window now supports reading bundle files (*.hg).
    Recognizes whether it has been launched in push or pull mode

  * The changelog window can now generate bundle files 
    Multiline change summaries can optionally be concatenated

  * New rename window for simple file or directory renames.

  * New rename guessing dialog for detecting renames after they happen.

  * New tool for managing an .hgignore file.

  * The configuration window has been reorganized for simplicity.

  * Nautilus: Fixed file version detection.

  * Hgtk: added --limit option to log.
          added aliases to dialogs that support many operations.
          added rename and guess commands.

New features and improvement in 0.6:

  * Updated to Mercurial 1.1.X (1.1.2, as of release). 
  
    WARNING:
    The GUI tools in TortoiseHg 0.6, including hgtk, have been updated to work
    exclusively with Merecurial 1.1.X, and will not work with older (pre 1.1), 
    and perhaps even the later, releases of Mercurial.
  
  * Explorer shell extensions:
    - Display all available menus in primary context menu, with non-applicable
      menu items disabled per selected objects.
    - Improved 'sensitivity' of context menus. For example, the 'Create 
      Repository Here' menu will be disabled if the selected object is a file.

  * General improvement and updates:
    - Tab characters in source/diff lines can be expanded optionally with the
      new 'tabwidth' config option.
    - All commit dates are now displayed in local time, with time zone info.
    - GUI opearations are immuned to mercurial commands defaults (defined in
      [defaults] section of mercurial.ini)
    - WinMerge has been added Mercurial's merge-tools list, and will be 
      detected and used automatically (subject to priority).

  * New initialization (create new repo) window:
    - Option to create special files (specially .hgignore)
    - Option to create older (non-fncache) repo format.

  * Changelog viewer:
    - Removed Tags column. Tags are now displayed in summary lines.
    - Add display of branch names in summary lines. Branch names are colored
      with color scheme of gitweb style.
    - Add file context menu to revert files to selected changeset

  * Status window (changes apply also to the internal commit window):
    - Support Mercurial's new 'resolve' command: with new 'ms' (merge state)
      column in file-list area, plus new context menus to resolve merge
      conflict and mark/unmark merge state.
    - Replace Select & Deselect tool buttons with checkbox on the file-list
      header.
    - Add preliminary support for moving, renaming and copying of clean
      (managed) files.
    - Ignored files can now be added.
    
  * Datamining (grep and annotate) window:
    - Add source line numbers to annotate lines.
    
  * Configuration window:
    - New in-place editing support in 'paths' page.
    - Updated hgweb style list per Mercurial 1.1
    - New 'Tab Width' config option in 'TortoiseHG' page to expand tab
      characters in source lines displayed, with maximum of 16 spaces
      allowed (Default: disabled)
    
  * Hgtk:
    - Add 'init' command.
    - Add --webdir-conf option to 'serve' command.
    - Support command shortcut matching like hg. So 'hgtk cl' will bring up
      the clone window.
    
  * Nautilus:
    - Removed 'Open Terminal Here' menu options

  * Python trace collector:
    - Show timestamp on output lines to assist debugging.

Bug fixes in 0.6:
    
  * Fix context menu actions problem on non-ascii filenames
    in status window [SF Bug 2151552].

  * Fix missing parent/child fields in commit headers of changeset window,
    mainly caused by empty commit messages in the parent/child changesets 


New features and improvement in 0.5:

  * 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)
	
  * Synchronize dialog:
    - load patchbomb extension automatically (by Peer Sommerlund)

  
Bug fixes in 0.5:
  
  * [ 2119138 ] Merge-tool priority fix (by Mads Kiilerich)
  * [ 2116362 ] Internal commit tool not support gbk comment
  * [ 2113989 ] Can't create repository via Explorer context menu (when 
                a file is selected)	
  * [ 2103749 ] Changelog viewer doesn't refresh after making local tag
  
  * nautilus: fix error when there is no repo in the current directory
    (by Germán Póo-Caamaño)


New features and improvement in 0.4.1:

  * Installer-only release to link with Mercurial 1.0.2

New features and improvement in 0.4:

  * Updated to work, and link, with Mercurial 1.0.1

  * Explorer shell extensions:
    - Added user config option 'tortoisehg.overlayicons' to enable/disable
      display of overlay icons in selected repos.

      Available options:
        True:
          Show overlay icons
        False:
          Don't show overlay icons
        localdisks:
          [global (user) setting only]
          Don't show overlay icons for repos reside on network drives.

    - Create .hgignore file automatically when initializing new repo
      via 'Initialize new repo' context menu.

  * Hgk ('Revision Graph' on Explorer's context menu), better known as
    'hg view', is officially replaced by TortoiseHg's changelog viewer
    ('View Changelog').

    Note: Hgk may be reinstated by user, if necessary. Though it would
          need some work to setup.

  * Changelog (History) Viewer:
    - Added 'strip' and 'backout' functions to file context menu.
    - Loading of changeset data (file list of diff chunks) is done in
      background to improve response.
    - Changeset window shows 'MAR' file status.
    - File list has been moved to the left hand side.

  * Synchronize dialog:
    - Added 'Stop' button to abort command executions.
    - Added support for Fetch extension, as Pull's 'Do fetch' option [ 1914855 ].
    - Added buttons to 'View Pulled Changes' and 'Update to Tip'.
    - Recall source and destination paths accessed in recent sessions.
    - Recall Pull's 'Update to new tip' option setting from previous session
      [ 1944469 ].

  * Datamine dialog:
    - Added 'Stop' button to abort grep searches.
    - Added column for user names on annotate pages.

  * Commit dialog (internal, _not_ Qct):
    - Recall commit messages of recent commits.
    - Fixed handlng of merged repo per new Hg behavior (must commit all
      files in a merged repo)

  * Clone dialog:
    - Recall source and destination paths accessed in recent sessions.
    - Cloning can now be aborted with the new 'Stop' button in HgCmd dialog.

  * Recovery dialog:
    - Added 'Stop' button to abort command executions.

  * Added 'Stop' button to abort command executions in HgCmd dialog.
    This applies to including Update, Clone and Commit dialogs, which
    utilize HgCmd dialog to perform respective operations.

  * Unicode handling:
    - Improved handling of UTF strings in Mercurial's metadata (commit
      message, author, etc).
    - Support Mercurial's HGENCODING environment variable.

  * Hgtk:
    - Simplified installation on Unix/Linux systems.
    - Confirm presence of critical Python modules, i.e. PyGTK and Mercurial.

  * Logos and icons:
    - Updated Hg icon (on context menu and dialogs) to new droplet design
      introduced in Mercurial 1.0
    - New TortoiseHg logo (in About dialog) by Peer Sommerlund.
    - Several new menu icons by Peer Sommerlund, with better Windows
      integration. The corresponding SVG source is also available in
      TortoiseHg source tree.

  * Several other bugfixes and UI improvements.

Bug fixes in 0.4:

  * Explorer shell extensions:
    - Register context menu and overlay icon extensions onto the Explorer's
      approved list.
    - Fixed ThreadingModel registry setting per MS doc [ 1895443 ]
  * TortoiseHg program groups now read 'hgproc' with hg.ico (in earlier
    versions, it used 'Python' with python.ico)
  * Make modal dialogs stay on top of their respective parent application
    (issue triggered by a bug in PyGTK).
  * Fixed random crashes in web server.
  * Fixed addremove behavior in Commit dialog.
  * Activated target revision option in Synchronize window that had been
    dormant so far (as reported by Doug Philips).
  * Terminate all backgrounded searches in Datamine window upon exit, so
    the associated Python process may terminate immediately too.
  * [ 1884919 ] Change Log hscroller
  * [ 1925985 ] HTTP port field not effective
  * [ 1914859 ] Global options should show up more often
  * [ 1914550 ] Changelog: Problems with german umlaut characters
  * [ 1902446 ] Commit claims file not under root while kdiff is open.
  * [ 1892791 ] Windows Explorer painfully slow for network drives

Changes and bug fixes since 0.4RC4:

  * Fixed traceback when revert file in changeset or log windows.
  * Fixed traceback when testing paths in Configure window.

Changes and bug fixes since 0.4RC3:

  * Activated target revision option in Synchronize window that had been
    dormant so far (as reported by Doug Philips).
  * Terminate all backgrounded searches in Datamine window upon exit, so
    the associated Python process may terminate immediately too.
  * New icons by Peer Sommerlund for configuration windows to represent
    repo and user config respectively.
  * Theme improvement in the Configuration windows (by Peter Ruibal).
  * Detect PyGtk and Mercurial installation more accurately in Hgtk
  * Removed 'square-boxes' in license window (of About window) caused by
    extra form-feed characters.

Changes and bug fixes since 0.4RC2:

  * Fixed traceback in tracelog, which was broken in 0.4RC2.
  * Right-click to diff/visual-diff to selected changeset, which replaced
    the earlier diff-to-marked function.
  * Create .hgignore file automatically when initializing new repo.
  * Fix traceback when users try to enable internal commit dialog with
    an empty 'commit' in mercurial.ini's 'tortoisehg' section.
  * Handle empty cmd.differ entries in hgrc like hg does
  * Register context menu and overlay icon extension onto the Explorer's
    Approved list.
  * Fixed UTF-8 encoding errors in hgcmd and several error message dialogs.
  * New transparent TortoiseHg logo in About dialog, again by Peer Sommerlund.
  * New 32x32 icons for dialogs to provide nicer icons when navigating
    through the applications with Alt-Tab on Windows.
  * Minor improvement/fixes on hgtk to simplify installation on *nix systems.

Changes and bug fixes since 0.4RC1:

  * Added buttons to stop command execution in Synchronize, Recovery,
    as well as any dialogs that use hgcmd dialog, including Update and
    Clone dialogs.
  * Show progress on status bar when updating changeset viewer.
  * Support Mercurial's HGENCODING environment variable.
  * [ Feature 1944469 ] Save and recall pull-update option in Synchronize
    dialog across sessions.
  * [ Bug 1939794 ] Unable to Merge changes with builtin commit UI.
  * [ Bug 1941545 ] Clone log window doesn't scroll.
  * [ Bug 1943382 ] hgproc.bat not executable without "installer"
  * [ Bug 1941368 ] Configure Repository "Test" button results broken.
  * [ Bug 1939911 ] Modal Dialogs aren't staying on top on application switch
  * [ Bug 1941376 ] hgtk with no parameters gives no help.
  * [ Bug 1937966 ] Changelog: utf8 messages handled incorrectly
  * [ Bug 1942777 ] National characters are not handled correctly.

Fixes in Mercurial since 0.3:

  * qimport fixed on Windows
  * new built-in filemerge system replaces hgmerge patches
  * many fixes for keyword extension
  * new -U (context lines) argument for diff and qdiff commands

New features in 0.3

  * Major improvements to changelog browser.  It is now good enough to
    deprecate both hgk and hgview.  Neither are bundled with the 0.3
    binary installer, but both can be added by the user if they wish.
    Support for external revision log viewers will be dropped in 0.4.

  * The new changelog browser supports filtering by file pattern,
    keywords, dates, and branches.  It is capable of graphing both the
    repository changelog and individual filelogs.  Changeset coloring by
    author is optional (tortoisehg.authorcolor).  All changeset graphing
    is done incrementally in batches (tortoisehg.graphlimit: 500)

  * New DataMine application for searching history (hg grep) and
    inspecting file histories (hg annotate).  This new application is
    tabbed to facilitate debugging sessions where search results and
    annotations can be grouped together for easy cross-reference.

  * New changeset browser, supports multiple parents intrinsically and
    supports a number of file-revision features (view at revision, save
    at revision, annotate at revision, revert to revision, etc).  The
    new changeset browser is also integrated into the changelog browser.

  * Standardized window layouts.  Close buttons have been moved to the
    toolbar.  Dialogs that use progress bars now use a standard status
    bar/progress bar widget.  Tooltips have been added.

  * Hgtk wrapper application for launching TortoiseHg dialogs from the
    command line

  * Support for an external visual editor: tortoisehg.editor.  Takes
    precedence over ui.editor when viewing files with TortoiseHg

  * Performance improvements in Mercurial itself (cset 0973501e5f4a)

  * New installer bitmap from Peer Sommerlund

  * Misc: The Synchronize dialog has been improved.  The Web Serve
    dialog no longer requires a subprocess to run the web server.  The
    configuration dialog has a number of bug fixes for the paths tab,
    and now has separators in the drop-down boxes for the varying value
    types (current, suggested, history). Http authentication has been
    fixed.  The hg integration library has seen major cleanups.

Bug Fixes in 0.3:

  * [ 1863086 ] "Revision Graph" fail on UNC path
    Fixed by removing hgk from base install.  Integrated log viewer
    is UNC path safe.
  * [ 1851395 ] Total Commander problem
  * [ 1882074 ] global name 'p' is not defined
  * [ 1854443 ] View changelog fails

New features in 0.2

  * Gtools has been integrated into TortoiseHg proper. It is no longer
    bundled as a Mercurial extension. The graphlog extension is now enabled
    again by default (only usable from the CLI, however).

  * Context menu icons, application window icons. The context menu has been
    simplified.

  * The changelog browser has a number of new features (filters and context
    menu options). The tag browser and changelog tagging features have been
    merged into this tool.

  * Hgview is now the default history viewer, hgk is being deprecated.

  * An email dialog for interfacing with the patchbomb extension. It can be
    reached from the synchronize dialog and from the changelog browser.

  * A new configuration tool (replacing hg-config dialogs) that allows you
    to configure TortoiseHg and Mercurial.

  * Most dialogs now use HgThread and GtkUI to run hg commands. These
    classes run the command in a background thread and provide GUI prompts
    for when user interaction is necessary (http web auth, etc). For some
    commands, it also provides a progress bar.

  * A preview of the new Mercurial merge back end. The python hgmerge.py
    script is being integrated into Mercurial, and this installer has a
    preview of how that will work. You need to unset any ui.merge in your
    Mercurial.ini file in order for it to work properly. If you don't
    configure anything it will use simplemerge to automatically perform
    merges. If conflicts are found it falls back to kdiff3 to resolve
    them interactively.

  * Slight improvement on speed of overlay icons display.

  * A new 'about' dialog.

Bugs fixed in 0.2

  * [SF Bug #1851395] Overlay icons and context menus are no longer
    restricted to MS-Explorer. So other file managers, such as Total
    Commander, should be supported.

  * [SF Bug #1844722] Users can now create repositories inside repository
     via the context menu.

Changes since 0.2rc1

  - N/A -


