finder: use the background editor
[git-cola.git] / share / doc / git-cola / relnotes.rst
blobf7891d93ff5ceb013a33b27b5d34687e75ae9c7d
1 ========
2 Releases
3 ========
5 Latest Release
6 ==============
8 :ref:`v3.0 <v3.0>` 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 .. _v3.1:
19 git-cola v3.1 (beta)
20 ====================
22 Usability, bells and whistles
23 -----------------------------
25 * The "Browser" widget learned to rename files using "git mv".
27   https://github.com/git-cola/git-cola/issues/239
29 * The "Diff" widget learned to diff images.  Side-by-side and pixel diff
30   modes allow you to inspect changes to common images formats.
32   https://github.com/git-cola/git-cola/issues/444
34 * Git LFS and Git Annex are natively supported by the image diff viewer.
36 * Git Annex operations are now included. `git annex init` can be performed on
37   repositories, and `git annex add` can be run on untracked files from the
38   status widget.  Install `git-annex` to activate this feature.
40 * Git LFS operations are now included. `git lfs install` can be performed on
41   repositories, and `git lfs track` can be run on untracked files from the
42   status widget.  Install `git-lfs` to activate this feature.
44 * The "Stash" tool learned to stash staged changes only.  Select the
45   "Stage Index" option and only staged changes will be stashed away.
47   https://github.com/git-cola/git-cola/issues/413
49 * The "Stash" tool learned to use vim-like navigation keyboard shortcuts,
50   shows error messages when things go wrong, and now saves the "Stash Index"
51   and "Keep Index" options across sessions.
53 * The Edit menu's "Copy" and "Select All" actions now forward to either the
54   diff, status, recent, or favorites widgets, based on which widget has focus.
56 * The "File" and "Edit" menu can now be activated using `Alt-{f,e}` hotkeys.
58   https://github.com/git-cola/git-cola/issues/759
60 * It was easy to accidentally trigger the first action in the `Status` tool's
61   context menu when using a quick right-click to bring up the menu.
62   A short sub-second delay was added to ensure that the top-most action is not
63   triggered unless enough time has passed.  This prevents accidental
64   activation of the first item (typically "Stage" or "Unstage") without
65   burdening common use cases.
67   https://github.com/git-cola/git-cola/pull/755
69   https://github.com/git-cola/git-cola/issues/643
71 * The "Ctrl+S" hotkey now works for the header items in the Status tool.
72   Selected the "Modified" header item and activating the "Stage" hotkey,
73   for example, will stage all modified files.  This works for the "Staged",
74   "Modified", and "Untracked" headers.  This is not enabled for the
75   "Unmerged" header by design.
77   https://github.com/git-cola/git-cola/issues/772
79 * The list of "Recent" repositories previously capped the number of
80   repositories shown to 8 repositories.  This can be set to a higher
81   value by setting the `cola.maxrecent` configuration variable.
83   https://github.com/git-cola/git-cola/issues/752
85 * The "Create Branch" dialog now prevents invalid branch names.
87   https://github.com/git-cola/git-cola/issues/765
89 * Updated Turkish translation.
91   https://github.com/git-cola/git-cola/pull/756
93 * Updated Ukrainian translation.
95   https://github.com/git-cola/git-cola/pull/753
97 * The window title can be configured to not display the absolute path of the
98   repository.
100   https://github.com/git-cola/git-cola/issues/775
102 * The "Edit Remotes" editor learned to edit remote URLS.
104 * Bare repositories can now be created by selecting the
105   "New Bare Repository..." action from the `File` menu.
107 * The "Branches" widget learned to configure upstream branches.
109 * A new `git cola clone` sub-command was added for cloning repositories.
111 Packaging
112 ---------
114 * The vendored `qtpy` library was updated to `v1.3.1`.
116 * The macOS installation was made simpler for better compatibility with
117   Homebrew.
119   https://github.com/git-cola/git-cola/issues/636
121 * The Windows installer is now much simpler.  Git Cola now bundles
122   Python and PyQt5, so users need only install the "Git for Windows"
123   and "Git Cola" installers to get things working.
125 Fixes
126 -----
128 * Uninitialized difftool errors will now be displayed graphically.
129   They were previously going to the shell.
131   https://github.com/git-cola/git-cola/issues/457
133 * Translations marked "fuzzy" will no longer be used when translating strings.
135   https://github.com/git-cola/git-cola/issues/782
137 * Deleted unmerged files will now correctly use a deleted icon.
139   https://github.com/git-cola/git-cola/issues/479
141 * The `Ctrl+C` "Copy" hotkey on the diff viewer has been fixed.
143   https://github.com/git-cola/git-cola/issues/767
145 * The "Create Tag" dialog did not correctly handle the case when a signed
146   tag is requested, but no message is provided, and the user chooses to
147   create an unannotated tag instead.  This convenience fallback will now
148   properly create an unsigned, unannotated tag.
150   https://github.com/git-cola/git-cola/issues/696
152 * `.gitconfig` and `.git/config` values editable by the Preferences dialog
153   (aka `git cola config`) will now get unset when set to an empty value.
154   For example, setting a different `user.email` in the current repository,
155   followed by a subsequent emptying of that field, would previously result in
156   an empty string getting stored in the config.  This has been fixed so that
157   the value will now get unset in the config instead.
159   https://github.com/git-cola/git-cola/issues/406
161 * Spelling and typofixes.
163   https://github.com/git-cola/git-cola/pull/748
165 * `core.commentChar` is now honored when set in the local repository
166   `.git/config`.
168   https://github.com/git-cola/git-cola/issues/766
170 .. _v3.0:
172 git-cola v3.0
173 =============
175 Usability, bells and whistles
176 -----------------------------
177 * Updated Simplified Chinese translation.
179   https://github.com/git-cola/git-cola/pull/726
181 * Updated Ukrainian translation.
183   https://github.com/git-cola/git-cola/pull/723
185 * New Czech translation.
187   https://github.com/git-cola/git-cola/pull/736
189   https://github.com/git-cola/git-cola/pull/737
191   https://github.com/git-cola/git-cola/pull/740
193   https://github.com/git-cola/git-cola/pull/743
195 * The "name" field in the "Create Tag" dialog now includes autocompletion,
196   which makes it easy to see which tags currently exist.
198 * `git cola` now has configurable toolbars.  Use the `View -> Add toolbar`
199   menu item to add a toolbar.
201 * Setting `cola.expandtab` to `true` will now expand tabs into spaces
202   in the commit message editor.  The number of spaces to insert is determined
203   by consulting `cola.tabwidth`, which defaults to `8`.
205 * The "Copy SHA-1" hotkey is now `Alt + Ctrl + C`, to avoid clobbering the
206   ability to copy text from the DAG window.
208   https://github.com/git-cola/git-cola/pull/705
210 * The "Prepare Commit Message" action can now be invoked via the
211   `Ctrl+Shift+Return` shortcut.
213   https://github.com/git-cola/git-cola/pull/707
215 * The `Branches` pane now has a filter field that highlights branches whose
216   names match the string entered into its text field.
218   https://github.com/git-cola/git-cola/pull/713
220 * Actions that are triggered in response to button presses were being
221   triggered when the button was pressed, rather than when it was released,
222   which was a usability flaw.  All buttons now respond when clicked
223   rather than when pressed.
225   https://github.com/git-cola/git-cola/pull/715
227 * The DAG window will now only refresh when object IDs change.
228   Previously, the DAG would redraw itself in response to inotify events,
229   such as filesystem operations, which was disruptive when inspecting a large
230   diff in its diff viewer.  The DAG will now only redraw when the object IDs
231   corresponding to its query input changes.  Furthermore, when redrawing, the
232   scrollbar positions are retained to minimize disruption to the viewport
233   contents.
235   https://github.com/git-cola/git-cola/issues/620
237   https://github.com/git-cola/git-cola/issues/724
239 * The "About" dialog now includes the SHA-1 where Git Cola was built.
241   https://github.com/git-cola/git-cola/issues/530
243 * The "Status" widget now has "Copy Leading Path to Clipboard" and
244   "Copy Basename to Clipboard" actions.
246   https://github.com/git-cola/git-cola/issues/435
248   https://github.com/git-cola/git-cola/issues/436
250 * The "Status" widget now supports custom "Copy ... to Clipboard" actions.
252   https://github.com/git-cola/git-cola/issues/437
254 * The main menu now has an "Edit" menu.
256   https://github.com/git-cola/git-cola/issues/725
258 * `git dag` learned to checkout commits into a detached HEAD state.
260   https://github.com/git-cola/git-cola/issues/698
262 * The `status` widget's context menus now omit actions selection-dependent
263   actions when no file is selected.
265   https://github.com/git-cola/git-cola/pull/731
267 * The startup dialog now focuses the repository list so that repositories
268   can be selected with the keyboard without mouse intervention.
270   https://github.com/git-cola/git-cola/issues/741
272 Fixes
273 -----
274 * `git dag` now prevents nodes from overlapping in more situations.
276   https://github.com/git-cola/git-cola/pull/689
278 * Adding untracked Git submodule repo directories previously ran
279   `git add submodule/` but we now call `git add submodule` without
280   the trailing slash (`/`) to avoid staging files that belong to the
281   submodule (which is possibly a `git` bug).  By working around the
282   buggy behavior we allow users to recover by issuing the appropriate
283   `git submodule add` command to properly register the submodule.
285   https://github.com/git-cola/git-cola/pull/681
287 * We now avoid `git for-each-ref --sort=version:refname` on versions
288   of `git` older than `v2.7.0`.  Previously we only avoided it for
289   versions older than `v2.0.0`, which was a mistake.
291   https://github.com/git-cola/git-cola/pull/686
293 * The error message displayed when `git` is not installed has been fixed.
295   https://github.com/git-cola/git-cola/pull/686
297 * Adding new remotes was silently broken.
299   https://github.com/git-cola/git-cola/issues/684
301   https://github.com/git-cola/git-cola/pull/685
303 * The repo selection dialog had errors during startup when the
304   `cola.refreshonfocus` feature was enabled, as reported on Ubuntu 16.04.
306   https://github.com/git-cola/git-cola/issues/690
308 * Restored support for PyQt 4.6 (Centos 6.8)
310   https://github.com/git-cola/git-cola/issues/692
312 * Switching repositories now resets the "Amend Mode" and other settings
313   when switching.
315   https://github.com/git-cola/git-cola/issues/710
317 * `git rebase` error messages now displayed when rebasing fails or stops
318   via the standalone `git cola rebase` front-end.
320   https://github.com/git-cola/git-cola/issues/721
322 * `git cola` learned to stage broken symlinks.
324   https://github.com/git-cola/git-cola/issues/727
326 * The "View History" feature in the `Browser` tool was fixed, and now
327   disambiguates between refs and paths.
329   https://github.com/git-cola/git-cola/issues/732
331 * The diff editor now has better support for files with CRLF `\r\n`
332   line endings.
334   https://github.com/git-cola/git-cola/issues/730
336 * `cola.inotify` in a repo-local config is now honored
337   when `git cola` is launched from a desktop entry (`git cola --prompt`).
339   https://github.com/git-cola/git-cola/issues/695
341 .. _v2.11:
343 git-cola v2.11
344 ==============
346 Usability, bells and whistles
347 -----------------------------
348 * New Ukrainian translation.
350   https://github.com/git-cola/git-cola/pull/670
352   https://github.com/git-cola/git-cola/pull/672
354 * New and improved French translations.
356 * The new `Branches` widget makes it easier to checkout, merge, push,
357   and pull branches from a single interface.
359 * `git cola` now includes a dark icon theme.  The dark icon theme can be
360   activated either by setting the `GIT_COLA_ICON_THEME` environment variable
361   to `dark`, by configuring `cola.icontheme` to `dark`, or by specifying
362   `--icon-theme=dark` on the command line.
364   https://github.com/git-cola/git-cola/pull/638
366 * Autocompletion was added to the `Fetch`, `Push`, and `Pull` dialogs.
368 * The commit message editor now remembers the "Spellcheck" setting
369   after exiting.
371   https://github.com/git-cola/git-cola/pull/645
373 * `git dag` now uses an improved algorithm for laying out the graph,
374   which avoids collisions under certain graph configurations, and
375   avoids overlapping tag with commits.
377   https://github.com/git-cola/git-cola/pull/648
379   https://github.com/git-cola/git-cola/pull/651
381   https://github.com/git-cola/git-cola/pull/654
383   https://github.com/git-cola/git-cola/pull/656
385   https://github.com/git-cola/git-cola/pull/659
387 * `git dag` now remembers its column sizes across sessions.
389   https://github.com/git-cola/git-cola/issues/674
391 * `Grep` now shows a preview of the selected file's content in a split window
392   below the grep results.
394 * `Grep` now includes line numbers in the preview pane's output.
396 * `Edit Remotes` now remembers its window settings after exiting.
398 * `Diff` now has an option to display line numbers in the editor.
400   https://github.com/git-cola/git-cola/issues/136
402 * `Amend Last Commit` can now be triggered via the `Commit` menu in addition
403   to the commit message editor's options.
405   https://github.com/git-cola/git-cola/issues/640
407 * The `File Browser` tool was made much faster and can now operate on
408   much larger repositories.
410   https://github.com/git-cola/git-cola/issues/499
412 * A new "turbo" mode was added that allows you to opt-out of operations
413   that can slow `git cola` on large repositories.  The turbo mode is
414   enabled by configuring `git config cola.turbo true`.  Turbo mode
415   disables the background loading of Git commit messages and other
416   details in the `File Browser` widget.
418 * A new GitIgnore dialog allows adding custom gitignore patterns.
420   https://github.com/git-cola/git-cola/pull/653
422 * The spellchecker in `git cola` can now use an additional dictionary
423   by configuring `cola.dictionary` to the path to a file containing
424   a newline-separated list of words.
426   https://github.com/git-cola/git-cola/issues/663
428 * The stash, export patches, diff, and gitignore dialogs now remember
429   their window sizes.
431 * A new `git cola recent` sub-command was added for finding recently
432   edited files.
434 * The `Fetch` dialog now allows pruning remote branches.
436   https://github.com/git-cola/git-cola/issues/639
438   https://github.com/git-cola/git-cola/pull/680
440 Fixes
441 =====
442 * `git cola`'s spellchecker now supports the new `dict-common` filesystem
443   layout, and prefers the `/usr/share/dict/cracklib-small` file over the
444   `/usr/share/dict/words` provided on older distributions.
445   This makes the spellchecker compatible with Arch, which does not provide
446   a `words` symlink like Debian.
448   https://github.com/git-cola/git-cola/issues/663
450 * Properly handle the case where an existing file is untracked using
451   the File Browser.
453 * Fix a quirk where the "Create Branch" dialog sometimes required clicking
454   twice on the radio buttons.
456   https://github.com/git-cola/git-cola/pull/662
458 * Fixed a focus issue to ensure that "Push", "Fetch", and "Pull" can
459   be executed with the press of a single enter key after being shown.
461   https://github.com/git-cola/git-cola/issues/661
463 * Committing is now allowed in when resolving a merge results in no
464   changes.  This state was previously prevented by the commit message editor,
465   which prevented users from resolving merges that result in no changes.
467   https://github.com/git-cola/git-cola/pull/679
469 * The filesystem monitor would sometimes emit backtraces when directories
470   are modified.  This has been fixed.
472   https://bugzilla.redhat.com/show_bug.cgi?id=1438522
474 * Absolute paths are now returned when querying for `.git`-relative paths
475   from within a submodule, which uses `.git`-files.
476   This fixes launching `git cola` from within a subdirectory of a submodule.
478   https://github.com/git-cola/git-cola/pull/675
480 .. _v2.10:
482 git-cola v2.10
483 ==============
485 Usability, bells and whistles
486 -----------------------------
487 * `git cola` can now invoke the `.git/hooks/cola-prepare-commit-msg`
488   hook to update the commit message.  This hook takes the same parameters
489   as Git's `prepare-commit-message` hook.  The default path to this hook
490   can be overridden by setting the `cola.prepareCommitMessageHook`
491   configuration variable.
493   http://git-cola.readthedocs.io/en/latest/git-cola.html#prepare-commit-message
495 * `git cola diff` (and the corresponding `Diff` menu actions) can now
496   launch difftool with the standard `Ctrl+D` hotkey.  The `Ctrl+E` hotkey was
497   also added for launching an editor.
499 * Traditional Chinese (Taiwan) translation updates.
501 Fixes
502 -----
503 * `git cola` now works when installed in non-ascii, utf8-encoded paths.
505   https://github.com/git-cola/git-cola/issues/629
507 * Styling issues that caused black backgrounds in various widgets when using
508   PyQ5 on Mac OS X have been fixed.
510   https://github.com/git-cola/git-cola/issues/624
512 * The "Open Recent" menu action was broken and has been fixed.
514   https://github.com/git-cola/git-cola/issues/634
516 * Exiting `git cola` with a maximized main window would hang when reopened
517   on Linux.
519   https://github.com/git-cola/git-cola/issues/641
521 Packaging
522 ---------
523 * `appdata.xml` files are now provided at
524   `share/appdata/git-cola.xml` and `share/appdata/git-dag.xml`
525   for use by the Linux software gallery.
527   https://people.freedesktop.org/~hughsient/appdata/
529   https://github.com/git-cola/git-cola/pull/627
531 .. _v2.9.1:
533 git-cola v2.9.1
534 ===============
536 Fixes
537 -----
538 * The "Open Recent" menu was updated to new bookmarks format.
540   https://github.com/git-cola/git-cola/issues/628
542 .. _v2.9:
544 git-cola v2.9
545 =============
547 Usability, bells and whistles
548 -----------------------------
549 * New Polish translation thanks to Łukasz Wojniłowicz
551   https://github.com/git-cola/git-cola/pull/598
553 * The `Bypass Commit Hooks` feature now disables itself automatically
554   when a new commit is created.  The new behavior turns the option into a
555   single-use flag, which helps prevent users from accidentally leaving it
556   active longer than intended.
558   https://github.com/git-cola/git-cola/pull/595
560 * `git dag` learned to launch an external diff viewer on selected commits.
561   The standard `Ctrl+D` shortcut can be used to view diffs.
563   https://github.com/git-cola/git-cola/issues/468
565 * `git dag` learned to launch directory diffs via `git difftool --dir-diff`.
566   The `Ctrl+Shift+D` shortcut launches difftool in directory-diff mode.
568   https://github.com/git-cola/git-cola/issues/468
570 * Items in the "Favorites" list can now be renamed, which makes it
571   easier to differentiate between several checkouts of the same repository.
573   https://github.com/git-cola/git-cola/issues/599
575   https://github.com/git-cola/git-cola/pull/601
577 * The startup screen now includes a logo and `git cola` version information.
579   https://github.com/git-cola/git-cola/issues/526
581 * The `About` page was revamped to contain multiple tabs.  A new tab was added
582   that provides details about `git cola`''s dependencies.  New tabs were also
583   added for giving credit to `git cola`'s authors and translators.
585 * The `About` page can now be accessed via `git cola about`.
587 * The "Fast-forward only" and "No fast-forward" options supported by
588   `git pull` are now accessible via `git cola pull`.
590 * Doing a forced push no longer requires selecting the remote branch.
592   https://github.com/git-cola/git-cola/pull/618
594 * `git cola push` now has an option to suppress the prompt that is shown
595   when pushing would create new remote branches.
597   https://github.com/git-cola/git-cola/issues/605
599 * `git dag` now shows commit messages in a more readable color.
601   https://github.com/git-cola/git-cola/issues/574
603 * `git cola browse` and the `status` widget learned to launch the OS-specified
604   default action for a file.  When used on directories via `git cola browse`,
605   or when "Open Parent Directory" is used on files, the OS-specified
606   file browser will typically be used.
608 * `git cola browse` and the `status` widget learned to launch terminals.
610 Fixes
611 -----
612 * `git cola browse` was not updating when expanding items.
614   https://github.com/git-cola/git-cola/issues/588
616 * Typofixes in comments, naming, and strings have been applied.
618   https://github.com/git-cola/git-cola/pull/593
620 * The inotify and win32 filesystem monitoring no longer refreshes
621   when updates are made to ignored files.
623   https://github.com/git-cola/git-cola/issues/517
625   https://github.com/git-cola/git-cola/issues/516
627 * The `Refresh` button on the actions panel no longer raises an
628   exception when using PyQt5.
630   https://github.com/git-cola/git-cola/issues/604
632 * Fixed a typo in the inotify backend that is triggered when files are removed.
634   https://github.com/git-cola/git-cola/issues/607
636 * Fixed a typo when recovering from a failed attempt to open a repository.
638   https://github.com/git-cola/git-cola/issues/606
640 * `git dag` now properly updates itself when launched from the menubar.
642   https://github.com/git-cola/git-cola/pull/613
644 * If git-cola is invoked on Windows using `start pythonw git-cola`,
645   a console window will briefly flash on the screen each time
646   `git cola` invokes `git`.  The console window is now suppressed.
648 * We now avoid some problematic Popen flags on Windows which were
649   breaking the `git rebase` feature on Windows.
651 * The `Save` button in `git dag`'s "Grab File..." feature now properly
652   prompts for a filename when saving files.
654   https://github.com/git-cola/git-cola/pull/617
656 Development
657 -----------
658 * The `qtpy` symlink in the source tree has been removed to allow for easier
659   development on Windows.
661   https://github.com/git-cola/git-cola/issues/626
663 .. _v2.8:
665 git-cola v2.8
666 =============
668 Usability, bells and whistles
669 -----------------------------
670 * `git cola push` learned to configure upstream branches.
672   https://github.com/git-cola/git-cola/issues/563
674 Fixes
675 -----
676 * The diffstat view is now properly updated when notifications are
677   received via inotify filesystem monitoring.
679   https://github.com/git-cola/git-cola/issues/577
681 * Python3 with PyQt5 had a bug that prevented `git cola` from starting.
683   https://github.com/git-cola/git-cola/pull/589
685 .. _v2.7:
687 git-cola v2.7
688 =============
690 Fixes
691 -----
693 * When repositories stored in non-ASCII, UTF-8-encoded filesystem paths
694   were operated upon with `LC_ALL=C` set in the environment, unicode errors
695   would occur when using `python2`.  `git cola` was made more robust and will
696   now operate correctly within this environment.
698   https://github.com/git-cola/git-cola/issues/581
700 * Support for the `GIT_WORK_TREE` environment variable was fixed.
702   https://github.com/git-cola/git-cola/pull/582
704 Development
705 -----------
707 * The `unittest.mock` module is now used instead of the original `mock` module
708   when running the `git cola` test suite using Python3.
710   https://github.com/git-cola/git-cola/issues/569
712 Packaging
713 ---------
715 * `git cola` is now compatible with *PyQt5*, *PyQt4*, and *Pyside*.
716   `git cola` previously supported *PyQt4* only, but will now use whichever
717   library is available.  Users are not required to upgrade at this time,
718   but *PyQt5* support can be enabled anytime by making its python
719   modules available.
721   https://github.com/git-cola/git-cola/issues/232
723   *NOTE*: We do not yet recommend using *PyQt5* because there are known
724   exit-on-segfault bugs in *Qt5* that have not yet been addressed.
725   `git cola` is sensitive to this bug and is known to crash on exit
726   when using `git dag` or the interactive rebase feature on *PyQt5*.
728   https://bugreports.qt.io/browse/QTBUG-52988
730   *PyQt4* is stable and there are no known issues when using it so
731   we recommend using it until the Qt5 bugs have been resolved.
733 * `git cola` now depends on *QtPy* and includes a bundled copy of the
734   `qtpy` library.  If you are packaging `git cola` and would prefer to use
735   `qtpy` from your distribution instead of the built-in version then use
736   `make NO_VENDOR_LIBS=1` when building `git cola`.  This will prevent
737   vendored libraries from being installed.
739 .. _v2.6:
741 git-cola v2.6
742 =============
744 Usability, bells and whistles
745 -----------------------------
747 * A new "Reset" sub-menu provides access to running "git reset --mixed"
748   when resetting branch heads and "git reset  --merge" when resetting
749   worktrees.
751   https://github.com/git-cola/git-cola/issues/542
753 * `git cola` now supports linked worktrees, i.e. worktrees created by
754   `git worktree`.
756   https://github.com/git-cola/git-cola/issues/554
758 Fixes
759 -----
761 * Diff highlighting is now robust to the user having
762   diff.supressBlankEmpty=true in their git config.
764   https://github.com/git-cola/git-cola/issues/541
766 * The filesystem monitor now properly handles repositories that use
767   `.git`-files, e.g. when using submodules.
769   https://github.com/git-cola/git-cola/issues/545
771   https://github.com/git-cola/git-cola/pulls/546
773 * Per-repository git configuration is now properly detected when launching
774   `git cola` from an application launcher.
776   https://github.com/git-cola/git-cola/issues/548
778 * `git cola` now cleans up after itself immediately to avoid leaving behind
779   empty `/tmp/git-cola-XXXXXX` directories when the user uses `Ctrl+C`
780   to quit the app.
782   https://github.com/git-cola/git-cola/issues/566
784 Packaging
785 ---------
787 * It is now possible to install `git cola` to and from utf8-encoded filesystem
788   paths.  Previously, Python's stdlib would throw an encoding error during
789   installation.  We workaround the stdlib by forcing python2 to use utf-8,
790   thus fixing assumptions in the stdlib library code.
792   https://github.com/git-cola/git-cola/issues/551
794 .. _v2.5:
796 git-cola v2.5
797 =============
799 Usability, bells and whistles
800 -----------------------------
802 * The icon for untracked files was adjusted to better differentiate
803   between files and the "Untracked" header.
805   https://github.com/git-cola/git-cola/issues/509
807 * Ctrl+O was added as a hotkey for opening repositories.
809   https://github.com/git-cola/git-cola/pull/507
811 * `git dag` now uses consistent edge colors across updates.
813   https://github.com/git-cola/git-cola/issues/512
815 * `git cola`'s Bookmarks widget can now be used to set a "Default Repository".
816   Under the hood, we set the `cola.defaultrepo` configuration variable.
817   The default repository is used whenever `git cola` is launched outside of
818   a Git repository.  When unset, or when set to a bogus value, `git cola`
819   will prompt for a repository, as it previously did.
821   https://github.com/git-cola/git-cola/issues/513
823 * `git cola`'s Russian and Spanish translations were improved
824   thanks to Vaiz and Zeioth.
826   https://github.com/git-cola/git-cola/pull/514
828   https://github.com/git-cola/git-cola/pull/515
830   https://github.com/git-cola/git-cola/pull/523
832 * `git cola` was translated to Turkish thanks to Barış ÇELİK.
834   https://github.com/git-cola/git-cola/pull/520
836 * The status view now supports launching `git gui blame`.  It can be
837   configured to use a different command by setting `cola.blameviewer`.
839   https://github.com/git-cola/git-cola/pull/521
841 * `git dag` now allows selecting non-contiguous ranges in the log widget.
843   https://github.com/git-cola/git-cola/issues/468
845 * Any font can now be chosen for the diff editor, not just monospace fonts.
847   https://github.com/git-cola/git-cola/issues/525
849 Fixes
850 -----
852 * `xfce4-terminal` and `gnome-terminal` are now supported when launching
853   `git mergetool` to resolve merges.  These terminals require that the command
854   to execute is shell-quoted and passed as a single string argument to `-e`
855   rather than as additional command line arguments.
857   https://github.com/git-cola/git-cola/issues/524
859 * Fixed a unicode problem when formatting the error message that is shown
860   when `gitk` is not installed.  We now handle unicode data in tracebacks
861   generated by python itself.
863   https://github.com/git-cola/git-cola/issues/528
865 * The `New repository` feature was fixed.
867   https://github.com/git-cola/git-cola/pull/533
869 * We now use omit the extended description when creating "fixup!" commits,
870   for consistency with the Git CLI.  We now include only the one-line summary
871   in the final commit message.
873   https://github.com/git-cola/git-cola/issues/522
875 .. _v2.4:
877 git-cola v2.4
878 =============
880 Usability, bells and whistles
881 -----------------------------
883 * The user interface is now HiDPI-capable.  git-cola now uses SVG
884   icons, and its interface can be scaled by setting the `GIT_COLA_SCALE`
885   environment variable.
887 * `git dag` now supports the standard editor, difftool, and history hotkeys.
888   It is now possible to invoke these actions from file widget's context
889   menu and through the standard hotkeys.
891   https://github.com/git-cola/git-cola/pull/473
893 * The `Status` tool also learned about the history hotkey.
894   Additionally, the `Alt-{j,k}` aliases are also supported in the `Status`
895   tool for consistency with the other tools where the non-Alt hotkeys are not
896   available.
898   https://github.com/git-cola/git-cola/pull/488
900 * The `File Browser` tool now has better default column sizes,
901   and remembers its window size and placement.
903 * The `File Browser` now supports the refresh hotkey, and has better
904   behavior when refreshing.  The selection is now retained, and new and
905   removed files are found when refreshing.
907 * A new `git-cola-completion.bash` completion script is provided in the
908   `contrib/` directory.  It must be used alongside Git's completion script.
909   Source it from your `~/.bashrc` (or `~/.zshrc`, etc) after sourcing
910   the `git-completion.bash` script and you will have command-line completion
911   support for the `git cola` and `git dag` sub-commands.
913 * The "checkout" dialog now offers completion for remote branches and other
914   git refs.  This makes it easier to checkout remote branches in a detached
915   head state.  Additionally, the checkout dialog also offers completion for
916   remote branches that have not yet been checked out, which makes it easier to
917   create a local tracking branch by just completing for that potential name.
919   https://github.com/git-cola/git-cola/issues/390
921 * The "create branch" and "create tag" dialogs now save and restore their
922   window settings.
924 * The "status" widget can now be configured to use a bold font with a darker
925   background for the header items.
927   https://github.com/git-cola/git-cola/pull/506
929 * The "status" widget now remembers its horizontol scrollbar position across
930   updates.  This is helpful when working on projects with long paths.
932   https://github.com/git-cola/git-cola/issues/494
934 Fixes
935 -----
937 * When using *Git for Windows*, a `git` window would appear
938   when running *Windows 8*.  We now pass additional flags to
939   `subprocess.Popen` to prevent a `git` window from appearing.
941   https://github.com/git-cola/git-cola/issues/477
943   https://github.com/git-cola/git-cola/pull/486
945 * Launching difftool with `.PY` in `$PATHEXT` on Windows was fixed.
947   https://github.com/git-cola/git-cola/issues/492
949 * Creating a local branch tracking a remote branch that contains
950   slashes in its name is now properly handled.
952   https://github.com/git-cola/git-cola/issues/496
954 * The "Browse Other Branch" feature was broken by Python3, and is now fixed.
956   https://github.com/git-cola/git-cola/issues/501
958 * We now avoid `long` for better Python3 compatibility.
960   https://github.com/git-cola/git-cola/issues/502
962 * We now use Git's default merge message when merging branches.
964   https://github.com/git-cola/git-cola/issues/508
966 * Miscellaneous fixes
968   https://github.com/git-cola/git-cola/pull/485
970 Packaging
971 ---------
973 * git-cola's documentation no longer uses an intersphinx link mapping
974   to docs.python.org.  This fixes warnings when building rpms using koji,
975   where network access is prevented.
977   https://bugzilla.redhat.com/show_bug.cgi?id=1231812
979 .. _v2.3:
981 git-cola v2.3
982 =============
984 Usability, bells and whistles
985 -----------------------------
987 * The Interactive Rebase feature now works on Windows!
989   https://github.com/git-cola/git-cola/issues/463
991 * The `diff` editor now understands vim-style `hjkl` navigation hotkeys.
993   https://github.com/git-cola/git-cola/issues/476
995 * `Alt-{j,k}` navigation hotkeys were added to allow changing to the
996   next/previous file from the diff and commit editors.
998 * The `Rename branch` menu action is now disabled in empty repositories.
1000   https://github.com/git-cola/git-cola/pull/475
1002   https://github.com/git-cola/git-cola/issues/459
1004 * `git cola` now checks unmerged files for conflict markers before
1005   staging them.  This feature can be disabled in the preferences.
1007   https://github.com/git-cola/git-cola/issues/464
1009 * `git dag` now remembers which commits were selected when refreshing
1010   so that it can restore the selection afterwards.
1012   https://github.com/git-cola/git-cola/issues/480
1014 * "Launch Editor", "Launch Difftool", "Stage/Unstage",
1015   and "Move Up/Down" hotkeys now work when the commit message
1016   editor has focus.
1018   https://github.com/git-cola/git-cola/issues/453
1020 * The diff editor now supports the `Ctrl+u` hotkey for reverting
1021   diff hunks and selected lines.
1023 * The `core.commentChar` Git configuration value is now honored.
1024   Commit messages and rebase instruction sheets will now use
1025   the configured character for comments.  This allows having
1026   commit messages that start with `#` when `core.commentChar`
1027   is configured to its non-default value.
1029   https://github.com/git-cola/git-cola/issues/446
1031 Fixes
1032 -----
1034 * Diff syntax highlighting was improved to handle more edge cases
1035   and false positives.
1037   https://github.com/git-cola/git-cola/pull/467
1039 * Setting commands in the interactive rebase editor was fixed.
1041   https://github.com/git-cola/git-cola/issues/472
1043 * git-cola no longer clobbers the Ctrl+Backspace text editing shortcut
1044   in the commit message editor.
1046   https://github.com/git-cola/git-cola/issues/453
1048 * The copy/paste clipboard now persists after `git cola` exits.
1050   https://github.com/git-cola/git-cola/issues/484
1052 .. _v2.2.1:
1054 git-cola v2.2.1
1055 ===============
1057 Fixes
1058 -----
1059 * Fixed the "Sign off" feature in the commit message editor.
1061 .. _v2.2:
1063 git-cola v2.2
1064 =============
1066 Usability, bells and whistles
1067 -----------------------------
1068 * Double-click will now choose a commit in the "Select commit" dialog.
1070 * `git cola` has a feature that reads `.git/MERGE_MSG` and friends for the
1071   commit message when a merge is in-progress.  Upon refresh, `git cola` will
1072   now detect when a merge has completed and reset the commit message back to
1073   its previous state.  It is only reset if the editor contains a message
1074   that was read from the file and has not been manually edited by the user.
1076 * The commit message editor's context menu now has a "Clear..." action for
1077   clearing the message across both the summary and description fields.
1079 * Traditional Chinese (Taiwan) translation updates.
1081 * The system theme's icons are now used wherever possible.
1083   https://github.com/git-cola/git-cola/pull/458
1085 Fixes
1086 -----
1087 * The stash viewer now uses ``git show --no-ext-diff`` to avoid running
1088   user-configured diff tools.
1090 * `git cola` now uses the `setsid()` system call to ensure that the
1091   `GIT_ASKPASS` and `SSH_ASKPASS` helper programs are used when pushing
1092   changes using `git`.  The askpass helpers will now be used even when
1093   `git cola` is launched from a terminal.
1095   The behavior without `setsid()` is that `git cola` can appear to hang while
1096   pushing changes.  The hang happens when `git` prompts the user for a
1097   password using the terminal, but the user never sees the prompt.  `setsid()`
1098   detaches the terminal, which ensures that the askpass helpers are used.
1100   https://github.com/git-cola/git-cola/issues/218
1102   https://github.com/git-cola/git-cola/issues/262
1104   https://github.com/git-cola/git-cola/issues/377
1106 * `git dag`'s file list tool was updated to properly handle unicode paths.
1108 * `gnome-terminal` is no longer used by default when `cola.terminal` is unset.
1109   It is broken, as was detailed in #456.
1111   https://github.com/git-cola/git-cola/issues/456
1113 * The interactive rebase feature was not always setting `$GIT_EDITOR`
1114   to the value of `gui.editor`, thus there could be instances where rebase
1115   will seem to not stop, or hang, when performing "reword" actions.
1117   We now set the `$GIT_EDITOR` environment variable when performing the
1118   "Continue", "Skip", and "Edit Todo" rebase actions so that the correct
1119   editor is used during the rebase.
1121   https://github.com/git-cola/git-cola/issues/445
1123 Packaging
1124 ---------
1125 * `git cola` moved from a 3-part version number to a simpler 2-part "vX.Y"
1126   version number.  Most of our releases tend to contain new features.
1128 .. _v2.1.2:
1130 git-cola v2.1.2
1131 ===============
1133 Usability, bells and whistles
1134 -----------------------------
1135 * Updated zh_TW translations.
1137 * `git cola rebase` now defaults to `@{upstream}`, and generally uses the same
1138   CLI syntax as `git rebase`.
1140 * The commit message editor now allows you to bypass commit hooks by selecting
1141   the "Bypass Commit Hooks" option.  This is equivalent to passing the
1142   `--no-verify` option to `git commit`.
1144   https://github.com/git-cola/git-cola/issues/357
1146 * We now prevent the "Delete Files" action from creating a dialog that does
1147   not fit on screen.
1149   https://github.com/git-cola/git-cola/issues/378
1151 * `git xbase` learned to edit rebase instruction sheets that contain
1152   `exec` commands.
1154 * The diff colors are now configurable.  `cola.color.{text,add,remove,header}`
1155   can now be set with 6-digit hexadecimal colors.
1156   See the `git cola manual <https://git-cola.readthedocs.io/en/latest/git-cola.html#configuration-variables>_`
1157   for more details.
1159 * Improved hotkey documentation.
1161 Fixes
1162 -----
1163 * `git cola` will now allow starting an interactive rebase with a dirty
1164   worktree when `rebase.autostash` is set.
1166   https://github.com/git-cola/git-cola/issues/360
1168 .. _v2.1.1:
1170 git-cola v2.1.1
1171 ===============
1173 Usability, bells and whistles
1174 -----------------------------
1175 * A new "Find files" widget was added, and can be activated by
1176   using the `Ctrl+t` or `t` hotkeys.
1178 * A new `git cola find` sub-command was added for finding files.
1180 * `git cola` now remembers the text cursor's position when staging
1181   interactively with the keyboard.  This makes it easier to use the keyboard
1182   arrows to select and stage lines.
1184 * The completion widgets will now select the top completion item
1185   when `Enter` or `Return` are pressed.
1187 * You can now refresh using `F5` in addition to the existing `Ctrl+R` hotkey.
1189 Fixes
1190 -----
1191 * `git cola` now passes `--no-abbrev-commit` to `git log` to override
1192   having `log.abbrevCommit = true` set in `.gitconfig`.
1194 .. _v2.1.0:
1196 git-cola v2.1.0
1197 ===============
1198 Usability, bells and whistles
1199 -----------------------------
1200 * `git dag` now forwards all unknown arguments along to `git log`.
1202   https://github.com/git-cola/git-cola/issues/389
1204 * Line-by-line interactive staging was made more robust.
1206   https://github.com/git-cola/git-cola/pull/399
1208 * "Bookmarks" was renamed to "Favorites".
1210   https://github.com/git-cola/git-cola/issues/392
1212 * Untracked files are now displayed using a unique icon.
1214   https://github.com/git-cola/git-cola/pull/388
1216 Fixes
1217 -----
1218 * `git dag` was triggering a traceback on Fedora when parsing Git logs.
1220   https://bugzilla.redhat.com/show_bug.cgi?id=1181686
1222 * inotify expects unicode paths on Python3.
1224   https://github.com/git-cola/git-cola/pull/393
1226 * Untracked files are now assumed to be utf-8 encoded.
1228   https://github.com/git-cola/git-cola/issues/401
1230 .. _v2.0.8:
1232 git-cola v2.0.8
1233 ===============
1234 Usability, bells and whistles
1235 -----------------------------
1236 * `git cola` can now create GPG-signed commits and merges.
1238   https://github.com/git-cola/git-cola/issues/149
1240   See the documentation for details about setting up a GPG agent.
1242 * The status widget learned to copy relative paths when `Ctrl+x` is pressed.
1244   https://github.com/git-cola/git-cola/issues/358
1246 * Custom GUI actions can now define their own keyboard shortcuts by
1247   setting `guitool.$name.shortcut` to a string understood by Qt's
1248   `QAction::setShortcut()` API, e.g. `Alt+X`.
1250   See http://qt-project.org/doc/qt-4.8/qkeysequence.html#QKeySequence-2
1251   for more details about the supported values.
1253 * `git cola` learned to rename branches.
1255   https://github.com/git-cola/git-cola/pull/364
1257   https://github.com/git-cola/git-cola/issues/278
1259 * `git dag` now has a "Show history" context menu which can be used to filter
1260   history using the selected paths.
1262 Fixes
1263 -----
1264 * `sphinxtogithub.py` was fixed for Python3.
1266   https://github.com/git-cola/git-cola/pull/353
1268 * The commit that changed how we read remotes from `git remote`
1269   to parsing `git config` was reverted since it created problems
1270   for some users.
1272 * Fixed a crash when using the `rebase edit` feature.
1274   https://github.com/git-cola/git-cola/issues/351
1276 * Better drag-and-drop behavior when dropping into gnome-terminal.
1278   https://github.com/git-cola/git-cola/issues/373
1280 Packaging
1281 ---------
1282 * The `git-cola-folder-handler.desktop` file handler was fixed
1283   to pass validation by `desktop-file-validate`.
1285   https://github.com/git-cola/git-cola/issues/356
1287 * The `git.svg` icon was renamed to `git-cola.svg`, and `git cola` was taught
1288   to prefer icons from the desktop theme when available.
1290 .. _v2.0.7:
1292 git-cola v2.0.7
1293 ===============
1294 Usability, bells and whistles
1295 -----------------------------
1296 * New hotkey: `Ctrl+Shift+M` merges branches.
1298 * New hotkey: `Ctrl+R` refreshes the DAG viewer.
1300   https://github.com/git-cola/git-cola/issues/347
1302 Fixes
1303 -----
1304 * We now use `git config` to parse the list of remotes
1305   instead of parsing the output of `git remote`, which
1306   is a Git porcelain and should not be used by scripts.
1308 * Avoid "C++ object has been deleted" errors from PyQt4.
1310   https://github.com/git-cola/git-cola/issues/346
1312 Packaging
1313 ---------
1314 * The `make install` target now uses `install` instead of `cp`.
1316 .. _v2.0.6:
1318 git-cola v2.0.6
1319 ===============
1320 Usability, bells and whistles
1321 -----------------------------
1322 * Updated Brazillian Portuguese translation.
1324 * The status and browse widgets now allow drag-and-drop into
1325   external applications.
1327   https://github.com/git-cola/git-cola/issues/335
1329 * We now show a progress bar when cloning repositories.
1331   https://github.com/git-cola/git-cola/issues/312
1333 * The bookmarks widget was simplified to not need a
1334   separate dialog.
1336   https://github.com/git-cola/git-cola/issues/289
1338 * Updated Traditional Chinese translation.
1340 * We now display a warning when trying to rebase with uncommitted changes.
1342   https://github.com/git-cola/git-cola/issues/338
1344 * The status widget learned to filter paths.
1345   `Ctrl+Shift+S` toggles the filter widget.
1347   https://github.com/git-cola/git-cola/issues/337
1349   https://github.com/git-cola/git-cola/pull/339
1351 * The status widget learned to move files to the trash
1352   when the `send2trash <https://github.com/hsoft/send2trash>`_
1353   module is installed.
1355   https://github.com/git-cola/git-cola/issues/341
1357 * "Recent repositories" is now a dedicated widget.
1359   https://github.com/git-cola/git-cola/issues/342
1361 * New Spanish translation thanks to Pilar Molina Lopez.
1363   https://github.com/git-cola/git-cola/pull/344
1365 Fixes
1366 -----
1367 * Newly added remotes are now properly seen by the fetch/push/pull dialogs.
1369   https://github.com/git-cola/git-cola/issues/343
1371 .. _v2.0.5:
1373 git-cola v2.0.5
1374 ===============
1375 Usability, bells and whistles
1376 -----------------------------
1377 * New Brazillian Portuguese translation thanks to Vitor Lobo.
1379 * New Indonesian translation thanks to Samsul Ma'arif.
1381 * Updated Simplified Chinese translation thanks to Zhang Han.
1383 * `Ctrl+Backspace` is now a hotkey for "delete untracked files" in
1384   the status widget.
1386 * Fetch/Push/Pull dialogs now use the configured remote of the current
1387   branch by default.
1389   https://github.com/git-cola/git-cola/pull/324
1391 Fixes
1392 -----
1393 * We now use `os.getcwd()` on Python3.
1395   https://github.com/git-cola/git-cola/pull/316
1397   https://github.com/git-cola/git-cola/pull/326
1399 * The `Ctrl+P` hotkey was overloaded to both "push" and "cherry-pick",
1400   so "cherry-pick" was moved to `Ctrl+Shift+C`.
1402 * Custom GUI tools with mixed-case names are now properly supported.
1404 * "Diff Region" is now referred to as "Diff Hunk" for consistency
1405   with common terminology from diff/patch tools.
1407   https://github.com/git-cola/git-cola/issues/328
1409 * git-cola's test suite is now portable to MS Windows.
1411   https://github.com/git-cola/git-cola/pull/332
1413 .. _v2.0.4:
1415 git-cola v2.0.4
1416 ===============
1417 Usability, bells and whistles
1418 -----------------------------
1419 * We now handle the case when inotify `add_watch()` fails
1420   and display instructions on how to increase the number of watches.
1422   https://github.com/git-cola/git-cola/issues/263
1424 * New and improved zh_TW localization thanks to V字龍(Vdragon).
1426   https://github.com/git-cola/git-cola/pull/265
1428   https://github.com/git-cola/git-cola/pull/267
1430   https://github.com/git-cola/git-cola/pull/268
1432   https://github.com/git-cola/git-cola/issues/269
1434   https://github.com/git-cola/git-cola/pull/270
1436   https://github.com/git-cola/git-cola/pull/271
1438   https://github.com/git-cola/git-cola/pull/272
1440 * New hotkeys: `Ctrl+F` for fetch, `Ctrl+P` for push,
1441   and `Ctrl+Shift+P` for pull.
1443 * The bookmarks widget's context menu actions were made clearer.
1445   https://github.com/git-cola/git-cola/issues/281
1447 * The term "Staging Area" is used consistently in the UI
1448   to allow for better localization.
1450   https://github.com/git-cola/git-cola/issues/283
1452 * The "Section" term is now referred to as "Diff Region"
1453   in the UI.
1455   https://github.com/git-cola/git-cola/issues/297
1457 * The localization documentation related to the LANGUAGE
1458   environment variable was improved.
1460   https://github.com/git-cola/git-cola/pull/293
1462 * The "Actions" panel now contains tooltips for each button
1463   in case the button labels gets truncated by Qt.
1465   https://github.com/git-cola/git-cola/issues/292
1467 * Custom `git config`-defined actions can now be run in the
1468   background by setting `guitool.<name>.background` to `true`.
1470 Fixes
1471 -----
1472 * We now use bold fonts instead of SmallCaps to avoid
1473   artifacts on several configurations.
1475 * We now pickup `user.email`, `cola.tabwidth`, and similar settings
1476   when defined in /etc/gitconfig.
1478   https://github.com/git-cola/git-cola/issues/259
1480 * Better support for unicode paths when using inotify.
1482   https://bugzilla.redhat.com/show_bug.cgi?id=1104181
1484 * Unicode fixes for non-ascii locales.
1486   https://github.com/git-cola/git-cola/issues/266
1488   https://github.com/git-cola/git-cola/issues/273
1490   https://github.com/git-cola/git-cola/issues/276
1492   https://github.com/git-cola/git-cola/issues/282
1494   https://github.com/git-cola/git-cola/issues/298
1496   https://github.com/git-cola/git-cola/issues/302
1498   https://github.com/git-cola/git-cola/issues/303
1500   https://github.com/git-cola/git-cola/issues/305
1502 * Viewing history from the file browser was fixed for Python3.
1504   https://github.com/git-cola/git-cola/issues/274
1506 * setup.py was fixed to install the `*.rst` documentation.
1508   https://github.com/git-cola/git-cola/issues/279
1510 * Patch export was fixed for Python3.
1512   https://github.com/git-cola/git-cola/issues/290
1514 * Fixed adding a bookmark with trailing slashes.
1516   https://github.com/git-cola/git-cola/pull/295
1518 * The default `git dag` layout is now setup so that its widgets
1519   can be freely resized on Linux.
1521   https://github.com/git-cola/git-cola/issues/299
1523 * Invalid tag names are now reported when creating tags.
1525   https://github.com/git-cola/git-cola/pull/296
1527 .. _v2.0.3:
1529 git-cola v2.0.3
1530 ===============
1531 Usability, bells and whistles
1532 -----------------------------
1533 * `git cola` no longer prompts after successfully creating a new branch.
1535   https://github.com/git-cola/git-cola/pull/251
1537 * Hitting enter on simple dialogs now accepts them.
1539   https://github.com/git-cola/git-cola/pull/255
1541 Fixes
1542 -----
1543 * `git dag` no longer relies on `sys.maxint`, which is
1544   not available in Python3.
1546   https://github.com/git-cola/git-cola/issues/249
1548 * Python3-related fixes.
1550   https://github.com/git-cola/git-cola/pull/254
1552 * Python3-on-Windows-related fixes.
1554   https://github.com/git-cola/git-cola/pull/250
1556   https://github.com/git-cola/git-cola/pull/252
1558   https://github.com/git-cola/git-cola/pull/253
1560 * Switching repositories using the bookmarks widget was not
1561   refreshing the inotify watcher.
1563   https://github.com/git-cola/git-cola/pull/256
1565 * Special commit messages trailers (e.g. "Acked-by:") are now special-cased to
1566   fix word wrapping lines that start with "foo:".
1568   https://github.com/git-cola/git-cola/issues/257
1570 * `git dag` sometimes left behind selection artifacts.
1571   We now refresh the view to avoid them.
1573   https://github.com/git-cola/git-cola/issues/204
1575 .. _v2.0.2:
1577 git-cola v2.0.2
1578 ===============
1579 Usability, bells and whistles
1580 -----------------------------
1581 * Better inotify support for file creation and deletion.
1583   https://github.com/git-cola/git-cola/issues/240
1585 * `git cola` now supports the X11 Session Management Protocol
1586   and remembers its state across logout/reboot.
1588   https://github.com/git-cola/git-cola/issues/164
1590 * `git cola` has a new icon.
1592   https://github.com/git-cola/git-cola/issues/190
1594 Packaging
1595 ---------
1596 * Building the documentation no longer requires `asciidoc`.
1597   We now use `Sphinx <http://sphinx-doc.org/>`_ for building
1598   html documentation and man pages.
1600 Fixes
1601 -----
1602 * Reworked the git-dag gravatar icon code to avoid a unicode
1603   error in Python 2.
1605 * Commit message line-wrapping was made to better match the GUI editor.
1607   https://github.com/git-cola/git-cola/issues/242
1609 * Better support for Python3 on Windows
1611   https://github.com/git-cola/git-cola/issues/246
1613 Packaging
1614 ---------
1615 * git-cola no longer depends on Asciidoc for building its documentation
1616   and man-pages.  We now depend on [Sphinx](http://sphinx-doc.org/) only.
1618 .. _v2.0.1:
1620 git-cola v2.0.1
1621 ===============
1622 Usability, bells and whistles
1623 -----------------------------
1624 * Some context menu actions are now hidden when selected
1625   files do not exist.
1627   https://github.com/git-cola/git-cola/issues/238
1629 Fixes
1630 -----
1631 * The build-git-cola.sh contrib script was improved.
1633   https://github.com/git-cola/git-cola/pull/235
1635 * Non-ascii worktrees work properly again.
1637   https://github.com/git-cola/git-cola/issues/234
1639 * The browser now guards itself against missing files.
1641   https://bugzilla.redhat.com/show_bug.cgi?id=1071378
1643 * Saving widget state now works under Python3.
1645   https://github.com/git-cola/git-cola/pull/236
1647 .. _v2.0.0:
1649 git-cola v2.0.0
1650 ===============
1651 Portability
1652 -----------
1653 * git-cola now runs on Python 3 thanks to Virgil Dupras.
1655   https://github.com/git-cola/git-cola/pull/233
1657 * Python 2.6, 2.7, and 3.2+ are now supported.
1658   Python 2.5 is no longer supported.
1660 Fixes
1661 -----
1662 * i18n test fixes thanks to Virgil Dupras.
1664   https://github.com/git-cola/git-cola/pull/231
1666 * git-cola.app build fixes thanks to Maicon D. Filippsen.
1668   https://github.com/git-cola/git-cola/pull/230
1670 * Lots of pylint improvements thanks to Alex Chernetz.
1672   https://github.com/git-cola/git-cola/pull/229
1674 .. _v1.9.4:
1676 git-cola v1.9.4
1677 ===============
1678 Usability, bells and whistles
1679 -----------------------------
1680 * The new `Bookmarks` tool makes it really easy to switch between repositories.
1682 * There is now a dedicated dialog for applying patches.
1683   See the ``File -> Apply Patches`` menu item.
1685   https://github.com/git-cola/git-cola/issues/215
1687 * A new `git cola am` sub-command was added for applying patches.
1689 Fixes
1690 -----
1691 * Fixed a typo that caused inotify events to be silently ignored.
1693 * Fixed the sys.path setup for Mac OS X (Homebrew).
1695   https://github.com/git-cola/git-cola/issues/221
1697 * Lots of pylint fixes thanks to Alex Chernetz.
1699 .. _v1.9.3:
1701 git-cola v1.9.3
1702 ===============
1703 Usability, bells and whistles
1704 -----------------------------
1705 * `git cola --amend` now starts the editor in `amend` mode.
1707   https://github.com/git-cola/git-cola/issues/187
1709 * Multiple lines of text can now be pasted into the `summary` field.
1710   All text beyond the first newline will be automatically moved to the
1711   `extended description` field.
1713   https://github.com/git-cola/git-cola/issues/212
1715 Fixes
1716 -----
1717 * Stray whitespace in `.git` files is now ignored.
1719   https://github.com/git-cola/git-cola/issues/213
1721 * Fix "known incorrect sRGB profile" in `staged-item.png`.
1723   http://comments.gmane.org/gmane.linux.gentoo.devel/85066
1725 .. _v1.9.2:
1727 git-cola v1.9.2
1728 ===============
1729 Fixes
1730 -----
1731 * Fix a traceback when `git push` fails.
1733   https://bugzilla.redhat.com/show_bug.cgi?id=1034778
1735 Packaging
1736 ---------
1737 * Most of the git-cola sub-packages have been removed.
1738   The only remaining packages are `cola`, `cola.models`,
1739   and `cola.widgets`.
1741 * The translation file for Simplified Chinese was renamed
1742   to `zh_CN.po`.
1744   https://github.com/git-cola/git-cola/issues/209
1746 .. _v1.9.1:
1748 git-cola v1.9.1
1749 ===============
1750 Packaging
1751 ---------
1752 * `git cola version --brief` now prints the brief version number.
1754 Fixes
1755 -----
1756 * Resurrected the "make dist" target, for those that prefer to create
1757   their own tarballs.
1759 * Fixed the typo that broke the preferences dialog.
1761 .. _v1.9.0:
1763 git-cola v1.9.0
1764 ===============
1765 Usability, bells and whistles
1766 -----------------------------
1767 * We now ship a full-featured interactive `git rebase` editor.
1768   The rebase todo file is edited using the `git xbase` script which
1769   is provided at `$prefix/share/git-cola/bin/git-xbase`.
1770   This script can be used standalone by setting the `$GIT_SEQUENCE_EDITOR`
1771   before running `git rebase --interactive`.
1773   https://github.com/git-cola/git-cola/issues/1
1775 * Fixup commit messages can now be loaded from the commit message editor.
1777 * Tool widgets can be locked in place by using the "Tools/Lock Layout"
1778   menu action.
1780   https://github.com/git-cola/git-cola/issues/202
1782 * You can now push to several remotes simultaneously by selecting
1783   multiple remotes in the "Push" dialog.
1785   https://github.com/git-cola/git-cola/issues/148
1787 * The `grep` tool learned to search using three different modes:
1788   basic regular expressions (default), extended regular expressions,
1789   and fixed strings.
1791 Packaging
1792 ---------
1793 * `git cola` now depends on the `argparse` Python module.
1794   This module is part of the stdlib in Python 2.7 and must
1795   be installed separately when using Python 2.6 and below.
1797 Fixes
1798 -----
1799 * Support unicode in the output from `fetch`, `push`, and `pull`.
1801 .. _v1.8.5:
1803 git-cola v1.8.5
1804 ===============
1805 Usability, bells and whistles
1806 -----------------------------
1807 * We now detect when the editor or history browser are misconfigured.
1809   https://github.com/git-cola/git-cola/issues/197
1811   https://bugzilla.redhat.com/show_bug.cgi?id=886826
1813 * Display of untracked files can be disabled from the Preferences dialog
1814   or by setting the `gui.displayuntracked` configuration variable to `false`.
1816   http://thread.gmane.org/gmane.comp.version-control.git/232683
1818 Fixes
1819 -----
1820 * Unicode stash names are now supported
1822   https://github.com/git-cola/git-cola/issues/198
1824 * The diffs produced when reverting workspace changes were made more robust.
1826 .. _v1.8.4:
1828 git-cola v1.8.4
1829 =======================
1830 Usability, bells and whistles
1831 -----------------------------
1832 * Brand new German translation thanks to Sven Claussner.
1834 * The "File" menu now provides a "New Repository..." menu action.
1836 * `git dag` now uses a dock-widget interface so that its widgets can
1837   be laid-out and arranged.  Customizations are saved and restored
1838   the next time `git dag` is launched.
1840 * `git dag` now has a "Zoom Best Fit" button next alongside the
1841   "Zoom In" and "Zoom Out" buttons.
1843 * `Ctrl+L` now focuses the "Search" field in the `git dag` tool.
1845 * Right-clicking in the "diff" viewer now updates the cursor position
1846   before performing actions, which makes it much easier to click around
1847   and selectively stage sections.  Previously, the current cursor position
1848   was used which meant that it required two clicks (left-click to update
1849   the position followed by right-click to get the context menu) for the
1850   desired section to be used.  This is now a single right-click operation.
1852 * The `Ctrl+D` "Launch Diff Tool" action learned to automatically choose
1853   between `git difftool` and `git mergetool`.  If the file is unmerged then
1854   we automatically launch `git mergetool` on the path, otherwise we use
1855   `git difftool`.  We do this because `git difftool` is not intended to
1856   be used on unmerged paths.  Automatically using `git mergetool` when
1857   appropriate is the most intuitive and muscle-memory-friendly thing to do.
1859 * You can now right-click on folders in your standard file browser
1860   and choose "Open With -> Git Cola"  (Linux-only).
1862 Fixes
1863 -----
1864 * Python 2.6 on Mac OS X Snow Leopard does not provide a namedtuple
1865   at `sys.version_info`.  We now avoid using that variable for better
1866   portability.
1868 * We now read the user's Git configuration from `~/.config/git/config`
1869   if that file is available, otherwise we use the traditional `~/.gitconfig`
1870   path, just like Git itself.
1872 * Some edge cases were fixed when applying partial/selected diffs.
1874 * The diff viewer is now properly cleared when refreshing.
1876   https://github.com/git-cola/git-cola/issues/194
1878 .. _v1.8.3:
1880 git-cola v1.8.3
1881 ===============
1882 Usability, bells and whistles
1883 -----------------------------
1884 * The diff viewer now has an "Options" menu which can be
1885   used to set "git diff" options.  This can be used to
1886   ignore whitespace changes or to show a change with its
1887   surrounding function as context.
1889   https://github.com/git-cola/git-cola/issues/150
1891 * `git cola` now remembers your commit message and will restore it
1892   when `git cola` is restarted.
1894   https://github.com/git-cola/git-cola/pull/175
1896 * `Ctrl+M` can now be used to toggle the "Amend last commit"
1897   checkbox in the commit message editor.
1899   https://github.com/git-cola/git-cola/pull/161
1901 * Deleting remote branches can now be done from the "Branch" menu.
1903   https://github.com/git-cola/git-cola/issues/152
1905 * The commit message editor now has a built-in spell checker.
1907 Fixes
1908 -----
1909 * We now avoid invoking external diffs when showing diffstats.
1911   https://github.com/git-cola/git-cola/pull/163
1913 * The `Status` tool learned to reselect files when refreshing.
1915   https://github.com/git-cola/git-cola/issues/165
1917 * `git cola` now remembers whether it has been maximized and will restore the
1918   maximized state when `git cola` is restarted.
1920   https://github.com/git-cola/git-cola/issues/172
1922 * Performance is now vastly improved when staging hundreds or
1923   thousands of files.
1925 * `git cola` was not correctly saving repo-specific configuration.
1927   https://github.com/git-cola/git-cola/issues/174
1929 * Fix a UnicodeDecode in sphinxtogithub when building from source.
1931 .. _v1.8.2:
1933 git-cola v1.8.2
1934 ===============
1935 Usability, bells and whistles
1936 -----------------------------
1937 * We now automatically remove missing repositories from the
1938   "Select Repository" dialog.
1940   https://github.com/git-cola/git-cola/issues/145
1942 * A new `git cola diff` sub-command was added for diffing changed files.
1944 Fixes
1945 -----
1946 * The inotify auto-refresh feature makes it difficult to select text in
1947   the "diff" editor when files are being continually modified by another
1948   process.  The auto-refresh causes it to lose the currently selected text,
1949   which is not wanted.  We now avoid this problem by saving and restoring
1950   the selection when refreshing the editor.
1952   https://github.com/git-cola/git-cola/issues/155
1954 * More strings have been marked for l10n.
1956   https://github.com/git-cola/git-cola/issues/157
1958 * Fixed the Alt+D Diffstat shortcut.
1960   https://github.com/git-cola/git-cola/issues/159
1962 Fixes
1963 -----
1964 * Better error handling when cloning repositories.
1966   We were not handling the case where a git URL has
1967   no basename, e.g. `https://git.example.com/`.
1968   `git cola` originally rejected these URLs instead of
1969   allowing users to clone them.  It now allows these URLs
1970   when they point to valid git repositories.
1972   Additionally, `git cola` learned to echo the errors
1973   reported by `git clone` when it fails.
1975   https://github.com/git-cola/git-cola/issues/156
1977 .. _v1.8.1:
1979 git-cola v1.8.1
1980 ===============
1981 Usability, bells and whistles
1982 -----------------------------
1983 * `git dag` got a big visual upgrade.
1985 * `Ctrl+G` now launches the "Grep" tool.
1987 * `Ctrl+D` launches difftool and `Ctrl+E` launches your editor
1988   when in the diff panel.
1990 * git-cola can now be told to use an alternative language.
1991   For example, if the native language is German and we want git-cola to
1992   use English then we can create a `~/.config/git-cola/language` file with
1993   "en" as its contents:
1995   $ echo en >~/.config/git-cola/language
1997   https://github.com/git-cola/git-cola/issues/140
1999 * A new `git cola merge` sub-command was added for merging branches.
2001 * Less blocking in the main UI
2003 Fixes
2004 -----
2005 * Autocomplete issues on KDE
2007   https://github.com/git-cola/git-cola/issues/144
2009 * The "recently opened repositories" startup dialog did not
2010   display itself in the absence of bookmarks.
2012   https://github.com/git-cola/git-cola/issues/139
2014 .. _v1.8.0:
2016 git-cola v1.8.0
2017 ===============
2018 Usability, bells and whistles
2019 -----------------------------
2020 * `git cola` learned to honor `.gitattributes` when showing and
2021   interactively applying diffs.  This makes it possible to store
2022   files in git using a non-utf-8 encoding and `git cola` will
2023   properly accept them.  This must be enabled by settings
2024   `cola.fileattributes` to true, as it incurs a small performance
2025   penalty.
2027   https://github.com/git-cola/git-cola/issues/96
2029 * `git cola` now wraps commit messages at 72 columns automatically.
2030   This is configurable using the `cola.linebreak` variable to enable/disable
2031   the feature, and `cola.textwidth` to configure the limit.
2033   https://github.com/git-cola/git-cola/issues/133
2035 * A new "Open Recent" sub-menu was added to the "File" menu.
2036   This makes it easy to open a recently-edited repository.
2038   https://github.com/git-cola/git-cola/issues/135
2040 * We now show a preview for untracked files when they are clicked
2041   using the `Status` tool.
2042 * A new "Open Using Default Application" action was added to the
2043   `Status` tool.  It is activated using either `Spacebar` or through
2044   the context menu.  This action uses `xdg-open` on Linux and
2045   `open` on Mac OS X.
2046 * A new "Open Parent Directory" action was added to the `Status` tool.
2047   It is activated using either `Shift+Spacebar` or through the
2048   context menu.
2049 * `git dag` learned to honor the `log.date` git configuration variable.
2050   This makes the date display follow whatever format the user has
2051   configured.
2052 * A new `git cola config` sub-command was added for quickly
2053   tweaking `git cola`'s git configuration settings.
2054 * Some small usability tweaks -- some user confirmation prompts
2055   were defaulting to "Cancel" when they should have been defaulting
2056   to the affirmative option instead.
2058 Fixes
2059 -----
2060 * Properly handle arbitrarily-named branches.
2061 * We went back to launching `git mergetool` using an xterm.
2062   The reason is that there are a couple of places where `git mergetool`
2063   requires a terminal for user interaction not covered by `--no-prompt`.
2064 * We now properly handle an edge case when applying short diffs at
2065   the start of a file.
2067 .. _v1.7.7:
2069 git-cola v1.7.7
2070 ===============
2071 Usability, bells and whistles
2072 -----------------------------
2073 * New and improved `grep` mode lets you instantly find and edit files.
2074 * New `git cola grep` standalone mode.
2075 * Support for passing arguments to the configured editors, e.g. `gvim -p`
2076   This makes it possible to select multiple files in the status
2077   window and use `Ctrl-e` to edit them all at once.
2078 * Remote operations now prompt on errors only.
2079 * The `Tab` key now jumps to the extended description when editing the summary.
2080 * More shortcut key labels and misc. UX improvements.
2082 Fixes
2083 -----
2084 * Selecting an item no longer copies its filename to the copy/paste buffer.
2085   `Ctrl-c` or the "Copy" context-menu action can be used instead.
2086 * The repository monitoring feature on Windows learned to ignore
2087   changes within the ".git" directory.  Thanks to Andreas Sommer.
2089   https://github.com/git-cola/git-cola/issues/120
2091 .. _v1.7.6:
2093 git-cola v1.7.6
2094 ===============
2095 Usability, bells and whistles
2096 -----------------------------
2097 * `git dag` learned to color-code branchy edges.
2098   The edge colors change when a new branch is detected,
2099   which makes the history much easier to follow.
2100   A huge thanks to Uri Okrent for making it happen.
2102 * New GUI for editing remote repositories.
2104 * New `git cola archive` and `git cola remote` sub-commands.
2106 * `git cola browser` learned an 'Untrack' command.
2108 * The diff editor learned to staged/unstaged while amending.
2110 * The status tool can now scroll horizontally.
2112 * New git repositories can be created by clicking 'New' on the
2113   `git cola --prompt` startup screen.
2115 .. _v1.7.5:
2117 git-cola v1.7.5
2118 ===============
2119 Usability, bells and whistles
2120 -----------------------------
2121 * Auto-completion was added to more tools.
2123 * `git dag` is easier to use on smaller displays -- the author
2124   field elides its text which allows for a more compact display.
2126 * Selected commits in `git dag` were made more prominent and
2127   easier to see.
2129 * 'Create Branch' learned to fetch remote branches and uses a
2130   background thread to do so.
2132 * User-configured GUI tools are listed alphabetically in the 'Actions' menu.
2134 * The 'Pull' dialog remembers the value of the 'Rebase' checkbox
2135   between invocations.
2137 .. _v1.7.4.1:
2139 git-cola v1.7.4.1
2140 =================
2141 Fixes
2142 -----
2143 * Detect Homebrew so that OS X users do not need to set PYTHONPATH.
2145 * `git dag` can export patches again.
2147 .. _v1.7.4:
2149 git-cola v1.7.4
2150 ===============
2151 Usability, bells and whistles
2152 -----------------------------
2153 * The 'Classic' tool was renamed to 'Browser' and learned to
2154   limit history to the current branch.
2156 * `git dag` learned about gravatar and uses it to show images
2157   for commit authors.
2159 * `git dag` learned to use OpenGL for rendering resulting in
2160   much faster rendering.
2162 * More dialogs learned vim-style keyboard shortcuts.
2164 * The commit message editor learned better arrow key navigation.
2166 .. _v1.7.3:
2168 git-cola v1.7.3
2169 ===============
2170 Usability, bells and whistles
2171 -----------------------------
2172 * `git cola` learned a few new sub commands:
2174 .. sourcecode:: sh
2176     git cola dag
2177     git cola branch
2178     git cola search
2180 * `Return` in the summary field jumps to the extended description.
2182 * `Ctrl+Return` is now a shortcut for 'Commit'.
2184 * Better French translation for 'Sign-off'.
2186 * The 'Search' widget now has a much simpler and streamlined
2187   user interface.
2189 * vim-style `h,j,k,l` navigation shortcuts were added to the DAG widget.
2191 * `git dag` no longer prompts for files when diffing commits if the
2192   text field contains paths.
2194 * General user interface and performance improvements.
2196 Fixes
2197 -----
2198 * The diff viewer no longer changes font size when holding `Control`
2199   while scrolling with the mouse wheel.
2201 * Files with a typechange (e.g. symlinks that become files, etc.)
2202   are now correctly identified as being modified.
2204 Packaging
2205 ---------
2206 * The `cola.controllers` and `cola.views` packages were removed.
2208 .. _v1.7.2:
2210 git-cola v1.7.2
2211 ===============
2212 Usability, bells and whistles
2213 -----------------------------
2214 * `git cola` can now launch sub commands, e.g.:
2216 .. sourcecode:: sh
2218     git cola classic
2219     git cola stash
2220     git cola fetch
2221     git cola push
2222     git cola pull
2223     git cola tag
2225 * `git dag` is more responsive when gathering auto-completions.
2227 * Keyboard shortcuts are displayed when the '?' key is pressed.
2229 * Various keyboard shortcuts were added for improved usability.
2231 * The status widget now lists unmerged files before modified files.
2233 * vim-style `h,j,k,l` navigation shortcuts were added to the status widget.
2235 * A 'Recently Modified Files...' tool was added.
2237 * Tools can now be hidden with `Alt + #` (where `#` is a keyboard number)
2238   and focused with `Alt + Shift + #`.
2240 * The syntax highlighting colors for diffs was made less intrusive.
2242 * The commit message editor was redesigned to have a more compact
2243   and keyboard-convenient user interface.
2244   
2245 * Keyboard shortcuts for adding a Signed-off-by (`Ctrl + i`)
2246   and creating a commit (`Ctrl + m`) were added.
2248 * The status widget was adjusted to use less screen real-estate.
2250 Fixes
2251 -----
2252 * Avoid updating the index when responding to inotify events.
2253   This avoids interfering with operations such as `git rebase --interactive`.
2255   https://github.com/git-cola/git-cola/issues/99
2257 Packaging
2258 ---------
2259 * Create `git-dag.pyw` in the win32 installer.
2261 * win32 shortcuts now contain explicit calls to `pythonw.exe` instead of
2262   calling the `.pyw` file directly.
2264 Deprecated Features
2265 -------------------
2266 * The 'Apply Changes from Branch...' feature was removed.
2267   `git dag`'s 'Grab File...' feature used alongside the index/worktree editor
2268   is a simpler alternative.
2270 .. _v1.7.1.1:
2272 git-cola v1.7.1.1
2273 =================
2274 Fixes
2275 -----
2276 * Further enhanced the staging/unstaging behavior in the status widget.
2278   https://github.com/git-cola/git-cola/issues/97
2280 * Unmerged files are no longer listed as modified.
2282 Packaging
2283 ---------
2284 The `cola-$version` tarballs on github were originally setup to
2285 have the same contents as the old tarballs hosted on tuxfamily.
2286 The `make dist` target was changed to write files to a
2287 `git-cola-$version` subdirectory and tarball.
2289 This makes the filenames consistent for the source tarball,
2290 the darwin .app tarball, and the win32 .exe installer.
2292 .. _v1.7.1:
2294 git-cola v1.7.1
2295 ===============
2296 Usability, bells and whistles
2297 -----------------------------
2298 * Refined the staging/unstaging behavior for code reviews.
2300   https://github.com/git-cola/git-cola/issues/97
2302 * Added more styling and icons to menus and buttons.
2304 * Adjusted some terminology to more closely match the git CLI.
2306 Fixes
2307 -----
2308 * Boolean `git config` settings with no value are now supported
2309   (these are not created by git these days but exist in legacy repositories).
2311 * Unicode branches and tags are supported in the "branch diff" tool.
2313 * Guard against low-memory conditions and more interrupted system calls.
2315 Packaging
2316 ---------
2317 * Added desktop launchers for git-cola.desktop and git-dag.desktop.
2318   This replaces the old cola.desktop, so some adjustments to RPM .spec
2319   and debian/ files will be needed.
2321 * Fixed the darwin app-tarball Makefile target to create relative paths.
2323 Cleanup
2324 -------
2325 * The `--style` option was removed.  `git cola` follows the system theme
2326   so there's no need for this option these days.
2328 .. _v1.7.0:
2330 git-cola v1.7.0
2331 ===============
2332 Usability, bells and whistles
2333 -----------------------------
2334 * Export a patch series from `git dag` into a `patches/` directory.
2336 * `git dag` learned to diff commits, slice history along paths, etc.
2338 * Added instant-preview to the `git stash` widget.
2340 * A simpler preferences editor is used to edit `git config` values.
2342   https://github.com/git-cola/git-cola/issues/90
2344   https://github.com/git-cola/git-cola/issues/89
2346 * Previous commit messages can be re-loaded from the message editor.
2348   https://github.com/git-cola/git-cola/issues/33
2350 Fixes
2351 -----
2352 * Display commits with no file changes.
2354   https://github.com/git-cola/git-cola/issues/82
2356 * Improved the diff editor's copy/paste behavior
2358   https://github.com/git-cola/git-cola/issues/90
2360 Packaging
2361 ---------
2362 * Bumped version number to ceil(minimum git version).
2363   `git cola` now requires `git` >= 1.6.3.
2365 * Simplified git-cola's versioning when building from tarballs
2366   outside of git.  We no longer check for a 'version' file at
2367   the root of the repository.  We instead keep a default version
2368   in `cola/version.py` and use it when `git cola`'s `.git` repository
2369   is not available.
2371 .. _v1.4.3.5:
2373 git-cola v1.4.3.5
2374 =================
2375 Usability, bells and whistles
2376 -----------------------------
2377 * inotify is much snappier and available on Windows
2378   thanks to Karl Bielefeldt.
2380 * New right-click command to add untracked files to .gitignore
2381   thanks to Audrius Karabanovas.
2383 * Stash, fetch, push, and pull usability improvements
2385 * General usability improvements
2387 * stderr is logged when applying partial diffs.
2389 Fixes
2390 -----
2391 * Files can be unstaged when amending.
2393   https://github.com/git-cola/git-cola/issues/82
2395 * Show the configured remote.$remote.pushurl in the GUI
2397   https://github.com/git-cola/git-cola/issues/83
2399 * Removed usage of the "user" module.
2401   https://github.com/git-cola/git-cola/issues/86
2403 * Avoids an extra `git update-index` call during startup.
2406 .. _v1.4.3.4:
2408 git-cola v1.4.3.4
2409 =================
2410 Usability, bells and whistles
2411 -----------------------------
2412 * We now provide better feedback when `git push` fails.
2414   https://github.com/git-cola/git-cola/issues/69
2416 * The Fetch, Push, and Pull dialogs now give better feedback
2417   when interacting with remotes.  The dialogs are modal and
2418   a progress dialog is used.
2420 Fixes
2421 -----
2422 * More unicode fixes, again.  It is now possible to have
2423   unicode branch names, repository paths, home directories, etc.
2424   This continued the work initiated by Redhat's bugzilla #694806.
2426   https://bugzilla.redhat.com/show_bug.cgi?id=694806
2428 .. _v1.4.3.3:
2430 git-cola v1.4.3.3
2431 =================
2432 Usability, bells and whistles
2433 -----------------------------
2434 * The `git cola` desktop launchers now prompt for a repo
2435   by default.  This is done by using the new `--prompt`
2436   flag which tells `git cola` to ignore any git repositories
2437   in the current directory and prompt for one instead.
2439 Fixes
2440 -----
2441 * More Unicode fixes for repositories and home directories with
2442   embedded unicode characters.  Thanks to Christian Jann for
2443   patience and helpful bug reports.
2445 * Fix the 'Clone' button in the startup dialog.
2447 .. _v1.4.3.2:
2449 git-cola v1.4.3.2
2450 =================
2451 Usability, bells and whistles
2452 -----------------------------
2453 * Faster startup time! `git cola` now offloads initialization
2454   to a background thread so that the GUI appears almost instantly.
2456 * Specialized diff options for p4merge, vimdiff, araxis, emerge,
2457   and ecmerge in difftool (backported from git.git).
2459 Fixes
2460 -----
2461 * Fix launching commands in the background on Windows
2462   (e.g. when launching `git difftool`).
2464 * Fix unicode errors when home or repository directories contain
2465   unicode characters.
2467   https://github.com/git-cola/git-cola/issues/74
2469   Redhat's bugzilla #694806
2471   https://bugzilla.redhat.com/show_bug.cgi?id=694806
2473 .. _v1.4.3.1:
2475 git-cola v1.4.3.1
2476 =================
2477 Usability, bells and whistles
2478 -----------------------------
2479 * The `cola classic` tool can be now configured to be dockable.
2481   https://github.com/git-cola/git-cola/issues/56
2483 * The `cola classic` tool now uses visual sigils to indicate a file's status.
2484   The idea and icons were provided by Uri Okrent.
2486 * Include the 'Rescan' button in the 'Actions' widget regardless
2487   of whether inotify is installed.
2489 Packaging
2490 ---------
2491 * Fix installation of translations per Fedora
2492   This incorporates Fedora's fix for the translations path
2493   which originally appeared in cola-1.4.3-translations.patch.
2495 * Mac OS X git-cola developers can now generate git-cola.app
2496   application bundles using 'make app-bundle'.
2498 Fixes
2499 -----
2500 * Fixed a stacktrace when trying to use "Get Commit Message Template"
2501   with an unconfigured "commit.template" git config variable.
2503   https://github.com/git-cola/git-cola/issues/72
2505   This bug originated in Redhat's bugzilla #675721 via a Fedora user.
2507   https://bugzilla.redhat.com/show_bug.cgi?id=675721
2509 * Properly raise the main window on Mac OS X.
2511 * Properly handle staging a huge numbers of files at once.
2513 * Speed up 'git config' usage by fixing cola's caching proxy.
2515 * Guard against damaged ~/.cola files.
2517 .. _v1.4.3:
2519 git-cola v1.4.3
2520 ===============
2521 Usability, bells and whistles
2522 -----------------------------
2523 * `git dag` now has a separate display area
2524   for displaying commit metadata.  This area will soon
2525   grow additional functionality such as cherry-picking,
2526   branching, etc.
2528 Fixes
2529 -----
2530 * Fixed tests from a previous refactoring.
2532 * Guard against 'diff.external' configuration by always
2533   calling 'git diff' with the '--no-ext-diff' option.
2535   https://github.com/git-cola/git-cola/issues/67
2537 * Respect 'gui.diffcontext' so that cola's diff display
2538   shows the correct number of context lines.
2540 * Raise the GUI so that it is in the foreground on OS X.
2542 Packaging
2543 ---------
2544 * We now allow distutils to rewrite cola's shebang line.
2545   This allows us to run on systems where "which python"
2546   is Python3k.  This is exposed by setting the `PYTHON`
2547   Makefile variable to the location of python2.x.
2549 * git-cola.app is now a tiny download because it no longer
2550   contains Qt and PyQt.  These libraries are provided as a
2551   separate download.
2553   http://code.google.com/p/git-cola/downloads/list
2555 .. _v1.4.2.5:
2557 git-cola v1.4.2.5
2558 =================
2559 Usability, bells and whistles
2560 -----------------------------
2561 * Clicking on paths in the status widget copies them into the
2562   copy/paste buffer for easy middle-clicking into terminals.
2564 * `Ctrl+C` in diff viewer copies the selected diff to the clipboard.
2566 Fixes
2567 -----
2568 * Fixed the disappearing actions buttons on PyQt 4.7.4
2569   as reported by Arch and Ubuntu 10.10.
2571   https://github.com/git-cola/git-cola/issues/62
2573 * Fixed mouse interaction with the status widget where some
2574   items could not be de-selected.
2576 Packaging
2577 ---------
2578 * Removed hard-coded reference to lib/ when calculating Python's
2579   site-packages directory.
2581 .. _v1.4.2.4:
2583 git-cola v1.4.2.4
2584 =================
2585 Usability, bells and whistles
2586 -----------------------------
2587 * Removed "single-click to (un)stage" in the status view.
2588   This is a usability improvement since we no longer perform
2589   different actions depending on where a row is clicked.
2591 * Added ability to create unsigned, annotated tags.
2593 Fixes
2594 -----
2595 * Updated documentation to use `cola.git` instead of `cola.gitcmd`.
2597 .. _v1.4.2.3:
2599 git-cola v1.4.2.3
2600 =================
2601 Usability, bells and whistles
2602 -----------------------------
2603 * Allow un/staging by right-clicking top-level items
2605   https://github.com/git-cola/git-cola/issues/57
2607 * Running 'commit' with no staged changes prompts to allow
2608   staging all files.
2610   https://github.com/git-cola/git-cola/issues/55
2612 * Fetch, Push, and Pull are now available via the menus
2614   https://github.com/git-cola/git-cola/issues/58
2616 Fixes
2617 -----
2618 * Simplified the actions widget to work around a regression
2619   in PyQt4 4.7.4.
2621   https://github.com/git-cola/git-cola/issues/62
2623 .. _v1.4.2.2:
2625 git-cola v1.4.2.2
2626 =================
2627 Usability, bells and whistles
2628 -----------------------------
2629 * `git dag` interaction was made faster.
2631 Fixes
2632 -----
2633 * Added '...' indicators to the buttons for
2634   'Fetch...', 'Push...', 'Pull...', and 'Stash...'.
2636   https://github.com/git-cola/git-cola/issues/51
2638 * Fixed a hang-on-exit bug in the cola-provided
2639   'ssh-askpass' implementation.
2641 .. _v1.4.2.1:
2643 git-cola v1.4.2.1
2644 =================
2645 Usability, bells and whistles
2646 -----------------------------
2647 * Staging and unstaging is faster.
2649   https://github.com/git-cola/git-cola/issues/48
2651 * `git dag` reads history in a background thread.
2653 Portability
2654 -----------
2655 * Added :data:`cola.compat.hashlib` for `Python 2.4` compatibility
2656 * Improved `PyQt 4.1.x` compatibility.
2658 Fixes
2659 -----
2660 * Configured menu actions use ``sh -c`` for Windows portability.
2663 .. _v1.4.2:
2665 git-cola v1.4.2
2666 ===============
2667 Usability, bells and whistles
2668 -----------------------------
2669 * Added support for the configurable ``guitool.<tool>.*``
2670   actions as described in ``git-config(1)``.
2672   https://github.com/git-cola/git-cola/issues/44
2674   http://schacon.github.com/git/git-config.html
2676   This makes it possible to add new actions to `git cola`
2677   by simply editing ``~/.gitconfig``.  This implements the
2678   same guitool support as `git gui`.
2679 * Introduced a stat cache to speed up `git config` and
2680   repository status checks.
2681 * Added Alt-key shortcuts to the main `git cola` interface.
2682 * The `Actions` dock widget switches between a horizontal
2683   and vertical layout when resized.
2684 * We now use ``git diff --submodule`` for submodules
2685   (used when git >= 1.6.6).
2686 * The context menu for modified submodules includes an option
2687   to launch `git cola`.
2689   https://github.com/git-cola/git-cola/issues/17
2691 * Prefer ``$VISUAL`` over ``$EDITOR`` when both are defined.
2692   These are used to set a default editor in lieu of `core.editor`
2693   configuration.
2694 * Force the editor to be ``gvim`` when we see ``vim``.
2695   This prevents us from launching an editor in the (typically
2696   unattached) parent terminal and creating zombie editors
2697   that cannot be easily killed.
2698 * Selections are remembered and restored across updates.
2699   This makes the `partial-staging` workflow easier since the
2700   diff view will show the updated diff after staging.
2701 * Show the path to the current repository in a tooltip
2702   over the commit message editor.
2704   https://github.com/git-cola/git-cola/issues/45
2706 * Log internal ``git`` commands when ``GIT_COLA_TRACE`` is defined.
2708   https://github.com/git-cola/git-cola/issues/39
2710 Fixes
2711 -----
2712 * Improved backwards compatibility for Python 2.4.
2713 * `Review mode` can now review the current branch; it no longer
2714   requires you to checkout the branch into which the reviewed
2715   branch will be merged.
2716 * Guard against `color.ui = always` configuration when using
2717   `git log` by passing ``--no-color``.
2718 * ``yes`` and ``no`` are now supported as valid booleans
2719   by the `git config` parser.
2720 * Better defaults are used for `fetch`, `push`, and `pull`..
2722   https://github.com/git-cola/git-cola/issues/43
2724 Packaging
2725 ---------
2726 * Removed colon (`:`) from the applilcation name on Windows
2728   https://github.com/git-cola/git-cola/issues/41
2730 * Fixed bugs with the Windows installer
2732   https://github.com/git-cola/git-cola/issues/40
2734 * Added a more standard i18n infrastructure.  The install
2735   tree now has the common ``share/locale/$lang/LC_MESSAGES/git-cola.mo``
2736   layout in use by several projects.
2738 * Started trying to accommodate Mac OSX 10.6 (Snow Leopard)
2739   in the ``darwin/`` build scripts but our tester is yet to
2740   report success building a `.app` bundle.
2742 * Replaced use of ``perl`` in Sphinx/documentation Makefile
2743   with more-portable ``sed`` constructs.  Thanks to
2744   Stefan Naewe for discovering the portability issues and
2745   providing msysgit-friendly patches.
2747 .. _v1.4.1.2:
2749 git-cola v1.4.1.2
2750 =================
2751 Usability, bells and whistles
2752 -----------------------------
2753 * It is now possible to checkout from the index as well
2754   as from `HEAD`.  This corresponds to the
2755   `Removed Unstaged Changes` action in the `Repository Status` tool.
2756 * The `remote` dialogs (fetch, push, pull) are now slightly
2757   larger by default.
2758 * Bookmarks can be selected when `git cola` is run outside of a git repository.
2759 * Added more user documentation.  We now include many links to
2760   external git resources.
2761 * Added `git dag` to the available tools.
2762   `git dag` is a node-based DAG history browser.
2763   It doesn't do much yet, but it's been merged so that we can start
2764   building and improving upon it.
2766 Fixes
2767 -----
2768 * Fixed a missing ``import`` when showing `right-click` actions
2769   for unmerged files in the `Repository Status` tool.
2770 * ``git update-index --refresh`` is no longer run every time
2771   ``git cola version`` is run.
2772 * Don't try to watch non-existent directories when using `inotify`.
2773 * Use ``git rev-parse --symbolic-full-name`` plumbing to find
2774   the name of the current branch.
2776 Packaging
2777 ---------
2778 * The ``Makefile`` will now conditionally include a ``config.mak``
2779   file located at the root of the project.  This allows for user
2780   customizations such as changes to the `prefix` variable
2781   to be stored in a file so that custom settings do not need to
2782   be specified every time on the command-line.
2783 * The build scripts no longer require a ``.git`` directory to
2784   generate the ``builtin_version.py`` module.  The release tarballs
2785   now include a ``version`` file at the root of the project which
2786   is used in lieu of having the git repository available.
2787   This allows for ``make clean && make`` to function outside of
2788   a git repository.
2789 * Added maintainer's ``make dist`` target to the ``Makefile``.
2790 * The built-in `simplejson` and `jsonpickle` libraries can be
2791   excluded from ``make install`` by specifying the ``standalone=true``
2792   `make` variable.  For example, ``make standalone=true install``.
2793   This corresponds to the ``--standalone`` option to ``setup.py``.
2796 .. _v1.4.1.1:
2798 git-cola v1.4.1.1
2799 =================
2800 Usability, bells and whistles
2801 -----------------------------
2802 * We now use patience diff by default when it is available via
2803   `git diff --patience`.
2804 * Allow closing the `cola classic` tool with `Ctrl+W`.
2806 Fixes
2807 -----
2808 * Fixed an unbound variable error in the `push` dialog.
2810 Packaging
2811 ---------
2812 * Don't include `simplejson` in MANIFEST.in.
2813 * Update desktop entry to read `Cola Git GUI`.
2816 .. _v1.4.1:
2818 git-cola v1.4.1
2819 ===============
2820 This feature release adds two new features directly from
2821 `git cola`'s github issues backlog.  On the developer
2822 front, further work was done towards modularizing the code base.
2824 Usability, bells and whistles
2825 -----------------------------
2826 * Dragging and dropping patches invokes `git am`
2828   https://github.com/git-cola/git-cola/issues/3
2830 * A dialog to allow opening or cloning a repository
2831   is presented when `git cola` is launched outside of a git repository.
2833   https://github.com/git-cola/git-cola/issues/22
2835 * Warn when `push` is used to create a new branch
2837   https://github.com/git-cola/git-cola/issues/35
2839 * Optimized startup time by removing several calls to `git`.
2842 Portability
2843 -----------
2844 * `git cola` is once again compatible with PyQt 4.3.x.
2846 Developer
2847 ---------
2848 * `cola.gitcmds` was added to factor out git command-line utilities
2849 * `cola.gitcfg` was added for interacting with `git config`
2850 * `cola.models.browser` was added to factor out repobrowser data
2851 * Added more tests
2854 .. _v1.4.0.5:
2856 git-cola v1.4.0.5
2857 =================
2858 Fixes
2859 -----
2860 * Fix launching external applications on Windows
2861 * Ensure that the `amend` checkbox is unchecked when switching modes
2862 * Update the status tree when amending commits
2865 .. _v1.4.0.4:
2867 git-cola v1.4.0.4
2868 =================
2869 Packaging
2870 ---------
2871 * Fix Lintian warnings
2874 .. _v1.4.0.3:
2876 git-cola v1.4.0.3
2877 =================
2878 Fixes
2879 -----
2880 * Fix X11 warnings on application startup
2883 .. _v1.4.0.2:
2885 git-cola v1.4.0.2
2886 =================
2887 Fixes
2888 -----
2889 * Added missing 'Exit Diff Mode' button for 'Diff Expression' mode
2891   https://github.com/git-cola/git-cola/issues/31
2893 * Fix a bug when initializing fonts on Windows
2895   https://github.com/git-cola/git-cola/issues/32
2898 .. _v1.4.0.1:
2900 git-cola v1.4.0.1
2901 =================
2902 Fixes
2903 -----
2904 * Keep entries in sorted order in the `cola classic` tool
2905 * Fix staging untracked files
2907   https://github.com/git-cola/git-cola/issues/27
2909 * Fix the `show` command in the Stash dialog
2911   https://github.com/git-cola/git-cola/issues/29
2913 * Fix a typo when loading merge commit messages
2915   https://github.com/git-cola/git-cola/issues/30
2918 .. _v1.4.0:
2920 git-cola v1.4.0
2921 ===============
2922 This release focuses on a redesign of the git-cola user interface,
2923 a tags interface, and better integration of the `cola classic` tool.
2924 A flexible interface based on configurable docks is used to manage the
2925 various cola widgets.
2927 Usability, bells and whistles
2928 -----------------------------
2929 * New GUI is flexible and user-configurable
2930 * Individual widgets can be detached and rearranged arbitrarily
2931 * Add an interface for creating tags
2932 * Provide a fallback `SSH_ASKPASS` implementation to prompt for
2933   SSH passwords on fetch/push/pull
2934 * The commit message editor displays the current row/column and
2935   warns when lines get too long
2936 * The `cola classic` tool displays upstream changes
2937 * `git cola --classic` launches `cola classic` in standalone mode
2938 * Provide more information in log messages
2940 Fixes
2941 -----
2942 * Inherit the window manager's font settings
2943 * Miscellaneous PyQt4 bug fixes and workarounds
2945 Developer
2946 ---------
2947 * Removed all usage of Qt Designer `.ui` files
2948 * Simpler model/view architecture
2949 * Selection is now shared across tools
2950 * Centralized notifications are used to keep views in sync
2951 * The `cola.git` command class was made thread-safe
2952 * Less coupling between model and view actions
2953 * The status view was rewritten to use the MVC architecture
2954 * Added more documentation and tests
2957 .. _v1.3.9:
2959 git-cola v1.3.9
2960 ===============
2961 Usability, bells and whistles
2962 -----------------------------
2963 * Added a `cola classic` tool for browsing the entire repository
2964 * Handle diff expressions with spaces
2965 * Handle renamed files
2967 Portability
2968 -----------
2969 * Handle carat `^` characters in diff expressions on Windows
2970 * Worked around a PyQt 4.5/4.6 QThreadPool bug
2972 Documentation
2973 -------------
2974 * Added a keyboard shortcuts reference page
2975 * Added developer API documentation
2977 Fixes
2978 -----
2979 * Fix the diff expression used when reviewing branches
2980 * Fix a bug when pushing branches
2981 * Fix X11 warnings at startup
2982 * Fix more interrupted system calls on Mac OS X
2985 .. _v1.3.8:
2987 git-cola v1.3.8
2988 ===============
2989 Usability, bells and whistles
2990 -----------------------------
2991 * Fresh and tasty SVG logos
2992 * Added `Branch Review` mode for reviewing topic branches
2993 * Added diff modes for diffing between tags, branches,
2994   or arbitrary `git diff` expressions
2995 * The push dialog selects the current branch by default.
2996   This is in preparation for `git 1.7.0` where unconfigured `git push`
2997   will refuse to push when run without specifying the remote name
2998   and branch.  See the `git` release notes for more information
2999 * Support `open` and `clone` commands on Windows
3000 * Allow saving cola UI layouts
3001 * Re-enabled `double-click-to-stage` for unmerged entries.
3002   Disabling it for unmerged items was inconsistent, though safer.
3003 * Show diffs when navigating the status tree with the keyboard
3005 Packaging
3006 ---------
3007 * Worked around `pyuic4` bugs in the `setup.py` build script
3008 * Added Mac OSX application bundles to the download page
3011 .. _v1.3.7:
3013 git-cola v1.3.7
3014 ===============
3015 Subsystems
3016 ----------
3017 * `git difftool` became an official git command in `git 1.6.3`.
3018 * `git difftool` learned `--no-prompt` / `-y` and a corresponding
3019   `difftool.prompt` configuration variable
3021 Usability, bells and whistles
3022 -----------------------------
3023 * Warn when `non-fast-forward` is used with fetch, push or pull
3024 * Allow `Ctrl+C` to exit cola when run from the command line
3026 Fixes
3027 -----
3028 * Support Unicode font names
3029 * Handle interrupted system calls
3031 Developer
3032 ---------
3033 * `PEP-8`-ified more of the cola code base
3034 * Added more tests
3036 Packaging
3037 ---------
3038 * All resources are now installed into `$prefix/share/git-cola`.
3039   Closed Debian bug #519972
3041   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519972
3044 .. _v1.3.6:
3046 git-cola v1.3.6
3047 ===============
3048 Subsystems
3049 ----------
3050 * Added support for Kompare in `git difftool`
3051 * Added a separate configuration namespace for `git difftool`
3052 * Added the `diff.tool` configuration variable to define the default diff tool
3054 Usability, bells and whistles
3055 -----------------------------
3056 * The stash dialog allows passing the `--keep-index` option to `git stash`
3057 * Amending a published commit warns at commit time
3058 * Simplified the file-across-revisions comparison dialog
3059 * `origin` is selected by default in fetch/push/pull
3060 * Removed the search field from the log widget
3061 * The log window moved into a drawer widget at the bottom of the UI
3062 * Log window display can be configured with
3063   `cola.showoutput` = `{never, always, errors}`.  `errors` is the default.
3064 * `NOTE` -- `cola.showoutput` was removed with the GUI rewrite in 1.4.0.
3066 Developer
3067 ---------
3068 * Improved nose unittest usage
3070 Packaging
3071 ---------
3072 * Added a Windows/msysGit installer
3073 * Included private versions of `simplejson` and `jsonpickle`
3074   for ease of installation and development