doc: Add 1.4.3.1 release notes
[git-cola.git] / share / doc / git-cola / relnotes.rst
blob756e1cde87d8283ccbd59f7c6b9f22c27ec3b7f8
1 .. |beta(TM)| unicode:: beta U+2122
3 git-cola v1.4.3.1
4 =================
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.
17 Packaging
18 ---------
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'.
26 Fixes
27 -----
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.
45 git-cola v1.4.3
46 ===============
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,
52   branching, etc.
54 Fixes
55 -----
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.
68 Packaging
69 ---------
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
77   separate download.
79   http://code.google.com/p/git-cola/downloads/list
81 git-cola v1.4.2.5
82 =================
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.
90 Fixes
91 -----
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.
100 Packaging
101 ---------
102 * Removed hard-coded reference to lib/ when calculating Python's
103   site-packages directory.
105 git-cola v1.4.2.4
106 =================
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.
115 Fixes
116 -----
117 * Updated documentation to use `cola.git` instead of `cola.gitcmd`.
119 git-cola v1.4.2.3
120 =================
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
128   staging all files.
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
136 Fixes
137 -----
138 * Simplified the actions widget to work around a regression
139   in PyQt4 4.7.4.
141   http://github.com/davvid/git-cola/issues/closed#issue/62
143 git-cola v1.4.2.2
144 =================
145 Usability, bells and whistles
146 -----------------------------
147 * `git-dag` |beta(TM)| interaction was made faster.
149 Fixes
150 -----
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.
159 git-cola v1.4.2.1
160 =================
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.
169 Portability
170 -----------
171 * Added :data:`cola.compat.hashlib` for `Python 2.4` compatibility
172 * Improved `PyQt 4.1.x` compatibility.
174 Fixes
175 -----
176 * Configured menu actions use ``sh -c`` for Windows portability.
179 git-cola v1.4.2
180 ===============
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`
208   configuration.
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
225 Fixes
226 -----
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
239 Packaging
240 ---------
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.
262 git-cola v1.4.1.2
263 =================
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
271   larger by default.
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.
280 Fixes
281 -----
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.
290 Packaging
291 ---------
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
302   a git repository.
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``.
310 git-cola v1.4.1.1
311 =================
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`.
319 Fixes
320 -----
321 * Fixed an unbound variable error in the `push` dialog.
323 Packaging
324 ---------
325 * Don't include `simplejson` in MANIFEST.in.
326 * Update desktop entry to read `Cola Git GUI`.
329 git-cola v1.4.1
330 ===============
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`.
354 Portability
355 -----------
356 * `git-cola` is once again compatible with PyQt 4.3.x.
358 Developer
359 ---------
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
363 * Added more tests
366 git-cola v1.4.0.5
367 =================
369 Fixes
370 -----
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
376 git-cola v1.4.0.4
377 =================
379 Packaging
380 ---------
381 * Fix Lintian warnings
384 git-cola v1.4.0.3
385 =================
387 Fixes
388 -----
389 * Fix X11 warnings on application startup
392 git-cola v1.4.0.2
393 =================
395 Fixes
396 -----
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
406 git-cola v1.4.0.1
407 =================
409 Fixes
410 -----
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
425 git-cola v1.4.0
426 ===============
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
446 Fixes
447 -----
448 * Inherit the window manager's font settings
449 * Miscellaneous PyQt4 bug fixes and workarounds
451 Developer
452 ---------
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
463 git-cola v1.3.9
464 ===============
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
472 Portability
473 -----------
474 * Handle carat `^` characters in diff expressions on Windows
475 * Worked around a PyQt 4.5/4.6 QThreadPool bug
477 Documentation
478 -------------
479 * Added a keyboard shortcuts reference page
480 * Added developer API documentation
482 Fixes
483 -----
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
490 git-cola v1.3.8
491 ===============
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
509 Packaging
510 ---------
511 * Worked around `pyuic4` bugs in the `setup.py` build script
512 * Added Mac OSX application bundles to the download page
515 git-cola v1.3.7
516 ===============
518 Subsystems
519 ----------
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
529 Fixes
530 -----
531 * Support Unicode font names
532 * Handle interrupted system calls
534 Developer
535 ---------
536 * `PEP-8`-ified more of the cola code base
537 * Added more tests
539 Packaging
540 ---------
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
547 git-cola v1.3.6
548 ===============
550 Subsystems
551 ----------
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.
568 Developer
569 ---------
570 * Improved nose unittest usage
572 Packaging
573 ---------
574 * Added a Windows/msysGit installer
575 * Included private versions of `simplejson` and `jsonpickle`
576   for ease of installation and development