SmartGit 8.0.4.1 (only on Linux, 2017-01-18)
============================================
Linux fix to support upgrading to SmartGit 17

SmartGit 8.0.4 (2017-01-11)
===========================
New Features, Improvements
--------------------------
- Git:
  - Log (file): added system property "smartgit.log.stopAtAdditions" to stop at
    additions when setting to false

Fixed Bugs
----------
- Git:
  - Log:
    - memory leak related to hyperlinks created by .gitbugtraq
  - GitHub, Refresh: "Invalid paths" error
  - GitHub markdown: links like #254 at the beginning of a line were erroneasly
    recognized as header
  - Pull: Submodule update did not preserve branch anymore
- Hg:
  - Refresh: fails if branch, bookmark or tag name contained a tab character
- Compare: possible syntax-related internal error
- OS X: when performing drag and drop in a table, autoscrolling did not work
- Windows: GIT_TEMPLATE_DIR was not set correctly for 64-bit Git installation


SmartGit 8.0.3 (2016-10-12)
===========================
Fixed Bugs
----------
- Git:
  - Add Branch/Create Feature: allowed characters < or > and then failed
  - Journal: possible empty if reflog commits were not present in repository
    any more ("missing commit" error in log.txt)
  - Distributed Review add-on:
    - possible internal error related to closed pull requests
    - possible "could not fetch remote ref" for Distributed Review databases in
      submodules
  - Push: Configure tracking did not work when using push.default=matching
  - various commands: possible internal error in case of much output
- SVN:
  - Add Tag: did not work for SVN repository
  - Commit & Push did not work for single-branch layout SVN clones
- Upgrade: error "control files ... does not contain entry" trying to upgrade
  from SmartGit 6.5 to SmartGit 8
- possible internal error closing repository


SmartGit 8.0.2 (2016-09-30)
===========================
Fixed Bugs
----------
- Git:
  - Background fetch: property "smartgit.repositories.background.fetch.delay"
    was not honored
  - Commit/Stage: possible internal error for invalid file names (with respect
    to configured LANG)
  - Commit dialog, Select button: commit messages with tabs caused odd layout
  - https authentication: no username/password prompt for multi-line
    "authentication failed for" errors
  - Journal:
    - Edit Author failed for commit messages starting with #
    - might show obsolete branches in the "Show Additional Branch" popup
    - single commit on master showed up with "tracking" jigsaw part
  - Log:
    - Checkout: not always all branches on the commit were offered to check out
    - Details: parent were sorted in visual order instead of raw commit order
    - File log:
      - Files view: current item might not be preselected correctly
      - missing tree error for inlined submodules
  - Push:
    - internal error having remote.push=HEAD configured
- GUI:
  - Compare: unindent (Shift+Tab) did not keep selection
  - some Ctrl+Alt+<key> accelerators fail if the focus is in a text control
    (reason: Ctrl+Alt+<key> is used with some keyboard layouts to enter special
     characters)
  - OS X: tree nodes did not occur immediately (especially in the Output view);
    added work-around for https://bugs.eclipse.org/bugs/show_bug.cgi?id=501907


SmartGit 8.0.1 (2016-09-12)
===========================
Fixed Bugs
----------
- Git:
  - Branches: misleading ahead/behind commit display in case of
    push.default branch != tracking branch
  - Commit:
    - false-positive "diverges remote branch" warning when trying to
      Commit&Push merge commit
    - flickering if spell-checker and line-length-guide want to highlight
  - Log: memory leak if having the Log window open for a long time
  - Refresh, File Monitor: smartgit.fileMonitor.excludeIgnoredDirectories=false
    does not work properly 
  - Stash-on-demand: possible internal error related to progress display
- SVN:
  - Journal: tracked/tracking display wrong (no jigsaw connection)
- GitHub: - comment timestamp was not shown in current time-zone but GMT
- GUI:
  - Compare: internal error apply selection/lines for inserted block at end of
    file
  - Commit: file completion did not show anything if nothing matching was found
  - general dialogs: navigation with tab-key or default button (on OS X) did
    not work correctly any more


