Release 1.7.3
=============

This release adds some minor improvements, and fixes a lot of bugs. Most of
these has been in master branch since a long time.

New features
------------

* Add option to auto-close magit buffer/window on clean state #132
* Jump to source is now line precise #152 #153
  Using the 'E' (for edit) mapping, cursor will now jump to the exact line
  instead of the beginning of the hunk.
* Smarter cursor position when staging/refreshing.
  When refreshing, the cirsor stays in the same position. When (un)staging,
  cursor move to the hunk close to the current one.
* Add vimagit support to vim-airline

Bug fixes
---------

* Fix freeze while refresh fix #170 #36
* Fix character escape issues #156 #168
  These are two old issues, which have been reproduced thanks to the issue
  #168. Big up to @akrejczinger for the docker image.
* Discarding untracked file results in an error in some cases fix #165
* Ungraceful behaviour when opening magit outside of a git repo fix #162
* Freshly created repository fails to open in vimagit fix #169
* Handle commit set at the end of magit_default_sections #149

Release 1.7.2
=============

This is a *not so minor* vimagit update at the end.

It adds a nice feature, setting the cursor position on magit buffer opening at
a smart position: if you are editing a file, and your cursor is in the middle
of a modification, magit will open with he cursor on this hunk.

User will also notice that standard mappings (`L` or `E` to cite a few) are no
longer broken in commit mode. This may a be a first step to introduce default
mappings without `Shift` (see #101)

It also fixes some minor bugs (meaning these bugs were not break anything).

New features
------------

* Open magit buffer with a smart cursor position. When opening magit buffer,
  cursor is set to current file file hunk, if any #125 
* Disable most of the mappings in commit mode (i.e. when user is editing). For
  example, user can now use 'L' or 'E' when editing its commit message #101
  #106
* Magit now shows more information on top: it shows the current remote
  upstream branch and remote push branch. This is a first step to the git push
  feature!
* Add VimagitLeaveCommit User autocmd. WithVimagitEnterCommit and
  VimagitLeaveCommit, you can now set the textwidth when you are editing your
  commit message (see VimagitLeaveCommit section in vimagit help) #140 
* You can now use Enter to fold/unfold a file #71

Bug fixes
---------

* Fix 'quit' behavior to something consistent: if opened with Magit (i.e.
  splitting the window) 'q' close the magit buffer; if opened with MagitOnly
  , i.e. using the current buffer, 'q' switch to the previous buffer. If magit
  is the last opened window, and it does not have an alternate buffer, it
  quits vim #137 
* Fix jump to "file already open" abort #128
* Fix warning when magit is closed with bdelete #130
* Fix .gitmessage template commit duplicate on refresh #135

Contributors
------------

Users who have contributed to this release:
* @argshook 

Release 1.7.1
=============

Some bugs have been reported right after the release 1.7.0

Fixes
-----
* when info section is last section, commit title like "vim: " can be intertpreted as a modeline #120 
* vimagit opens in location list #119 

Release 1.7.0
=============

With the new cursor behavior, commit a serie of hunk has never been so
delightful! Stage one hunk and have a natural look to the next hunk in one
move. 

Also, think to enable vimagit support in vim-airline with:
:let g:airline#extensions#vimagit#enabled = 1

Major features
--------------

* Smart cursor position when staging #96 #115
* Check user's commit message length #86 #116
* New mappings `<C-n>` `<C-p>` to jump to hunks #101
* Jump through closed files too #99
* Enlarge or shrink hunks #97
* Commit message with standard write commands :w :x :wq ZZ #91
* Add support for Vim-Signify #93

Minor features
--------------

* Change inline help toggling mapping from 'h' to '?' #80
* Add magit#show_version() and g:magit_version #69
* Remove ugly 'End commit message' from vimagit buffer #84
* Add `<nowait>` to buffer mappings #85
* Fix inline help bug with commit section #110

Bug fixes
---------

* Handle empty commit (without staged file) and empty commit message #79
* Escape vimagit path to solve space issue #89
* Support commit.verbose=yes #98
* Escape dirs while chdir #89
* Avoid breaking tab-local directory settings #95
* Handle old vim ~ 7.4-0 fnameescape behavior on Windows #108
* Fix E871 error when staging #117
* Show custom mapping in inline help #103

Contributors
------------

Thanks to @hkupty @scps950707 @Alok @aschrab @thirtythreeforty @olshevskiy87
@poohzrn

Release 1.6.0
=============

New feature *jump* is really awesome, you must try it!

Features
--------

* From a hunk in the magit buffer, press *E* and *jump* the corresponding file
  at the diff position. If this file is already opened in a window, cursor move
  to this window.
* Add events at key points in magit buffer. User can plug commands to these
  events. This new feature brings the two next features:
  * If vim-gitgutter is installed, auto update its signs when git status is
    updated.
  * You can find in help a tip to enter in commit mode in insert mode.
* User can set its own git exec binary with g:magit_git_cmd variable.

Fixes
-----

* Commit message is preserved when the magit buffer is refreshed (fix #57)
* It is now possible to unstage by selection (fix #32)
* When opening a magit session, if a magit buffer for this git repository is
  already open, jump to this buffer.
* Inline help shows mapped key instead of default (fix #72)
* Fix peculiar folding behavior when magit buffer is refreshing.

Release 1.5.2
=============

Features
--------

* add command CU (commit undo) to close commit section (fix #55)
* add g:magit_discard_untracked_do_delete option (fix #66)
  when set, discard an untracked file will actually delete this file
* support 'typechanged' git status type

Fixes
-----

* clear undo history after each update_buffer() call (refs #64)
  undo in magit buffer did the user believe that it may undoes some vimagit
  actions: it is not! magit buffer undo history is wiped at each refresh;
  which means undo still works while the user is typing its commit message
  for example.
* binary file detection is done with git diff (fix #60, #61)
  it fixes false positive binary file detection, binary file detection on
  Windows, and may eventually speed up the refresh process :)
* output an understandable message when user tries ot discard an untracked file (fix #58)
* remove unwanted --No lines in buffer-- in status line when opening magit buffer (fix #56)
* use 'diff -p' instead of 'diff --patch' (fix #52)
* better handling of some command line error code and improve some error messages
* set local foldnestmax (fix #62)

Release 1.5.1
=============

Fixes
-----

* fix next/prev jump folding
* fix modified/untracked content in submodule (fix #49)

Release 1.5.0
=============

Features
--------

* vimagit is now able to handle multiple git repositories (fix #44,#34,#29).
* add mappings N and P to jump to next and previous hunk (fix #25).
* reorder magit display: display modified files first.
* disable inline help by default (fix #46). It is always possible to switch
  inline help display with 'h', or with g:magit_show_help
* rework magit buffer color syntax.
* display commit mode in Info section.
* rename magit buffer, now named after git repository path, e.g.
  magit:///path/to/git/repo/
* add MagitOnly command. It can be used to craft a bash alias like:
  alias magit='vim -c MagitOnly'

Fixes
-----

* safe and smart handling of quit command (fix #41,#43).
    * close vimagit window if there is another window.
    * switch to alternate buffer if any.
    * close vim if magit buffer the only buffer.
* disable ':w' mapping, which was not safe. This feature will be re inserted
  with a safer method later.

Release 1.4.2
=============

Enhancements
------------

* smarter way to handle magit buffer:
    * improve some internal mechanisms, which should improve performances for
      huge repositories
    * by default, do not show untracked/deleted/added/renamed files diffs (ref
      #28)
    * see g:magit_default_show_all_files new behavior
* add g:magit_default_sections to let user choose which sections are displayed
  (fix #37) user can now choose which sections to display, and in which order

Bug fixes
---------

* magit buffer become empty after switching to other window and back (#35)
* remove warning when opening magit buffer
* check that magit buffer exists before removing it (refs #39)

Release 1.4.1
=============

Fixes
-----

* fix add binary file (fixes #27)
* fix some display problem (Unstaged changes may not be highlighted)
* fix reset and discard for binary files

Features
--------

* git works in a clean environment, without any configuration

Release 1.4
===========

This is a major step for vimagit. It should now contain all primary command
needed for staging. Then, this release should be the real 1.0 version.

Features
--------

* Stage parts of hunk (fixes #8 and #19)
    * select some with v, then stage your selection with S
    * stage a single line with L
    * mark lines (can be non contiguous) with M, then stage marked lines in
      the hunk with S
* Stage single files in new directories (fixes #10)
* New options (fixes #18)
    * g:magit_default_show_all_files to define if file diffs are shown or not
      at magit buffer opening.
    * If magit buffer contains more than g:magit_warning_max_lines (default
      10000) lines to display, user is asked if he wants to display all
      these lines.
    * g:magit_default_fold_level to define foldlevel of magit buffer.
    * These options can be overriden with new magit#show_magit() parameters
      (allowing user to define its own mappings/commands)
* File display is now sorted.
* Show submodule diffs (fixes #12)

Fixes
-----

No bugs have been reported since release 1.3.

Release 1.3
===========

Features
--------

* hide file diffs: to hide/unhide diffs for a file, move the cursor to the
  filename and press <CR> (Enter). It allows vimagit to be fast when there is a
  lot of diffs in a repository.
* zo, zO, zc, zC mappings on a filename hide/unhide file diffs.
* modify hunk before staging: in the Magit buffer, it is possible to modify a
  hunk before staging it. Only '+' lines can be modified. No lines can be
  deleted or added for the moment. (fixes #9).
* handle new empty files and new symlink (fix #11).
* handle binary files (fix #13).
* stage/unstage/ignore/discard a file with cursor on the filename.
* add global mapping <Leader>M to open magit buffer (it can be overwritten
  with g:magit_show_magit_mapping).
* remove 'C' default mapping.

Fixes
-----

* fix staging issue: sometimes, staging a hunk was failing.
* handle filenames with spaces.

Release 1.2
===========

Fixes
-----

* read COMMIT_EDITMSG only if exists (commit command failed for fresh new git
  directory)
* fix issue of some rare hunk staging (because of some whitespaces)

Features
--------

* stage/unstage/ignore on file header now works
* add info section (fix #6)

Release 1.1
===========

Fixes
-----

* add wrappers to system and systemlist, when vim doesn't support system with
  List (available since vim v7.4.248)
* fix git diff failing when cwd is not in top dir (it ends with an empty Magit
  buffer)
* ensure to not use external diff if any
* Check commentChar from git config

New mappings
------------

* default discard mapping is now DDD, to avoid mistype
* map :w to commit
* close Magit buffer with q

Internal
--------

* put some first tests in regression, with travis
