1 .. |beta(TM)| unicode:: beta U+2122
5 Usability, bells and whistles
6 -----------------------------
7 * The `cola classic` tool can be now configured to be dockable.
9 http://github.com/davvid/git-cola/issues/closed#issue/56
11 * The `cola classic` tool now uses visual sigils to indicate a file's status.
12 The idea and icons were provided by Uri Okrent.
14 * Include the 'Rescan' button in the 'Actions' widget regardless
15 of whether inotify is installed.
19 * Fix installation of translations per Fedora
20 This incorporates Fedora's fix for the translations path
21 which originally appeared in cola-1.4.3-translations.patch.
23 * Mac OS X git-cola developers can now generate git-cola.app
24 application bundles using 'make app-bundle'.
28 * Fixed a stacktrace when trying to use "Get Commit Message Template"
29 with an unconfigured "commit.template" git config variable.
31 http://github.com/davvid/git-cola/issues/closed#issue/72
33 This bug originated in Redhat's bugzilla #675721 via a Fedora user.
35 https://bugzilla.redhat.com/show_bug.cgi?id=675721
37 * Properly raise the main window on Mac OS X.
39 * Properly handle staging a huge numbers of files at once.
41 * Speed up 'git config' usage by fixing cola's caching proxy.
43 * Guard against damaged ~/.cola files.
47 Usability, bells and whistles
48 -----------------------------
49 * `git-dag` |beta(TM)| now has a separate display area
50 for displaying commit metadata. This area will soon
51 grow additional functionality such as cherry-picking,
56 * Fixed tests from a previous refactoring.
58 * Guard against 'diff.external' configuration by always
59 calling 'git diff' with the '--no-ext-diff' option.
61 http://github.com/davvid/git-cola/issues/closed#issue/67
63 * Respect 'gui.diffcontext' so that cola's diff display
64 shows the correct number of context lines.
66 * Raise the GUI so that it is in the foreground on OS X.
70 * We now allow distutils to rewrite cola's shebang line.
71 This allows us to run on systems where "which python"
72 is Python3k. This is exposed by setting the `PYTHON`
73 Makefile variable to the location of python2.x.
75 * git-cola.app is now a tiny download because it no longer
76 contains Qt and PyQt. These libraries are provided as a
79 http://code.google.com/p/git-cola/downloads/list
83 Usability, bells and whistles
84 -----------------------------
85 * Clicking on paths in the status widget copies them into the
86 copy/paste buffer for easy middle-clicking into terminals.
88 * Ctrl+C in diff viewer copies the selected diff to the clipboard.
92 * Fixed the disappearing actions buttons on PyQt 4.7.4
93 as reported by Arch and Ubuntu 10.10.
95 http://github.com/davvid/git-cola/issues/closed#issue/62
97 * Fixed mouse interaction with the status widget where some
98 items could not be de-selected.
102 * Removed hard-coded reference to lib/ when calculating Python's
103 site-packages directory.
107 Usability, bells and whistles
108 -----------------------------
109 * Removed "single-click to (un)stage" in the status view.
110 This is a usability improvement since we no longer perform
111 different actions depending on where a row is clicked.
113 * Added ability to create unsigned, annotated tags.
117 * Updated documentation to use `cola.git` instead of `cola.gitcmd`.
121 Usability, bells and whistles
122 -----------------------------
123 * Allow un/staging by right-clicking top-level items
125 http://github.com/davvid/git-cola/issues/closed#issue/57
127 * Running 'commit' with no staged changes prompts to allow
130 http://github.com/davvid/git-cola/issues/closed#issue/55
132 * Fetch, Push, and Pull are now available via the menus
134 http://github.com/davvid/git-cola/issues/closed#issue/58
138 * Simplified the actions widget to work around a regression
141 http://github.com/davvid/git-cola/issues/closed#issue/62
145 Usability, bells and whistles
146 -----------------------------
147 * `git-dag` |beta(TM)| interaction was made faster.
151 * Added '...' indicators to the buttons for
152 'Fetch...', 'Push...', 'Pull...', and 'Stash...'.
154 http://github.com/davvid/git-cola/issues/closed#issue/51
156 * Fixed a hang-on-exit bug in the cola-provided
157 'ssh-askpass' implementation.
161 Usability, bells and whistles
162 -----------------------------
163 * Staging and unstaging is faster.
165 http://github.com/davvid/git-cola/issues/closed#issue/48
167 * `git-dag` |beta(TM)| reads history in a background thread.
171 * Added :data:`cola.compat.hashlib` for `Python 2.4` compatibility
172 * Improved `PyQt 4.1.x` compatibility.
176 * Configured menu actions use ``sh -c`` for Windows portability.
182 Usability, bells and whistles
183 -----------------------------
184 * Added support for the configurable ``guitool.<tool>.*``
185 actions as described in ``git-config(1)``.
187 http://github.com/davvid/git-cola/issues/closed#issue/44
189 http://www.kernel.org/pub/software/scm/git/docs/git-config.html
191 This makes it possible to add new actions to `git-cola`
192 by simply editing ``~/.gitconfig``. This implements the
193 same guitool support as `git-gui`.
194 * Introduced a stat cache to speed up `git-config` and
195 repository status checks.
196 * Added Alt-key shortcuts to the main `git-cola` interface.
197 * The `Actions` dock widget switches between a horizontal
198 and vertical layout when resized.
199 * We now use ``git diff --submodule`` for submodules
200 (used when git >= 1.6.6).
201 * The context menu for modified submodules includes an option
202 to launch `git-cola`.
204 http://github.com/davvid/git-cola/issues/closed#issue/17
206 * Prefer ``$VISUAL`` over ``$EDITOR`` when both are defined.
207 These are used to set a default editor in lieu of `core.editor`
209 * Force the editor to be ``gvim`` when we see ``vim``.
210 This prevents us from launching an editor in the (typically
211 unattached) parent terminal and creating zombie editors
212 that cannot be easily killed.
213 * Selections are remembered and restored across updates.
214 This makes the `partial-staging` workflow easier since the
215 diff view will show the updated diff after staging.
216 * Show the path to the current repository in a tooltip
217 over the commit message editor.
219 http://github.com/davvid/git-cola/issues/closed#issue/45
221 * Log internal ``git`` commands when ``GIT_COLA_TRACE`` is defined.
223 http://github.com/davvid/git-cola/issues/closed#issue/39
227 * Improved backwards compatibility for Python 2.4.
228 * `Review mode` can now review the current branch; it no longer
229 requires you to checkout the branch into which the reviewed
230 branch will be merged.
231 * Guard against `color.ui = always` configuration when using
232 `git-log` by passing ``--no-color``.
233 * ``yes`` and ``no`` are now supported as valid booleans
234 by the `git-config` parser.
235 * Better defaults are used for `fetch`, `push`, and `pull`..
237 http://github.com/davvid/git-cola/issues/closed#issue/43
241 * Removed colon (`:`) from the applilcation name on Windows
243 http://github.com/davvid/git-cola/issues/closed#issue/41
245 * Fixed bugs with the Windows installer
247 http://github.com/davvid/git-cola/issues/closed#issue/40
249 * Added a more standard i18n infrastructure. The install
250 tree now has the common ``share/locale/$lang/LC_MESSAGES/git-cola.mo``
251 layout in use by several projects.
253 * Started trying to accomodate Mac OSX 10.6 (Snow Leopard)
254 in the ``darwin/`` build scripts but our tester is yet to
255 report success building a `.app` bundle.
257 * Replaced use of ``perl`` in Sphinx/documentation Makefile
258 with more-portable ``sed`` constructs. Thanks to
259 Stefan Naewe for discovering the portability issues and
260 providing msysgit-friendly patches.
265 Usability, bells and whistles
266 -----------------------------
267 * It is now possible to checkout from the index as well
268 as from `HEAD`. This corresponds to the
269 `Removed Unstaged Changes` action in the `Repository Status` tool.
270 * The `remote` dialogs (fetch, push, pull) are now slightly
272 * Bookmarks can be selected when `git-cola` is run outside of a git repository.
273 * Added more user documentation. We now include many links to
274 external git resources.
275 * Added `git-dag Beta` to the available tools.
276 `git-dag` is a node-based DAG history browser.
277 It doesn't do much yet, but it's been merged so that we can start
278 building and improving upon it.
282 * Fixed a missing ``import`` when showing `right-click` actions
283 for unmerged files in the `Repository Status` tool.
284 * ``git update-index --refresh`` is no longer run everytime
285 ``git cola version`` is run.
286 * Don't try to watch non-existant directories when using `inotify`.
287 * Use ``git rev-parse --symbolic-full-name`` plumbing to find
288 the name of the current branch.
292 * The ``Makefile`` will now conditionally include a ``config.mak``
293 file located at the root of the project. This allows for user
294 customizations such as changes to the `prefix` variable
295 to be stored in a file so that custom settings do not need to
296 be specified every time on the command-line.
297 * The build scripts no longer require a ``.git`` directory to
298 generate the ``builtin_version.py`` module. The release tarballs
299 now include a ``version`` file at the root of the project which
300 is used in lieu of having the git repository available.
301 This allows for ``make clean && make`` to function outside of
303 * Added maintainer's ``make dist`` target to the ``Makefile``.
304 * The built-in `simplejson` and `jsonpickle` libraries can be
305 excluded from ``make install`` by specifying the ``standalone=true``
306 `make` variable. For example, ``make standalone=true install``.
307 This corresponds to the ``--standalone`` option to ``setup.py``.
313 Usability, bells and whistles
314 -----------------------------
315 * We now use patience diff by default when it is available via
316 `git diff --patience`.
317 * Allow closing the `cola classic` tool with `Ctrl+W`.
321 * Fixed an unbound variable error in the `push` dialog.
325 * Don't include `simplejson` in MANIFEST.in.
326 * Update desktop entry to read `Cola Git GUI`.
332 This feature release adds two new features directly from
333 `git-cola`'s github issues backlog. On the developer
334 front, further work was done towards modularizing the code base.
336 Usability, bells and whistles
337 -----------------------------
338 * Dragging and dropping patches invokes `git-am`
340 http://github.com/davvid/git-cola/issues/closed#issue/3
342 * A dialog to allow opening or cloning a repository
343 is presented when `git-cola` is launched outside of a git repository.
345 http://github.com/davvid/git-cola/issues/closed/#issue/22
347 * Warn when `push` is used to create a new branch
349 http://github.com/davvid/git-cola/issues/closed#issue/35
351 * Optimized startup time by removing several calls to `git`.
356 * `git-cola` is once again compatible with PyQt 4.3.x.
360 * `cola.gitcmds` was added to factor out git command-line utilities
361 * `cola.gitcfg` was added for interacting with `git-config`
362 * `cola.models.browser` was added to factor out repobrowser data
371 * Fix launching external applications on Windows
372 * Ensure that the `amend` checkbox is unchecked when switching modes
373 * Update the status tree when amending commits
381 * Fix Lintian warnings
389 * Fix X11 warnings on application startup
397 * Added missing 'Exit Diff Mode' button for 'Diff Expression' mode
399 http://github.com/davvid/git-cola/issues/closed/#issue/31
401 * Fix a bug when initializing fonts on Windows
403 http://github.com/davvid/git-cola/issues/closed/#issue/32
411 * Keep entries in sorted order in the `cola classic` tool
412 * Fix staging untracked files
414 http://github.com/davvid/git-cola/issues/closed/#issue/27
416 * Fix the `show` command in the Stash dialog
418 http://github.com/davvid/git-cola/issues/closed/#issue/29
420 * Fix a typo when loading merge commit messages
422 http://github.com/davvid/git-cola/issues/closed/#issue/30
428 This release focuses on a redesign of the git-cola user interface,
429 a tags interface, and better integration of the `cola classic` tool.
430 A flexible interface based on configurable docks is used to manage the
431 various cola widgets.
433 Usability, bells and whistles
434 -----------------------------
435 * New GUI is flexible and user-configurable
436 * Individual widgets can be detached and rearranged arbitrarily
437 * Add an interface for creating tags
438 * Provide a fallback `SSH_ASKPASS` implementation to prompt for
439 SSH passwords on fetch/push/pull
440 * The commit message editor displays the current row/column and
441 warns when lines get too long
442 * The `cola classic` tool displays upstream changes
443 * `git cola --classic` launches `cola classic` in standalone mode
444 * Provide more information in log messages
448 * Inherit the window manager's font settings
449 * Miscellaneous PyQt4 bug fixes and workarounds
453 * Removed all usage of Qt Designer `.ui` files
454 * Simpler model/view architecture
455 * Selection is now shared across tools
456 * Centralized notifications are used to keep views in sync
457 * The `cola.git` command class was made thread-safe
458 * Less coupling between model and view actions
459 * The status view was rewritten to use the MVC architecture
460 * Added more documentation and tests
466 Usability, bells and whistles
467 -----------------------------
468 * Added a `cola classic` tool for browsing the entire repository
469 * Handle diff expressions with spaces
470 * Handle renamed files
474 * Handle carat `^` characters in diff expressions on Windows
475 * Worked around a PyQt 4.5/4.6 QThreadPool bug
479 * Added a keyboard shortcuts reference page
480 * Added developer API documentation
484 * Fix the diff expression used when reviewing branches
485 * Fix a bug when pushing branches
486 * Fix X11 warnings at startup
487 * Fix more interrupted system calls on Mac OS X
493 Usability, bells and whistles
494 -----------------------------
495 * Fresh and tasty SVG logos
496 * Added `Branch Review` mode for reviewing topic branches
497 * Added diff modes for diffing between tags, branches,
498 or arbitrary `git diff` expressions
499 * The push dialog selects the current branch by default.
500 This is in preparation for `git-1.7.0` where unconfigured `git push`
501 will refuse to push when run without specifying the remote name
502 and branch. See the `git` release notes for more information
503 * Support `open` and `clone` commands on Windows
504 * Allow saving cola UI layouts
505 * Re-enabled `double-click-to-stage` for unmerged entries.
506 Disabling it for unmerged items was inconsistent, though safer.
507 * Show diffs when navigating the status tree with the keyboard
511 * Worked around `pyuic4` bugs in the `setup.py` build script
512 * Added Mac OSX application bundles to the download page
520 * `git-difftool` became an official git command in `git-1.6.3`.
521 * `git-difftool` learned `--no-prompt` / `-y` and a corresponding
522 `difftool.prompt` configuration variable
524 Usability, bells and whistles
525 -----------------------------
526 * Warn when `non-fast-forward` is used with fetch, push or pull
527 * Allow `Ctrl+C` to exit cola when run from the command line
531 * Support Unicode font names
532 * Handle interrupted system calls
536 * `PEP-8`-ified more of the cola code base
541 * All resources are now installed into `$prefix/share/git-cola`.
542 Closed Debian bug #519972
544 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519972
552 * Added support for Kompare in `git-difftool`
553 * Added a separate configuration namespace for `git-difftool`
554 * Added the `diff.tool` configuration variable to define the default diff tool
556 Usability, bells and whistles
557 -----------------------------
558 * The stash dialog allows passing the `--keep-index` option to `git stash`
559 * Amending a published commit warns at commit time
560 * Simplified the file-across-revisions comparison dialog
561 * `origin` is selected by default in fetch/push/pull
562 * Removed the search field from the log widget
563 * The log window moved into a drawer widget at the bottom of the UI
564 * Log window display can be configured with
565 `cola.showoutput` = `{never, always, errors}`. `errors` is the default.
566 * `NOTE` -- `cola.showoutput` was removed with the GUI rewrite in 1.4.0.
570 * Improved nose unittest usage
574 * Added a Windows/msysGit installer
575 * Included private versions of `simplejson` and `jsonpickle`
576 for ease of installation and development