SmartGit 8 (2016-08-31)
=======================
- no changes since SmartGit 8 RC 3


SmartGit 8 RC 3 (2016-08-30, just available as light-weight update)
===================================================================
Fixed Bugs
----------
- Git:
  - Log: should not fail in case of missing stash commits, but silently
    ignore them
  - Journal: fails to drag&drop commit between last incoming/behind and
    first common commit
- GUI:
  - Startup: possible false-positive "upgrade not supported by license"
    error
  - Log: Edit | Copy Name was enabled but did nothing
  - Welcome dialog: "Show dialog..." checkbox was ignored when
    clicking Close


SmartGit 8 RC 2 (2016-08-23)
============================
New Features, Improvements
--------------------------
- Git:
  - Journal: option to toggle display of incoming commits

Fixed Bugs
----------
- Git:
  - Refresh:
    - internal error when using Cygwin symlink in the .git/-admin area
    - possible false-positive "The submodule at ... has an error-prone admin
      area configuration" warning
- SVN:
  - revision -1 could be shown if a remote SVN had been added using git-svn 
    to an existing Git repository
- GitHub Enterprise:
  - OAuth was incorrectly available
- GUI:
  - Compare: Ctrl+Tab did not move focus to other control any more
  - Windows: work-around for the SWT bug
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=445369 (toolbar loses font)
- Windows bundles: under certain conditions Git might complain about missing
  DLLs


SmartGit 8 RC 1 (2016-08-08)
============================
New Features, Improvements
--------------------------
- Git:
  - Journal: - detached HEAD commits show up in gray
  - Refresh: ability to dismiss warning about absolute submodule paths
- Hg:
  - VM property "smartgit.hg.executable.maxVersion" to force SmartGit accept
    more recent versions
- SVN:
  - VM property "smartgit.svn.enableGitFlow" to enable Git-Flow for SVN
    repositories
- Compare: - added tab indents/shift+tab unindents if text across multiple
  lines is selected
- optional daily ping of customizable URL, e.g. to verify the actual user
  count, by defining the VM options smartgit.license.serverPing.url and
  smartgit.license.serverPing.method

Fixed Bugs
----------
- Git:
  - Journal: 
    - possible unnecessary column swap of ahead and behind
    - curvy layout
    - commit not considered mergable for some layouts
    - Show Additional Branch popup menu was unsorted
  - Refresh:
    - possible false-positive "The submodule at ... has an error-prone admin
      area configuration" warning if paths differ only in case
- GUI:
  - Tree control: internal error expanding parent-nodes with single-child nodes
    that automatically expand
  - Search Repositories: OK was not enabled after manual search
  - Conflict Solver configuration: titles patterns were rejected
  - Table, e.g. in Journal: double-clicks were triggered even for non-left
    mouse buttons


SmartGit 8 preview 14 (2016-07-28)
==================================
New Features, Improvements
--------------------------
- Git:
  - Commit: show file count
  - Journal:
    - do not distinguish between ahead and pushable commits to improve
      performance
    - performance improvements if commit times are not strictly topologically
      sorted, e.g. after a rebase
    - added tooltips
  - Log:
    - Branches: added Set Tracking, Stop Tracking, Rebase HEAD to
- BitBucket server: support for "Clone in SourceTree" links

Fixed Bugs
----------
- Git:
  - Branches: refresh icon for repository provider did not show up reliable
  - Journal:
    - in case of feature branch, the develop-ref only showed up after pushing
    - possible strange layout without connections between local and remote
      branch
  - Log:
    - file log: internal error if file had been created in last changed commit
  - Repository Settings: entering user name/email and having "Remember as
    default" selected, did not work
  - Author table column: possible internal error if too narrow and name
    contained multiple spaces
- BitBucket (server): refreshing failed in case of inaccessible forks
- Startup: new version check could report version 8 preview as incompatible
  (false-positive)
- GUI:
  - OS X: clicking dock icon while preferences were open, put a blocked
    window to front


SmartGit 8 preview 13 (2016-07-25)
==================================
Changes
-------
- renamed version from 7.2 to 8

