doc: Add initial 1.4.2.5 release notes
[git-cola.git] / share / doc / git-cola / relnotes.rst
blob9520ce4190d10e16080de8f904e9020d06548642
1 .. |beta(TM)| unicode:: beta U+2122
3 git-cola v1.4.2.5
4 =================
5 Usability, bells and whistles
6 -----------------------------
7 * Clicking on paths in the status widget copies them into the
8   copy/paste buffer for easy middle-clicking into terminals.
10 * Ctrl+C in diff viewer copies the selected diff to the clipboard.
12 Fixes
13 -----
14 * Fixed the disappearing actions buttons on PyQt 4.7.4
15   as reported by Arch and Ubuntu 10.10.
17   http://github.com/davvid/git-cola/issues/closed#issue/62
19 * Fixed mouse interaction with the status widget where some
20   items could not be de-selected.
22 git-cola v1.4.2.4
23 =================
24 Usability, bells and whistles
25 -----------------------------
26 * Removed "single-click to (un)stage" in the status view.
27   This is a usability improvement since we no longer perform
28   different actions depending on where a row is clicked.
30 * Added ability to create unsigned, annotated tags.
32 Fixes
33 -----
34 * Updated documentation to use `cola.git` instead of `cola.gitcmd`.
36 git-cola v1.4.2.3
37 =================
38 Usability, bells and whistles
39 -----------------------------
40 * Allow un/staging by right-clicking top-level items
42   http://github.com/davvid/git-cola/issues/closed#issue/57
44 * Running 'commit' with no staged changes prompts to allow
45   staging all files.
47   http://github.com/davvid/git-cola/issues/closed#issue/55
49 * Fetch, Push, and Pull are now available via the menus
51   http://github.com/davvid/git-cola/issues/closed#issue/58
53 Fixes
54 -----
55 * Simplified the actions widget to work around a regression
56   in PyQt4 4.7.4.
58   http://github.com/davvid/git-cola/issues/closed#issue/62
60 git-cola v1.4.2.2
61 =================
62 Usability, bells and whistles
63 -----------------------------
64 * `git-dag` |beta(TM)| interaction was made faster.
66 Fixes
67 -----
68 * Added '...' indicators to the buttons for
69   'Fetch...', 'Push...', 'Pull...', and 'Stash...'.
71   http://github.com/davvid/git-cola/issues/closed#issue/51
73 * Fixed a hang-on-exit bug in the cola-provided
74   'ssh-askpass' implementation.
76 git-cola v1.4.2.1
77 =================
78 Usability, bells and whistles
79 -----------------------------
80 * Staging and unstaging is faster.
82   http://github.com/davvid/git-cola/issues/closed#issue/48
84 * `git-dag` |beta(TM)| reads history in a background thread.
86 Portability
87 -----------
88 * Added :data:`cola.compat.hashlib` for `Python 2.4` compatibility
89 * Improved `PyQt 4.1.x` compatibility.
91 Fixes
92 -----
93 * Configured menu actions use ``sh -c`` for Windows portability.
96 git-cola v1.4.2
97 ===============
99 Usability, bells and whistles
100 -----------------------------
101 * Added support for the configurable ``guitool.<tool>.*``
102   actions as described in ``git-config(1)``.
104   http://github.com/davvid/git-cola/issues/closed#issue/44
106   http://www.kernel.org/pub/software/scm/git/docs/git-config.html
108   This makes it possible to add new actions to `git-cola`
109   by simply editing ``~/.gitconfig``.  This implements the
110   same guitool support as `git-gui`.
111 * Introduced a stat cache to speed up `git-config` and
112   repository status checks.
113 * Added Alt-key shortcuts to the main `git-cola` interface.
114 * The `Actions` dock widget switches between a horizontal
115   and vertical layout when resized.
116 * We now use ``git diff --submodule`` for submodules
117   (used when git >= 1.6.6).
118 * The context menu for modified submodules includes an option
119   to launch `git-cola`.
121   http://github.com/davvid/git-cola/issues/closed#issue/17
123 * Prefer ``$VISUAL`` over ``$EDITOR`` when both are defined.
124   These are used to set a default editor in lieu of `core.editor`
125   configuration.
126 * Force the editor to be ``gvim`` when we see ``vim``.
127   This prevents us from launching an editor in the (typically
128   unattached) parent terminal and creating zombie editors
129   that cannot be easily killed.
130 * Selections are remembered and restored across updates.
131   This makes the `partial-staging` workflow easier since the
132   diff view will show the updated diff after staging.
133 * Show the path to the current repository in a tooltip
134   over the commit message editor.
136   http://github.com/davvid/git-cola/issues/closed#issue/45
138 * Log internal ``git`` commands when ``GIT_COLA_TRACE`` is defined.
140   http://github.com/davvid/git-cola/issues/closed#issue/39
142 Fixes
143 -----
144 * Improved backwards compatibility for Python 2.4.
145 * `Review mode` can now review the current branch; it no longer
146   requires you to checkout the branch into which the reviewed
147   branch will be merged.
148 * Guard against `color.ui = always` configuration when using
149   `git-log` by passing ``--no-color``.
150 * ``yes`` and ``no`` are now supported as valid booleans
151   by the `git-config` parser.
152 * Better defaults are used for `fetch`, `push`, and `pull`..
154   http://github.com/davvid/git-cola/issues/closed#issue/43
156 Packaging
157 ---------
158 * Removed colon (`:`) from the applilcation name on Windows
160   http://github.com/davvid/git-cola/issues/closed#issue/41
162 * Fixed bugs with the Windows installer
164   http://github.com/davvid/git-cola/issues/closed#issue/40
166 * Added a more standard i18n infrastructure.  The install
167   tree now has the common ``share/locale/$lang/LC_MESSAGES/git-cola.mo``
168   layout in use by several projects.
170 * Started trying to accomodate Mac OSX 10.6 (Snow Leopard)
171   in the ``darwin/`` build scripts but our tester is yet to
172   report success building a `.app` bundle.
174 * Replaced use of ``perl`` in Sphinx/documentation Makefile
175   with more-portable ``sed`` constructs.  Thanks to
176   Stefan Naewe for discovering the portability issues and
177   providing msysgit-friendly patches.
179 git-cola v1.4.1.2
180 =================
182 Usability, bells and whistles
183 -----------------------------
184 * It is now possible to checkout from the index as well
185   as from `HEAD`.  This corresponds to the
186   `Removed Unstaged Changes` action in the `Repository Status` tool.
187 * The `remote` dialogs (fetch, push, pull) are now slightly
188   larger by default.
189 * Bookmarks can be selected when `git-cola` is run outside of a git repository.
190 * Added more user documentation.  We now include many links to
191   external git resources.
192 * Added `git-dag Beta` to the available tools.
193   `git-dag` is a node-based DAG history browser.
194   It doesn't do much yet, but it's been merged so that we can start
195   building and improving upon it.
197 Fixes
198 -----
199 * Fixed a missing ``import`` when showing `right-click` actions
200   for unmerged files in the `Repository Status` tool.
201 * ``git update-index --refresh`` is no longer run everytime
202   ``git cola version`` is run.
203 * Don't try to watch non-existant directories when using `inotify`.
204 * Use ``git rev-parse --symbolic-full-name`` plumbing to find
205   the name of the current branch.
207 Packaging
208 ---------
209 * The ``Makefile`` will now conditionally include a ``config.mak``
210   file located at the root of the project.  This allows for user
211   customizations such as changes to the `prefix` variable
212   to be stored in a file so that custom settings do not need to
213   be specified every time on the command-line.
214 * The build scripts no longer require a ``.git`` directory to
215   generate the ``builtin_version.py`` module.  The release tarballs
216   now include a ``version`` file at the root of the project which
217   is used in lieu of having the git repository available.
218   This allows for ``make clean && make`` to function outside of
219   a git repository.
220 * Added maintainer's ``make dist`` target to the ``Makefile``.
221 * The built-in `simplejson` and `jsonpickle` libraries can be
222   excluded from ``make install`` by specifying the ``standalone=true``
223   `make` variable.  For example, ``make standalone=true install``.
224   This corresponds to the ``--standalone`` option to ``setup.py``.
227 git-cola v1.4.1.1
228 =================
230 Usability, bells and whistles
231 -----------------------------
232 * We now use patience diff by default when it is available via
233   `git diff --patience`.
234 * Allow closing the `cola classic` tool with `Ctrl+W`.
236 Fixes
237 -----
238 * Fixed an unbound variable error in the `push` dialog.
240 Packaging
241 ---------
242 * Don't include `simplejson` in MANIFEST.in.
243 * Update desktop entry to read `Cola Git GUI`.
246 git-cola v1.4.1
247 ===============
249 This feature release adds two new features directly from
250 `git-cola`'s github issues backlog.  On the developer
251 front, further work was done towards modularizing the code base.
253 Usability, bells and whistles
254 -----------------------------
255 * Dragging and dropping patches invokes `git-am`
257   http://github.com/davvid/git-cola/issues/closed#issue/3
259 * A dialog to allow opening or cloning a repository
260   is presented when `git-cola` is launched outside of a git repository.
262   http://github.com/davvid/git-cola/issues/closed/#issue/22
264 * Warn when `push` is used to create a new branch
266   http://github.com/davvid/git-cola/issues/closed#issue/35
268 * Optimized startup time by removing several calls to `git`.
271 Portability
272 -----------
273 * `git-cola` is once again compatible with PyQt 4.3.x.
275 Developer
276 ---------
277 * `cola.gitcmds` was added to factor out git command-line utilities
278 * `cola.gitcfg` was added for interacting with `git-config`
279 * `cola.models.browser` was added to factor out repobrowser data
280 * Added more tests
283 git-cola v1.4.0.5
284 =================
286 Fixes
287 -----
288 * Fix launching external applications on Windows
289 * Ensure that the `amend` checkbox is unchecked when switching modes
290 * Update the status tree when amending commits
293 git-cola v1.4.0.4
294 =================
296 Packaging
297 ---------
298 * Fix Lintian warnings
301 git-cola v1.4.0.3
302 =================
304 Fixes
305 -----
306 * Fix X11 warnings on application startup
309 git-cola v1.4.0.2
310 =================
312 Fixes
313 -----
314 * Added missing 'Exit Diff Mode' button for 'Diff Expression' mode
316   http://github.com/davvid/git-cola/issues/closed/#issue/31
318 * Fix a bug when initializing fonts on Windows
320   http://github.com/davvid/git-cola/issues/closed/#issue/32
323 git-cola v1.4.0.1
324 =================
326 Fixes
327 -----
328 * Keep entries in sorted order in the `cola classic` tool
329 * Fix staging untracked files
331   http://github.com/davvid/git-cola/issues/closed/#issue/27
333 * Fix the `show` command in the Stash dialog
335   http://github.com/davvid/git-cola/issues/closed/#issue/29
337 * Fix a typo when loading merge commit messages
339   http://github.com/davvid/git-cola/issues/closed/#issue/30
342 git-cola v1.4.0
343 ===============
345 This release focuses on a redesign of the git-cola user interface,
346 a tags interface, and better integration of the `cola classic` tool.
347 A flexible interface based on configurable docks is used to manage the
348 various cola widgets.
350 Usability, bells and whistles
351 -----------------------------
352 * New GUI is flexible and user-configurable
353 * Individual widgets can be detached and rearranged arbitrarily
354 * Add an interface for creating tags
355 * Provide a fallback `SSH_ASKPASS` implementation to prompt for
356   SSH passwords on fetch/push/pull
357 * The commit message editor displays the current row/column and
358   warns when lines get too long
359 * The `cola classic` tool displays upstream changes
360 * `git cola --classic` launches `cola classic` in standalone mode
361 * Provide more information in log messages
363 Fixes
364 -----
365 * Inherit the window manager's font settings
366 * Miscellaneous PyQt4 bug fixes and workarounds
368 Developer
369 ---------
370 * Removed all usage of Qt Designer `.ui` files
371 * Simpler model/view architecture
372 * Selection is now shared across tools
373 * Centralized notifications are used to keep views in sync
374 * The `cola.git` command class was made thread-safe
375 * Less coupling between model and view actions
376 * The status view was rewritten to use the MVC architecture
377 * Added more documentation and tests
380 git-cola v1.3.9
381 ===============
383 Usability, bells and whistles
384 -----------------------------
385 * Added a `cola classic` tool for browsing the entire repository
386 * Handle diff expressions with spaces
387 * Handle renamed files
389 Portability
390 -----------
391 * Handle carat `^` characters in diff expressions on Windows
392 * Worked around a PyQt 4.5/4.6 QThreadPool bug
394 Documentation
395 -------------
396 * Added a keyboard shortcuts reference page
397 * Added developer API documentation
399 Fixes
400 -----
401 * Fix the diff expression used when reviewing branches
402 * Fix a bug when pushing branches
403 * Fix X11 warnings at startup
404 * Fix more interrupted system calls on Mac OS X
407 git-cola v1.3.8
408 ===============
410 Usability, bells and whistles
411 -----------------------------
412 * Fresh and tasty SVG logos
413 * Added `Branch Review` mode for reviewing topic branches
414 * Added diff modes for diffing between tags, branches,
415   or arbitrary `git diff` expressions
416 * The push dialog selects the current branch by default.
417   This is in preparation for `git-1.7.0` where unconfigured `git push`
418   will refuse to push when run without specifying the remote name
419   and branch.  See the `git` release notes for more information
420 * Support `open` and `clone` commands on Windows
421 * Allow saving cola UI layouts
422 * Re-enabled `double-click-to-stage` for unmerged entries.
423   Disabling it for unmerged items was inconsistent, though safer.
424 * Show diffs when navigating the status tree with the keyboard
426 Packaging
427 ---------
428 * Worked around `pyuic4` bugs in the `setup.py` build script
429 * Added Mac OSX application bundles to the download page
432 git-cola v1.3.7
433 ===============
435 Subsystems
436 ----------
437 * `git-difftool` became an official git command in `git-1.6.3`.
438 * `git-difftool` learned `--no-prompt` / `-y` and a corresponding
439   `difftool.prompt` configuration variable
441 Usability, bells and whistles
442 -----------------------------
443 * Warn when `non-fast-forward` is used with fetch, push or pull
444 * Allow `Ctrl+C` to exit cola when run from the command line
446 Fixes
447 -----
448 * Support Unicode font names
449 * Handle interrupted system calls
451 Developer
452 ---------
453 * `PEP-8`-ified more of the cola code base
454 * Added more tests
456 Packaging
457 ---------
458 * All resources are now installed into `$prefix/share/git-cola`.
459   Closed Debian bug #519972
461   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519972
464 git-cola v1.3.6
465 ===============
467 Subsystems
468 ----------
469 * Added support for Kompare in `git-difftool`
470 * Added a separate configuration namespace for `git-difftool`
471 * Added the `diff.tool` configuration variable to define the default diff tool
473 Usability, bells and whistles
474 -----------------------------
475 * The stash dialog allows passing the `--keep-index` option to `git stash`
476 * Amending a published commit warns at commit time
477 * Simplified the file-across-revisions comparison dialog
478 * `origin` is selected by default in fetch/push/pull
479 * Removed the search field from the log widget
480 * The log window moved into a drawer widget at the bottom of the UI
481 * Log window display can be configured with
482   `cola.showoutput` = `{never, always, errors}`.  `errors` is the default.
483 * `NOTE` -- `cola.showoutput` was removed with the GUI rewrite in 1.4.0.
485 Developer
486 ---------
487 * Improved nose unittest usage
489 Packaging
490 ---------
491 * Added a Windows/msysGit installer
492 * Included private versions of `simplejson` and `jsonpickle`
493   for ease of installation and development