dag: change initial frontier selection heuristic
[git-cola.git] / share / doc / git-cola / relnotes.rst
blob9b6d46fc2e59c0d962602c821a867d75d76818db
1 ========
2 Releases
3 ========
5 Latest Release
6 ==============
8 :ref:`v2.10 <v2.10>` is the latest stable release.
10 Development version
11 ===================
13 Clone the git-cola repo to get the latest development version:
15 ``git clone git://github.com/git-cola/git-cola.git``
17 .. _v2.11:
19 git-cola v2.11 (beta)
20 =====================
22 Usability, bells and whistles
23 -----------------------------
24 * `git cola` now includes a dark icon theme.  The dark icon theme can be
25   activated either by setting the `GIT_COLA_ICON_THEME` environment variable
26   to `dark`, by configuring `cola.icontheme` to `dark`, or by specifying
27   `--icon-theme=dark` on the command line.
29   https://github.com/git-cola/git-cola/pull/638
31 * Autocompletion was added to the `Fetch`, `Push`, and `Pull` dialogs.
33 * The commit message editor now remembers the "Spellcheck" setting
34   after exiting.
36   https://github.com/git-cola/git-cola/pull/645
38 * `git dag` now uses an improved algorithm for laying out the graph,
39   which avoids collisions under certain graph configurations, and
40   avoids overlapping tag with commits.
42   https://github.com/git-cola/git-cola/pull/648
44   https://github.com/git-cola/git-cola/pull/651
46   https://github.com/git-cola/git-cola/pull/654
48 * `Grep` now shows a preview of the selected file's content in a split window
49   below the grep results.
51 * `Grep` now includes line numbers in the preview pane's output.
53 * `Edit Remotes` now remembers its window settings after exiting.
55 * `Diff` now has an option to display line numbers in the editor.
57   https://github.com/git-cola/git-cola/issues/136
59 * `Amend Last Commit` can now be triggered via the `Commit` menu in addition
60   to the commit message editor's options.
62   https://github.com/git-cola/git-cola/issues/640
64 * The `File Browser` tool was made much faster and can now operate on
65   much larger repositories.
67   https://github.com/git-cola/git-cola/issues/499
69 * A new "turbo" mode was added that allows you to opt-out of operations
70   that can slow `git cola` on large repositories.  The turbo mode is
71   enabled by configuring `git config cola.turbo true`.  Turbo mode
72   disables the background loading of Git commit messages and other
73   details in the `File Browser` widget.
75 * A new GitIgnore dialog allows adding custom gitignore patterns.
77   https://github.com/git-cola/git-cola/pull/653
79 Fixes
80 =====
81 * Properly handle the case where an existing file is untracked using
82   the File Browser.
84 .. _v2.10:
86 git-cola v2.10
87 ==============
89 Usability, bells and whistles
90 -----------------------------
91 * `git cola` can now invoke the `.git/hooks/cola-prepare-commit-msg`
92   hook to update the commit message.  This hook takes the same parameters
93   as Git's `prepare-commit-message` hook.  The default path to this hook
94   can be overridden by setting the `cola.prepareCommitMessageHook`
95   configuration variable.
97   http://git-cola.readthedocs.io/en/latest/git-cola.html#prepare-commit-message
99 * `git cola diff` (and the corresponding `Diff` menu actions) can now
100   launch difftool with the standard `Ctrl+D` hotkey.  The `Ctrl+E` hotkey was
101   also added for launching an editor.
103 * Traditional Chinese (Taiwan) translation updates.
105 Fixes
106 -----
107 * `git cola` now works when installed in non-ascii, utf8-encoded paths.
109   https://github.com/git-cola/git-cola/issues/629
111 * Styling issues that caused black backgrounds in various widgets when using
112   PyQ5 on Mac OS X have been fixed.
114   https://github.com/git-cola/git-cola/issues/624
116 * The "Open Recent" menu action was broken and has been fixed.
118   https://github.com/git-cola/git-cola/issues/634
120 * Exiting `git cola` with a maximized main window would hang when reopened
121   on Linux.
123   https://github.com/git-cola/git-cola/issues/641
125 Packaging
126 ---------
127 * `appdata.xml` files are now provided at
128   `share/appdata/git-cola.xml` and `share/appdata/git-dag.xml`
129   for use by the Linux software gallery.
131   https://people.freedesktop.org/~hughsient/appdata/
133   https://github.com/git-cola/git-cola/pull/627
135 .. _v2.9.1:
137 git-cola v2.9.1
138 ===============
140 Fixes
141 -----
142 * The "Open Recent" menu was updated to new bookmarks format.
144   https://github.com/git-cola/git-cola/issues/628
146 .. _v2.9:
148 git-cola v2.9
149 =============
151 Usability, bells and whistles
152 -----------------------------
153 * New Polish translation thanks to Łukasz Wojniłowicz
155   https://github.com/git-cola/git-cola/pull/598
157 * The `Bypass Commit Hooks` feature now disables itself automatically
158   when a new commit is created.  The new behavior turns the option into a
159   single-use flag, which helps prevent users from accidentally leaving it
160   active longer than intended.
162   https://github.com/git-cola/git-cola/pull/595
164 * `git dag` learned to launch an external diff viewer on selected commits.
165   The standard `Ctrl+D` shortcut can be used to view diffs.
167   https://github.com/git-cola/git-cola/issues/468
169 * `git dag` learned to launch directory diffs via `git difftool --dir-diff`.
170   The `Ctrl+Shift+D` shortcut launches difftool in directory-diff mode.
172   https://github.com/git-cola/git-cola/issues/468
174 * Items in the "Favorites" list can now be renamed, which makes it
175   easier to differentiate between several checkouts of the same repository.
177   https://github.com/git-cola/git-cola/issues/599
179   https://github.com/git-cola/git-cola/pull/601
181 * The startup screen now includes a logo and `git cola` version information.
183   https://github.com/git-cola/git-cola/issues/526
185 * The `About` page was revamped to contain multiple tabs.  A new tab was added
186   that provides details about `git cola`''s dependencies.  New tabs were also
187   added for giving credit to `git cola`'s authors and translators.
189 * The `About` page can now be accessed via `git cola about`.
191 * The "Fast-forward only" and "No fast-forward" options supported by
192   `git pull` are now accessible via `git cola pull`.
194 * Doing a forced push no longer requires selecting the remote branch.
196   https://github.com/git-cola/git-cola/pull/618
198 * `git cola push` now has an option to suppress the prompt that is shown
199   when pushing would create new remote branches.
201   https://github.com/git-cola/git-cola/issues/605
203 * `git dag` now shows commit messages in a more readable color.
205   https://github.com/git-cola/git-cola/issues/574
207 * `git cola browse` and the `status` widget learned to launch the OS-specified
208   default action for a file.  When used on directories via `git cola browse`,
209   or when "Open Parent Directory" is used on files, the OS-specified
210   file browser will typically be used.
212 * `git cola browse` and the `status` widget learned to launch terminals.
214 Fixes
215 -----
216 * `git cola browse` was not updating when expanding items.
218   https://github.com/git-cola/git-cola/issues/588
220 * Typofixes in comments, naming, and strings have been applied.
222   https://github.com/git-cola/git-cola/pull/593
224 * The inotify and win32 filesystem monitoring no longer refreshes
225   when updates are made to ignored files.
227   https://github.com/git-cola/git-cola/issues/517
229   https://github.com/git-cola/git-cola/issues/516
231 * The `Refresh` button on the actions panel no longer raises an
232   exception when using PyQt5.
234   https://github.com/git-cola/git-cola/issues/604
236 * Fixed a typo in the inotify backend that is triggered when files are removed.
238   https://github.com/git-cola/git-cola/issues/607
240 * Fixed a typo when recovering from a failed attempt to open a repository.
242   https://github.com/git-cola/git-cola/issues/606
244 * `git dag` now properly updates itself when launched from the menubar.
246   https://github.com/git-cola/git-cola/pull/613
248 * If git-cola is invoked on Windows using `start pythonw git-cola`,
249   a console window will briefly flash on the screen each time
250   `git cola` invokes `git`.  The console window is now suppressed.
252 * We now avoid some problematic Popen flags on Windows which were
253   breaking the `git rebase` feature on Windows.
255 * The `Save` button in `git dag`'s "Grab File..." feature now properly
256   prompts for a filename when saving files.
258   https://github.com/git-cola/git-cola/pull/617
260 Development
261 -----------
262 * The `qtpy` symlink in the source tree has been removed to allow for easier
263   development on Windows.
265   https://github.com/git-cola/git-cola/issues/626
267 .. _v2.8:
269 git-cola v2.8
270 =============
272 Usability, bells and whistles
273 -----------------------------
274 * `git cola push` learned to configure upstream branches.
276   https://github.com/git-cola/git-cola/issues/563
278 Fixes
279 -----
280 * The diffstat view is now properly updated when notifications are
281   received via inotify filesystem monitoring.
283   https://github.com/git-cola/git-cola/issues/577
285 * Python3 with PyQt5 had a bug that prevented `git cola` from starting.
287   https://github.com/git-cola/git-cola/pull/589
289 .. _v2.7:
291 git-cola v2.7
292 =============
294 Fixes
295 -----
297 * When repositories stored in non-ASCII, UTF-8-encoded filesystem paths
298   were operated upon with `LC_ALL=C` set in the environment, unicode errors
299   would occur when using `python2`.  `git cola` was made more robust and will
300   now operate correctly within this environment.
302   https://github.com/git-cola/git-cola/issues/581
304 * Support for the `GIT_WORK_TREE` environment variable was fixed.
306   https://github.com/git-cola/git-cola/pull/582
308 Development
309 -----------
311 * The `unittest.mock` module is now used instead of the original `mock` module
312   when running the `git cola` test suite using Python3.
314   https://github.com/git-cola/git-cola/issues/569
316 Packaging
317 ---------
319 * `git cola` is now compatible with *PyQt5*, *PyQt4*, and *Pyside*.
320   `git cola` previously supported *PyQt4* only, but will now use whichever
321   library is available.  Users are not required to upgrade at this time,
322   but *PyQt5* support can be enabled anytime by making its python
323   modules available.
325   https://github.com/git-cola/git-cola/issues/232
327   *NOTE*: We do not yet recommend using *PyQt5* because there are known
328   exit-on-segfault bugs in *Qt5* that have not yet been addressed.
329   `git cola` is sensitive to this bug and is known to crash on exit
330   when using `git dag` or the interactive rebase feature on *PyQt5*.
332   https://bugreports.qt.io/browse/QTBUG-52988
334   *PyQt4* is stable and there are no known issues when using it so
335   we recommend using it until the Qt5 bugs have been resolved.
337 * `git cola` now depends on *QtPy* and includes a bundled copy of the
338   `qtpy` library.  If you are packaging `git cola` and would prefer to use
339   `qtpy` from your distribution instead of the built-in version then use
340   `make NO_VENDOR_LIBS=1` when building `git cola`.  This will prevent
341   vendored libraries from being installed.
343 .. _v2.6:
345 git-cola v2.6
346 =============
348 Usability, bells and whistles
349 -----------------------------
351 * A new "Reset" sub-menu provides access to running "git reset --mixed"
352   when resetting branch heads and "git reset  --merge" when resetting
353   worktrees.
355   https://github.com/git-cola/git-cola/issues/542
357 * `git cola` now supports linked worktrees, i.e. worktrees created by
358   `git worktree`.
360   https://github.com/git-cola/git-cola/issues/554
362 Fixes
363 -----
365 * Diff highlighting is now robust to the user having
366   diff.supressBlankEmpty=true in their git config.
368   https://github.com/git-cola/git-cola/issues/541
370 * The filesystem monitor now properly handles repositories that use
371   `.git`-files, e.g. when using submodules.
373   https://github.com/git-cola/git-cola/issues/545
375   https://github.com/git-cola/git-cola/pulls/546
377 * Per-repository git configuration is now properly detected when launching
378   `git cola` from an application launcher.
380   https://github.com/git-cola/git-cola/issues/548
382 * `git cola` now cleans up after itself immediately to avoid leaving behind
383   empty `/tmp/git-cola-XXXXXX` directories when the user uses `Ctrl+C`
384   to quit the app.
386   https://github.com/git-cola/git-cola/issues/566
388 Packaging
389 ---------
391 * It is now possible to install `git cola` to and from utf8-encoded filesystem
392   paths.  Previously, Python's stdlib would throw an encoding error during
393   installation.  We workaround the stdlib by forcing python2 to use utf-8,
394   thus fixing assumptions in the stdlib library code.
396   https://github.com/git-cola/git-cola/issues/551
398 .. _v2.5:
400 git-cola v2.5
401 =============
403 Usability, bells and whistles
404 -----------------------------
406 * The icon for untracked files was adjusted to better differentiate
407   between files and the "Untracked" header.
409   https://github.com/git-cola/git-cola/issues/509
411 * Ctrl+O was added as a hotkey for opening repositories.
413   https://github.com/git-cola/git-cola/pull/507
415 * `git dag` now uses consistent edge colors across updates.
417   https://github.com/git-cola/git-cola/issues/512
419 * `git cola`'s Bookmarks widget can now be used to set a "Default Repository".
420   Under the hood, we set the `cola.defaultrepo` configuration variable.
421   The default repository is used whenever `git cola` is launched outside of
422   a Git repository.  When unset, or when set to a bogus value, `git cola`
423   will prompt for a repository, as it previously did.
425   https://github.com/git-cola/git-cola/issues/513
427 * `git cola`'s Russian and Spanish translations were improved
428   thanks to Vaiz and Zeioth.
430   https://github.com/git-cola/git-cola/pull/514
432   https://github.com/git-cola/git-cola/pull/515
434   https://github.com/git-cola/git-cola/pull/523
436 * `git cola` was translated to Turkish thanks to Barış ÇELİK.
438   https://github.com/git-cola/git-cola/pull/520
440 * The status view now supports launching `git gui blame`.  It can be
441   configured to use a different command by setting `cola.blameviewer`.
443   https://github.com/git-cola/git-cola/pull/521
445 * `git dag` now allows selecting non-contiguous ranges in the log widget.
447   https://github.com/git-cola/git-cola/issues/468
449 * Any font can now be chosen for the diff editor, not just monospace fonts.
451   https://github.com/git-cola/git-cola/issues/525
453 Fixes
454 -----
456 * `xfce4-terminal` and `gnome-terminal` are now supported when launching
457   `git mergetool` to resolve merges.  These terminals require that the command
458   to execute is shell-quoted and passed as a single string argument to `-e`
459   rather than as additional command line arguments.
461   https://github.com/git-cola/git-cola/issues/524
463 * Fixed a unicode problem when formatting the error message that is shown
464   when `gitk` is not installed.  We now handle unicode data in tracebacks
465   generated by python itself.
467   https://github.com/git-cola/git-cola/issues/528
469 * The `New repository` feature was fixed.
471   https://github.com/git-cola/git-cola/pull/533
473 * We now use omit the extended description when creating "fixup!" commits,
474   for consistency with the Git CLI.  We now include only the one-line summary
475   in the final commit message.
477   https://github.com/git-cola/git-cola/issues/522
479 .. _v2.4:
481 git-cola v2.4
482 =============
484 Usability, bells and whistles
485 -----------------------------
487 * The user interface is now HiDPI-capable.  git-cola now uses SVG
488   icons, and its interface can be scaled by setting the `GIT_COLA_SCALE`
489   environment variable.
491 * `git dag` now supports the standard editor, difftool, and history hotkeys.
492   It is now possible to invoke these actions from file widget's context
493   menu and through the standard hotkeys.
495   https://github.com/git-cola/git-cola/pull/473
497 * The `Status` tool also learned about the history hotkey.
498   Additionally, the `Alt-{j,k}` aliases are also supported in the `Status`
499   tool for consistency with the other tools where the non-Alt hotkeys are not
500   available.
502   https://github.com/git-cola/git-cola/pull/488
504 * The `File Browser` tool now has better default column sizes,
505   and remembers its window size and placement.
507 * The `File Browser` now supports the refresh hotkey, and has better
508   behavior when refreshing.  The selection is now retained, and new and
509   removed files are found when refreshing.
511 * A new `git-cola-completion.bash` completion script is provided in the
512   `contrib/` directory.  It must be used alongside Git's completion script.
513   Source it from your `~/.bashrc` (or `~/.zshrc`, etc) after sourcing
514   the `git-completion.bash` script and you will have command-line completion
515   support for the `git cola` and `git dag` sub-commands.
517 * The "checkout" dialog now offers completion for remote branches and other
518   git refs.  This makes it easier to checkout remote branches in a detached
519   head state.  Additionally, the checkout dialog also offers completion for
520   remote branches that have not yet been checked out, which makes it easier to
521   create a local tracking branch by just completing for that potential name.
523   https://github.com/git-cola/git-cola/issues/390
525 * The "create branch" and "create tag" dialogs now save and restore their
526   window settings.
528 * The "status" widget can now be configured to use a bold font with a darker
529   background for the header items.
531   https://github.com/git-cola/git-cola/pull/506
533 * The "status" widget now remembers its horizontol scrollbar position across
534   updates.  This is helpful when working on projects with long paths.
536   https://github.com/git-cola/git-cola/issues/494
538 Fixes
539 -----
541 * When using *Git for Windows*, a `git` window would appear
542   when running *Windows 8*.  We now pass additional flags to
543   `subprocess.Popen` to prevent a `git` window from appearing.
545   https://github.com/git-cola/git-cola/issues/477
547   https://github.com/git-cola/git-cola/pull/486
549 * Launching difftool with `.PY` in `$PATHEXT` on Windows was fixed.
551   https://github.com/git-cola/git-cola/issues/492
553 * Creating a local branch tracking a remote branch that contains
554   slashes in its name is now properly handled.
556   https://github.com/git-cola/git-cola/issues/496
558 * The "Browse Other Branch" feature was broken by Python3, and is now fixed.
560   https://github.com/git-cola/git-cola/issues/501
562 * We now avoid `long` for better Python3 compatibility.
564   https://github.com/git-cola/git-cola/issues/502
566 * We now use Git's default merge message when merging branches.
568   https://github.com/git-cola/git-cola/issues/508
570 * Miscellaneous fixes
572   https://github.com/git-cola/git-cola/pull/485
574 Packaging
575 ---------
577 * git-cola's documentation no longer uses an intersphinx link mapping
578   to docs.python.org.  This fixes warnings when building rpms using koji,
579   where network access is prevented.
581   https://bugzilla.redhat.com/show_bug.cgi?id=1231812
583 .. _v2.3:
585 git-cola v2.3
586 =============
588 Usability, bells and whistles
589 -----------------------------
591 * The Interactive Rebase feature now works on Windows!
593   https://github.com/git-cola/git-cola/issues/463
595 * The `diff` editor now understands vim-style `hjkl` navigation hotkeys.
597   https://github.com/git-cola/git-cola/issues/476
599 * `Alt-{j,k}` navigation hotkeys were added to allow changing to the
600   next/previous file from the diff and commit editors.
602 * The `Rename branch` menu action is now disabled in empty repositories.
604   https://github.com/git-cola/git-cola/pull/475
606   https://github.com/git-cola/git-cola/issues/459
608 * `git cola` now checks unmerged files for conflict markers before
609   staging them.  This feature can be disabled in the preferences.
611   https://github.com/git-cola/git-cola/issues/464
613 * `git dag` now remembers which commits were selected when refreshing
614   so that it can restore the selection afterwards.
616   https://github.com/git-cola/git-cola/issues/480
618 * "Launch Editor", "Launch Difftool", "Stage/Unstage",
619   and "Move Up/Down" hotkeys now work when the commit message
620   editor has focus.
622   https://github.com/git-cola/git-cola/issues/453
624 * The diff editor now supports the `Ctrl+u` hotkey for reverting
625   diff hunks and selected lines.
627 * The `core.commentChar` Git configuration value is now honored.
628   Commit messages and rebase instruction sheets will now use
629   the configured character for comments.  This allows having
630   commit messages that start with `#` when `core.commentChar`
631   is configured to its non-default value.
633   https://github.com/git-cola/git-cola/issues/446
635 Fixes
636 -----
638 * Diff syntax highlighting was improved to handle more edge cases
639   and false positives.
641   https://github.com/git-cola/git-cola/pull/467
643 * Setting commands in the interactive rebase editor was fixed.
645   https://github.com/git-cola/git-cola/issues/472
647 * git-cola no longer clobbers the Ctrl+Backspace text editing shortcut
648   in the commit message editor.
650   https://github.com/git-cola/git-cola/issues/453
652 * The copy/paste clipboard now persists after `git cola` exits.
654   https://github.com/git-cola/git-cola/issues/484
656 .. _v2.2.1:
658 git-cola v2.2.1
659 ===============
661 Fixes
662 -----
663 * Fixed the "Sign off" feature in the commit message editor.
665 .. _v2.2:
667 git-cola v2.2
668 =============
670 Usability, bells and whistles
671 -----------------------------
672 * Double-click will now choose a commit in the "Select commit" dialog.
674 * `git cola` has a feature that reads `.git/MERGE_MSG` and friends for the
675   commit message when a merge is in-progress.  Upon refresh, `git cola` will
676   now detect when a merge has completed and reset the commit message back to
677   its previous state.  It is only reset if the editor contains a message
678   that was read from the file and has not been manually edited by the user.
680 * The commit message editor's context menu now has a "Clear..." action for
681   clearing the message across both the summary and description fields.
683 * Traditional Chinese (Taiwan) translation updates.
685 * The system theme's icons are now used wherever possible.
687   https://github.com/git-cola/git-cola/pull/458
689 Fixes
690 -----
691 * The stash viewer now uses ``git show --no-ext-diff`` to avoid running
692   user-configured diff tools.
694 * `git cola` now uses the `setsid()` system call to ensure that the
695   `GIT_ASKPASS` and `SSH_ASKPASS` helper programs are used when pushing
696   changes using `git`.  The askpass helpers will now be used even when
697   `git cola` is launched from a terminal.
699   The behavior without `setsid()` is that `git cola` can appear to hang while
700   pushing changes.  The hang happens when `git` prompts the user for a
701   password using the terminal, but the user never sees the prompt.  `setsid()`
702   detaches the terminal, which ensures that the askpass helpers are used.
704   https://github.com/git-cola/git-cola/issues/218
706   https://github.com/git-cola/git-cola/issues/262
708   https://github.com/git-cola/git-cola/issues/377
710 * `git dag`'s file list tool was updated to properly handle unicode paths.
712 * `gnome-terminal` is no longer used by default when `cola.terminal` is unset.
713   It is broken, as was detailed in #456.
715   https://github.com/git-cola/git-cola/issues/456
717 * The interactive rebase feature was not always setting `$GIT_EDITOR`
718   to the value of `gui.editor`, thus there could be instances where rebase
719   will seem to not stop, or hang, when performing "reword" actions.
721   We now set the `$GIT_EDITOR` environment variable when performing the
722   "Continue", "Skip", and "Edit Todo" rebase actions so that the correct
723   editor is used during the rebase.
725   https://github.com/git-cola/git-cola/issues/445
727 Packaging
728 ---------
729 * `git cola` moved from a 3-part version number to a simpler 2-part "vX.Y"
730   version number.  Most of our releases tend to contain new features.
732 .. _v2.1.2:
734 git-cola v2.1.2
735 ===============
737 Usability, bells and whistles
738 -----------------------------
739 * Updated zh_TW translations.
741 * `git cola rebase` now defaults to `@{upstream}`, and generally uses the same
742   CLI syntax as `git rebase`.
744 * The commit message editor now allows you to bypass commit hooks by selecting
745   the "Bypass Commit Hooks" option.  This is equivalent to passing the
746   `--no-verify` option to `git commit`.
748   https://github.com/git-cola/git-cola/issues/357
750 * We now prevent the "Delete Files" action from creating a dialog that does
751   not fit on screen.
753   https://github.com/git-cola/git-cola/issues/378
755 * `git xbase` learned to edit rebase instruction sheets that contain
756   `exec` commands.
758 * The diff colors are now configurable.  `cola.color.{text,add,remove,header}`
759   can now be set with 6-digit hexadecimal colors.
760   See the `git cola manual <https://git-cola.readthedocs.io/en/latest/git-cola.html#configuration-variables>_`
761   for more details.
763 * Improved hotkey documentation.
765 Fixes
766 -----
767 * `git cola` will now allow starting an interactive rebase with a dirty
768   worktree when `rebase.autostash` is set.
770   https://github.com/git-cola/git-cola/issues/360
772 .. _v2.1.1:
774 git-cola v2.1.1
775 ===============
777 Usability, bells and whistles
778 -----------------------------
779 * A new "Find files" widget was added, and can be activated by
780   using the `Ctrl+t` or `t` hotkeys.
782 * A new `git cola find` sub-command was added for finding files.
784 * `git cola` now remembers the text cursor's position when staging
785   interactively with the keyboard.  This makes it easier to use the keyboard
786   arrows to select and stage lines.
788 * The completion widgets will now select the top completion item
789   when `Enter` or `Return` are pressed.
791 * You can now refresh using `F5` in addition to the existing `Ctrl+R` hotkey.
793 Fixes
794 -----
795 * `git cola` now passes `--no-abbrev-commit` to `git log` to override
796   having `log.abbrevCommit = true` set in `.gitconfig`.
798 .. _v2.1.0:
800 git-cola v2.1.0
801 ===============
802 Usability, bells and whistles
803 -----------------------------
804 * `git dag` now forwards all unknown arguments along to `git log`.
806   https://github.com/git-cola/git-cola/issues/389
808 * Line-by-line interactive staging was made more robust.
810   https://github.com/git-cola/git-cola/pull/399
812 * "Bookmarks" was renamed to "Favorites".
814   https://github.com/git-cola/git-cola/issues/392
816 * Untracked files are now displayed using a unique icon.
818   https://github.com/git-cola/git-cola/pull/388
820 Fixes
821 -----
822 * `git dag` was triggering a traceback on Fedora when parsing Git logs.
824   https://bugzilla.redhat.com/show_bug.cgi?id=1181686
826 * inotify expects unicode paths on Python3.
828   https://github.com/git-cola/git-cola/pull/393
830 * Untracked files are now assumed to be utf-8 encoded.
832   https://github.com/git-cola/git-cola/issues/401
834 .. _v2.0.8:
836 git-cola v2.0.8
837 ===============
838 Usability, bells and whistles
839 -----------------------------
840 * `git cola` can now create GPG-signed commits and merges.
842   https://github.com/git-cola/git-cola/issues/149
844   See the documentation for details about setting up a GPG agent.
846 * The status widget learned to copy relative paths when `Ctrl+x` is pressed.
848   https://github.com/git-cola/git-cola/issues/358
850 * Custom GUI actions can now define their own keyboard shortcuts by
851   setting `guitool.$name.shortcut` to a string understood by Qt's
852   `QAction::setShortcut()` API, e.g. `Alt+X`.
854   See http://qt-project.org/doc/qt-4.8/qkeysequence.html#QKeySequence-2
855   for more details about the supported values.
857 * `git cola` learned to rename branches.
859   https://github.com/git-cola/git-cola/pull/364
861   https://github.com/git-cola/git-cola/issues/278
863 * `git dag` now has a "Show history" context menu which can be used to filter
864   history using the selected paths.
866 Fixes
867 -----
868 * `sphinxtogithub.py` was fixed for Python3.
870   https://github.com/git-cola/git-cola/pull/353
872 * The commit that changed how we read remotes from `git remote`
873   to parsing `git config` was reverted since it created problems
874   for some users.
876 * Fixed a crash when using the `rebase edit` feature.
878   https://github.com/git-cola/git-cola/issues/351
880 * Better drag-and-drop behavior when dropping into gnome-terminal.
882   https://github.com/git-cola/git-cola/issues/373
884 Packaging
885 ---------
886 * The `git-cola-folder-handler.desktop` file handler was fixed
887   to pass validation by `desktop-file-validate`.
889   https://github.com/git-cola/git-cola/issues/356
891 * The `git.svg` icon was renamed to `git-cola.svg`, and `git cola` was taught
892   to prefer icons from the desktop theme when available.
894 .. _v2.0.7:
896 git-cola v2.0.7
897 ===============
898 Usability, bells and whistles
899 -----------------------------
900 * New hotkey: `Ctrl+Shift+M` merges branches.
902 * New hotkey: `Ctrl+R` refreshes the DAG viewer.
904   https://github.com/git-cola/git-cola/issues/347
906 Fixes
907 -----
908 * We now use `git config` to parse the list of remotes
909   instead of parsing the output of `git remote`, which
910   is a Git porcelain and should not be used by scripts.
912 * Avoid "C++ object has been deleted" errors from PyQt4.
914   https://github.com/git-cola/git-cola/issues/346
916 Packaging
917 ---------
918 * The `make install` target now uses `install` instead of `cp`.
920 .. _v2.0.6:
922 git-cola v2.0.6
923 ===============
924 Usability, bells and whistles
925 -----------------------------
926 * Updated Brazillian Portuguese translation.
928 * The status and browse widgets now allow drag-and-drop into
929   external applications.
931   https://github.com/git-cola/git-cola/issues/335
933 * We now show a progress bar when cloning repositories.
935   https://github.com/git-cola/git-cola/issues/312
937 * The bookmarks widget was simplified to not need a
938   separate dialog.
940   https://github.com/git-cola/git-cola/issues/289
942 * Updated Traditional Chinese translation.
944 * We now display a warning when trying to rebase with uncommitted changes.
946   https://github.com/git-cola/git-cola/issues/338
948 * The status widget learned to filter paths.
949   `Ctrl+Shift+S` toggles the filter widget.
951   https://github.com/git-cola/git-cola/issues/337
953   https://github.com/git-cola/git-cola/pull/339
955 * The status widget learned to move files to the trash
956   when the `send2trash <https://github.com/hsoft/send2trash>`_
957   module is installed.
959   https://github.com/git-cola/git-cola/issues/341
961 * "Recent repositories" is now a dedicated widget.
963   https://github.com/git-cola/git-cola/issues/342
965 * New Spanish translation thanks to Pilar Molina Lopez.
967   https://github.com/git-cola/git-cola/pull/344
969 Fixes
970 -----
971 * Newly added remotes are now properly seen by the fetch/push/pull dialogs.
973   https://github.com/git-cola/git-cola/issues/343
975 .. _v2.0.5:
977 git-cola v2.0.5
978 ===============
979 Usability, bells and whistles
980 -----------------------------
981 * New Brazillian Portuguese translation thanks to Vitor Lobo.
983 * New Indonesian translation thanks to Samsul Ma'arif.
985 * Updated Simplified Chinese translation thanks to Zhang Han.
987 * `Ctrl+Backspace` is now a hotkey for "delete untracked files" in
988   the status widget.
990 * Fetch/Push/Pull dialogs now use the configured remote of the current
991   branch by default.
993   https://github.com/git-cola/git-cola/pull/324
995 Fixes
996 -----
997 * We now use `os.getcwd()` on Python3.
999   https://github.com/git-cola/git-cola/pull/316
1001   https://github.com/git-cola/git-cola/pull/326
1003 * The `Ctrl+P` hotkey was overloaded to both "push" and "cherry-pick",
1004   so "cherry-pick" was moved to `Ctrl+Shift+C`.
1006 * Custom GUI tools with mixed-case names are now properly supported.
1008 * "Diff Region" is now referred to as "Diff Hunk" for consistency
1009   with common terminology from diff/patch tools.
1011   https://github.com/git-cola/git-cola/issues/328
1013 * git-cola's test suite is now portable to MS Windows.
1015   https://github.com/git-cola/git-cola/pull/332
1017 .. _v2.0.4:
1019 git-cola v2.0.4
1020 ===============
1021 Usability, bells and whistles
1022 -----------------------------
1023 * We now handle the case when inotify `add_watch()` fails
1024   and display instructions on how to increase the number of watches.
1026   https://github.com/git-cola/git-cola/issues/263
1028 * New and improved zh_TW localization thanks to V字龍(Vdragon).
1030   https://github.com/git-cola/git-cola/pull/265
1032   https://github.com/git-cola/git-cola/pull/267
1034   https://github.com/git-cola/git-cola/pull/268
1036   https://github.com/git-cola/git-cola/issues/269
1038   https://github.com/git-cola/git-cola/pull/270
1040   https://github.com/git-cola/git-cola/pull/271
1042   https://github.com/git-cola/git-cola/pull/272
1044 * New hotkeys: `Ctrl+F` for fetch, `Ctrl+P` for push,
1045   and `Ctrl+Shift+P` for pull.
1047 * The bookmarks widget's context menu actions were made clearer.
1049   https://github.com/git-cola/git-cola/issues/281
1051 * The term "Staging Area" is used consistently in the UI
1052   to allow for better localization.
1054   https://github.com/git-cola/git-cola/issues/283
1056 * The "Section" term is now referred to as "Diff Region"
1057   in the UI.
1059   https://github.com/git-cola/git-cola/issues/297
1061 * The localization documentation related to the LANGUAGE
1062   environment variable was improved.
1064   https://github.com/git-cola/git-cola/pull/293
1066 * The "Actions" panel now contains tooltips for each button
1067   in case the button labels gets truncated by Qt.
1069   https://github.com/git-cola/git-cola/issues/292
1071 * Custom `git config`-defined actions can now be run in the
1072   background by setting `guitool.<name>.background` to `true`.
1074 Fixes
1075 -----
1076 * We now use bold fonts instead of SmallCaps to avoid
1077   artifacts on several configurations.
1079 * We now pickup `user.email`, `cola.tabwidth`, and similar settings
1080   when defined in /etc/gitconfig.
1082   https://github.com/git-cola/git-cola/issues/259
1084 * Better support for unicode paths when using inotify.
1086   https://bugzilla.redhat.com/show_bug.cgi?id=1104181
1088 * Unicode fixes for non-ascii locales.
1090   https://github.com/git-cola/git-cola/issues/266
1092   https://github.com/git-cola/git-cola/issues/273
1094   https://github.com/git-cola/git-cola/issues/276
1096   https://github.com/git-cola/git-cola/issues/282
1098   https://github.com/git-cola/git-cola/issues/298
1100   https://github.com/git-cola/git-cola/issues/302
1102   https://github.com/git-cola/git-cola/issues/303
1104   https://github.com/git-cola/git-cola/issues/305
1106 * Viewing history from the file browser was fixed for Python3.
1108   https://github.com/git-cola/git-cola/issues/274
1110 * setup.py was fixed to install the `*.rst` documentation.
1112   https://github.com/git-cola/git-cola/issues/279
1114 * Patch export was fixed for Python3.
1116   https://github.com/git-cola/git-cola/issues/290
1118 * Fixed adding a bookmark with trailing slashes.
1120   https://github.com/git-cola/git-cola/pull/295
1122 * The default `git dag` layout is now setup so that its widgets
1123   can be freely resized on Linux.
1125   https://github.com/git-cola/git-cola/issues/299
1127 * Invalid tag names are now reported when creating tags.
1129   https://github.com/git-cola/git-cola/pull/296
1131 .. _v2.0.3:
1133 git-cola v2.0.3
1134 ===============
1135 Usability, bells and whistles
1136 -----------------------------
1137 * `git cola` no longer prompts after successfully creating a new branch.
1139   https://github.com/git-cola/git-cola/pull/251
1141 * Hitting enter on simple dialogs now accepts them.
1143   https://github.com/git-cola/git-cola/pull/255
1145 Fixes
1146 -----
1147 * `git dag` no longer relies on `sys.maxint`, which is
1148   not available in Python3.
1150   https://github.com/git-cola/git-cola/issues/249
1152 * Python3-related fixes.
1154   https://github.com/git-cola/git-cola/pull/254
1156 * Python3-on-Windows-related fixes.
1158   https://github.com/git-cola/git-cola/pull/250
1160   https://github.com/git-cola/git-cola/pull/252
1162   https://github.com/git-cola/git-cola/pull/253
1164 * Switching repositories using the bookmarks widget was not
1165   refreshing the inotify watcher.
1167   https://github.com/git-cola/git-cola/pull/256
1169 * Special commit messages trailers (e.g. "Acked-by:") are now special-cased to
1170   fix word wrapping lines that start with "foo:".
1172   https://github.com/git-cola/git-cola/issues/257
1174 * `git dag` sometimes left behind selection artifacts.
1175   We now refresh the view to avoid them.
1177   https://github.com/git-cola/git-cola/issues/204
1179 .. _v2.0.2:
1181 git-cola v2.0.2
1182 ===============
1183 Usability, bells and whistles
1184 -----------------------------
1185 * Better inotify support for file creation and deletion.
1187   https://github.com/git-cola/git-cola/issues/240
1189 * `git cola` now supports the X11 Session Management Protocol
1190   and remembers its state across logout/reboot.
1192   https://github.com/git-cola/git-cola/issues/164
1194 * `git cola` has a new icon.
1196   https://github.com/git-cola/git-cola/issues/190
1198 Packaging
1199 ---------
1200 * Building the documentation no longer requires `asciidoc`.
1201   We now use `Sphinx <http://sphinx-doc.org/>`_ for building
1202   html documentation and man pages.
1204 Fixes
1205 -----
1206 * Reworked the git-dag gravatar icon code to avoid a unicode
1207   error in Python 2.
1209 * Commit message line-wrapping was made to better match the GUI editor.
1211   https://github.com/git-cola/git-cola/issues/242
1213 * Better support for Python3 on Windows
1215   https://github.com/git-cola/git-cola/issues/246
1217 Packaging
1218 ---------
1219 * git-cola no longer depends on Asciidoc for building its documentation
1220   and man-pages.  We now depend on [Sphinx](http://sphinx-doc.org/) only.
1222 .. _v2.0.1:
1224 git-cola v2.0.1
1225 ===============
1226 Usability, bells and whistles
1227 -----------------------------
1228 * Some context menu actions are now hidden when selected
1229   files do not exist.
1231   https://github.com/git-cola/git-cola/issues/238
1233 Fixes
1234 -----
1235 * The build-git-cola.sh contrib script was improved.
1237   https://github.com/git-cola/git-cola/pull/235
1239 * Non-ascii worktrees work properly again.
1241   https://github.com/git-cola/git-cola/issues/234
1243 * The browser now guards itself against missing files.
1245   https://bugzilla.redhat.com/show_bug.cgi?id=1071378
1247 * Saving widget state now works under Python3.
1249   https://github.com/git-cola/git-cola/pull/236
1251 .. _v2.0.0:
1253 git-cola v2.0.0
1254 ===============
1255 Portability
1256 -----------
1257 * git-cola now runs on Python 3 thanks to Virgil Dupras.
1259   https://github.com/git-cola/git-cola/pull/233
1261 * Python 2.6, 2.7, and 3.2+ are now supported.
1262   Python 2.5 is no longer supported.
1264 Fixes
1265 -----
1266 * i18n test fixes thanks to Virgil Dupras.
1268   https://github.com/git-cola/git-cola/pull/231
1270 * git-cola.app build fixes thanks to Maicon D. Filippsen.
1272   https://github.com/git-cola/git-cola/pull/230
1274 * Lots of pylint improvements thanks to Alex Chernetz.
1276   https://github.com/git-cola/git-cola/pull/229
1278 .. _v1.9.4:
1280 git-cola v1.9.4
1281 ===============
1282 Usability, bells and whistles
1283 -----------------------------
1284 * The new `Bookmarks` tool makes it really easy to switch between repositories.
1286 * There is now a dedicated dialog for applying patches.
1287   See the ``File -> Apply Patches`` menu item.
1289   https://github.com/git-cola/git-cola/issues/215
1291 * A new `git cola am` sub-command was added for applying patches.
1293 Fixes
1294 -----
1295 * Fixed a typo that caused inotify events to be silently ignored.
1297 * Fixed the sys.path setup for Mac OS X (Homebrew).
1299   https://github.com/git-cola/git-cola/issues/221
1301 * Lots of pylint fixes thanks to Alex Chernetz.
1303 .. _v1.9.3:
1305 git-cola v1.9.3
1306 ===============
1307 Usability, bells and whistles
1308 -----------------------------
1309 * `git cola --amend` now starts the editor in `amend` mode.
1311   https://github.com/git-cola/git-cola/issues/187
1313 * Multiple lines of text can now be pasted into the `summary` field.
1314   All text beyond the first newline will be automatically moved to the
1315   `extended description` field.
1317   https://github.com/git-cola/git-cola/issues/212
1319 Fixes
1320 -----
1321 * Stray whitespace in `.git` files is now ignored.
1323   https://github.com/git-cola/git-cola/issues/213
1325 * Fix "known incorrect sRGB profile" in `staged-item.png`.
1327   http://comments.gmane.org/gmane.linux.gentoo.devel/85066
1329 .. _v1.9.2:
1331 git-cola v1.9.2
1332 ===============
1333 Fixes
1334 -----
1335 * Fix a traceback when `git push` fails.
1337   https://bugzilla.redhat.com/show_bug.cgi?id=1034778
1339 Packaging
1340 ---------
1341 * Most of the git-cola sub-packages have been removed.
1342   The only remaining packages are `cola`, `cola.models`,
1343   and `cola.widgets`.
1345 * The translation file for Simplified Chinese was renamed
1346   to `zh_CN.po`.
1348   https://github.com/git-cola/git-cola/issues/209
1350 .. _v1.9.1:
1352 git-cola v1.9.1
1353 ===============
1354 Packaging
1355 ---------
1356 * `git cola version --brief` now prints the brief version number.
1358 Fixes
1359 -----
1360 * Resurrected the "make dist" target, for those that prefer to create
1361   their own tarballs.
1363 * Fixed the typo that broke the preferences dialog.
1365 .. _v1.9.0:
1367 git-cola v1.9.0
1368 ===============
1369 Usability, bells and whistles
1370 -----------------------------
1371 * We now ship a full-featured interactive `git rebase` editor.
1372   The rebase todo file is edited using the `git xbase` script which
1373   is provided at `$prefix/share/git-cola/bin/git-xbase`.
1374   This script can be used standalone by setting the `$GIT_SEQUENCE_EDITOR`
1375   before running `git rebase --interactive`.
1377   https://github.com/git-cola/git-cola/issues/1
1379 * Fixup commit messages can now be loaded from the commit message editor.
1381 * Tool widgets can be locked in place by using the "Tools/Lock Layout"
1382   menu action.
1384   https://github.com/git-cola/git-cola/issues/202
1386 * You can now push to several remotes simultaneously by selecting
1387   multiple remotes in the "Push" dialog.
1389   https://github.com/git-cola/git-cola/issues/148
1391 * The `grep` tool learned to search using three different modes:
1392   basic regular expressions (default), extended regular expressions,
1393   and fixed strings.
1395 Packaging
1396 ---------
1397 * `git cola` now depends on the `argparse` Python module.
1398   This module is part of the stdlib in Python 2.7 and must
1399   be installed separately when using Python 2.6 and below.
1401 Fixes
1402 -----
1403 * Support unicode in the output from `fetch`, `push`, and `pull`.
1405 .. _v1.8.5:
1407 git-cola v1.8.5
1408 ===============
1409 Usability, bells and whistles
1410 -----------------------------
1411 * We now detect when the editor or history browser are misconfigured.
1413   https://github.com/git-cola/git-cola/issues/197
1415   https://bugzilla.redhat.com/show_bug.cgi?id=886826
1417 * Display of untracked files can be disabled from the Preferences dialog
1418   or by setting the `gui.displayuntracked` configuration variable to `false`.
1420   http://thread.gmane.org/gmane.comp.version-control.git/232683
1422 Fixes
1423 -----
1424 * Unicode stash names are now supported
1426   https://github.com/git-cola/git-cola/issues/198
1428 * The diffs produced when reverting workspace changes were made more robust.
1430 .. _v1.8.4:
1432 git-cola v1.8.4
1433 =======================
1434 Usability, bells and whistles
1435 -----------------------------
1436 * Brand new German translation thanks to Sven Claussner.
1438 * The "File" menu now provides a "New Repository..." menu action.
1440 * `git dag` now uses a dock-widget interface so that its widgets can
1441   be laid-out and arranged.  Customizations are saved and restored
1442   the next time `git dag` is launched.
1444 * `git dag` now has a "Zoom Best Fit" button next alongside the
1445   "Zoom In" and "Zoom Out" buttons.
1447 * `Ctrl+L` now focuses the "Search" field in the `git dag` tool.
1449 * Right-clicking in the "diff" viewer now updates the cursor position
1450   before performing actions, which makes it much easier to click around
1451   and selectively stage sections.  Previously, the current cursor position
1452   was used which meant that it required two clicks (left-click to update
1453   the position followed by right-click to get the context menu) for the
1454   desired section to be used.  This is now a single right-click operation.
1456 * The `Ctrl+D` "Launch Diff Tool" action learned to automatically choose
1457   between `git difftool` and `git mergetool`.  If the file is unmerged then
1458   we automatically launch `git mergetool` on the path, otherwise we use
1459   `git difftool`.  We do this because `git difftool` is not intended to
1460   be used on unmerged paths.  Automatically using `git mergetool` when
1461   appropriate is the most intuitive and muscle-memory-friendly thing to do.
1463 * You can now right-click on folders in your standard file browser
1464   and choose "Open With -> Git Cola"  (Linux-only).
1466 Fixes
1467 -----
1468 * Python 2.6 on Mac OS X Snow Leopard does not provide a namedtuple
1469   at `sys.version_info`.  We now avoid using that variable for better
1470   portability.
1472 * We now read the user's Git configuration from `~/.config/git/config`
1473   if that file is available, otherwise we use the traditional `~/.gitconfig`
1474   path, just like Git itself.
1476 * Some edge cases were fixed when applying partial/selected diffs.
1478 * The diff viewer is now properly cleared when refreshing.
1480   https://github.com/git-cola/git-cola/issues/194
1482 .. _v1.8.3:
1484 git-cola v1.8.3
1485 ===============
1486 Usability, bells and whistles
1487 -----------------------------
1488 * The diff viewer now has an "Options" menu which can be
1489   used to set "git diff" options.  This can be used to
1490   ignore whitespace changes or to show a change with its
1491   surrounding function as context.
1493   https://github.com/git-cola/git-cola/issues/150
1495 * `git cola` now remembers your commit message and will restore it
1496   when `git cola` is restarted.
1498   https://github.com/git-cola/git-cola/pull/175
1500 * `Ctrl+M` can now be used to toggle the "Amend last commit"
1501   checkbox in the commit message editor.
1503   https://github.com/git-cola/git-cola/pull/161
1505 * Deleting remote branches can now be done from the "Branch" menu.
1507   https://github.com/git-cola/git-cola/issues/152
1509 * The commit message editor now has a built-in spell checker.
1511 Fixes
1512 -----
1513 * We now avoid invoking external diffs when showing diffstats.
1515   https://github.com/git-cola/git-cola/pull/163
1517 * The `Status` tool learned to reselect files when refreshing.
1519   https://github.com/git-cola/git-cola/issues/165
1521 * `git cola` now remembers whether it has been maximized and will restore the
1522   maximized state when `git cola` is restarted.
1524   https://github.com/git-cola/git-cola/issues/172
1526 * Performance is now vastly improved when staging hundreds or
1527   thousands of files.
1529 * `git cola` was not correctly saving repo-specific configuration.
1531   https://github.com/git-cola/git-cola/issues/174
1533 * Fix a UnicodeDecode in sphinxtogithub when building from source.
1535 .. _v1.8.2:
1537 git-cola v1.8.2
1538 ===============
1539 Usability, bells and whistles
1540 -----------------------------
1541 * We now automatically remove missing repositories from the
1542   "Select Repository" dialog.
1544   https://github.com/git-cola/git-cola/issues/145
1546 * A new `git cola diff` sub-command was added for diffing changed files.
1548 Fixes
1549 -----
1550 * The inotify auto-refresh feature makes it difficult to select text in
1551   the "diff" editor when files are being continually modified by another
1552   process.  The auto-refresh causes it to lose the currently selected text,
1553   which is not wanted.  We now avoid this problem by saving and restoring
1554   the selection when refreshing the editor.
1556   https://github.com/git-cola/git-cola/issues/155
1558 * More strings have been marked for l10n.
1560   https://github.com/git-cola/git-cola/issues/157
1562 * Fixed the Alt+D Diffstat shortcut.
1564   https://github.com/git-cola/git-cola/issues/159
1566 Fixes
1567 -----
1568 * Better error handling when cloning repositories.
1570   We were not handling the case where a git URL has
1571   no basename, e.g. `https://git.example.com/`.
1572   `git cola` originally rejected these URLs instead of
1573   allowing users to clone them.  It now allows these URLs
1574   when they point to valid git repositories.
1576   Additionally, `git cola` learned to echo the errors
1577   reported by `git clone` when it fails.
1579   https://github.com/git-cola/git-cola/issues/156
1581 .. _v1.8.1:
1583 git-cola v1.8.1
1584 ===============
1585 Usability, bells and whistles
1586 -----------------------------
1587 * `git dag` got a big visual upgrade.
1589 * `Ctrl+G` now launches the "Grep" tool.
1591 * `Ctrl+D` launches difftool and `Ctrl+E` launches your editor
1592   when in the diff panel.
1594 * git-cola can now be told to use an alternative language.
1595   For example, if the native language is German and we want git-cola to
1596   use English then we can create a `~/.config/git-cola/language` file with
1597   "en" as its contents:
1599   $ echo en >~/.config/git-cola/language
1601   https://github.com/git-cola/git-cola/issues/140
1603 * A new `git cola merge` sub-command was added for merging branches.
1605 * Less blocking in the main UI
1607 Fixes
1608 -----
1609 * Autocomplete issues on KDE
1611   https://github.com/git-cola/git-cola/issues/144
1613 * The "recently opened repositories" startup dialog did not
1614   display itself in the absence of bookmarks.
1616   https://github.com/git-cola/git-cola/issues/139
1618 .. _v1.8.0:
1620 git-cola v1.8.0
1621 ===============
1622 Usability, bells and whistles
1623 -----------------------------
1624 * `git cola` learned to honor `.gitattributes` when showing and
1625   interactively applying diffs.  This makes it possible to store
1626   files in git using a non-utf-8 encoding and `git cola` will
1627   properly accept them.  This must be enabled by settings
1628   `cola.fileattributes` to true, as it incurs a small performance
1629   penalty.
1631   https://github.com/git-cola/git-cola/issues/96
1633 * `git cola` now wraps commit messages at 72 columns automatically.
1634   This is configurable using the `cola.linebreak` variable to enable/disable
1635   the feature, and `cola.textwidth` to configure the limit.
1637   https://github.com/git-cola/git-cola/issues/133
1639 * A new "Open Recent" sub-menu was added to the "File" menu.
1640   This makes it easy to open a recently-edited repository.
1642   https://github.com/git-cola/git-cola/issues/135
1644 * We now show a preview for untracked files when they are clicked
1645   using the `Status` tool.
1646 * A new "Open Using Default Application" action was added to the
1647   `Status` tool.  It is activated using either `Spacebar` or through
1648   the context menu.  This action uses `xdg-open` on Linux and
1649   `open` on Mac OS X.
1650 * A new "Open Parent Directory" action was added to the `Status` tool.
1651   It is activated using either `Shift+Spacebar` or through the
1652   context menu.
1653 * `git dag` learned to honor the `log.date` git configuration variable.
1654   This makes the date display follow whatever format the user has
1655   configured.
1656 * A new `git cola config` sub-command was added for quickly
1657   tweaking `git cola`'s git configuration settings.
1658 * Some small usability tweaks -- some user confirmation prompts
1659   were defaulting to "Cancel" when they should have been defaulting
1660   to the affirmative option instead.
1662 Fixes
1663 -----
1664 * Properly handle arbitrarily-named branches.
1665 * We went back to launching `git mergetool` using an xterm.
1666   The reason is that there are a couple of places where `git mergetool`
1667   requires a terminal for user interaction not covered by `--no-prompt`.
1668 * We now properly handle an edge case when applying short diffs at
1669   the start of a file.
1671 .. _v1.7.7:
1673 git-cola v1.7.7
1674 ===============
1675 Usability, bells and whistles
1676 -----------------------------
1677 * New and improved `grep` mode lets you instantly find and edit files.
1678 * New `git cola grep` standalone mode.
1679 * Support for passing arguments to the configured editors, e.g. `gvim -p`
1680   This makes it possible to select multiple files in the status
1681   window and use `Ctrl-e` to edit them all at once.
1682 * Remote operations now prompt on errors only.
1683 * The `Tab` key now jumps to the extended description when editing the summary.
1684 * More shortcut key labels and misc. UX improvements.
1686 Fixes
1687 -----
1688 * Selecting an item no longer copies its filename to the copy/paste buffer.
1689   `Ctrl-c` or the "Copy" context-menu action can be used instead.
1690 * The repository monitoring feature on Windows learned to ignore
1691   changes within the ".git" directory.  Thanks to Andreas Sommer.
1693   https://github.com/git-cola/git-cola/issues/120
1695 .. _v1.7.6:
1697 git-cola v1.7.6
1698 ===============
1699 Usability, bells and whistles
1700 -----------------------------
1701 * `git dag` learned to color-code branchy edges.
1702   The edge colors change when a new branch is detected,
1703   which makes the history much easier to follow.
1704   A huge thanks to Uri Okrent for making it happen.
1706 * New GUI for editing remote repositories.
1708 * New `git cola archive` and `git cola remote` sub-commands.
1710 * `git cola browser` learned an 'Untrack' command.
1712 * The diff editor learned to staged/unstaged while amending.
1714 * The status tool can now scroll horizontally.
1716 * New git repositories can be created by clicking 'New' on the
1717   `git cola --prompt` startup screen.
1719 .. _v1.7.5:
1721 git-cola v1.7.5
1722 ===============
1723 Usability, bells and whistles
1724 -----------------------------
1725 * Auto-completion was added to more tools.
1727 * `git dag` is easier to use on smaller displays -- the author
1728   field elides its text which allows for a more compact display.
1730 * Selected commits in `git dag` were made more prominent and
1731   easier to see.
1733 * 'Create Branch' learned to fetch remote branches and uses a
1734   background thread to do so.
1736 * User-configured GUI tools are listed alphabetically in the 'Actions' menu.
1738 * The 'Pull' dialog remembers the value of the 'Rebase' checkbox
1739   between invocations.
1741 .. _v1.7.4.1:
1743 git-cola v1.7.4.1
1744 =================
1745 Fixes
1746 -----
1747 * Detect Homebrew so that OS X users do not need to set PYTHONPATH.
1749 * `git dag` can export patches again.
1751 .. _v1.7.4:
1753 git-cola v1.7.4
1754 ===============
1755 Usability, bells and whistles
1756 -----------------------------
1757 * The 'Classic' tool was renamed to 'Browser' and learned to
1758   limit history to the current branch.
1760 * `git dag` learned about gravatar and uses it to show images
1761   for commit authors.
1763 * `git dag` learned to use OpenGL for rendering resulting in
1764   much faster rendering.
1766 * More dialogs learned vim-style keyboard shortcuts.
1768 * The commit message editor learned better arrow key navigation.
1770 .. _v1.7.3:
1772 git-cola v1.7.3
1773 ===============
1774 Usability, bells and whistles
1775 -----------------------------
1776 * `git cola` learned a few new sub commands:
1778 .. sourcecode:: sh
1780     git cola dag
1781     git cola branch
1782     git cola search
1784 * `Return` in the summary field jumps to the extended description.
1786 * `Ctrl+Return` is now a shortcut for 'Commit'.
1788 * Better French translation for 'Sign-off'.
1790 * The 'Search' widget now has a much simpler and streamlined
1791   user interface.
1793 * vim-style `h,j,k,l` navigation shortcuts were added to the DAG widget.
1795 * `git dag` no longer prompts for files when diffing commits if the
1796   text field contains paths.
1798 * General user interface and performance improvements.
1800 Fixes
1801 -----
1802 * The diff viewer no longer changes font size when holding `Control`
1803   while scrolling with the mouse wheel.
1805 * Files with a typechange (e.g. symlinks that become files, etc.)
1806   are now correctly identified as being modified.
1808 Packaging
1809 ---------
1810 * The `cola.controllers` and `cola.views` packages were removed.
1812 .. _v1.7.2:
1814 git-cola v1.7.2
1815 ===============
1816 Usability, bells and whistles
1817 -----------------------------
1818 * `git cola` can now launch sub commands, e.g.:
1820 .. sourcecode:: sh
1822     git cola classic
1823     git cola stash
1824     git cola fetch
1825     git cola push
1826     git cola pull
1827     git cola tag
1829 * `git dag` is more responsive when gathering auto-completions.
1831 * Keyboard shortcuts are displayed when the '?' key is pressed.
1833 * Various keyboard shortcuts were added for improved usability.
1835 * The status widget now lists unmerged files before modified files.
1837 * vim-style `h,j,k,l` navigation shortcuts were added to the status widget.
1839 * A 'Recently Modified Files...' tool was added.
1841 * Tools can now be hidden with `Alt + #` (where `#` is a keyboard number)
1842   and focused with `Alt + Shift + #`.
1844 * The syntax highlighting colors for diffs was made less intrusive.
1846 * The commit message editor was redesigned to have a more compact
1847   and keyboard-convenient user interface.
1848   
1849 * Keyboard shortcuts for adding a Signed-off-by (`Ctrl + i`)
1850   and creating a commit (`Ctrl + m`) were added.
1852 * The status widget was adjusted to use less screen real-estate.
1854 Fixes
1855 -----
1856 * Avoid updating the index when responding to inotify events.
1857   This avoids interfering with operations such as `git rebase --interactive`.
1859   https://github.com/git-cola/git-cola/issues/99
1861 Packaging
1862 ---------
1863 * Create `git-dag.pyw` in the win32 installer.
1865 * win32 shortcuts now contain explicit calls to `pythonw.exe` instead of
1866   calling the `.pyw` file directly.
1868 Deprecated Features
1869 -------------------
1870 * The 'Apply Changes from Branch...' feature was removed.
1871   `git dag`'s 'Grab File...' feature used alongside the index/worktree editor
1872   is a simpler alternative.
1874 .. _v1.7.1.1:
1876 git-cola v1.7.1.1
1877 =================
1878 Fixes
1879 -----
1880 * Further enhanced the staging/unstaging behavior in the status widget.
1882   https://github.com/git-cola/git-cola/issues/97
1884 * Unmerged files are no longer listed as modified.
1886 Packaging
1887 ---------
1888 The `cola-$version` tarballs on github were originally setup to
1889 have the same contents as the old tarballs hosted on tuxfamily.
1890 The `make dist` target was changed to write files to a
1891 `git-cola-$version` subdirectory and tarball.
1893 This makes the filenames consistent for the source tarball,
1894 the darwin .app tarball, and the win32 .exe installer.
1896 .. _v1.7.1:
1898 git-cola v1.7.1
1899 ===============
1900 Usability, bells and whistles
1901 -----------------------------
1902 * Refined the staging/unstaging behavior for code reviews.
1904   https://github.com/git-cola/git-cola/issues/97
1906 * Added more styling and icons to menus and buttons.
1908 * Adjusted some terminology to more closely match the git CLI.
1910 Fixes
1911 -----
1912 * Boolean `git config` settings with no value are now supported
1913   (these are not created by git these days but exist in legacy repositories).
1915 * Unicode branches and tags are supported in the "branch diff" tool.
1917 * Guard against low-memory conditions and more interrupted system calls.
1919 Packaging
1920 ---------
1921 * Added desktop launchers for git-cola.desktop and git-dag.desktop.
1922   This replaces the old cola.desktop, so some adjustments to RPM .spec
1923   and debian/ files will be needed.
1925 * Fixed the darwin app-tarball Makefile target to create relative paths.
1927 Cleanup
1928 -------
1929 * The `--style` option was removed.  `git cola` follows the system theme
1930   so there's no need for this option these days.
1932 .. _v1.7.0:
1934 git-cola v1.7.0
1935 ===============
1936 Usability, bells and whistles
1937 -----------------------------
1938 * Export a patch series from `git dag` into a `patches/` directory.
1940 * `git dag` learned to diff commits, slice history along paths, etc.
1942 * Added instant-preview to the `git stash` widget.
1944 * A simpler preferences editor is used to edit `git config` values.
1946   https://github.com/git-cola/git-cola/issues/90
1948   https://github.com/git-cola/git-cola/issues/89
1950 * Previous commit messages can be re-loaded from the message editor.
1952   https://github.com/git-cola/git-cola/issues/33
1954 Fixes
1955 -----
1956 * Display commits with no file changes.
1958   https://github.com/git-cola/git-cola/issues/82
1960 * Improved the diff editor's copy/paste behavior
1962   https://github.com/git-cola/git-cola/issues/90
1964 Packaging
1965 ---------
1966 * Bumped version number to ceil(minimum git version).
1967   `git cola` now requires `git` >= 1.6.3.
1969 * Simplified git-cola's versioning when building from tarballs
1970   outside of git.  We no longer check for a 'version' file at
1971   the root of the repository.  We instead keep a default version
1972   in `cola/version.py` and use it when `git cola`'s `.git` repository
1973   is not available.
1975 .. _v1.4.3.5:
1977 git-cola v1.4.3.5
1978 =================
1979 Usability, bells and whistles
1980 -----------------------------
1981 * inotify is much snappier and available on Windows
1982   thanks to Karl Bielefeldt.
1984 * New right-click command to add untracked files to .gitignore
1985   thanks to Audrius Karabanovas.
1987 * Stash, fetch, push, and pull usability improvements
1989 * General usability improvements
1991 * stderr is logged when applying partial diffs.
1993 Fixes
1994 -----
1995 * Files can be unstaged when amending.
1997   https://github.com/git-cola/git-cola/issues/82
1999 * Show the configured remote.$remote.pushurl in the GUI
2001   https://github.com/git-cola/git-cola/issues/83
2003 * Removed usage of the "user" module.
2005   https://github.com/git-cola/git-cola/issues/86
2007 * Avoids an extra `git update-index` call during startup.
2010 .. _v1.4.3.4:
2012 git-cola v1.4.3.4
2013 =================
2014 Usability, bells and whistles
2015 -----------------------------
2016 * We now provide better feedback when `git push` fails.
2018   https://github.com/git-cola/git-cola/issues/69
2020 * The Fetch, Push, and Pull dialogs now give better feedback
2021   when interacting with remotes.  The dialogs are modal and
2022   a progress dialog is used.
2024 Fixes
2025 -----
2026 * More unicode fixes, again.  It is now possible to have
2027   unicode branch names, repository paths, home directories, etc.
2028   This continued the work initiated by Redhat's bugzilla #694806.
2030   https://bugzilla.redhat.com/show_bug.cgi?id=694806
2032 .. _v1.4.3.3:
2034 git-cola v1.4.3.3
2035 =================
2036 Usability, bells and whistles
2037 -----------------------------
2038 * The `git cola` desktop launchers now prompt for a repo
2039   by default.  This is done by using the new `--prompt`
2040   flag which tells `git cola` to ignore any git repositories
2041   in the current directory and prompt for one instead.
2043 Fixes
2044 -----
2045 * More Unicode fixes for repositories and home directories with
2046   embedded unicode characters.  Thanks to Christian Jann for
2047   patience and helpful bug reports.
2049 * Fix the 'Clone' button in the startup dialog.
2051 .. _v1.4.3.2:
2053 git-cola v1.4.3.2
2054 =================
2055 Usability, bells and whistles
2056 -----------------------------
2057 * Faster startup time! `git cola` now offloads initialization
2058   to a background thread so that the GUI appears almost instantly.
2060 * Specialized diff options for p4merge, vimdiff, araxis, emerge,
2061   and ecmerge in difftool (backported from git.git).
2063 Fixes
2064 -----
2065 * Fix launching commands in the background on Windows
2066   (e.g. when launching `git difftool`).
2068 * Fix unicode errors when home or repository directories contain
2069   unicode characters.
2071   https://github.com/git-cola/git-cola/issues/74
2073   Redhat's bugzilla #694806
2075   https://bugzilla.redhat.com/show_bug.cgi?id=694806
2077 .. _v1.4.3.1:
2079 git-cola v1.4.3.1
2080 =================
2081 Usability, bells and whistles
2082 -----------------------------
2083 * The `cola classic` tool can be now configured to be dockable.
2085   https://github.com/git-cola/git-cola/issues/56
2087 * The `cola classic` tool now uses visual sigils to indicate a file's status.
2088   The idea and icons were provided by Uri Okrent.
2090 * Include the 'Rescan' button in the 'Actions' widget regardless
2091   of whether inotify is installed.
2093 Packaging
2094 ---------
2095 * Fix installation of translations per Fedora
2096   This incorporates Fedora's fix for the translations path
2097   which originally appeared in cola-1.4.3-translations.patch.
2099 * Mac OS X git-cola developers can now generate git-cola.app
2100   application bundles using 'make app-bundle'.
2102 Fixes
2103 -----
2104 * Fixed a stacktrace when trying to use "Get Commit Message Template"
2105   with an unconfigured "commit.template" git config variable.
2107   https://github.com/git-cola/git-cola/issues/72
2109   This bug originated in Redhat's bugzilla #675721 via a Fedora user.
2111   https://bugzilla.redhat.com/show_bug.cgi?id=675721
2113 * Properly raise the main window on Mac OS X.
2115 * Properly handle staging a huge numbers of files at once.
2117 * Speed up 'git config' usage by fixing cola's caching proxy.
2119 * Guard against damaged ~/.cola files.
2121 .. _v1.4.3:
2123 git-cola v1.4.3
2124 ===============
2125 Usability, bells and whistles
2126 -----------------------------
2127 * `git dag` now has a separate display area
2128   for displaying commit metadata.  This area will soon
2129   grow additional functionality such as cherry-picking,
2130   branching, etc.
2132 Fixes
2133 -----
2134 * Fixed tests from a previous refactoring.
2136 * Guard against 'diff.external' configuration by always
2137   calling 'git diff' with the '--no-ext-diff' option.
2139   https://github.com/git-cola/git-cola/issues/67
2141 * Respect 'gui.diffcontext' so that cola's diff display
2142   shows the correct number of context lines.
2144 * Raise the GUI so that it is in the foreground on OS X.
2146 Packaging
2147 ---------
2148 * We now allow distutils to rewrite cola's shebang line.
2149   This allows us to run on systems where "which python"
2150   is Python3k.  This is exposed by setting the `PYTHON`
2151   Makefile variable to the location of python2.x.
2153 * git-cola.app is now a tiny download because it no longer
2154   contains Qt and PyQt.  These libraries are provided as a
2155   separate download.
2157   http://code.google.com/p/git-cola/downloads/list
2159 .. _v1.4.2.5:
2161 git-cola v1.4.2.5
2162 =================
2163 Usability, bells and whistles
2164 -----------------------------
2165 * Clicking on paths in the status widget copies them into the
2166   copy/paste buffer for easy middle-clicking into terminals.
2168 * `Ctrl+C` in diff viewer copies the selected diff to the clipboard.
2170 Fixes
2171 -----
2172 * Fixed the disappearing actions buttons on PyQt 4.7.4
2173   as reported by Arch and Ubuntu 10.10.
2175   https://github.com/git-cola/git-cola/issues/62
2177 * Fixed mouse interaction with the status widget where some
2178   items could not be de-selected.
2180 Packaging
2181 ---------
2182 * Removed hard-coded reference to lib/ when calculating Python's
2183   site-packages directory.
2185 .. _v1.4.2.4:
2187 git-cola v1.4.2.4
2188 =================
2189 Usability, bells and whistles
2190 -----------------------------
2191 * Removed "single-click to (un)stage" in the status view.
2192   This is a usability improvement since we no longer perform
2193   different actions depending on where a row is clicked.
2195 * Added ability to create unsigned, annotated tags.
2197 Fixes
2198 -----
2199 * Updated documentation to use `cola.git` instead of `cola.gitcmd`.
2201 .. _v1.4.2.3:
2203 git-cola v1.4.2.3
2204 =================
2205 Usability, bells and whistles
2206 -----------------------------
2207 * Allow un/staging by right-clicking top-level items
2209   https://github.com/git-cola/git-cola/issues/57
2211 * Running 'commit' with no staged changes prompts to allow
2212   staging all files.
2214   https://github.com/git-cola/git-cola/issues/55
2216 * Fetch, Push, and Pull are now available via the menus
2218   https://github.com/git-cola/git-cola/issues/58
2220 Fixes
2221 -----
2222 * Simplified the actions widget to work around a regression
2223   in PyQt4 4.7.4.
2225   https://github.com/git-cola/git-cola/issues/62
2227 .. _v1.4.2.2:
2229 git-cola v1.4.2.2
2230 =================
2231 Usability, bells and whistles
2232 -----------------------------
2233 * `git dag` interaction was made faster.
2235 Fixes
2236 -----
2237 * Added '...' indicators to the buttons for
2238   'Fetch...', 'Push...', 'Pull...', and 'Stash...'.
2240   https://github.com/git-cola/git-cola/issues/51
2242 * Fixed a hang-on-exit bug in the cola-provided
2243   'ssh-askpass' implementation.
2245 .. _v1.4.2.1:
2247 git-cola v1.4.2.1
2248 =================
2249 Usability, bells and whistles
2250 -----------------------------
2251 * Staging and unstaging is faster.
2253   https://github.com/git-cola/git-cola/issues/48
2255 * `git dag` reads history in a background thread.
2257 Portability
2258 -----------
2259 * Added :data:`cola.compat.hashlib` for `Python 2.4` compatibility
2260 * Improved `PyQt 4.1.x` compatibility.
2262 Fixes
2263 -----
2264 * Configured menu actions use ``sh -c`` for Windows portability.
2267 .. _v1.4.2:
2269 git-cola v1.4.2
2270 ===============
2271 Usability, bells and whistles
2272 -----------------------------
2273 * Added support for the configurable ``guitool.<tool>.*``
2274   actions as described in ``git-config(1)``.
2276   https://github.com/git-cola/git-cola/issues/44
2278   http://schacon.github.com/git/git-config.html
2280   This makes it possible to add new actions to `git cola`
2281   by simply editing ``~/.gitconfig``.  This implements the
2282   same guitool support as `git gui`.
2283 * Introduced a stat cache to speed up `git config` and
2284   repository status checks.
2285 * Added Alt-key shortcuts to the main `git cola` interface.
2286 * The `Actions` dock widget switches between a horizontal
2287   and vertical layout when resized.
2288 * We now use ``git diff --submodule`` for submodules
2289   (used when git >= 1.6.6).
2290 * The context menu for modified submodules includes an option
2291   to launch `git cola`.
2293   https://github.com/git-cola/git-cola/issues/17
2295 * Prefer ``$VISUAL`` over ``$EDITOR`` when both are defined.
2296   These are used to set a default editor in lieu of `core.editor`
2297   configuration.
2298 * Force the editor to be ``gvim`` when we see ``vim``.
2299   This prevents us from launching an editor in the (typically
2300   unattached) parent terminal and creating zombie editors
2301   that cannot be easily killed.
2302 * Selections are remembered and restored across updates.
2303   This makes the `partial-staging` workflow easier since the
2304   diff view will show the updated diff after staging.
2305 * Show the path to the current repository in a tooltip
2306   over the commit message editor.
2308   https://github.com/git-cola/git-cola/issues/45
2310 * Log internal ``git`` commands when ``GIT_COLA_TRACE`` is defined.
2312   https://github.com/git-cola/git-cola/issues/39
2314 Fixes
2315 -----
2316 * Improved backwards compatibility for Python 2.4.
2317 * `Review mode` can now review the current branch; it no longer
2318   requires you to checkout the branch into which the reviewed
2319   branch will be merged.
2320 * Guard against `color.ui = always` configuration when using
2321   `git log` by passing ``--no-color``.
2322 * ``yes`` and ``no`` are now supported as valid booleans
2323   by the `git config` parser.
2324 * Better defaults are used for `fetch`, `push`, and `pull`..
2326   https://github.com/git-cola/git-cola/issues/43
2328 Packaging
2329 ---------
2330 * Removed colon (`:`) from the applilcation name on Windows
2332   https://github.com/git-cola/git-cola/issues/41
2334 * Fixed bugs with the Windows installer
2336   https://github.com/git-cola/git-cola/issues/40
2338 * Added a more standard i18n infrastructure.  The install
2339   tree now has the common ``share/locale/$lang/LC_MESSAGES/git-cola.mo``
2340   layout in use by several projects.
2342 * Started trying to accommodate Mac OSX 10.6 (Snow Leopard)
2343   in the ``darwin/`` build scripts but our tester is yet to
2344   report success building a `.app` bundle.
2346 * Replaced use of ``perl`` in Sphinx/documentation Makefile
2347   with more-portable ``sed`` constructs.  Thanks to
2348   Stefan Naewe for discovering the portability issues and
2349   providing msysgit-friendly patches.
2351 .. _v1.4.1.2:
2353 git-cola v1.4.1.2
2354 =================
2355 Usability, bells and whistles
2356 -----------------------------
2357 * It is now possible to checkout from the index as well
2358   as from `HEAD`.  This corresponds to the
2359   `Removed Unstaged Changes` action in the `Repository Status` tool.
2360 * The `remote` dialogs (fetch, push, pull) are now slightly
2361   larger by default.
2362 * Bookmarks can be selected when `git cola` is run outside of a git repository.
2363 * Added more user documentation.  We now include many links to
2364   external git resources.
2365 * Added `git dag` to the available tools.
2366   `git dag` is a node-based DAG history browser.
2367   It doesn't do much yet, but it's been merged so that we can start
2368   building and improving upon it.
2370 Fixes
2371 -----
2372 * Fixed a missing ``import`` when showing `right-click` actions
2373   for unmerged files in the `Repository Status` tool.
2374 * ``git update-index --refresh`` is no longer run every time
2375   ``git cola version`` is run.
2376 * Don't try to watch non-existent directories when using `inotify`.
2377 * Use ``git rev-parse --symbolic-full-name`` plumbing to find
2378   the name of the current branch.
2380 Packaging
2381 ---------
2382 * The ``Makefile`` will now conditionally include a ``config.mak``
2383   file located at the root of the project.  This allows for user
2384   customizations such as changes to the `prefix` variable
2385   to be stored in a file so that custom settings do not need to
2386   be specified every time on the command-line.
2387 * The build scripts no longer require a ``.git`` directory to
2388   generate the ``builtin_version.py`` module.  The release tarballs
2389   now include a ``version`` file at the root of the project which
2390   is used in lieu of having the git repository available.
2391   This allows for ``make clean && make`` to function outside of
2392   a git repository.
2393 * Added maintainer's ``make dist`` target to the ``Makefile``.
2394 * The built-in `simplejson` and `jsonpickle` libraries can be
2395   excluded from ``make install`` by specifying the ``standalone=true``
2396   `make` variable.  For example, ``make standalone=true install``.
2397   This corresponds to the ``--standalone`` option to ``setup.py``.
2400 .. _v1.4.1.1:
2402 git-cola v1.4.1.1
2403 =================
2404 Usability, bells and whistles
2405 -----------------------------
2406 * We now use patience diff by default when it is available via
2407   `git diff --patience`.
2408 * Allow closing the `cola classic` tool with `Ctrl+W`.
2410 Fixes
2411 -----
2412 * Fixed an unbound variable error in the `push` dialog.
2414 Packaging
2415 ---------
2416 * Don't include `simplejson` in MANIFEST.in.
2417 * Update desktop entry to read `Cola Git GUI`.
2420 .. _v1.4.1:
2422 git-cola v1.4.1
2423 ===============
2424 This feature release adds two new features directly from
2425 `git cola`'s github issues backlog.  On the developer
2426 front, further work was done towards modularizing the code base.
2428 Usability, bells and whistles
2429 -----------------------------
2430 * Dragging and dropping patches invokes `git am`
2432   https://github.com/git-cola/git-cola/issues/3
2434 * A dialog to allow opening or cloning a repository
2435   is presented when `git cola` is launched outside of a git repository.
2437   https://github.com/git-cola/git-cola/issues/22
2439 * Warn when `push` is used to create a new branch
2441   https://github.com/git-cola/git-cola/issues/35
2443 * Optimized startup time by removing several calls to `git`.
2446 Portability
2447 -----------
2448 * `git cola` is once again compatible with PyQt 4.3.x.
2450 Developer
2451 ---------
2452 * `cola.gitcmds` was added to factor out git command-line utilities
2453 * `cola.gitcfg` was added for interacting with `git config`
2454 * `cola.models.browser` was added to factor out repobrowser data
2455 * Added more tests
2458 .. _v1.4.0.5:
2460 git-cola v1.4.0.5
2461 =================
2462 Fixes
2463 -----
2464 * Fix launching external applications on Windows
2465 * Ensure that the `amend` checkbox is unchecked when switching modes
2466 * Update the status tree when amending commits
2469 .. _v1.4.0.4:
2471 git-cola v1.4.0.4
2472 =================
2473 Packaging
2474 ---------
2475 * Fix Lintian warnings
2478 .. _v1.4.0.3:
2480 git-cola v1.4.0.3
2481 =================
2482 Fixes
2483 -----
2484 * Fix X11 warnings on application startup
2487 .. _v1.4.0.2:
2489 git-cola v1.4.0.2
2490 =================
2491 Fixes
2492 -----
2493 * Added missing 'Exit Diff Mode' button for 'Diff Expression' mode
2495   https://github.com/git-cola/git-cola/issues/31
2497 * Fix a bug when initializing fonts on Windows
2499   https://github.com/git-cola/git-cola/issues/32
2502 .. _v1.4.0.1:
2504 git-cola v1.4.0.1
2505 =================
2506 Fixes
2507 -----
2508 * Keep entries in sorted order in the `cola classic` tool
2509 * Fix staging untracked files
2511   https://github.com/git-cola/git-cola/issues/27
2513 * Fix the `show` command in the Stash dialog
2515   https://github.com/git-cola/git-cola/issues/29
2517 * Fix a typo when loading merge commit messages
2519   https://github.com/git-cola/git-cola/issues/30
2522 .. _v1.4.0:
2524 git-cola v1.4.0
2525 ===============
2526 This release focuses on a redesign of the git-cola user interface,
2527 a tags interface, and better integration of the `cola classic` tool.
2528 A flexible interface based on configurable docks is used to manage the
2529 various cola widgets.
2531 Usability, bells and whistles
2532 -----------------------------
2533 * New GUI is flexible and user-configurable
2534 * Individual widgets can be detached and rearranged arbitrarily
2535 * Add an interface for creating tags
2536 * Provide a fallback `SSH_ASKPASS` implementation to prompt for
2537   SSH passwords on fetch/push/pull
2538 * The commit message editor displays the current row/column and
2539   warns when lines get too long
2540 * The `cola classic` tool displays upstream changes
2541 * `git cola --classic` launches `cola classic` in standalone mode
2542 * Provide more information in log messages
2544 Fixes
2545 -----
2546 * Inherit the window manager's font settings
2547 * Miscellaneous PyQt4 bug fixes and workarounds
2549 Developer
2550 ---------
2551 * Removed all usage of Qt Designer `.ui` files
2552 * Simpler model/view architecture
2553 * Selection is now shared across tools
2554 * Centralized notifications are used to keep views in sync
2555 * The `cola.git` command class was made thread-safe
2556 * Less coupling between model and view actions
2557 * The status view was rewritten to use the MVC architecture
2558 * Added more documentation and tests
2561 .. _v1.3.9:
2563 git-cola v1.3.9
2564 ===============
2565 Usability, bells and whistles
2566 -----------------------------
2567 * Added a `cola classic` tool for browsing the entire repository
2568 * Handle diff expressions with spaces
2569 * Handle renamed files
2571 Portability
2572 -----------
2573 * Handle carat `^` characters in diff expressions on Windows
2574 * Worked around a PyQt 4.5/4.6 QThreadPool bug
2576 Documentation
2577 -------------
2578 * Added a keyboard shortcuts reference page
2579 * Added developer API documentation
2581 Fixes
2582 -----
2583 * Fix the diff expression used when reviewing branches
2584 * Fix a bug when pushing branches
2585 * Fix X11 warnings at startup
2586 * Fix more interrupted system calls on Mac OS X
2589 .. _v1.3.8:
2591 git-cola v1.3.8
2592 ===============
2593 Usability, bells and whistles
2594 -----------------------------
2595 * Fresh and tasty SVG logos
2596 * Added `Branch Review` mode for reviewing topic branches
2597 * Added diff modes for diffing between tags, branches,
2598   or arbitrary `git diff` expressions
2599 * The push dialog selects the current branch by default.
2600   This is in preparation for `git 1.7.0` where unconfigured `git push`
2601   will refuse to push when run without specifying the remote name
2602   and branch.  See the `git` release notes for more information
2603 * Support `open` and `clone` commands on Windows
2604 * Allow saving cola UI layouts
2605 * Re-enabled `double-click-to-stage` for unmerged entries.
2606   Disabling it for unmerged items was inconsistent, though safer.
2607 * Show diffs when navigating the status tree with the keyboard
2609 Packaging
2610 ---------
2611 * Worked around `pyuic4` bugs in the `setup.py` build script
2612 * Added Mac OSX application bundles to the download page
2615 .. _v1.3.7:
2617 git-cola v1.3.7
2618 ===============
2619 Subsystems
2620 ----------
2621 * `git difftool` became an official git command in `git 1.6.3`.
2622 * `git difftool` learned `--no-prompt` / `-y` and a corresponding
2623   `difftool.prompt` configuration variable
2625 Usability, bells and whistles
2626 -----------------------------
2627 * Warn when `non-fast-forward` is used with fetch, push or pull
2628 * Allow `Ctrl+C` to exit cola when run from the command line
2630 Fixes
2631 -----
2632 * Support Unicode font names
2633 * Handle interrupted system calls
2635 Developer
2636 ---------
2637 * `PEP-8`-ified more of the cola code base
2638 * Added more tests
2640 Packaging
2641 ---------
2642 * All resources are now installed into `$prefix/share/git-cola`.
2643   Closed Debian bug #519972
2645   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519972
2648 .. _v1.3.6:
2650 git-cola v1.3.6
2651 ===============
2652 Subsystems
2653 ----------
2654 * Added support for Kompare in `git difftool`
2655 * Added a separate configuration namespace for `git difftool`
2656 * Added the `diff.tool` configuration variable to define the default diff tool
2658 Usability, bells and whistles
2659 -----------------------------
2660 * The stash dialog allows passing the `--keep-index` option to `git stash`
2661 * Amending a published commit warns at commit time
2662 * Simplified the file-across-revisions comparison dialog
2663 * `origin` is selected by default in fetch/push/pull
2664 * Removed the search field from the log widget
2665 * The log window moved into a drawer widget at the bottom of the UI
2666 * Log window display can be configured with
2667   `cola.showoutput` = `{never, always, errors}`.  `errors` is the default.
2668 * `NOTE` -- `cola.showoutput` was removed with the GUI rewrite in 1.4.0.
2670 Developer
2671 ---------
2672 * Improved nose unittest usage
2674 Packaging
2675 ---------
2676 * Added a Windows/msysGit installer
2677 * Included private versions of `simplejson` and `jsonpickle`
2678   for ease of installation and development