New Features, Improvements
--------------------------
- Git:
  - Branch:
    - Delete: also cleans up .git/config fetch refspecs
  - Clone: when cloning without submodules, Repository Pull settings are now
    configured to not initialize new submodules
  - Journal: when merging from auxiliary branch, the branch is used for naming
    instead of the commit
  - Log:
    - Branches: added Push to Gerrit
    - Distributed Reviews: disallowed comments on file changes if it's not
      exactly a single commit diff
    - File log: performance improvements
  - Pull:
    - option to update changed tags ("pull --tags")
    - pull.rebase option had been reworked; remembers defaults per repository
  - Revert (Log, Journal): works on multiple commits
- support for github-windows://openRepo/<URL>

Fixed Bugs
----------
- Git:
  - Journal:
    - possible internal error depending on commit structure
    - prevents showing auxiliary ref if it is equal to the remote branch
  - Log: drag and drop could schedule multiple comamnds while another command
    was running
  - Push/Push To: might fail for tags
  - Refresh:
    - possible error "Cannot read ...\.gitconfig" for certain \ at end of lines
    - background refresh might leave .git/index.lock remaining on shutdown
  - Submodules: Reset did not work on missing submodule if submodule
    initialization option was not set in Repository Settings
- GUI:
  - Compare: Apply Lines might add instead of replace lines
  - when cloning using the URL handler, SmartGit was not brought to front
  - strange error message if autoupdate failed to connect to syntevo.com


SmartGit 7.2 preview 12 (2016-07-12)
====================================
New Features, Improvements
--------------------------
- Git:
  - Journal:
    - speed-search (message and ID)
    - "Revert" is now also applicable for "ahead" commits
- GUI:
  - on Windows tables and trees use colors even if selected

Fixed Bugs
----------
- Git:
  - Changes view: selecting an uninitialized submodules showed error
  - Cherry Pick: in case of conflict, the commit dialog opens empty instead of
    using the cherry-pick message by default
  - Journal:
    - possible false-positive pushable warning if auxiliary branch is displayed
    - possible internal error for complicated merge structures
    - squashing anihilating commits might result in empty commit
  - Refresh:
    - possible internal error in case of invalid reflogs
    - stashes were not showing up for Git worktrees
- GUI:
  - Linux:
    - completion popup: might show scrollbars making the single item unreadable
    - link colors on Linux might be hard to read for dark themes
      https://bugs.eclipse.org/bugs/show_bug.cgi?id=497071
  - Text editor color configuration: not all syntax colors had been read



SmartGit 7.2 preview 11 (2016-06-30)
====================================
New Features, Improvements
--------------------------
- Compare: support for dark theme
- Git-Flow, Finish Feature: commit message template can be configured by
  setting VM property smartgit.flow.finishFeature.message, e.g. to "Finished
  feature {0}."
- parent-less dialogs, e.g. preferences and about dialog on OS X, show up on
  the monitor where other windows are shown

Fixed Bugs
----------
- Git, Log, Save As: possible internal error saving to windows drive root
- internal error launching without configured Git executable, e.g. launching
  the first time
- Compare: changing color options in the preferences did not always redraw
  immediately


SmartGit 7.2 preview 10 (2016-06-27)
====================================
New Features, Improvements
--------------------------
- Git:
  - Branches:
    - Checkout: for a remote branch warns in case the local branch is diverged
    - Push to Gerrit (depends on .git/hooks/commit-msg and a remote with
      <server>:29418)
  - Changes: shows details for File Mode only changes
  - Journal: considers path (merge commits) from ahead to behind/auxiliary to
    better reflect the merge structure
  - Log:
    - Commits: Checkout on a tracked remote branch offers to check out tracking
      branch
    - Create Pull-Request (Bitbucket, GitHub, Stash): remembers target branch
  - Remote | Properties: edit push URL (if already present in .git/config)
  - Spellchecker:
    - always uses "my-words.dic" in settings directory for storing own words
      (no GUI option any more)
    - suggests name when adding dictionary file

