cmds: add a separate LaunchEditorAtLine command
[git-cola.git] / share / doc / git-cola / relnotes.rst
blob23b991ea27a608cbbcc99aa41c2f5e575034550a
1 ========
2 Releases
3 ========
5 Latest Release
6 ==============
8 :ref:`v3.2 <v3.2>` 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.3:
19 git-cola v3.3 (unreleased)
20 ==========================
22 Usability, bells and whistles
23 -----------------------------
24 * Running "Launch Editor" from the diff editor now opens the editor at the
25   current line.
27   https://github.com/git-cola/git-cola/pull/898
29 * The textwidth and tabwidth configuration values can now be set
30   per-repository, rather than globally only.
32 * Text entry widgets switched to using a block cursor in `v3.2`.
33   This has been reverted to the original line cursor for consistency
34   with other applications and user expectations.
36   https://github.com/git-cola/git-cola/issues/889
38 * The "edit at line" feature, used by the "Grep" tool, now supports
39   the Sublime text editor.
41   https://github.com/git-cola/git-cola/pull/894
43 Fixes
44 -----
45 * The Diff Editor was not honoring the configured tab width on startup.
47   https://github.com/git-cola/git-cola/issues/900
49 * The "Delete Files" feature was creating an unreadable display when
50   many files were selected.  Word-wrap the list of files so that the
51   display stays within a sensible size.
53   https://github.com/git-cola/git-cola/issues/895
55 * Spelling and grammar fixes.
57   https://github.com/git-cola/git-cola/pull/891
59 Development
60 -----------
61 * The logo was run through `tidy` to give it a consistent style.
62   Some technical issues with the logo were improved.
64   https://github.com/git-cola/git-cola/issues/877
66 * The entire codebase is now checked by `flake8`, rather than just
67   the module and test directories.  This catches things like
68   the pynsist installer scripts.
70   https://github.com/git-cola/git-cola/issues/884
72   https://github.com/git-cola/git-cola/issues/882
74   https://github.com/git-cola/git-cola/pull/879
76 Packaging
77 ---------
78 * The Windows installer's wrapper scripts were missing an import.
80   https://github.com/git-cola/git-cola/issues/878
82 .. _v3.2:
84 git-cola v3.2
85 =============
87 Usability, bells and whistles
88 -----------------------------
89 * The `git cola dag` DAG window now supports `git revert`.
91   https://github.com/git-cola/git-cola/issues/843
93 * `git stash pop` is now supported by the stash dialog.
95   https://github.com/git-cola/git-cola/issues/844
97 * The status widget now ensures that each item is visible when selection
98   changes.  Previously, if you scrolled to the right to see the name of
99   a long filename, and then selected a short filename above it, the widget
100   may not have shown the short filename in the viewport.  We now ensure
101   that the filenames are visible when the selection changes.
103   https://github.com/git-cola/git-cola/pull/828
105 * The `git xbase` rebase editor no longer displays an error when
106   cancelling an interactive rebase.
108   https://github.com/git-cola/git-cola/issues/814
110 * The dialog shown when renaming remotes has been simplified.
112   https://github.com/git-cola/git-cola/pull/840
114   https://github.com/git-cola/git-cola/issues/838
116 * The help dialog in the `git-xbase` Rebase editor is now scrollable.
118   https://github.com/git-cola/git-cola/issues/855
120 Translations
121 ------------
122 * Updated Brazilian translation
124   https://github.com/git-cola/git-cola/pull/845
126 * Updated Czech translation
128   https://github.com/git-cola/git-cola/pull/854
130   https://github.com/git-cola/git-cola/pull/853
132   https://github.com/git-cola/git-cola/pull/835
134   https://github.com/git-cola/git-cola/pull/813
136 * Update Spanish translation
138   https://github.com/git-cola/git-cola/pull/862
140   https://github.com/git-cola/git-cola/pull/867
142 Packaging
143 ---------
144 * The original `#!/usr/bin/env python` shebang lines can now be
145   retained by passing `USE_ENV_PYTHON=1` to `make` when installing.
147   https://github.com/git-cola/git-cola/issues/850
149 * The Makefile is now resilient to DESTDIR and prefix containing whitespace.
151   https://github.com/git-cola/git-cola/pull/858
153 * The vendored `qtpy` library was updated to `v1.4.2`.
155 * `python3-distutils` is needed to build cola on Debian.
157   https://github.com/git-cola/git-cola/issues/837
159 Fixes
160 -----
161 * The "C" key no longer closes the message dialogs, for example the
162   one that is shown when a commit fails its pre-commit hooks.
163   This allows "Ctrl+C" copy to work, rather than closing the dialog.
165   https://github.com/git-cola/git-cola/issues/734
167 * Dock widgets sizes are now properly saved and restored when the main
168   window is maximized.
170   https://github.com/git-cola/git-cola/issues/848
172 * The spellcheck feature was broken under Python3.
174   https://github.com/git-cola/git-cola/issues/857
176 * A regression when saving stashes was fixed.
178   https://github.com/git-cola/git-cola/issues/847
180 * Diffing image files was not updating the available context menus,
181   which prevented the "Stage" action from being present in the menu.
183   https://github.com/git-cola/git-cola/issues/841
185 * `git cola` now detects when `git lfs uninstall` has been run.  This allows
186   you to re-initialize "Git LFS" in an existing repository where it had been
187   previously uninstalled.
189   https://github.com/git-cola/git-cola/issues/842
191 * Custom color values that did not contain any hexadecimal digits in the
192   `a-f` range were being converted into integers by the config reader.  This
193   then caused the configured colors to be ignored.
195   These color values are now interpreted correctly.  Additionally, color
196   values can now use an optional HTML-like `#` prefix.
198   Example `.gitconfig` snippet::
200     [cola "color"]
201         text = "#0a0303"
203   https://github.com/git-cola/git-cola/pull/836
205   https://github.com/git-cola/git-cola/issues/849
207 * We now display an error message graphically when `Git` is not installed.
208   Previously, the message went to stderr only.
210   https://github.com/git-cola/git-cola/issues/830
212 * Changing diff options was causing resulting in an exception.
214   https://github.com/git-cola/git-cola/issues/833
216   https://github.com/git-cola/git-cola/pull/834
218 * The DAG window now updates itself when branches and tags are created.
220   https://github.com/git-cola/git-cola/issues/814
222 * The user's `$PATH` environment variable can now contain utf-8
223   encoded paths.  Previously, launching external commands could
224   lead to tracebacks.
226   https://github.com/git-cola/git-cola/issues/807
228 * Git Cola development sandboxes can now be stored on utf-8 encoded
229   filesystem paths.  Previously, the interactive rebase feature
230   could be broken when running in that environment.
232   https://github.com/git-cola/git-cola/issues/825
234 * The log window now uses an ISO-8601 timestamp, which
235   avoids localized output in the log window.
237   https://github.com/git-cola/git-cola/issues/817
239 Development
240 -----------
241 * The code base has been thoroughly sanitized using `pylint`, and
242   travis is now running pylint over the entire project.
244 * Miscellaneous improvements and code improvements.
246   https://github.com/git-cola/git-cola/issues/874
248 .. _v3.1:
250 git-cola v3.1
251 =============
253 Usability, bells and whistles
254 -----------------------------
255 * The "Browser" widget learned to rename files using "git mv".
257   https://github.com/git-cola/git-cola/issues/239
259 * The "Diff" widget learned to diff images.  Side-by-side and pixel diff
260   modes allow you to inspect changes to common images formats.
262   https://github.com/git-cola/git-cola/issues/444
264   https://github.com/git-cola/git-cola/pull/803
266 * Git LFS and Git Annex are natively supported by the image diff viewer.
268 * Git Annex operations are now included. `git annex init` can be performed on
269   repositories, and `git annex add` can be run on untracked files from the
270   status widget.  Install `git-annex` to activate this feature.
272 * Git LFS operations are now included. `git lfs install` can be performed on
273   repositories, and `git lfs track` can be run on untracked files from the
274   status widget.  Install `git-lfs` to activate this feature.
276 * The "Stash" tool learned to stash staged changes only.  Select the
277   "Stage Index" option and only staged changes will be stashed away.
279   https://github.com/git-cola/git-cola/issues/413
281 * The "Stash" tool learned to use vim-like navigation keyboard shortcuts,
282   shows error messages when things go wrong, and now saves the "Stash Index"
283   and "Keep Index" options across sessions.
285 * The Edit menu's "Copy" and "Select All" actions now forward to either the
286   diff, status, recent, or favorites widgets, based on which widget has focus.
288 * The "File" and "Edit" menu can now be activated using `Alt-{f,e}` hotkeys.
290   https://github.com/git-cola/git-cola/issues/759
292 * It was easy to accidentally trigger the first action in the `Status` tool's
293   context menu when using a quick right-click to bring up the menu.
294   A short sub-second delay was added to ensure that the top-most action is not
295   triggered unless enough time has passed.  This prevents accidental
296   activation of the first item (typically "Stage" or "Unstage") without
297   burdening common use cases.
299   https://github.com/git-cola/git-cola/pull/755
301   https://github.com/git-cola/git-cola/issues/643
303 * The "Ctrl+S" hotkey now works for the header items in the Status tool.
304   Selected the "Modified" header item and activating the "Stage" hotkey,
305   for example, will stage all modified files.  This works for the "Staged",
306   "Modified", and "Untracked" headers.  This is not enabled for the
307   "Unmerged" header by design.
309   https://github.com/git-cola/git-cola/issues/772
311 * The list of "Recent" repositories previously capped the number of
312   repositories shown to 8 repositories.  This can be set to a higher
313   value by setting the `cola.maxrecent` configuration variable.
315   https://github.com/git-cola/git-cola/issues/752
317 * The "Create Branch" dialog now prevents invalid branch names.
319   https://github.com/git-cola/git-cola/issues/765
321 * Updated Turkish translation.
323   https://github.com/git-cola/git-cola/pull/756
325 * Updated Ukrainian translation.
327   https://github.com/git-cola/git-cola/pull/753
329 * Updated German translation.
331   https://github.com/git-cola/git-cola/pull/802
333 * Updated Czech translation
335   https://github.com/git-cola/git-cola/pull/792
337   https://github.com/git-cola/git-cola/pull/806
339 * The window title can be configured to not display the absolute path of the
340   repository.
342   https://github.com/git-cola/git-cola/issues/775
344 * The "Edit Remotes" editor learned to edit remote URLS.
346 * Bare repositories can now be created by selecting the
347   "New Bare Repository..." action from the `File` menu.
349 * The "Branches" widget learned to configure upstream branches.
351 * A new `git cola clone` sub-command was added for cloning repositories.
353 Packaging
354 ---------
355 * The vendored `qtpy` library was updated to `v1.3.1`.
357 * The macOS installation was made simpler for better compatibility with
358   Homebrew.
360   https://github.com/git-cola/git-cola/issues/636
362 * The Windows installer is now much simpler.  Git Cola now bundles
363   Python and PyQt5, so users need only install the "Git for Windows"
364   and "Git Cola" installers to get things working.
366 Fixes
367 -----
368 * Uninitialized difftool errors will now be displayed graphically.
369   They were previously going to the shell.
371   https://github.com/git-cola/git-cola/issues/457
373 * Translations marked "fuzzy" will no longer be used when translating strings.
375   https://github.com/git-cola/git-cola/issues/782
377 * Deleted unmerged files will now correctly use a deleted icon.
379   https://github.com/git-cola/git-cola/issues/479
381 * The `Ctrl+C` "Copy" hotkey on the diff viewer has been fixed.
383   https://github.com/git-cola/git-cola/issues/767
385 * The "Create Tag" dialog did not correctly handle the case when a signed
386   tag is requested, but no message is provided, and the user chooses to
387   create an unannotated tag instead.  This convenience fallback will now
388   properly create an unsigned, unannotated tag.
390   https://github.com/git-cola/git-cola/issues/696
392 * `.gitconfig` and `.git/config` values editable by the Preferences dialog
393   (aka `git cola config`) will now get unset when set to an empty value.
394   For example, setting a different `user.email` in the current repository,
395   followed by a subsequent emptying of that field, would previously result in
396   an empty string getting stored in the config.  This has been fixed so that
397   the value will now get unset in the config instead.
399   https://github.com/git-cola/git-cola/issues/406
401 * Spelling and typofixes.
403   https://github.com/git-cola/git-cola/pull/748
405 * `core.commentChar` is now honored when set in the local repository
406   `.git/config`.
408   https://github.com/git-cola/git-cola/issues/766
410 * The log window was using a format string that did not display
411   correctly in all locales.  A locale-aware format is now used.
413   https://github.com/git-cola/git-cola/pull/800
415 * The dialog displayed when prompting for a reference could sometimes
416   lose focus.
418   https://github.com/git-cola/git-cola/pull/804
420 .. _v3.0:
422 git-cola v3.0
423 =============
425 Usability, bells and whistles
426 -----------------------------
427 * Updated Simplified Chinese translation.
429   https://github.com/git-cola/git-cola/pull/726
431 * Updated Ukrainian translation.
433   https://github.com/git-cola/git-cola/pull/723
435 * New Czech translation.
437   https://github.com/git-cola/git-cola/pull/736
439   https://github.com/git-cola/git-cola/pull/737
441   https://github.com/git-cola/git-cola/pull/740
443   https://github.com/git-cola/git-cola/pull/743
445 * The "name" field in the "Create Tag" dialog now includes autocompletion,
446   which makes it easy to see which tags currently exist.
448 * `git cola` now has configurable toolbars.  Use the `View -> Add toolbar`
449   menu item to add a toolbar.
451 * Setting `cola.expandtab` to `true` will now expand tabs into spaces
452   in the commit message editor.  The number of spaces to insert is determined
453   by consulting `cola.tabwidth`, which defaults to `8`.
455 * The "Copy SHA-1" hotkey is now `Alt + Ctrl + C`, to avoid clobbering the
456   ability to copy text from the DAG window.
458   https://github.com/git-cola/git-cola/pull/705
460 * The "Prepare Commit Message" action can now be invoked via the
461   `Ctrl+Shift+Return` shortcut.
463   https://github.com/git-cola/git-cola/pull/707
465 * The `Branches` pane now has a filter field that highlights branches whose
466   names match the string entered into its text field.
468   https://github.com/git-cola/git-cola/pull/713
470 * Actions that are triggered in response to button presses were being
471   triggered when the button was pressed, rather than when it was released,
472   which was a usability flaw.  All buttons now respond when clicked
473   rather than when pressed.
475   https://github.com/git-cola/git-cola/pull/715
477 * The DAG window will now only refresh when object IDs change.
478   Previously, the DAG would redraw itself in response to inotify events,
479   such as filesystem operations, which was disruptive when inspecting a large
480   diff in its diff viewer.  The DAG will now only redraw when the object IDs
481   corresponding to its query input changes.  Furthermore, when redrawing, the
482   scrollbar positions are retained to minimize disruption to the viewport
483   contents.
485   https://github.com/git-cola/git-cola/issues/620
487   https://github.com/git-cola/git-cola/issues/724
489 * The "About" dialog now includes the SHA-1 where Git Cola was built.
491   https://github.com/git-cola/git-cola/issues/530
493 * The "Status" widget now has "Copy Leading Path to Clipboard" and
494   "Copy Basename to Clipboard" actions.
496   https://github.com/git-cola/git-cola/issues/435
498   https://github.com/git-cola/git-cola/issues/436
500 * The "Status" widget now supports custom "Copy ... to Clipboard" actions.
502   https://github.com/git-cola/git-cola/issues/437
504 * The main menu now has an "Edit" menu.
506   https://github.com/git-cola/git-cola/issues/725
508 * `git dag` learned to checkout commits into a detached HEAD state.
510   https://github.com/git-cola/git-cola/issues/698
512 * The `status` widget's context menus now omit actions selection-dependent
513   actions when no file is selected.
515   https://github.com/git-cola/git-cola/pull/731
517 * The startup dialog now focuses the repository list so that repositories
518   can be selected with the keyboard without mouse intervention.
520   https://github.com/git-cola/git-cola/issues/741
522 Fixes
523 -----
524 * `git dag` now prevents nodes from overlapping in more situations.
526   https://github.com/git-cola/git-cola/pull/689
528 * Adding untracked Git submodule repo directories previously ran
529   `git add submodule/` but we now call `git add submodule` without
530   the trailing slash (`/`) to avoid staging files that belong to the
531   submodule (which is possibly a `git` bug).  By working around the
532   buggy behavior we allow users to recover by issuing the appropriate
533   `git submodule add` command to properly register the submodule.
535   https://github.com/git-cola/git-cola/pull/681
537 * We now avoid `git for-each-ref --sort=version:refname` on versions
538   of `git` older than `v2.7.0`.  Previously we only avoided it for
539   versions older than `v2.0.0`, which was a mistake.
541   https://github.com/git-cola/git-cola/pull/686
543 * The error message displayed when `git` is not installed has been fixed.
545   https://github.com/git-cola/git-cola/pull/686
547 * Adding new remotes was silently broken.
549   https://github.com/git-cola/git-cola/issues/684
551   https://github.com/git-cola/git-cola/pull/685
553 * The repo selection dialog had errors during startup when the
554   `cola.refreshonfocus` feature was enabled, as reported on Ubuntu 16.04.
556   https://github.com/git-cola/git-cola/issues/690
558 * Restored support for PyQt 4.6 (Centos 6.8)
560   https://github.com/git-cola/git-cola/issues/692
562 * Switching repositories now resets the "Amend Mode" and other settings
563   when switching.
565   https://github.com/git-cola/git-cola/issues/710
567 * `git rebase` error messages now displayed when rebasing fails or stops
568   via the standalone `git cola rebase` front-end.
570   https://github.com/git-cola/git-cola/issues/721
572 * `git cola` learned to stage broken symlinks.
574   https://github.com/git-cola/git-cola/issues/727
576 * The "View History" feature in the `Browser` tool was fixed, and now
577   disambiguates between refs and paths.
579   https://github.com/git-cola/git-cola/issues/732
581 * The diff editor now has better support for files with CRLF `\r\n`
582   line endings.
584   https://github.com/git-cola/git-cola/issues/730
586 * `cola.inotify` in a repo-local config is now honored
587   when `git cola` is launched from a desktop entry (`git cola --prompt`).
589   https://github.com/git-cola/git-cola/issues/695
591 .. _v2.11:
593 git-cola v2.11
594 ==============
596 Usability, bells and whistles
597 -----------------------------
598 * New Ukrainian translation.
600   https://github.com/git-cola/git-cola/pull/670
602   https://github.com/git-cola/git-cola/pull/672
604 * New and improved French translations.
606 * The new `Branches` widget makes it easier to checkout, merge, push,
607   and pull branches from a single interface.
609 * `git cola` now includes a dark icon theme.  The dark icon theme can be
610   activated either by setting the `GIT_COLA_ICON_THEME` environment variable
611   to `dark`, by configuring `cola.icontheme` to `dark`, or by specifying
612   `--icon-theme=dark` on the command line.
614   https://github.com/git-cola/git-cola/pull/638
616 * Autocompletion was added to the `Fetch`, `Push`, and `Pull` dialogs.
618 * The commit message editor now remembers the "Spellcheck" setting
619   after exiting.
621   https://github.com/git-cola/git-cola/pull/645
623 * `git dag` now uses an improved algorithm for laying out the graph,
624   which avoids collisions under certain graph configurations, and
625   avoids overlapping tag with commits.
627   https://github.com/git-cola/git-cola/pull/648
629   https://github.com/git-cola/git-cola/pull/651
631   https://github.com/git-cola/git-cola/pull/654
633   https://github.com/git-cola/git-cola/pull/656
635   https://github.com/git-cola/git-cola/pull/659
637 * `git dag` now remembers its column sizes across sessions.
639   https://github.com/git-cola/git-cola/issues/674
641 * `Grep` now shows a preview of the selected file's content in a split window
642   below the grep results.
644 * `Grep` now includes line numbers in the preview pane's output.
646 * `Edit Remotes` now remembers its window settings after exiting.
648 * `Diff` now has an option to display line numbers in the editor.
650   https://github.com/git-cola/git-cola/issues/136
652 * `Amend Last Commit` can now be triggered via the `Commit` menu in addition
653   to the commit message editor's options.
655   https://github.com/git-cola/git-cola/issues/640
657 * The `File Browser` tool was made much faster and can now operate on
658   much larger repositories.
660   https://github.com/git-cola/git-cola/issues/499
662 * A new "turbo" mode was added that allows you to opt-out of operations
663   that can slow `git cola` on large repositories.  The turbo mode is
664   enabled by configuring `git config cola.turbo true`.  Turbo mode
665   disables the background loading of Git commit messages and other
666   details in the `File Browser` widget.
668 * A new GitIgnore dialog allows adding custom gitignore patterns.
670   https://github.com/git-cola/git-cola/pull/653
672 * The spellchecker in `git cola` can now use an additional dictionary
673   by configuring `cola.dictionary` to the path to a file containing
674   a newline-separated list of words.
676   https://github.com/git-cola/git-cola/issues/663
678 * The stash, export patches, diff, and gitignore dialogs now remember
679   their window sizes.
681 * A new `git cola recent` sub-command was added for finding recently
682   edited files.
684 * The `Fetch` dialog now allows pruning remote branches.
686   https://github.com/git-cola/git-cola/issues/639
688   https://github.com/git-cola/git-cola/pull/680
690 Fixes
691 -----
692 * `git cola`'s spellchecker now supports the new `dict-common` filesystem
693   layout, and prefers the `/usr/share/dict/cracklib-small` file over the
694   `/usr/share/dict/words` provided on older distributions.
695   This makes the spellchecker compatible with Arch, which does not provide
696   a `words` symlink like Debian.
698   https://github.com/git-cola/git-cola/issues/663
700 * Properly handle the case where an existing file is untracked using
701   the File Browser.
703 * Fix a quirk where the "Create Branch" dialog sometimes required clicking
704   twice on the radio buttons.
706   https://github.com/git-cola/git-cola/pull/662
708 * Fixed a focus issue to ensure that "Push", "Fetch", and "Pull" can
709   be executed with the press of a single enter key after being shown.
711   https://github.com/git-cola/git-cola/issues/661
713 * Committing is now allowed in when resolving a merge results in no
714   changes.  This state was previously prevented by the commit message editor,
715   which prevented users from resolving merges that result in no changes.
717   https://github.com/git-cola/git-cola/pull/679
719 * The filesystem monitor would sometimes emit backtraces when directories
720   are modified.  This has been fixed.
722   https://bugzilla.redhat.com/show_bug.cgi?id=1438522
724 * Absolute paths are now returned when querying for `.git`-relative paths
725   from within a submodule, which uses `.git`-files.
726   This fixes launching `git cola` from within a subdirectory of a submodule.
728   https://github.com/git-cola/git-cola/pull/675
730 .. _v2.10:
732 git-cola v2.10
733 ==============
735 Usability, bells and whistles
736 -----------------------------
737 * `git cola` can now invoke the `.git/hooks/cola-prepare-commit-msg`
738   hook to update the commit message.  This hook takes the same parameters
739   as Git's `prepare-commit-message` hook.  The default path to this hook
740   can be overridden by setting the `cola.prepareCommitMessageHook`
741   configuration variable.
743   http://git-cola.readthedocs.io/en/latest/git-cola.html#prepare-commit-message
745 * `git cola diff` (and the corresponding `Diff` menu actions) can now
746   launch difftool with the standard `Ctrl+D` hotkey.  The `Ctrl+E` hotkey was
747   also added for launching an editor.
749 * Traditional Chinese (Taiwan) translation updates.
751 Fixes
752 -----
753 * `git cola` now works when installed in non-ascii, utf8-encoded paths.
755   https://github.com/git-cola/git-cola/issues/629
757 * Styling issues that caused black backgrounds in various widgets when using
758   PyQ5 on Mac OS X have been fixed.
760   https://github.com/git-cola/git-cola/issues/624
762 * The "Open Recent" menu action was broken and has been fixed.
764   https://github.com/git-cola/git-cola/issues/634
766 * Exiting `git cola` with a maximized main window would hang when reopened
767   on Linux.
769   https://github.com/git-cola/git-cola/issues/641
771 Packaging
772 ---------
773 * `appdata.xml` files are now provided at
774   `share/appdata/git-cola.xml` and `share/appdata/git-dag.xml`
775   for use by the Linux software gallery.
777   https://people.freedesktop.org/~hughsient/appdata/
779   https://github.com/git-cola/git-cola/pull/627
781 .. _v2.9.1:
783 git-cola v2.9.1
784 ===============
786 Fixes
787 -----
788 * The "Open Recent" menu was updated to new bookmarks format.
790   https://github.com/git-cola/git-cola/issues/628
792 .. _v2.9:
794 git-cola v2.9
795 =============
797 Usability, bells and whistles
798 -----------------------------
799 * New Polish translation thanks to Łukasz Wojniłowicz
801   https://github.com/git-cola/git-cola/pull/598
803 * The `Bypass Commit Hooks` feature now disables itself automatically
804   when a new commit is created.  The new behavior turns the option into a
805   single-use flag, which helps prevent users from accidentally leaving it
806   active longer than intended.
808   https://github.com/git-cola/git-cola/pull/595
810 * `git dag` learned to launch an external diff viewer on selected commits.
811   The standard `Ctrl+D` shortcut can be used to view diffs.
813   https://github.com/git-cola/git-cola/issues/468
815 * `git dag` learned to launch directory diffs via `git difftool --dir-diff`.
816   The `Ctrl+Shift+D` shortcut launches difftool in directory-diff mode.
818   https://github.com/git-cola/git-cola/issues/468
820 * Items in the "Favorites" list can now be renamed, which makes it
821   easier to differentiate between several checkouts of the same repository.
823   https://github.com/git-cola/git-cola/issues/599
825   https://github.com/git-cola/git-cola/pull/601
827 * The startup screen now includes a logo and `git cola` version information.
829   https://github.com/git-cola/git-cola/issues/526
831 * The `About` page was revamped to contain multiple tabs.  A new tab was added
832   that provides details about `git cola`''s dependencies.  New tabs were also
833   added for giving credit to `git cola`'s authors and translators.
835 * The `About` page can now be accessed via `git cola about`.
837 * The "Fast-forward only" and "No fast-forward" options supported by
838   `git pull` are now accessible via `git cola pull`.
840 * Doing a forced push no longer requires selecting the remote branch.
842   https://github.com/git-cola/git-cola/pull/618
844 * `git cola push` now has an option to suppress the prompt that is shown
845   when pushing would create new remote branches.
847   https://github.com/git-cola/git-cola/issues/605
849 * `git dag` now shows commit messages in a more readable color.
851   https://github.com/git-cola/git-cola/issues/574
853 * `git cola browse` and the `status` widget learned to launch the OS-specified
854   default action for a file.  When used on directories via `git cola browse`,
855   or when "Open Parent Directory" is used on files, the OS-specified
856   file browser will typically be used.
858 * `git cola browse` and the `status` widget learned to launch terminals.
860 Fixes
861 -----
862 * `git cola browse` was not updating when expanding items.
864   https://github.com/git-cola/git-cola/issues/588
866 * Typofixes in comments, naming, and strings have been applied.
868   https://github.com/git-cola/git-cola/pull/593
870 * The inotify and win32 filesystem monitoring no longer refreshes
871   when updates are made to ignored files.
873   https://github.com/git-cola/git-cola/issues/517
875   https://github.com/git-cola/git-cola/issues/516
877 * The `Refresh` button on the actions panel no longer raises an
878   exception when using PyQt5.
880   https://github.com/git-cola/git-cola/issues/604
882 * Fixed a typo in the inotify backend that is triggered when files are removed.
884   https://github.com/git-cola/git-cola/issues/607
886 * Fixed a typo when recovering from a failed attempt to open a repository.
888   https://github.com/git-cola/git-cola/issues/606
890 * `git dag` now properly updates itself when launched from the menubar.
892   https://github.com/git-cola/git-cola/pull/613
894 * If git-cola is invoked on Windows using `start pythonw git-cola`,
895   a console window will briefly flash on the screen each time
896   `git cola` invokes `git`.  The console window is now suppressed.
898 * We now avoid some problematic Popen flags on Windows which were
899   breaking the `git rebase` feature on Windows.
901 * The `Save` button in `git dag`'s "Grab File..." feature now properly
902   prompts for a filename when saving files.
904   https://github.com/git-cola/git-cola/pull/617
906 Development
907 -----------
908 * The `qtpy` symlink in the source tree has been removed to allow for easier
909   development on Windows.
911   https://github.com/git-cola/git-cola/issues/626
913 .. _v2.8:
915 git-cola v2.8
916 =============
918 Usability, bells and whistles
919 -----------------------------
920 * `git cola push` learned to configure upstream branches.
922   https://github.com/git-cola/git-cola/issues/563
924 Fixes
925 -----
926 * The diffstat view is now properly updated when notifications are
927   received via inotify filesystem monitoring.
929   https://github.com/git-cola/git-cola/issues/577
931 * Python3 with PyQt5 had a bug that prevented `git cola` from starting.
933   https://github.com/git-cola/git-cola/pull/589
935 .. _v2.7:
937 git-cola v2.7
938 =============
940 Fixes
941 -----
943 * When repositories stored in non-ASCII, UTF-8-encoded filesystem paths
944   were operated upon with `LC_ALL=C` set in the environment, unicode errors
945   would occur when using `python2`.  `git cola` was made more robust and will
946   now operate correctly within this environment.
948   https://github.com/git-cola/git-cola/issues/581
950 * Support for the `GIT_WORK_TREE` environment variable was fixed.
952   https://github.com/git-cola/git-cola/pull/582
954 Development
955 -----------
957 * The `unittest.mock` module is now used instead of the original `mock` module
958   when running the `git cola` test suite using Python3.
960   https://github.com/git-cola/git-cola/issues/569
962 Packaging
963 ---------
965 * `git cola` is now compatible with *PyQt5*, *PyQt4*, and *Pyside*.
966   `git cola` previously supported *PyQt4* only, but will now use whichever
967   library is available.  Users are not required to upgrade at this time,
968   but *PyQt5* support can be enabled anytime by making its python
969   modules available.
971   https://github.com/git-cola/git-cola/issues/232
973   *NOTE*: We do not yet recommend using *PyQt5* because there are known
974   exit-on-segfault bugs in *Qt5* that have not yet been addressed.
975   `git cola` is sensitive to this bug and is known to crash on exit
976   when using `git dag` or the interactive rebase feature on *PyQt5*.
978   https://bugreports.qt.io/browse/QTBUG-52988
980   *PyQt4* is stable and there are no known issues when using it so
981   we recommend using it until the Qt5 bugs have been resolved.
983 * `git cola` now depends on *QtPy* and includes a bundled copy of the
984   `qtpy` library.  If you are packaging `git cola` and would prefer to use
985   `qtpy` from your distribution instead of the built-in version then use
986   `make NO_VENDOR_LIBS=1` when building `git cola`.  This will prevent
987   vendored libraries from being installed.
989 .. _v2.6:
991 git-cola v2.6
992 =============
994 Usability, bells and whistles
995 -----------------------------
997 * A new "Reset" sub-menu provides access to running "git reset --mixed"
998   when resetting branch heads and "git reset  --merge" when resetting
999   worktrees.
1001   https://github.com/git-cola/git-cola/issues/542
1003 * `git cola` now supports linked worktrees, i.e. worktrees created by
1004   `git worktree`.
1006   https://github.com/git-cola/git-cola/issues/554
1008 Fixes
1009 -----
1011 * Diff highlighting is now robust to the user having
1012   diff.supressBlankEmpty=true in their git config.
1014   https://github.com/git-cola/git-cola/issues/541
1016 * The filesystem monitor now properly handles repositories that use
1017   `.git`-files, e.g. when using submodules.
1019   https://github.com/git-cola/git-cola/issues/545
1021   https://github.com/git-cola/git-cola/pulls/546
1023 * Per-repository git configuration is now properly detected when launching
1024   `git cola` from an application launcher.
1026   https://github.com/git-cola/git-cola/issues/548
1028 * `git cola` now cleans up after itself immediately to avoid leaving behind
1029   empty `/tmp/git-cola-XXXXXX` directories when the user uses `Ctrl+C`
1030   to quit the app.
1032   https://github.com/git-cola/git-cola/issues/566
1034 Packaging
1035 ---------
1037 * It is now possible to install `git cola` to and from utf8-encoded filesystem
1038   paths.  Previously, Python's stdlib would throw an encoding error during
1039   installation.  We workaround the stdlib by forcing python2 to use utf-8,
1040   thus fixing assumptions in the stdlib library code.
1042   https://github.com/git-cola/git-cola/issues/551
1044 .. _v2.5:
1046 git-cola v2.5
1047 =============
1049 Usability, bells and whistles
1050 -----------------------------
1052 * The icon for untracked files was adjusted to better differentiate
1053   between files and the "Untracked" header.
1055   https://github.com/git-cola/git-cola/issues/509
1057 * Ctrl+O was added as a hotkey for opening repositories.
1059   https://github.com/git-cola/git-cola/pull/507
1061 * `git dag` now uses consistent edge colors across updates.
1063   https://github.com/git-cola/git-cola/issues/512
1065 * `git cola`'s Bookmarks widget can now be used to set a "Default Repository".
1066   Under the hood, we set the `cola.defaultrepo` configuration variable.
1067   The default repository is used whenever `git cola` is launched outside of
1068   a Git repository.  When unset, or when set to a bogus value, `git cola`
1069   will prompt for a repository, as it previously did.
1071   https://github.com/git-cola/git-cola/issues/513
1073 * `git cola`'s Russian and Spanish translations were improved
1074   thanks to Vaiz and Zeioth.
1076   https://github.com/git-cola/git-cola/pull/514
1078   https://github.com/git-cola/git-cola/pull/515
1080   https://github.com/git-cola/git-cola/pull/523
1082 * `git cola` was translated to Turkish thanks to Barış ÇELİK.
1084   https://github.com/git-cola/git-cola/pull/520
1086 * The status view now supports launching `git gui blame`.  It can be
1087   configured to use a different command by setting `cola.blameviewer`.
1089   https://github.com/git-cola/git-cola/pull/521
1091 * `git dag` now allows selecting non-contiguous ranges in the log widget.
1093   https://github.com/git-cola/git-cola/issues/468
1095 * Any font can now be chosen for the diff editor, not just monospace fonts.
1097   https://github.com/git-cola/git-cola/issues/525
1099 Fixes
1100 -----
1102 * `xfce4-terminal` and `gnome-terminal` are now supported when launching
1103   `git mergetool` to resolve merges.  These terminals require that the command
1104   to execute is shell-quoted and passed as a single string argument to `-e`
1105   rather than as additional command line arguments.
1107   https://github.com/git-cola/git-cola/issues/524
1109 * Fixed a unicode problem when formatting the error message that is shown
1110   when `gitk` is not installed.  We now handle unicode data in tracebacks
1111   generated by python itself.
1113   https://github.com/git-cola/git-cola/issues/528
1115 * The `New repository` feature was fixed.
1117   https://github.com/git-cola/git-cola/pull/533
1119 * We now use omit the extended description when creating "fixup!" commits,
1120   for consistency with the Git CLI.  We now include only the one-line summary
1121   in the final commit message.
1123   https://github.com/git-cola/git-cola/issues/522
1125 .. _v2.4:
1127 git-cola v2.4
1128 =============
1130 Usability, bells and whistles
1131 -----------------------------
1133 * The user interface is now HiDPI-capable.  git-cola now uses SVG
1134   icons, and its interface can be scaled by setting the `GIT_COLA_SCALE`
1135   environment variable.
1137 * `git dag` now supports the standard editor, difftool, and history hotkeys.
1138   It is now possible to invoke these actions from file widget's context
1139   menu and through the standard hotkeys.
1141   https://github.com/git-cola/git-cola/pull/473
1143 * The `Status` tool also learned about the history hotkey.
1144   Additionally, the `Alt-{j,k}` aliases are also supported in the `Status`
1145   tool for consistency with the other tools where the non-Alt hotkeys are not
1146   available.
1148   https://github.com/git-cola/git-cola/pull/488
1150 * The `File Browser` tool now has better default column sizes,
1151   and remembers its window size and placement.
1153 * The `File Browser` now supports the refresh hotkey, and has better
1154   behavior when refreshing.  The selection is now retained, and new and
1155   removed files are found when refreshing.
1157 * A new `git-cola-completion.bash` completion script is provided in the
1158   `contrib/` directory.  It must be used alongside Git's completion script.
1159   Source it from your `~/.bashrc` (or `~/.zshrc`, etc) after sourcing
1160   the `git-completion.bash` script and you will have command-line completion
1161   support for the `git cola` and `git dag` sub-commands.
1163 * The "checkout" dialog now offers completion for remote branches and other
1164   git refs.  This makes it easier to checkout remote branches in a detached
1165   head state.  Additionally, the checkout dialog also offers completion for
1166   remote branches that have not yet been checked out, which makes it easier to
1167   create a local tracking branch by just completing for that potential name.
1169   https://github.com/git-cola/git-cola/issues/390
1171 * The "create branch" and "create tag" dialogs now save and restore their
1172   window settings.
1174 * The "status" widget can now be configured to use a bold font with a darker
1175   background for the header items.
1177   https://github.com/git-cola/git-cola/pull/506
1179 * The "status" widget now remembers its horizontol scrollbar position across
1180   updates.  This is helpful when working on projects with long paths.
1182   https://github.com/git-cola/git-cola/issues/494
1184 Fixes
1185 -----
1187 * When using *Git for Windows*, a `git` window would appear
1188   when running *Windows 8*.  We now pass additional flags to
1189   `subprocess.Popen` to prevent a `git` window from appearing.
1191   https://github.com/git-cola/git-cola/issues/477
1193   https://github.com/git-cola/git-cola/pull/486
1195 * Launching difftool with `.PY` in `$PATHEXT` on Windows was fixed.
1197   https://github.com/git-cola/git-cola/issues/492
1199 * Creating a local branch tracking a remote branch that contains
1200   slashes in its name is now properly handled.
1202   https://github.com/git-cola/git-cola/issues/496
1204 * The "Browse Other Branch" feature was broken by Python3, and is now fixed.
1206   https://github.com/git-cola/git-cola/issues/501
1208 * We now avoid `long` for better Python3 compatibility.
1210   https://github.com/git-cola/git-cola/issues/502
1212 * We now use Git's default merge message when merging branches.
1214   https://github.com/git-cola/git-cola/issues/508
1216 * Miscellaneous fixes
1218   https://github.com/git-cola/git-cola/pull/485
1220 Packaging
1221 ---------
1223 * git-cola's documentation no longer uses an intersphinx link mapping
1224   to docs.python.org.  This fixes warnings when building rpms using koji,
1225   where network access is prevented.
1227   https://bugzilla.redhat.com/show_bug.cgi?id=1231812
1229 .. _v2.3:
1231 git-cola v2.3
1232 =============
1234 Usability, bells and whistles
1235 -----------------------------
1237 * The Interactive Rebase feature now works on Windows!
1239   https://github.com/git-cola/git-cola/issues/463
1241 * The `diff` editor now understands vim-style `hjkl` navigation hotkeys.
1243   https://github.com/git-cola/git-cola/issues/476
1245 * `Alt-{j,k}` navigation hotkeys were added to allow changing to the
1246   next/previous file from the diff and commit editors.
1248 * The `Rename branch` menu action is now disabled in empty repositories.
1250   https://github.com/git-cola/git-cola/pull/475
1252   https://github.com/git-cola/git-cola/issues/459
1254 * `git cola` now checks unmerged files for conflict markers before
1255   staging them.  This feature can be disabled in the preferences.
1257   https://github.com/git-cola/git-cola/issues/464
1259 * `git dag` now remembers which commits were selected when refreshing
1260   so that it can restore the selection afterwards.
1262   https://github.com/git-cola/git-cola/issues/480
1264 * "Launch Editor", "Launch Difftool", "Stage/Unstage",
1265   and "Move Up/Down" hotkeys now work when the commit message
1266   editor has focus.
1268   https://github.com/git-cola/git-cola/issues/453
1270 * The diff editor now supports the `Ctrl+u` hotkey for reverting
1271   diff hunks and selected lines.
1273 * The `core.commentChar` Git configuration value is now honored.
1274   Commit messages and rebase instruction sheets will now use
1275   the configured character for comments.  This allows having
1276   commit messages that start with `#` when `core.commentChar`
1277   is configured to its non-default value.
1279   https://github.com/git-cola/git-cola/issues/446
1281 Fixes
1282 -----
1284 * Diff syntax highlighting was improved to handle more edge cases
1285   and false positives.
1287   https://github.com/git-cola/git-cola/pull/467
1289 * Setting commands in the interactive rebase editor was fixed.
1291   https://github.com/git-cola/git-cola/issues/472
1293 * git-cola no longer clobbers the Ctrl+Backspace text editing shortcut
1294   in the commit message editor.
1296   https://github.com/git-cola/git-cola/issues/453
1298 * The copy/paste clipboard now persists after `git cola` exits.
1300   https://github.com/git-cola/git-cola/issues/484
1302 .. _v2.2.1:
1304 git-cola v2.2.1
1305 ===============
1307 Fixes
1308 -----
1309 * Fixed the "Sign off" feature in the commit message editor.
1311 .. _v2.2:
1313 git-cola v2.2
1314 =============
1316 Usability, bells and whistles
1317 -----------------------------
1318 * Double-click will now choose a commit in the "Select commit" dialog.
1320 * `git cola` has a feature that reads `.git/MERGE_MSG` and friends for the
1321   commit message when a merge is in-progress.  Upon refresh, `git cola` will
1322   now detect when a merge has completed and reset the commit message back to
1323   its previous state.  It is only reset if the editor contains a message
1324   that was read from the file and has not been manually edited by the user.
1326 * The commit message editor's context menu now has a "Clear..." action for
1327   clearing the message across both the summary and description fields.
1329 * Traditional Chinese (Taiwan) translation updates.
1331 * The system theme's icons are now used wherever possible.
1333   https://github.com/git-cola/git-cola/pull/458
1335 Fixes
1336 -----
1337 * The stash viewer now uses ``git show --no-ext-diff`` to avoid running
1338   user-configured diff tools.
1340 * `git cola` now uses the `setsid()` system call to ensure that the
1341   `GIT_ASKPASS` and `SSH_ASKPASS` helper programs are used when pushing
1342   changes using `git`.  The askpass helpers will now be used even when
1343   `git cola` is launched from a terminal.
1345   The behavior without `setsid()` is that `git cola` can appear to hang while
1346   pushing changes.  The hang happens when `git` prompts the user for a
1347   password using the terminal, but the user never sees the prompt.  `setsid()`
1348   detaches the terminal, which ensures that the askpass helpers are used.
1350   https://github.com/git-cola/git-cola/issues/218
1352   https://github.com/git-cola/git-cola/issues/262
1354   https://github.com/git-cola/git-cola/issues/377
1356 * `git dag`'s file list tool was updated to properly handle unicode paths.
1358 * `gnome-terminal` is no longer used by default when `cola.terminal` is unset.
1359   It is broken, as was detailed in #456.
1361   https://github.com/git-cola/git-cola/issues/456
1363 * The interactive rebase feature was not always setting `$GIT_EDITOR`
1364   to the value of `gui.editor`, thus there could be instances where rebase
1365   will seem to not stop, or hang, when performing "reword" actions.
1367   We now set the `$GIT_EDITOR` environment variable when performing the
1368   "Continue", "Skip", and "Edit Todo" rebase actions so that the correct
1369   editor is used during the rebase.
1371   https://github.com/git-cola/git-cola/issues/445
1373 Packaging
1374 ---------
1375 * `git cola` moved from a 3-part version number to a simpler 2-part "vX.Y"
1376   version number.  Most of our releases tend to contain new features.
1378 .. _v2.1.2:
1380 git-cola v2.1.2
1381 ===============
1383 Usability, bells and whistles
1384 -----------------------------
1385 * Updated zh_TW translations.
1387 * `git cola rebase` now defaults to `@{upstream}`, and generally uses the same
1388   CLI syntax as `git rebase`.
1390 * The commit message editor now allows you to bypass commit hooks by selecting
1391   the "Bypass Commit Hooks" option.  This is equivalent to passing the
1392   `--no-verify` option to `git commit`.
1394   https://github.com/git-cola/git-cola/issues/357
1396 * We now prevent the "Delete Files" action from creating a dialog that does
1397   not fit on screen.
1399   https://github.com/git-cola/git-cola/issues/378
1401 * `git xbase` learned to edit rebase instruction sheets that contain
1402   `exec` commands.
1404 * The diff colors are now configurable.  `cola.color.{text,add,remove,header}`
1405   can now be set with 6-digit hexadecimal colors.
1406   See the `git cola manual <https://git-cola.readthedocs.io/en/latest/git-cola.html#configuration-variables>_`
1407   for more details.
1409 * Improved hotkey documentation.
1411 Fixes
1412 -----
1413 * `git cola` will now allow starting an interactive rebase with a dirty
1414   worktree when `rebase.autostash` is set.
1416   https://github.com/git-cola/git-cola/issues/360
1418 .. _v2.1.1:
1420 git-cola v2.1.1
1421 ===============
1423 Usability, bells and whistles
1424 -----------------------------
1425 * A new "Find files" widget was added, and can be activated by
1426   using the `Ctrl+t` or `t` hotkeys.
1428 * A new `git cola find` sub-command was added for finding files.
1430 * `git cola` now remembers the text cursor's position when staging
1431   interactively with the keyboard.  This makes it easier to use the keyboard
1432   arrows to select and stage lines.
1434 * The completion widgets will now select the top completion item
1435   when `Enter` or `Return` are pressed.
1437 * You can now refresh using `F5` in addition to the existing `Ctrl+R` hotkey.
1439 Fixes
1440 -----
1441 * `git cola` now passes `--no-abbrev-commit` to `git log` to override
1442   having `log.abbrevCommit = true` set in `.gitconfig`.
1444 .. _v2.1.0:
1446 git-cola v2.1.0
1447 ===============
1448 Usability, bells and whistles
1449 -----------------------------
1450 * `git dag` now forwards all unknown arguments along to `git log`.
1452   https://github.com/git-cola/git-cola/issues/389
1454 * Line-by-line interactive staging was made more robust.
1456   https://github.com/git-cola/git-cola/pull/399
1458 * "Bookmarks" was renamed to "Favorites".
1460   https://github.com/git-cola/git-cola/issues/392
1462 * Untracked files are now displayed using a unique icon.
1464   https://github.com/git-cola/git-cola/pull/388
1466 Fixes
1467 -----
1468 * `git dag` was triggering a traceback on Fedora when parsing Git logs.
1470   https://bugzilla.redhat.com/show_bug.cgi?id=1181686
1472 * inotify expects unicode paths on Python3.
1474   https://github.com/git-cola/git-cola/pull/393
1476 * Untracked files are now assumed to be utf-8 encoded.
1478   https://github.com/git-cola/git-cola/issues/401
1480 .. _v2.0.8:
1482 git-cola v2.0.8
1483 ===============
1484 Usability, bells and whistles
1485 -----------------------------
1486 * `git cola` can now create GPG-signed commits and merges.
1488   https://github.com/git-cola/git-cola/issues/149
1490   See the documentation for details about setting up a GPG agent.
1492 * The status widget learned to copy relative paths when `Ctrl+x` is pressed.
1494   https://github.com/git-cola/git-cola/issues/358
1496 * Custom GUI actions can now define their own keyboard shortcuts by
1497   setting `guitool.$name.shortcut` to a string understood by Qt's
1498   `QAction::setShortcut()` API, e.g. `Alt+X`.
1500   See http://qt-project.org/doc/qt-4.8/qkeysequence.html#QKeySequence-2
1501   for more details about the supported values.
1503 * `git cola` learned to rename branches.
1505   https://github.com/git-cola/git-cola/pull/364
1507   https://github.com/git-cola/git-cola/issues/278
1509 * `git dag` now has a "Show history" context menu which can be used to filter
1510   history using the selected paths.
1512 Fixes
1513 -----
1514 * `sphinxtogithub.py` was fixed for Python3.
1516   https://github.com/git-cola/git-cola/pull/353
1518 * The commit that changed how we read remotes from `git remote`
1519   to parsing `git config` was reverted since it created problems
1520   for some users.
1522 * Fixed a crash when using the `rebase edit` feature.
1524   https://github.com/git-cola/git-cola/issues/351
1526 * Better drag-and-drop behavior when dropping into gnome-terminal.
1528   https://github.com/git-cola/git-cola/issues/373
1530 Packaging
1531 ---------
1532 * The `git-cola-folder-handler.desktop` file handler was fixed
1533   to pass validation by `desktop-file-validate`.
1535   https://github.com/git-cola/git-cola/issues/356
1537 * The `git.svg` icon was renamed to `git-cola.svg`, and `git cola` was taught
1538   to prefer icons from the desktop theme when available.
1540 .. _v2.0.7:
1542 git-cola v2.0.7
1543 ===============
1544 Usability, bells and whistles
1545 -----------------------------
1546 * New hotkey: `Ctrl+Shift+M` merges branches.
1548 * New hotkey: `Ctrl+R` refreshes the DAG viewer.
1550   https://github.com/git-cola/git-cola/issues/347
1552 Fixes
1553 -----
1554 * We now use `git config` to parse the list of remotes
1555   instead of parsing the output of `git remote`, which
1556   is a Git porcelain and should not be used by scripts.
1558 * Avoid "C++ object has been deleted" errors from PyQt4.
1560   https://github.com/git-cola/git-cola/issues/346
1562 Packaging
1563 ---------
1564 * The `make install` target now uses `install` instead of `cp`.
1566 .. _v2.0.6:
1568 git-cola v2.0.6
1569 ===============
1570 Usability, bells and whistles
1571 -----------------------------
1572 * Updated Brazillian Portuguese translation.
1574 * The status and browse widgets now allow drag-and-drop into
1575   external applications.
1577   https://github.com/git-cola/git-cola/issues/335
1579 * We now show a progress bar when cloning repositories.
1581   https://github.com/git-cola/git-cola/issues/312
1583 * The bookmarks widget was simplified to not need a
1584   separate dialog.
1586   https://github.com/git-cola/git-cola/issues/289
1588 * Updated Traditional Chinese translation.
1590 * We now display a warning when trying to rebase with uncommitted changes.
1592   https://github.com/git-cola/git-cola/issues/338
1594 * The status widget learned to filter paths.
1595   `Ctrl+Shift+S` toggles the filter widget.
1597   https://github.com/git-cola/git-cola/issues/337
1599   https://github.com/git-cola/git-cola/pull/339
1601 * The status widget learned to move files to the trash
1602   when the `send2trash <https://github.com/hsoft/send2trash>`_
1603   module is installed.
1605   https://github.com/git-cola/git-cola/issues/341
1607 * "Recent repositories" is now a dedicated widget.
1609   https://github.com/git-cola/git-cola/issues/342
1611 * New Spanish translation thanks to Pilar Molina Lopez.
1613   https://github.com/git-cola/git-cola/pull/344
1615 Fixes
1616 -----
1617 * Newly added remotes are now properly seen by the fetch/push/pull dialogs.
1619   https://github.com/git-cola/git-cola/issues/343
1621 .. _v2.0.5:
1623 git-cola v2.0.5
1624 ===============
1625 Usability, bells and whistles
1626 -----------------------------
1627 * New Brazillian Portuguese translation thanks to Vitor Lobo.
1629 * New Indonesian translation thanks to Samsul Ma'arif.
1631 * Updated Simplified Chinese translation thanks to Zhang Han.
1633 * `Ctrl+Backspace` is now a hotkey for "delete untracked files" in
1634   the status widget.
1636 * Fetch/Push/Pull dialogs now use the configured remote of the current
1637   branch by default.
1639   https://github.com/git-cola/git-cola/pull/324
1641 Fixes
1642 -----
1643 * We now use `os.getcwd()` on Python3.
1645   https://github.com/git-cola/git-cola/pull/316
1647   https://github.com/git-cola/git-cola/pull/326
1649 * The `Ctrl+P` hotkey was overloaded to both "push" and "cherry-pick",
1650   so "cherry-pick" was moved to `Ctrl+Shift+C`.
1652 * Custom GUI tools with mixed-case names are now properly supported.
1654 * "Diff Region" is now referred to as "Diff Hunk" for consistency
1655   with common terminology from diff/patch tools.
1657   https://github.com/git-cola/git-cola/issues/328
1659 * git-cola's test suite is now portable to MS Windows.
1661   https://github.com/git-cola/git-cola/pull/332
1663 .. _v2.0.4:
1665 git-cola v2.0.4
1666 ===============
1667 Usability, bells and whistles
1668 -----------------------------
1669 * We now handle the case when inotify `add_watch()` fails
1670   and display instructions on how to increase the number of watches.
1672   https://github.com/git-cola/git-cola/issues/263
1674 * New and improved zh_TW localization thanks to V字龍(Vdragon).
1676   https://github.com/git-cola/git-cola/pull/265
1678   https://github.com/git-cola/git-cola/pull/267
1680   https://github.com/git-cola/git-cola/pull/268
1682   https://github.com/git-cola/git-cola/issues/269
1684   https://github.com/git-cola/git-cola/pull/270
1686   https://github.com/git-cola/git-cola/pull/271
1688   https://github.com/git-cola/git-cola/pull/272
1690 * New hotkeys: `Ctrl+F` for fetch, `Ctrl+P` for push,
1691   and `Ctrl+Shift+P` for pull.
1693 * The bookmarks widget's context menu actions were made clearer.
1695   https://github.com/git-cola/git-cola/issues/281
1697 * The term "Staging Area" is used consistently in the UI
1698   to allow for better localization.
1700   https://github.com/git-cola/git-cola/issues/283
1702 * The "Section" term is now referred to as "Diff Region"
1703   in the UI.
1705   https://github.com/git-cola/git-cola/issues/297
1707 * The localization documentation related to the LANGUAGE
1708   environment variable was improved.
1710   https://github.com/git-cola/git-cola/pull/293
1712 * The "Actions" panel now contains tooltips for each button
1713   in case the button labels gets truncated by Qt.
1715   https://github.com/git-cola/git-cola/issues/292
1717 * Custom `git config`-defined actions can now be run in the
1718   background by setting `guitool.<name>.background` to `true`.
1720 Fixes
1721 -----
1722 * We now use bold fonts instead of SmallCaps to avoid
1723   artifacts on several configurations.
1725 * We now pickup `user.email`, `cola.tabwidth`, and similar settings
1726   when defined in /etc/gitconfig.
1728   https://github.com/git-cola/git-cola/issues/259
1730 * Better support for unicode paths when using inotify.
1732   https://bugzilla.redhat.com/show_bug.cgi?id=1104181
1734 * Unicode fixes for non-ascii locales.
1736   https://github.com/git-cola/git-cola/issues/266
1738   https://github.com/git-cola/git-cola/issues/273
1740   https://github.com/git-cola/git-cola/issues/276
1742   https://github.com/git-cola/git-cola/issues/282
1744   https://github.com/git-cola/git-cola/issues/298
1746   https://github.com/git-cola/git-cola/issues/302
1748   https://github.com/git-cola/git-cola/issues/303
1750   https://github.com/git-cola/git-cola/issues/305
1752 * Viewing history from the file browser was fixed for Python3.
1754   https://github.com/git-cola/git-cola/issues/274
1756 * setup.py was fixed to install the `*.rst` documentation.
1758   https://github.com/git-cola/git-cola/issues/279
1760 * Patch export was fixed for Python3.
1762   https://github.com/git-cola/git-cola/issues/290
1764 * Fixed adding a bookmark with trailing slashes.
1766   https://github.com/git-cola/git-cola/pull/295
1768 * The default `git dag` layout is now setup so that its widgets
1769   can be freely resized on Linux.
1771   https://github.com/git-cola/git-cola/issues/299
1773 * Invalid tag names are now reported when creating tags.
1775   https://github.com/git-cola/git-cola/pull/296
1777 .. _v2.0.3:
1779 git-cola v2.0.3
1780 ===============
1781 Usability, bells and whistles
1782 -----------------------------
1783 * `git cola` no longer prompts after successfully creating a new branch.
1785   https://github.com/git-cola/git-cola/pull/251
1787 * Hitting enter on simple dialogs now accepts them.
1789   https://github.com/git-cola/git-cola/pull/255
1791 Fixes
1792 -----
1793 * `git dag` no longer relies on `sys.maxint`, which is
1794   not available in Python3.
1796   https://github.com/git-cola/git-cola/issues/249
1798 * Python3-related fixes.
1800   https://github.com/git-cola/git-cola/pull/254
1802 * Python3-on-Windows-related fixes.
1804   https://github.com/git-cola/git-cola/pull/250
1806   https://github.com/git-cola/git-cola/pull/252
1808   https://github.com/git-cola/git-cola/pull/253
1810 * Switching repositories using the bookmarks widget was not
1811   refreshing the inotify watcher.
1813   https://github.com/git-cola/git-cola/pull/256
1815 * Special commit messages trailers (e.g. "Acked-by:") are now special-cased to
1816   fix word wrapping lines that start with "foo:".
1818   https://github.com/git-cola/git-cola/issues/257
1820 * `git dag` sometimes left behind selection artifacts.
1821   We now refresh the view to avoid them.
1823   https://github.com/git-cola/git-cola/issues/204
1825 .. _v2.0.2:
1827 git-cola v2.0.2
1828 ===============
1829 Usability, bells and whistles
1830 -----------------------------
1831 * Better inotify support for file creation and deletion.
1833   https://github.com/git-cola/git-cola/issues/240
1835 * `git cola` now supports the X11 Session Management Protocol
1836   and remembers its state across logout/reboot.
1838   https://github.com/git-cola/git-cola/issues/164
1840 * `git cola` has a new icon.
1842   https://github.com/git-cola/git-cola/issues/190
1844 Packaging
1845 ---------
1846 * Building the documentation no longer requires `asciidoc`.
1847   We now use `Sphinx <http://sphinx-doc.org/>`_ for building
1848   html documentation and man pages.
1850 Fixes
1851 -----
1852 * Reworked the git-dag gravatar icon code to avoid a unicode
1853   error in Python 2.
1855 * Commit message line-wrapping was made to better match the GUI editor.
1857   https://github.com/git-cola/git-cola/issues/242
1859 * Better support for Python3 on Windows
1861   https://github.com/git-cola/git-cola/issues/246
1863 Packaging
1864 ---------
1865 * git-cola no longer depends on Asciidoc for building its documentation
1866   and man-pages.  We now depend on [Sphinx](http://sphinx-doc.org/) only.
1868 .. _v2.0.1:
1870 git-cola v2.0.1
1871 ===============
1872 Usability, bells and whistles
1873 -----------------------------
1874 * Some context menu actions are now hidden when selected
1875   files do not exist.
1877   https://github.com/git-cola/git-cola/issues/238
1879 Fixes
1880 -----
1881 * The build-git-cola.sh contrib script was improved.
1883   https://github.com/git-cola/git-cola/pull/235
1885 * Non-ascii worktrees work properly again.
1887   https://github.com/git-cola/git-cola/issues/234
1889 * The browser now guards itself against missing files.
1891   https://bugzilla.redhat.com/show_bug.cgi?id=1071378
1893 * Saving widget state now works under Python3.
1895   https://github.com/git-cola/git-cola/pull/236
1897 .. _v2.0.0:
1899 git-cola v2.0.0
1900 ===============
1901 Portability
1902 -----------
1903 * git-cola now runs on Python 3 thanks to Virgil Dupras.
1905   https://github.com/git-cola/git-cola/pull/233
1907 * Python 2.6, 2.7, and 3.2+ are now supported.
1908   Python 2.5 is no longer supported.
1910 Fixes
1911 -----
1912 * i18n test fixes thanks to Virgil Dupras.
1914   https://github.com/git-cola/git-cola/pull/231
1916 * git-cola.app build fixes thanks to Maicon D. Filippsen.
1918   https://github.com/git-cola/git-cola/pull/230
1920 * Lots of pylint improvements thanks to Alex Chernetz.
1922   https://github.com/git-cola/git-cola/pull/229
1924 .. _v1.9.4:
1926 git-cola v1.9.4
1927 ===============
1928 Usability, bells and whistles
1929 -----------------------------
1930 * The new `Bookmarks` tool makes it really easy to switch between repositories.
1932 * There is now a dedicated dialog for applying patches.
1933   See the ``File -> Apply Patches`` menu item.
1935   https://github.com/git-cola/git-cola/issues/215
1937 * A new `git cola am` sub-command was added for applying patches.
1939 Fixes
1940 -----
1941 * Fixed a typo that caused inotify events to be silently ignored.
1943 * Fixed the sys.path setup for Mac OS X (Homebrew).
1945   https://github.com/git-cola/git-cola/issues/221
1947 * Lots of pylint fixes thanks to Alex Chernetz.
1949 .. _v1.9.3:
1951 git-cola v1.9.3
1952 ===============
1953 Usability, bells and whistles
1954 -----------------------------
1955 * `git cola --amend` now starts the editor in `amend` mode.
1957   https://github.com/git-cola/git-cola/issues/187
1959 * Multiple lines of text can now be pasted into the `summary` field.
1960   All text beyond the first newline will be automatically moved to the
1961   `extended description` field.
1963   https://github.com/git-cola/git-cola/issues/212
1965 Fixes
1966 -----
1967 * Stray whitespace in `.git` files is now ignored.
1969   https://github.com/git-cola/git-cola/issues/213
1971 * Fix "known incorrect sRGB profile" in `staged-item.png`.
1973   http://comments.gmane.org/gmane.linux.gentoo.devel/85066
1975 .. _v1.9.2:
1977 git-cola v1.9.2
1978 ===============
1979 Fixes
1980 -----
1981 * Fix a traceback when `git push` fails.
1983   https://bugzilla.redhat.com/show_bug.cgi?id=1034778
1985 Packaging
1986 ---------
1987 * Most of the git-cola sub-packages have been removed.
1988   The only remaining packages are `cola`, `cola.models`,
1989   and `cola.widgets`.
1991 * The translation file for Simplified Chinese was renamed
1992   to `zh_CN.po`.
1994   https://github.com/git-cola/git-cola/issues/209
1996 .. _v1.9.1:
1998 git-cola v1.9.1
1999 ===============
2000 Packaging
2001 ---------
2002 * `git cola version --brief` now prints the brief version number.
2004 Fixes
2005 -----
2006 * Resurrected the "make dist" target, for those that prefer to create
2007   their own tarballs.
2009 * Fixed the typo that broke the preferences dialog.
2011 .. _v1.9.0:
2013 git-cola v1.9.0
2014 ===============
2015 Usability, bells and whistles
2016 -----------------------------
2017 * We now ship a full-featured interactive `git rebase` editor.
2018   The rebase todo file is edited using the `git xbase` script which
2019   is provided at `$prefix/share/git-cola/bin/git-xbase`.
2020   This script can be used standalone by setting the `$GIT_SEQUENCE_EDITOR`
2021   before running `git rebase --interactive`.
2023   https://github.com/git-cola/git-cola/issues/1
2025 * Fixup commit messages can now be loaded from the commit message editor.
2027 * Tool widgets can be locked in place by using the "Tools/Lock Layout"
2028   menu action.
2030   https://github.com/git-cola/git-cola/issues/202
2032 * You can now push to several remotes simultaneously by selecting
2033   multiple remotes in the "Push" dialog.
2035   https://github.com/git-cola/git-cola/issues/148
2037 * The `grep` tool learned to search using three different modes:
2038   basic regular expressions (default), extended regular expressions,
2039   and fixed strings.
2041 Packaging
2042 ---------
2043 * `git cola` now depends on the `argparse` Python module.
2044   This module is part of the stdlib in Python 2.7 and must
2045   be installed separately when using Python 2.6 and below.
2047 Fixes
2048 -----
2049 * Support unicode in the output from `fetch`, `push`, and `pull`.
2051 .. _v1.8.5:
2053 git-cola v1.8.5
2054 ===============
2055 Usability, bells and whistles
2056 -----------------------------
2057 * We now detect when the editor or history browser are misconfigured.
2059   https://github.com/git-cola/git-cola/issues/197
2061   https://bugzilla.redhat.com/show_bug.cgi?id=886826
2063 * Display of untracked files can be disabled from the Preferences dialog
2064   or by setting the `gui.displayuntracked` configuration variable to `false`.
2066   http://thread.gmane.org/gmane.comp.version-control.git/232683
2068 Fixes
2069 -----
2070 * Unicode stash names are now supported
2072   https://github.com/git-cola/git-cola/issues/198
2074 * The diffs produced when reverting workspace changes were made more robust.
2076 .. _v1.8.4:
2078 git-cola v1.8.4
2079 =======================
2080 Usability, bells and whistles
2081 -----------------------------
2082 * Brand new German translation thanks to Sven Claussner.
2084 * The "File" menu now provides a "New Repository..." menu action.
2086 * `git dag` now uses a dock-widget interface so that its widgets can
2087   be laid-out and arranged.  Customizations are saved and restored
2088   the next time `git dag` is launched.
2090 * `git dag` now has a "Zoom Best Fit" button next alongside the
2091   "Zoom In" and "Zoom Out" buttons.
2093 * `Ctrl+L` now focuses the "Search" field in the `git dag` tool.
2095 * Right-clicking in the "diff" viewer now updates the cursor position
2096   before performing actions, which makes it much easier to click around
2097   and selectively stage sections.  Previously, the current cursor position
2098   was used which meant that it required two clicks (left-click to update
2099   the position followed by right-click to get the context menu) for the
2100   desired section to be used.  This is now a single right-click operation.
2102 * The `Ctrl+D` "Launch Diff Tool" action learned to automatically choose
2103   between `git difftool` and `git mergetool`.  If the file is unmerged then
2104   we automatically launch `git mergetool` on the path, otherwise we use
2105   `git difftool`.  We do this because `git difftool` is not intended to
2106   be used on unmerged paths.  Automatically using `git mergetool` when
2107   appropriate is the most intuitive and muscle-memory-friendly thing to do.
2109 * You can now right-click on folders in your standard file browser
2110   and choose "Open With -> Git Cola"  (Linux-only).
2112 Fixes
2113 -----
2114 * Python 2.6 on Mac OS X Snow Leopard does not provide a namedtuple
2115   at `sys.version_info`.  We now avoid using that variable for better
2116   portability.
2118 * We now read the user's Git configuration from `~/.config/git/config`
2119   if that file is available, otherwise we use the traditional `~/.gitconfig`
2120   path, just like Git itself.
2122 * Some edge cases were fixed when applying partial/selected diffs.
2124 * The diff viewer is now properly cleared when refreshing.
2126   https://github.com/git-cola/git-cola/issues/194
2128 .. _v1.8.3:
2130 git-cola v1.8.3
2131 ===============
2132 Usability, bells and whistles
2133 -----------------------------
2134 * The diff viewer now has an "Options" menu which can be
2135   used to set "git diff" options.  This can be used to
2136   ignore whitespace changes or to show a change with its
2137   surrounding function as context.
2139   https://github.com/git-cola/git-cola/issues/150
2141 * `git cola` now remembers your commit message and will restore it
2142   when `git cola` is restarted.
2144   https://github.com/git-cola/git-cola/pull/175
2146 * `Ctrl+M` can now be used to toggle the "Amend last commit"
2147   checkbox in the commit message editor.
2149   https://github.com/git-cola/git-cola/pull/161
2151 * Deleting remote branches can now be done from the "Branch" menu.
2153   https://github.com/git-cola/git-cola/issues/152
2155 * The commit message editor now has a built-in spell checker.
2157 Fixes
2158 -----
2159 * We now avoid invoking external diffs when showing diffstats.
2161   https://github.com/git-cola/git-cola/pull/163
2163 * The `Status` tool learned to reselect files when refreshing.
2165   https://github.com/git-cola/git-cola/issues/165
2167 * `git cola` now remembers whether it has been maximized and will restore the
2168   maximized state when `git cola` is restarted.
2170   https://github.com/git-cola/git-cola/issues/172
2172 * Performance is now vastly improved when staging hundreds or
2173   thousands of files.
2175 * `git cola` was not correctly saving repo-specific configuration.
2177   https://github.com/git-cola/git-cola/issues/174
2179 * Fix a UnicodeDecode in sphinxtogithub when building from source.
2181 .. _v1.8.2:
2183 git-cola v1.8.2
2184 ===============
2185 Usability, bells and whistles
2186 -----------------------------
2187 * We now automatically remove missing repositories from the
2188   "Select Repository" dialog.
2190   https://github.com/git-cola/git-cola/issues/145
2192 * A new `git cola diff` sub-command was added for diffing changed files.
2194 Fixes
2195 -----
2196 * The inotify auto-refresh feature makes it difficult to select text in
2197   the "diff" editor when files are being continually modified by another
2198   process.  The auto-refresh causes it to lose the currently selected text,
2199   which is not wanted.  We now avoid this problem by saving and restoring
2200   the selection when refreshing the editor.
2202   https://github.com/git-cola/git-cola/issues/155
2204 * More strings have been marked for l10n.
2206   https://github.com/git-cola/git-cola/issues/157
2208 * Fixed the Alt+D Diffstat shortcut.
2210   https://github.com/git-cola/git-cola/issues/159
2212 Fixes
2213 -----
2214 * Better error handling when cloning repositories.
2216   We were not handling the case where a git URL has
2217   no basename, e.g. `https://git.example.com/`.
2218   `git cola` originally rejected these URLs instead of
2219   allowing users to clone them.  It now allows these URLs
2220   when they point to valid git repositories.
2222   Additionally, `git cola` learned to echo the errors
2223   reported by `git clone` when it fails.
2225   https://github.com/git-cola/git-cola/issues/156
2227 .. _v1.8.1:
2229 git-cola v1.8.1
2230 ===============
2231 Usability, bells and whistles
2232 -----------------------------
2233 * `git dag` got a big visual upgrade.
2235 * `Ctrl+G` now launches the "Grep" tool.
2237 * `Ctrl+D` launches difftool and `Ctrl+E` launches your editor
2238   when in the diff panel.
2240 * git-cola can now be told to use an alternative language.
2241   For example, if the native language is German and we want git-cola to
2242   use English then we can create a `~/.config/git-cola/language` file with
2243   "en" as its contents:
2245   $ echo en >~/.config/git-cola/language
2247   https://github.com/git-cola/git-cola/issues/140
2249 * A new `git cola merge` sub-command was added for merging branches.
2251 * Less blocking in the main UI
2253 Fixes
2254 -----
2255 * Autocomplete issues on KDE
2257   https://github.com/git-cola/git-cola/issues/144
2259 * The "recently opened repositories" startup dialog did not
2260   display itself in the absence of bookmarks.
2262   https://github.com/git-cola/git-cola/issues/139
2264 .. _v1.8.0:
2266 git-cola v1.8.0
2267 ===============
2268 Usability, bells and whistles
2269 -----------------------------
2270 * `git cola` learned to honor `.gitattributes` when showing and
2271   interactively applying diffs.  This makes it possible to store
2272   files in git using a non-utf-8 encoding and `git cola` will
2273   properly accept them.  This must be enabled by settings
2274   `cola.fileattributes` to true, as it incurs a small performance
2275   penalty.
2277   https://github.com/git-cola/git-cola/issues/96
2279 * `git cola` now wraps commit messages at 72 columns automatically.
2280   This is configurable using the `cola.linebreak` variable to enable/disable
2281   the feature, and `cola.textwidth` to configure the limit.
2283   https://github.com/git-cola/git-cola/issues/133
2285 * A new "Open Recent" sub-menu was added to the "File" menu.
2286   This makes it easy to open a recently-edited repository.
2288   https://github.com/git-cola/git-cola/issues/135
2290 * We now show a preview for untracked files when they are clicked
2291   using the `Status` tool.
2292 * A new "Open Using Default Application" action was added to the
2293   `Status` tool.  It is activated using either `Spacebar` or through
2294   the context menu.  This action uses `xdg-open` on Linux and
2295   `open` on Mac OS X.
2296 * A new "Open Parent Directory" action was added to the `Status` tool.
2297   It is activated using either `Shift+Spacebar` or through the
2298   context menu.
2299 * `git dag` learned to honor the `log.date` git configuration variable.
2300   This makes the date display follow whatever format the user has
2301   configured.
2302 * A new `git cola config` sub-command was added for quickly
2303   tweaking `git cola`'s git configuration settings.
2304 * Some small usability tweaks -- some user confirmation prompts
2305   were defaulting to "Cancel" when they should have been defaulting
2306   to the affirmative option instead.
2308 Fixes
2309 -----
2310 * Properly handle arbitrarily-named branches.
2311 * We went back to launching `git mergetool` using an xterm.
2312   The reason is that there are a couple of places where `git mergetool`
2313   requires a terminal for user interaction not covered by `--no-prompt`.
2314 * We now properly handle an edge case when applying short diffs at
2315   the start of a file.
2317 .. _v1.7.7:
2319 git-cola v1.7.7
2320 ===============
2321 Usability, bells and whistles
2322 -----------------------------
2323 * New and improved `grep` mode lets you instantly find and edit files.
2324 * New `git cola grep` standalone mode.
2325 * Support for passing arguments to the configured editors, e.g. `gvim -p`
2326   This makes it possible to select multiple files in the status
2327   window and use `Ctrl-e` to edit them all at once.
2328 * Remote operations now prompt on errors only.
2329 * The `Tab` key now jumps to the extended description when editing the summary.
2330 * More shortcut key labels and misc. UX improvements.
2332 Fixes
2333 -----
2334 * Selecting an item no longer copies its filename to the copy/paste buffer.
2335   `Ctrl-c` or the "Copy" context-menu action can be used instead.
2336 * The repository monitoring feature on Windows learned to ignore
2337   changes within the ".git" directory.  Thanks to Andreas Sommer.
2339   https://github.com/git-cola/git-cola/issues/120
2341 .. _v1.7.6:
2343 git-cola v1.7.6
2344 ===============
2345 Usability, bells and whistles
2346 -----------------------------
2347 * `git dag` learned to color-code branchy edges.
2348   The edge colors change when a new branch is detected,
2349   which makes the history much easier to follow.
2350   A huge thanks to Uri Okrent for making it happen.
2352 * New GUI for editing remote repositories.
2354 * New `git cola archive` and `git cola remote` sub-commands.
2356 * `git cola browser` learned an 'Untrack' command.
2358 * The diff editor learned to staged/unstaged while amending.
2360 * The status tool can now scroll horizontally.
2362 * New git repositories can be created by clicking 'New' on the
2363   `git cola --prompt` startup screen.
2365 .. _v1.7.5:
2367 git-cola v1.7.5
2368 ===============
2369 Usability, bells and whistles
2370 -----------------------------
2371 * Auto-completion was added to more tools.
2373 * `git dag` is easier to use on smaller displays -- the author
2374   field elides its text which allows for a more compact display.
2376 * Selected commits in `git dag` were made more prominent and
2377   easier to see.
2379 * 'Create Branch' learned to fetch remote branches and uses a
2380   background thread to do so.
2382 * User-configured GUI tools are listed alphabetically in the 'Actions' menu.
2384 * The 'Pull' dialog remembers the value of the 'Rebase' checkbox
2385   between invocations.
2387 .. _v1.7.4.1:
2389 git-cola v1.7.4.1
2390 =================
2391 Fixes
2392 -----
2393 * Detect Homebrew so that OS X users do not need to set PYTHONPATH.
2395 * `git dag` can export patches again.
2397 .. _v1.7.4:
2399 git-cola v1.7.4
2400 ===============
2401 Usability, bells and whistles
2402 -----------------------------
2403 * The 'Classic' tool was renamed to 'Browser' and learned to
2404   limit history to the current branch.
2406 * `git dag` learned about gravatar and uses it to show images
2407   for commit authors.
2409 * `git dag` learned to use OpenGL for rendering resulting in
2410   much faster rendering.
2412 * More dialogs learned vim-style keyboard shortcuts.
2414 * The commit message editor learned better arrow key navigation.
2416 .. _v1.7.3:
2418 git-cola v1.7.3
2419 ===============
2420 Usability, bells and whistles
2421 -----------------------------
2422 * `git cola` learned a few new sub commands:
2424 .. sourcecode:: sh
2426     git cola dag
2427     git cola branch
2428     git cola search
2430 * `Return` in the summary field jumps to the extended description.
2432 * `Ctrl+Return` is now a shortcut for 'Commit'.
2434 * Better French translation for 'Sign-off'.
2436 * The 'Search' widget now has a much simpler and streamlined
2437   user interface.
2439 * vim-style `h,j,k,l` navigation shortcuts were added to the DAG widget.
2441 * `git dag` no longer prompts for files when diffing commits if the
2442   text field contains paths.
2444 * General user interface and performance improvements.
2446 Fixes
2447 -----
2448 * The diff viewer no longer changes font size when holding `Control`
2449   while scrolling with the mouse wheel.
2451 * Files with a typechange (e.g. symlinks that become files, etc.)
2452   are now correctly identified as being modified.
2454 Packaging
2455 ---------
2456 * The `cola.controllers` and `cola.views` packages were removed.
2458 .. _v1.7.2:
2460 git-cola v1.7.2
2461 ===============
2462 Usability, bells and whistles
2463 -----------------------------
2464 * `git cola` can now launch sub commands, e.g.:
2466 .. sourcecode:: sh
2468     git cola classic
2469     git cola stash
2470     git cola fetch
2471     git cola push
2472     git cola pull
2473     git cola tag
2475 * `git dag` is more responsive when gathering auto-completions.
2477 * Keyboard shortcuts are displayed when the '?' key is pressed.
2479 * Various keyboard shortcuts were added for improved usability.
2481 * The status widget now lists unmerged files before modified files.
2483 * vim-style `h,j,k,l` navigation shortcuts were added to the status widget.
2485 * A 'Recently Modified Files...' tool was added.
2487 * Tools can now be hidden with `Alt + #` (where `#` is a keyboard number)
2488   and focused with `Alt + Shift + #`.
2490 * The syntax highlighting colors for diffs was made less intrusive.
2492 * The commit message editor was redesigned to have a more compact
2493   and keyboard-convenient user interface.
2494   
2495 * Keyboard shortcuts for adding a Signed-off-by (`Ctrl + i`)
2496   and creating a commit (`Ctrl + m`) were added.
2498 * The status widget was adjusted to use less screen real-estate.
2500 Fixes
2501 -----
2502 * Avoid updating the index when responding to inotify events.
2503   This avoids interfering with operations such as `git rebase --interactive`.
2505   https://github.com/git-cola/git-cola/issues/99
2507 Packaging
2508 ---------
2509 * Create `git-dag.pyw` in the win32 installer.
2511 * win32 shortcuts now contain explicit calls to `pythonw.exe` instead of
2512   calling the `.pyw` file directly.
2514 Deprecated Features
2515 -------------------
2516 * The 'Apply Changes from Branch...' feature was removed.
2517   `git dag`'s 'Grab File...' feature used alongside the index/worktree editor
2518   is a simpler alternative.
2520 .. _v1.7.1.1:
2522 git-cola v1.7.1.1
2523 =================
2524 Fixes
2525 -----
2526 * Further enhanced the staging/unstaging behavior in the status widget.
2528   https://github.com/git-cola/git-cola/issues/97
2530 * Unmerged files are no longer listed as modified.
2532 Packaging
2533 ---------
2534 The `cola-$version` tarballs on github were originally setup to
2535 have the same contents as the old tarballs hosted on tuxfamily.
2536 The `make dist` target was changed to write files to a
2537 `git-cola-$version` subdirectory and tarball.
2539 This makes the filenames consistent for the source tarball,
2540 the darwin .app tarball, and the win32 .exe installer.
2542 .. _v1.7.1:
2544 git-cola v1.7.1
2545 ===============
2546 Usability, bells and whistles
2547 -----------------------------
2548 * Refined the staging/unstaging behavior for code reviews.
2550   https://github.com/git-cola/git-cola/issues/97
2552 * Added more styling and icons to menus and buttons.
2554 * Adjusted some terminology to more closely match the git CLI.
2556 Fixes
2557 -----
2558 * Boolean `git config` settings with no value are now supported
2559   (these are not created by git these days but exist in legacy repositories).
2561 * Unicode branches and tags are supported in the "branch diff" tool.
2563 * Guard against low-memory conditions and more interrupted system calls.
2565 Packaging
2566 ---------
2567 * Added desktop launchers for git-cola.desktop and git-dag.desktop.
2568   This replaces the old cola.desktop, so some adjustments to RPM .spec
2569   and debian/ files will be needed.
2571 * Fixed the darwin app-tarball Makefile target to create relative paths.
2573 Cleanup
2574 -------
2575 * The `--style` option was removed.  `git cola` follows the system theme
2576   so there's no need for this option these days.
2578 .. _v1.7.0:
2580 git-cola v1.7.0
2581 ===============
2582 Usability, bells and whistles
2583 -----------------------------
2584 * Export a patch series from `git dag` into a `patches/` directory.
2586 * `git dag` learned to diff commits, slice history along paths, etc.
2588 * Added instant-preview to the `git stash` widget.
2590 * A simpler preferences editor is used to edit `git config` values.
2592   https://github.com/git-cola/git-cola/issues/90
2594   https://github.com/git-cola/git-cola/issues/89
2596 * Previous commit messages can be re-loaded from the message editor.
2598   https://github.com/git-cola/git-cola/issues/33
2600 Fixes
2601 -----
2602 * Display commits with no file changes.
2604   https://github.com/git-cola/git-cola/issues/82
2606 * Improved the diff editor's copy/paste behavior
2608   https://github.com/git-cola/git-cola/issues/90
2610 Packaging
2611 ---------
2612 * Bumped version number to ceil(minimum git version).
2613   `git cola` now requires `git` >= 1.6.3.
2615 * Simplified git-cola's versioning when building from tarballs
2616   outside of git.  We no longer check for a 'version' file at
2617   the root of the repository.  We instead keep a default version
2618   in `cola/version.py` and use it when `git cola`'s `.git` repository
2619   is not available.
2621 .. _v1.4.3.5:
2623 git-cola v1.4.3.5
2624 =================
2625 Usability, bells and whistles
2626 -----------------------------
2627 * inotify is much snappier and available on Windows
2628   thanks to Karl Bielefeldt.
2630 * New right-click command to add untracked files to .gitignore
2631   thanks to Audrius Karabanovas.
2633 * Stash, fetch, push, and pull usability improvements
2635 * General usability improvements
2637 * stderr is logged when applying partial diffs.
2639 Fixes
2640 -----
2641 * Files can be unstaged when amending.
2643   https://github.com/git-cola/git-cola/issues/82
2645 * Show the configured remote.$remote.pushurl in the GUI
2647   https://github.com/git-cola/git-cola/issues/83
2649 * Removed usage of the "user" module.
2651   https://github.com/git-cola/git-cola/issues/86
2653 * Avoids an extra `git update-index` call during startup.
2656 .. _v1.4.3.4:
2658 git-cola v1.4.3.4
2659 =================
2660 Usability, bells and whistles
2661 -----------------------------
2662 * We now provide better feedback when `git push` fails.
2664   https://github.com/git-cola/git-cola/issues/69
2666 * The Fetch, Push, and Pull dialogs now give better feedback
2667   when interacting with remotes.  The dialogs are modal and
2668   a progress dialog is used.
2670 Fixes
2671 -----
2672 * More unicode fixes, again.  It is now possible to have
2673   unicode branch names, repository paths, home directories, etc.
2674   This continued the work initiated by Redhat's bugzilla #694806.
2676   https://bugzilla.redhat.com/show_bug.cgi?id=694806
2678 .. _v1.4.3.3:
2680 git-cola v1.4.3.3
2681 =================
2682 Usability, bells and whistles
2683 -----------------------------
2684 * The `git cola` desktop launchers now prompt for a repo
2685   by default.  This is done by using the new `--prompt`
2686   flag which tells `git cola` to ignore any git repositories
2687   in the current directory and prompt for one instead.
2689 Fixes
2690 -----
2691 * More Unicode fixes for repositories and home directories with
2692   embedded unicode characters.  Thanks to Christian Jann for
2693   patience and helpful bug reports.
2695 * Fix the 'Clone' button in the startup dialog.
2697 .. _v1.4.3.2:
2699 git-cola v1.4.3.2
2700 =================
2701 Usability, bells and whistles
2702 -----------------------------
2703 * Faster startup time! `git cola` now offloads initialization
2704   to a background thread so that the GUI appears almost instantly.
2706 * Specialized diff options for p4merge, vimdiff, araxis, emerge,
2707   and ecmerge in difftool (backported from git.git).
2709 Fixes
2710 -----
2711 * Fix launching commands in the background on Windows
2712   (e.g. when launching `git difftool`).
2714 * Fix unicode errors when home or repository directories contain
2715   unicode characters.
2717   https://github.com/git-cola/git-cola/issues/74
2719   Redhat's bugzilla #694806
2721   https://bugzilla.redhat.com/show_bug.cgi?id=694806
2723 .. _v1.4.3.1:
2725 git-cola v1.4.3.1
2726 =================
2727 Usability, bells and whistles
2728 -----------------------------
2729 * The `cola classic` tool can be now configured to be dockable.
2731   https://github.com/git-cola/git-cola/issues/56
2733 * The `cola classic` tool now uses visual sigils to indicate a file's status.
2734   The idea and icons were provided by Uri Okrent.
2736 * Include the 'Rescan' button in the 'Actions' widget regardless
2737   of whether inotify is installed.
2739 Packaging
2740 ---------
2741 * Fix installation of translations per Fedora
2742   This incorporates Fedora's fix for the translations path
2743   which originally appeared in cola-1.4.3-translations.patch.
2745 * Mac OS X git-cola developers can now generate git-cola.app
2746   application bundles using 'make app-bundle'.
2748 Fixes
2749 -----
2750 * Fixed a stacktrace when trying to use "Get Commit Message Template"
2751   with an unconfigured "commit.template" git config variable.
2753   https://github.com/git-cola/git-cola/issues/72
2755   This bug originated in Redhat's bugzilla #675721 via a Fedora user.
2757   https://bugzilla.redhat.com/show_bug.cgi?id=675721
2759 * Properly raise the main window on Mac OS X.
2761 * Properly handle staging a huge numbers of files at once.
2763 * Speed up 'git config' usage by fixing cola's caching proxy.
2765 * Guard against damaged ~/.cola files.
2767 .. _v1.4.3:
2769 git-cola v1.4.3
2770 ===============
2771 Usability, bells and whistles
2772 -----------------------------
2773 * `git dag` now has a separate display area
2774   for displaying commit metadata.  This area will soon
2775   grow additional functionality such as cherry-picking,
2776   branching, etc.
2778 Fixes
2779 -----
2780 * Fixed tests from a previous refactoring.
2782 * Guard against 'diff.external' configuration by always
2783   calling 'git diff' with the '--no-ext-diff' option.
2785   https://github.com/git-cola/git-cola/issues/67
2787 * Respect 'gui.diffcontext' so that cola's diff display
2788   shows the correct number of context lines.
2790 * Raise the GUI so that it is in the foreground on OS X.
2792 Packaging
2793 ---------
2794 * We now allow distutils to rewrite cola's shebang line.
2795   This allows us to run on systems where "which python"
2796   is Python3k.  This is exposed by setting the `PYTHON`
2797   Makefile variable to the location of python2.x.
2799 * git-cola.app is now a tiny download because it no longer
2800   contains Qt and PyQt.  These libraries are provided as a
2801   separate download.
2803   http://code.google.com/p/git-cola/downloads/list
2805 .. _v1.4.2.5:
2807 git-cola v1.4.2.5
2808 =================
2809 Usability, bells and whistles
2810 -----------------------------
2811 * Clicking on paths in the status widget copies them into the
2812   copy/paste buffer for easy middle-clicking into terminals.
2814 * `Ctrl+C` in diff viewer copies the selected diff to the clipboard.
2816 Fixes
2817 -----
2818 * Fixed the disappearing actions buttons on PyQt 4.7.4
2819   as reported by Arch and Ubuntu 10.10.
2821   https://github.com/git-cola/git-cola/issues/62
2823 * Fixed mouse interaction with the status widget where some
2824   items could not be de-selected.
2826 Packaging
2827 ---------
2828 * Removed hard-coded reference to lib/ when calculating Python's
2829   site-packages directory.
2831 .. _v1.4.2.4:
2833 git-cola v1.4.2.4
2834 =================
2835 Usability, bells and whistles
2836 -----------------------------
2837 * Removed "single-click to (un)stage" in the status view.
2838   This is a usability improvement since we no longer perform
2839   different actions depending on where a row is clicked.
2841 * Added ability to create unsigned, annotated tags.
2843 Fixes
2844 -----
2845 * Updated documentation to use `cola.git` instead of `cola.gitcmd`.
2847 .. _v1.4.2.3:
2849 git-cola v1.4.2.3
2850 =================
2851 Usability, bells and whistles
2852 -----------------------------
2853 * Allow un/staging by right-clicking top-level items
2855   https://github.com/git-cola/git-cola/issues/57
2857 * Running 'commit' with no staged changes prompts to allow
2858   staging all files.
2860   https://github.com/git-cola/git-cola/issues/55
2862 * Fetch, Push, and Pull are now available via the menus
2864   https://github.com/git-cola/git-cola/issues/58
2866 Fixes
2867 -----
2868 * Simplified the actions widget to work around a regression
2869   in PyQt4 4.7.4.
2871   https://github.com/git-cola/git-cola/issues/62
2873 .. _v1.4.2.2:
2875 git-cola v1.4.2.2
2876 =================
2877 Usability, bells and whistles
2878 -----------------------------
2879 * `git dag` interaction was made faster.
2881 Fixes
2882 -----
2883 * Added '...' indicators to the buttons for
2884   'Fetch...', 'Push...', 'Pull...', and 'Stash...'.
2886   https://github.com/git-cola/git-cola/issues/51
2888 * Fixed a hang-on-exit bug in the cola-provided
2889   'ssh-askpass' implementation.
2891 .. _v1.4.2.1:
2893 git-cola v1.4.2.1
2894 =================
2895 Usability, bells and whistles
2896 -----------------------------
2897 * Staging and unstaging is faster.
2899   https://github.com/git-cola/git-cola/issues/48
2901 * `git dag` reads history in a background thread.
2903 Portability
2904 -----------
2905 * Added :data:`cola.compat.hashlib` for `Python 2.4` compatibility
2906 * Improved `PyQt 4.1.x` compatibility.
2908 Fixes
2909 -----
2910 * Configured menu actions use ``sh -c`` for Windows portability.
2913 .. _v1.4.2:
2915 git-cola v1.4.2
2916 ===============
2917 Usability, bells and whistles
2918 -----------------------------
2919 * Added support for the configurable ``guitool.<tool>.*``
2920   actions as described in ``git-config(1)``.
2922   https://github.com/git-cola/git-cola/issues/44
2924   http://schacon.github.com/git/git-config.html
2926   This makes it possible to add new actions to `git cola`
2927   by simply editing ``~/.gitconfig``.  This implements the
2928   same guitool support as `git gui`.
2929 * Introduced a stat cache to speed up `git config` and
2930   repository status checks.
2931 * Added Alt-key shortcuts to the main `git cola` interface.
2932 * The `Actions` dock widget switches between a horizontal
2933   and vertical layout when resized.
2934 * We now use ``git diff --submodule`` for submodules
2935   (used when git >= 1.6.6).
2936 * The context menu for modified submodules includes an option
2937   to launch `git cola`.
2939   https://github.com/git-cola/git-cola/issues/17
2941 * Prefer ``$VISUAL`` over ``$EDITOR`` when both are defined.
2942   These are used to set a default editor in lieu of `core.editor`
2943   configuration.
2944 * Force the editor to be ``gvim`` when we see ``vim``.
2945   This prevents us from launching an editor in the (typically
2946   unattached) parent terminal and creating zombie editors
2947   that cannot be easily killed.
2948 * Selections are remembered and restored across updates.
2949   This makes the `partial-staging` workflow easier since the
2950   diff view will show the updated diff after staging.
2951 * Show the path to the current repository in a tooltip
2952   over the commit message editor.
2954   https://github.com/git-cola/git-cola/issues/45
2956 * Log internal ``git`` commands when ``GIT_COLA_TRACE`` is defined.
2958   https://github.com/git-cola/git-cola/issues/39
2960 Fixes
2961 -----
2962 * Improved backwards compatibility for Python 2.4.
2963 * `Review mode` can now review the current branch; it no longer
2964   requires you to checkout the branch into which the reviewed
2965   branch will be merged.
2966 * Guard against `color.ui = always` configuration when using
2967   `git log` by passing ``--no-color``.
2968 * ``yes`` and ``no`` are now supported as valid booleans
2969   by the `git config` parser.
2970 * Better defaults are used for `fetch`, `push`, and `pull`..
2972   https://github.com/git-cola/git-cola/issues/43
2974 Packaging
2975 ---------
2976 * Removed colon (`:`) from the applilcation name on Windows
2978   https://github.com/git-cola/git-cola/issues/41
2980 * Fixed bugs with the Windows installer
2982   https://github.com/git-cola/git-cola/issues/40
2984 * Added a more standard i18n infrastructure.  The install
2985   tree now has the common ``share/locale/$lang/LC_MESSAGES/git-cola.mo``
2986   layout in use by several projects.
2988 * Started trying to accommodate Mac OSX 10.6 (Snow Leopard)
2989   in the ``darwin/`` build scripts but our tester is yet to
2990   report success building a `.app` bundle.
2992 * Replaced use of ``perl`` in Sphinx/documentation Makefile
2993   with more-portable ``sed`` constructs.  Thanks to
2994   Stefan Naewe for discovering the portability issues and
2995   providing msysgit-friendly patches.
2997 .. _v1.4.1.2:
2999 git-cola v1.4.1.2
3000 =================
3001 Usability, bells and whistles
3002 -----------------------------
3003 * It is now possible to checkout from the index as well
3004   as from `HEAD`.  This corresponds to the
3005   `Removed Unstaged Changes` action in the `Repository Status` tool.
3006 * The `remote` dialogs (fetch, push, pull) are now slightly
3007   larger by default.
3008 * Bookmarks can be selected when `git cola` is run outside of a git repository.
3009 * Added more user documentation.  We now include many links to
3010   external git resources.
3011 * Added `git dag` to the available tools.
3012   `git dag` is a node-based DAG history browser.
3013   It doesn't do much yet, but it's been merged so that we can start
3014   building and improving upon it.
3016 Fixes
3017 -----
3018 * Fixed a missing ``import`` when showing `right-click` actions
3019   for unmerged files in the `Repository Status` tool.
3020 * ``git update-index --refresh`` is no longer run every time
3021   ``git cola version`` is run.
3022 * Don't try to watch non-existent directories when using `inotify`.
3023 * Use ``git rev-parse --symbolic-full-name`` plumbing to find
3024   the name of the current branch.
3026 Packaging
3027 ---------
3028 * The ``Makefile`` will now conditionally include a ``config.mak``
3029   file located at the root of the project.  This allows for user
3030   customizations such as changes to the `prefix` variable
3031   to be stored in a file so that custom settings do not need to
3032   be specified every time on the command-line.
3033 * The build scripts no longer require a ``.git`` directory to
3034   generate the ``builtin_version.py`` module.  The release tarballs
3035   now include a ``version`` file at the root of the project which
3036   is used in lieu of having the git repository available.
3037   This allows for ``make clean && make`` to function outside of
3038   a git repository.
3039 * Added maintainer's ``make dist`` target to the ``Makefile``.
3040 * The built-in `simplejson` and `jsonpickle` libraries can be
3041   excluded from ``make install`` by specifying the ``standalone=true``
3042   `make` variable.  For example, ``make standalone=true install``.
3043   This corresponds to the ``--standalone`` option to ``setup.py``.
3046 .. _v1.4.1.1:
3048 git-cola v1.4.1.1
3049 =================
3050 Usability, bells and whistles
3051 -----------------------------
3052 * We now use patience diff by default when it is available via
3053   `git diff --patience`.
3054 * Allow closing the `cola classic` tool with `Ctrl+W`.
3056 Fixes
3057 -----
3058 * Fixed an unbound variable error in the `push` dialog.
3060 Packaging
3061 ---------
3062 * Don't include `simplejson` in MANIFEST.in.
3063 * Update desktop entry to read `Cola Git GUI`.
3066 .. _v1.4.1:
3068 git-cola v1.4.1
3069 ===============
3070 This feature release adds two new features directly from
3071 `git cola`'s github issues backlog.  On the developer
3072 front, further work was done towards modularizing the code base.
3074 Usability, bells and whistles
3075 -----------------------------
3076 * Dragging and dropping patches invokes `git am`
3078   https://github.com/git-cola/git-cola/issues/3
3080 * A dialog to allow opening or cloning a repository
3081   is presented when `git cola` is launched outside of a git repository.
3083   https://github.com/git-cola/git-cola/issues/22
3085 * Warn when `push` is used to create a new branch
3087   https://github.com/git-cola/git-cola/issues/35
3089 * Optimized startup time by removing several calls to `git`.
3092 Portability
3093 -----------
3094 * `git cola` is once again compatible with PyQt 4.3.x.
3096 Developer
3097 ---------
3098 * `cola.gitcmds` was added to factor out git command-line utilities
3099 * `cola.gitcfg` was added for interacting with `git config`
3100 * `cola.models.browser` was added to factor out repobrowser data
3101 * Added more tests
3104 .. _v1.4.0.5:
3106 git-cola v1.4.0.5
3107 =================
3108 Fixes
3109 -----
3110 * Fix launching external applications on Windows
3111 * Ensure that the `amend` checkbox is unchecked when switching modes
3112 * Update the status tree when amending commits
3115 .. _v1.4.0.4:
3117 git-cola v1.4.0.4
3118 =================
3119 Packaging
3120 ---------
3121 * Fix Lintian warnings
3124 .. _v1.4.0.3:
3126 git-cola v1.4.0.3
3127 =================
3128 Fixes
3129 -----
3130 * Fix X11 warnings on application startup
3133 .. _v1.4.0.2:
3135 git-cola v1.4.0.2
3136 =================
3137 Fixes
3138 -----
3139 * Added missing 'Exit Diff Mode' button for 'Diff Expression' mode
3141   https://github.com/git-cola/git-cola/issues/31
3143 * Fix a bug when initializing fonts on Windows
3145   https://github.com/git-cola/git-cola/issues/32
3148 .. _v1.4.0.1:
3150 git-cola v1.4.0.1
3151 =================
3152 Fixes
3153 -----
3154 * Keep entries in sorted order in the `cola classic` tool
3155 * Fix staging untracked files
3157   https://github.com/git-cola/git-cola/issues/27
3159 * Fix the `show` command in the Stash dialog
3161   https://github.com/git-cola/git-cola/issues/29
3163 * Fix a typo when loading merge commit messages
3165   https://github.com/git-cola/git-cola/issues/30
3168 .. _v1.4.0:
3170 git-cola v1.4.0
3171 ===============
3172 This release focuses on a redesign of the git-cola user interface,
3173 a tags interface, and better integration of the `cola classic` tool.
3174 A flexible interface based on configurable docks is used to manage the
3175 various cola widgets.
3177 Usability, bells and whistles
3178 -----------------------------
3179 * New GUI is flexible and user-configurable
3180 * Individual widgets can be detached and rearranged arbitrarily
3181 * Add an interface for creating tags
3182 * Provide a fallback `SSH_ASKPASS` implementation to prompt for
3183   SSH passwords on fetch/push/pull
3184 * The commit message editor displays the current row/column and
3185   warns when lines get too long
3186 * The `cola classic` tool displays upstream changes
3187 * `git cola --classic` launches `cola classic` in standalone mode
3188 * Provide more information in log messages
3190 Fixes
3191 -----
3192 * Inherit the window manager's font settings
3193 * Miscellaneous PyQt4 bug fixes and workarounds
3195 Developer
3196 ---------
3197 * Removed all usage of Qt Designer `.ui` files
3198 * Simpler model/view architecture
3199 * Selection is now shared across tools
3200 * Centralized notifications are used to keep views in sync
3201 * The `cola.git` command class was made thread-safe
3202 * Less coupling between model and view actions
3203 * The status view was rewritten to use the MVC architecture
3204 * Added more documentation and tests
3207 .. _v1.3.9:
3209 git-cola v1.3.9
3210 ===============
3211 Usability, bells and whistles
3212 -----------------------------
3213 * Added a `cola classic` tool for browsing the entire repository
3214 * Handle diff expressions with spaces
3215 * Handle renamed files
3217 Portability
3218 -----------
3219 * Handle carat `^` characters in diff expressions on Windows
3220 * Worked around a PyQt 4.5/4.6 QThreadPool bug
3222 Documentation
3223 -------------
3224 * Added a keyboard shortcuts reference page
3225 * Added developer API documentation
3227 Fixes
3228 -----
3229 * Fix the diff expression used when reviewing branches
3230 * Fix a bug when pushing branches
3231 * Fix X11 warnings at startup
3232 * Fix more interrupted system calls on Mac OS X
3235 .. _v1.3.8:
3237 git-cola v1.3.8
3238 ===============
3239 Usability, bells and whistles
3240 -----------------------------
3241 * Fresh and tasty SVG logos
3242 * Added `Branch Review` mode for reviewing topic branches
3243 * Added diff modes for diffing between tags, branches,
3244   or arbitrary `git diff` expressions
3245 * The push dialog selects the current branch by default.
3246   This is in preparation for `git 1.7.0` where unconfigured `git push`
3247   will refuse to push when run without specifying the remote name
3248   and branch.  See the `git` release notes for more information
3249 * Support `open` and `clone` commands on Windows
3250 * Allow saving cola UI layouts
3251 * Re-enabled `double-click-to-stage` for unmerged entries.
3252   Disabling it for unmerged items was inconsistent, though safer.
3253 * Show diffs when navigating the status tree with the keyboard
3255 Packaging
3256 ---------
3257 * Worked around `pyuic4` bugs in the `setup.py` build script
3258 * Added Mac OSX application bundles to the download page
3261 .. _v1.3.7:
3263 git-cola v1.3.7
3264 ===============
3265 Subsystems
3266 ----------
3267 * `git difftool` became an official git command in `git 1.6.3`.
3268 * `git difftool` learned `--no-prompt` / `-y` and a corresponding
3269   `difftool.prompt` configuration variable
3271 Usability, bells and whistles
3272 -----------------------------
3273 * Warn when `non-fast-forward` is used with fetch, push or pull
3274 * Allow `Ctrl+C` to exit cola when run from the command line
3276 Fixes
3277 -----
3278 * Support Unicode font names
3279 * Handle interrupted system calls
3281 Developer
3282 ---------
3283 * `PEP-8`-ified more of the cola code base
3284 * Added more tests
3286 Packaging
3287 ---------
3288 * All resources are now installed into `$prefix/share/git-cola`.
3289   Closed Debian bug #519972
3291   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519972
3294 .. _v1.3.6:
3296 git-cola v1.3.6
3297 ===============
3298 Subsystems
3299 ----------
3300 * Added support for Kompare in `git difftool`
3301 * Added a separate configuration namespace for `git difftool`
3302 * Added the `diff.tool` configuration variable to define the default diff tool
3304 Usability, bells and whistles
3305 -----------------------------
3306 * The stash dialog allows passing the `--keep-index` option to `git stash`
3307 * Amending a published commit warns at commit time
3308 * Simplified the file-across-revisions comparison dialog
3309 * `origin` is selected by default in fetch/push/pull
3310 * Removed the search field from the log widget
3311 * The log window moved into a drawer widget at the bottom of the UI
3312 * Log window display can be configured with
3313   `cola.showoutput` = `{never, always, errors}`.  `errors` is the default.
3314 * `NOTE` -- `cola.showoutput` was removed with the GUI rewrite in 1.4.0.
3316 Developer
3317 ---------
3318 * Improved nose unittest usage
3320 Packaging
3321 ---------
3322 * Added a Windows/msysGit installer
3323 * Included private versions of `simplejson` and `jsonpickle`
3324   for ease of installation and development