Fixed Bugs
----------
- Git:
  - Branches:
    - "obsolete" tracking branch may not have been updated properly
    - wrong ahead/behind when merging
  - Changes: possibly outdated EOL-details in title
  - Distributed Review: always fetch submodule review meta data if initialized
  - Journal:
    - merge connector forked to wrong side
    - Move & Squash: may fail with "empty commit message" if commit message
      starts with #
    - unexpected curving
  - Mark Resolved dialog: branch name start should not be lower-case
  - Refresh (Windows): global core.excludesfile was not honored if %HOME%
    differed from %USERPROFILE%
  - Stash (automatically): fix for submodules
  - possible authentication problems if credential.helper is configured, but
    credentials are not yet known
- Hg:
  - Refresh, Log, ...: broken if defaults.log=-f was configured
- BitBucket: auto-generated credentials (using OAuth token) didn't work if port
  was part of remote URL
- Compare: phantom differences in lines (curly-brace related)
- Compare, Commit message, ... (OS X): crash when selecting certain IME input
  languages
- OS X: dialogs without parent (e.g. preferences, about) could not be closed by
  ESC or Cmd+W


SmartGit 7.2 preview 9 (2016-06-10)
===================================
New Features, Improvements
--------------------------
- Git:
  - Branches: shows information for local branch with "broken" tracking
  - Journal:
    - ability to checkout develop
    - Date column with smarter shorting if column is too narrow
    - Log-like coloring
    - added option to use different coloring for auxiliary branch
  - Log: - performance improvements in case of many tags for file logs
- Compare:
  - Apply Lines allows to apply multiple lines for added blocks

Fixed Bugs
----------
- Git:
  - Commit: for amend-Commit & Push it is not offered to replace remote branch
  - Journal: possible internal error
  - Push: false-positive warning about non-fast-forward for merge commits
- Hg:
  - Journal: "The command has been aborted because of outdated commits" error
- GUI:
  - tree-control related internal error, e.g. when moving repository to new
    group
  - Branches view: misaligned layout of hosting provider icon on OS X
  - Updater dialog (OS X): bold font causes text to move and be truncated
  - Log, Commits: the comment border of a selected line looked ugly


SmartGit 7.2 preview 8 (2016-06-06)
===================================
New Features, Improvements
--------------------------
- Git:
  - Journal:
    - following context commands are supported (especially useful with a
      selected auxiliary branch): reset, cherry-pick, merge, rebase head to,
      revert
    - improved layout, e.g., if auxiliary branch is ahead of HEAD
  - Log: option to open submodule log (not just submodule pointer)

Fixed Bugs
----------
- Git:
  - Journal:
    - auxiliary branch not showing up after merge anymore
    - possible intersection of merge commit's stub with connector to previous
      commit
  - Repository | Settings: option "Sign all commits" was incorrectly written
  - bundled new Git version (Windows): renamed /etc/post-install tasks because
    they usually fail because of file system permission problems
- SVN: - Push: possible internal error
- GUI: internal error collapsing/expanding tree node


SmartGit 7.2 preview 7 (2016-05-31)
===================================
New Features, Improvements
--------------------------
- Git:
  - Background Fetch:
    - shows executed command and path
    - should be enabled by default for the currently open
      repositories (because the Journal can show incoming commits)
  - Cherry Pick: Git's cherry-picking state is detected; support for aborting
  - Log: performance improvements for many refs
  - Push: forced-push-delay now needs to be enabled by setting
    smartgit.push.delayOnForceDialog=true
  - Refresh: symbolic links (junctions) are now also supported on Windows
  - updated bundled Git to version 2.8.3 (Windows) and 2.8.1 (OS X)
- GUI:
  - Branches view: performance improvements for many refs
  - Author columns are shortening if too narrow to show full name

Fixed Bugs
----------
- Git:
  - Branches:
    - invalid displayed ref count if refs were shown in sections
  - Changes view showed an error for selected uninitialized submodules
  - Index Editor: failed to write index for UTF-16 encoded files (with
    misleading error regarding mixed line endings)
  - Journal:
    - Move, Move & Squash did not show warning about modifying pushed commits
    - Push Commits was broken
    - having set auxiliary branch to <none>, it was reset to default, e.g.
      develop, after restart
    - concave jig-saw-puzzle part showed invalid color if row was selected
    - showed tracking jig-saw-puzzle part for non-tracking branches
    - possible non-existent parent connections were shown
    - columns were too narrow when opening the first time
  - Log:
    - commits might still not alight properly to left for higher-priority
      branches
    - moving annotated tag by drag and drop lost annotation
    - unexpected curves
  - Push: no force check when using push.default=matching and having no
    tracking configuration for current branch
- Hg:
  - directory log was broken for Mercurial 3.8
- SVN:
  - Branch, Delete: incorrectly offered to delete tracked/remote branch which
    failed anyway
- GitHub: "Could not connect to repository" error
- GUI:
  - (file) completion did not accept keypad-enter
  - some table columns (e.g. in Commit dialog) were too narrow by default on
    HiDPI screens
- internal error launching SmartGit with Java 1.8


SmartGit 7.2 preview 6 (2016-05-12)
===================================
New Features, Improvements
--------------------------
- Git:
  - Cherry pick: uses "commit" option because this preserves author/date even
    in case of conflicts
  - Changes view: sometimes the changes are not appliable in both directions
  - External tools: default external tool "Fast-forward merge" without
    confirmation dialog
  - Journal:
    - added Reset as context menu item
    - optionally shows one additional branch
    - remembers table column widths
  - Push: forced-push confirmation dialog now waits a few seconds as reminder
  - Repository Settings: added GPG configuration options, e.g. to sign commits
  - Submodule: Changes view shows details about selected commit(s)
- Hg:
  - Mercurial 3.7 - 3.8 are supported now

Fixed Bugs
----------
- Git:
  - Commit: "Bypass commit hook" option did not work for all commit variants
  - Journal:
    - Date column was missing
    - pushed commits could not be modified after preferences option had been
      toggled
    - pushable (purely local) commits were falsly rejected as pushable
  - Log: pending octopus merge was not properly showing up
  - Push-To-dialog allowed forced push even if not enabled in preferences
- Tray: no HiDPI-icons were used


SmartGit 7.2 preview 5 (2016-04-29)
===================================
New Features, Improvements
--------------------------
- Git:
  - Add Tag: option to sign annotated tag (requires installed GPG agent)
  - Commit:
    - option to skip hook
    - if necessary, forced push is detected
  - http(s) authentication: if a credentials helper already is defined,
    SmartGit does not use its own credential storage
  - Outgoing view:
    - renamed to Journal
    - shows simplified, compact current branch structure with incoming and
      pushed commits
- Compare/Conflict Solver: Apply Line(s)
- GUI:
  - Files view: added "Relative Path" column as replacement for "Name" and
    "Relative Directory"
  - Linux: zoom level should be automatically detected now
  - replaced several dialogs with "Xxx + Remote" buttons with checkbox
  - Preferences, Authentication: Del key now deletes selected credentials

Fixed Bugs
----------
- Git:
  - renaming directory: might fail if only changing the case (Windows)
  - Log: possible internal error related to priorities
  - Refresh: '?' in .gitignore did not match line terminators
  - submodule refs may become reset unexpectedly
- fresh installation did not contain any default tools
- Compare/Conflict Solver: possible internal errors related to
  "Apply Selection"


SmartGit 7.2 preview 4 (2016-04-18)
===================================
New Features, Improvements
--------------------------
- Git
  - Branches view:
    - ability to delete current branch (which will check out the current
      branch's commit instead)
    - options to configure display of refs
  - Commit: remembers previous messages in commit-notes history
  - Log:
    - tries to preserve the selected file, even after switching to a different
      commit
    - improved layout algorithm
    - set VM property smartgit.log.graph.layoutActions=true to provide layout
      tweak options
  - Pull/others: "remote error: invalid username or password" is recognized as
    authentication failure and hence the password needs to be entered again
  - Refresh: added VM property smartgit.branch.remoteBranchExcludeRegEx to
    specify remote branches that should be skipped for performance reasons
  - added View | Show Files From Submodules
- Preferences:
  - Welcome dialog: show only optionally
  - Tools: ability to recreate default tools
- Spell checker: doesn't mark file names or directories as invalid
- Windows installer: asks user whether to overwrite sourcetree:// URL handler,
  if already present

Fixed Bugs
----------
- Git:
  - GitHub/Git-LFS: "unexpected end of JSON input" when using internal SSH
    client
  - Log:
    - Details (Linux): right-click cleared selection
    - pushable merge sources might have shown up as pushed
  - Refresh: "~" as part of clean/smudge filter was not expanded correctly
    (OS X/Linux)
- Hg:
  - Refresh: internal error if branch had \n in its name
- SVN:
  - Push: pushing branches with slashes is now rejected
- File completion:
  - double-click appended full path
  - suggestions could contain duplicates when trying to commit same named files
    from different directories
- Spell checker: default dictionary was not found on OS X


SmartGit 7.2 preview 3 (2016-03-30)
===================================
New Features, Improvements
--------------------------
- Git:
  - Add Tag: the Push option now only pushes this tag, not all refs
  - Branches:
    - moved options from preferences to options popup menu
    - optionally hide tracked remote branches for Git-Flow refs
    - show ahead/behind information even if branch is non-tracking but
      has a similar named remote branch
  - Commit:
    - spell checking
    - the dialog allows to select between multiple possible commit
      messages, e.g. default merge message or previous messages
  - Push: uses --force-with-lease for checked forced push
  - Reset (hard): allows to stash local changes, not just discard them
  - Select Issue from JIRA: added speed-search

Fixed Bugs
----------
- Git:
  - Log: misleading error message when trying to open log for empty repository
  - Push: remote.<name>.push had no precedence over push.default
  - Refresh:
    - possible internal error in case of invalid refs
    - possible internal error in case of invalid stash-reflogs
- SVN:
  - Branches: ahead commits were broken
- GUI:
  - after Setup wizard no main window occurs
- Java 1.9 preview: error about invalid parameter -XX:MaxJavaStackTraceDepth=-1


SmartGit 7.2 preview 2 (2016-03-11)
===================================
Noteworthy Changes
------------------
- Linux: GTK3 is now the default. Please report all bugs and only switch back
  to GTK2 (SWT_GTK3=0) if absolutely necessary.
- updated SWT to version 4.614

New Features, Improvements
--------------------------
- Git:
  - Branches:
    - better support for multi-level branch hierarchies
    - ahead commits are not evaluated if push target != merge source
  - Conflict Solver: if file is considered binary, it though can be forced to
    be treated as text
  - Fetch More: support for multiple remote.<name>.fetch configurations
  - JIRA:
    - Select Issue dialog: option to reset query to default
  - Log:
    - File, Directory log: memory consumption reduced significantly for large
      repositories, e.g. Linux Kernel; added VM option "smartgit.log.onlyHead"
  - Push (Gerrit-support): support for remote.<name>.push configuration
- Hg:
  - Support for Mercurial 3.7
- GUI:
  - Compare/Conflict Solver: ability to apply multiple lines to other pane
  - rewrote (file) completion

Fixed Bugs
----------
- SVN:
  - Checkout: line ending correction did not work properly if "eol" attribute
    was set, but "text" wan't
- Linux:
  - GTK3:
    - Preferences, Built-In Text Editors: first tab is not drawn
    - Setup wizard: wrong input field focused by default


SmartGit 7.2 preview 1 (2016-02-18)
===================================
New Features, Improvements
--------------------------
- Add Branch and others: replace invalid characters with customizable valid
  char: smartgit.branch.replaceInvalidCharsWith=_
- Bitbucket, GitHub: support for URLs like
  git@name1.github.com:accountname/repository.git
- Push, JIRA Resolve:
  - ability to configure which branch to (not) check
    $ git config branch.<branchName> smartgitJiraResolve false
  - shows issue description

Fixed Bugs
----------
- Changes preview: reduced thread-creation when scrolling file table with
  keyboard
- JIRA: failed if bugtraq configuration contained invalid project keys
- SSH: values from ~/.ssh/config were not applied correctly
- Stash (on demand): don't try to stash submodule changes as this doesn't work
