From 0bc7eb9722615b3fb6ab88115b3e8e44cf0f1da7 2011-07-30 04:16:11 From: Fernando Perez Date: 2011-07-30 04:16:11 Subject: [PATCH] Lots more edits to release notes, nearing completion. --- diff --git a/docs/source/attic/parallel_task_old.txt b/docs/source/attic/parallel_task_old.txt index bd7ca1d..d2807f3 100644 --- a/docs/source/attic/parallel_task_old.txt +++ b/docs/source/attic/parallel_task_old.txt @@ -17,7 +17,7 @@ use the ``ipcluster`` command:: $ ipcluster -n 4 -For more detailed information about starting the controller and engines, see our :ref:`introduction ` to using IPython for parallel computing. +For more detailed information about starting the controller and engines, see our :ref:`introduction ` to using IPython for parallel computing. The magic here is that this single controller and set of engines is running both the MultiEngine and ``Task`` interfaces simultaneously. diff --git a/docs/source/interactive/qtconsole.txt b/docs/source/interactive/qtconsole.txt index 742a6aa..2d5f335 100644 --- a/docs/source/interactive/qtconsole.txt +++ b/docs/source/interactive/qtconsole.txt @@ -1,22 +1,38 @@ .. _qtconsole: ========================= -IPython as a QtGUI widget +A Qt Console for IPython ========================= We now have a version of IPython, using the new two-process :ref:`ZeroMQ Kernel -`, running in a PyQt_ GUI. +`, running in a PyQt_ GUI. This is a very lightweight widget that +largely feels like a terminal, but provides a number of enhancements only +possible in a GUI, such as inline figures, proper multiline editing with syntax +highlighting, graphical calltips, and much more. -Overview -======== +.. figure:: ../_static/qtconsole.png + :width: 400px + :alt: IPython Qt console with embedded plots + :align: center + :target: ../_static/qtconsole.png + + The Qt console for IPython, using inline matplotlib plots. + +To get acquainted with the Qt console, type `%guiref` to see a quick +introduction of its main features. The Qt frontend has hand-coded emacs-style bindings for text navigation. This is not yet configurable. -.. seealso:: +.. tip:: + + Since the Qt console tries hard to behave like a terminal, by default it + immediately executes single lines of input that are complete. If you want + to force multiline input, hit :key:`Ctrl-Enter` at the end of the first line + instead of :key:`Enter`, and it will open a new line for input. At any + point in a multiline block, you can force its execution (without having to + go to the bottom) with :key:`Shift-Enter`. - :ref:`The original IPython-Qt project description. ` - ``%loadpy`` =========== @@ -205,8 +221,8 @@ These do not have to all be qt frontends - any IPython frontend can connect and run code. When you start ipython qtconsole, there will be an output line, like:: - To connect another client to this kernel, use: - --external --shell=62109 --iopub=62110 --stdin=62111 --hb=62112 + [IPKernelApp] To connect another client to this kernel, use: + [IPKernelApp] --existing --shell=60690 --iopub=44045 --stdin=38323 --hb=41797 Other frontends can connect to your kernel, and share in the execution. This is great for collaboration. The `-e` flag is for 'external'. Starting other diff --git a/docs/source/interactive/reference.txt b/docs/source/interactive/reference.txt index 1b1dcdd..0327c9d 100644 --- a/docs/source/interactive/reference.txt +++ b/docs/source/interactive/reference.txt @@ -1133,7 +1133,7 @@ GUI event loop support IPython has excellent support for working interactively with Graphical User Interface (GUI) toolkits, such as wxPython, PyQt4, PyGTK and Tk. This is implemented using Python's builtin ``PyOSInputHook`` hook. This implementation -is extremely robust compared to our previous threaded based version. The +is extremely robust compared to our previous thread-based version. The advantages of this are: * GUIs can be enabled and disabled dynamically at runtime. @@ -1217,48 +1217,37 @@ and if ``QT_API=pyqt`` then PyQt4 will be used *with the v2 API* for QString and QVariant, so ETS codes like MayaVi will also work with IPython. If you launch IPython in pylab mode with ``ipython --pylab=qt``, then IPython -will ask matplotlib which Qt library to use (only if QT_API is *not set*), -via the 'backend.qt4' rcParam. -If matplotlib is version 1.0.1 or older, then IPython will always use PyQt4 -without setting the v2 APIs, since neither v2 PyQt nor PySide work. +will ask matplotlib which Qt library to use (only if QT_API is *not set*), via +the 'backend.qt4' rcParam. If matplotlib is version 1.0.1 or older, then +IPython will always use PyQt4 without setting the v2 APIs, since neither v2 +PyQt nor PySide work. .. warning:: - Note that this means for ETS 4 to work with PyQt4, ``QT_API`` *must* be set to - work with IPython's qt integration, because otherwise PyQt4 will be loaded in - an incompatible mode. + Note that this means for ETS 4 to work with PyQt4, ``QT_API`` *must* be set + to work with IPython's qt integration, because otherwise PyQt4 will be + loaded in an incompatible mode. It also means that you must *not* have ``QT_API`` set if you want to use ``--gui=qt`` with code that requires PyQt4 API v1. - .. _matplotlib_support: Plotting with matplotlib ======================== +`Matplotlib`_ provides high quality 2D and 3D plotting for Python. Matplotlib +can produce plots on screen using a variety of GUI toolkits, including Tk, +PyGTK, PyQt4 and wxPython. It also provides a number of commands useful for +scientific computing, all with a syntax compatible with that of the popular +Matlab program. -`Matplotlib`_ provides high quality 2D and -3D plotting for Python. Matplotlib can produce plots on screen using a variety -of GUI toolkits, including Tk, PyGTK, PyQt4 and wxPython. It also provides a -number of commands useful for scientific computing, all with a syntax -compatible with that of the popular Matlab program. - -Many IPython users have come to rely on IPython's ``-pylab`` mode which -automates the integration of Matplotlib with IPython. We are still in the -process of working with the Matplotlib developers to finalize the new pylab -API, but for now you can use Matplotlib interactively using the following -commands:: - - %gui wx - import matplotlib - matplotlib.use('wxagg') - from matplotlib import pylab - pylab.interactive(True) - -All of this will soon be automated as Matplotlib begins to include -new logic that uses our new GUI support. +To start IPython with matplotlib support, use the ``--pylab`` switch. If no +arguments are given, IPython will automatically detect your choice of +matplotlib backend. You can also request a specific backend with +``--pylab=backend``, where ``backend`` must be one of: 'tk', 'qt', 'wx', 'gtk', +'osx'. .. _Matplotlib: http://matplotlib.sourceforge.net @@ -1318,5 +1307,5 @@ Supporting something like this would basically require tracking the internal execution state of the Python interpreter, so only top-level divisions are allowed. If you want to be able to open an IPython instance at an arbitrary point in a program, you can use IPython's -embedding facilities, described in detail in Sec. 9 +embedding facilities, see :func:`IPython.embed` for details. diff --git a/docs/source/parallel/parallel_intro.txt b/docs/source/parallel/parallel_intro.txt index 5b45a82..a3d3eeb 100644 --- a/docs/source/parallel/parallel_intro.txt +++ b/docs/source/parallel/parallel_intro.txt @@ -1,4 +1,4 @@ -.. _ip1par: +.. _parallel_overview: ============================ Overview and getting started @@ -47,6 +47,16 @@ the ``I`` in IPython. The following are some example usage cases for IPython: * Run a set of tasks on a set of CPUs using dynamic load balancing. +.. tip:: + + At the SciPy 2011 conference in Austin, Min Ragan-Kelley presented a + complete 4-hour tutorial on the use of these features, and all the materials + for the tutorial are now `available online`__. That tutorial provides an + excellent, hands-on oriented complement to the reference documentation + presented here. + +.. __: http://minrk.github.com/scipy-tutorial-2011 + Architecture overview ===================== diff --git a/docs/source/parallel/parallel_multiengine.txt b/docs/source/parallel/parallel_multiengine.txt index ab94605..0d288e2 100644 --- a/docs/source/parallel/parallel_multiengine.txt +++ b/docs/source/parallel/parallel_multiengine.txt @@ -22,7 +22,7 @@ the :command:`ipcluster` command:: $ ipcluster start --n=4 For more detailed information about starting the controller and engines, see -our :ref:`introduction ` to using IPython for parallel computing. +our :ref:`introduction ` to using IPython for parallel computing. Creating a ``Client`` instance ============================== diff --git a/docs/source/parallel/parallel_task.txt b/docs/source/parallel/parallel_task.txt index df12421..aa32e34 100644 --- a/docs/source/parallel/parallel_task.txt +++ b/docs/source/parallel/parallel_task.txt @@ -27,7 +27,7 @@ the :command:`ipcluster` command:: $ ipcluster start --n=4 For more detailed information about starting the controller and engines, see -our :ref:`introduction ` to using IPython for parallel computing. +our :ref:`introduction ` to using IPython for parallel computing. Creating a ``Client`` instance ============================== diff --git a/docs/source/whatsnew/github-stats-011.txt b/docs/source/whatsnew/github-stats-011.txt new file mode 100644 index 0000000..4b7f497 --- /dev/null +++ b/docs/source/whatsnew/github-stats-011.txt @@ -0,0 +1,521 @@ +We closed a total of 510 issues, 225 pull requests and 285 regular issues; this +is the full list (generated with the script `tools/github_stats.py`). We should +note that a few of these were made on the 0.10.x series, but we have no +automatic way of filtering the issues by branch, so this reflects all of our +development over the last two years, including work already released in 0.10.2: + +Pull requests (225): + +* `642 `_: fix typo in docs/examples/vim/README.rst +* `631 `_: two-way vim-ipython integration +* `637 `_: print is a function, this allows to properly exit ipython +* `635 `_: support html representations in the notebook frontend +* `639 `_: Updating the credits file +* `628 `_: import pexpect from IPython.external in irunner +* `596 `_: Irunner +* `598 `_: Fix templates for CrashHandler +* `590 `_: Desktop +* `600 `_: Fix bug with non-ascii reprs inside pretty-printed lists. +* `618 `_: I617 +* `599 `_: Gui Qt example and docs +* `619 `_: manpage update +* `582 `_: Updating sympy profile to match the exec_lines of isympy. +* `578 `_: Check to see if correct source for decorated functions can be displayed +* `589 `_: issue 588 +* `591 `_: simulate shell expansion on %run arguments, at least tilde expansion +* `576 `_: Show message about %paste magic on an IndentationError +* `574 `_: Getcwdu +* `565 `_: don't move old config files, keep nagging the user +* `575 `_: Added more docstrings to IPython.zmq.session. +* `567 `_: fix trailing whitespace from reseting indentation +* `564 `_: Command line args in docs +* `560 `_: reorder qt support in kernel +* `561 `_: command-line suggestions +* `556 `_: qt_for_kernel: use matplotlib rcParams to decide between PyQt4 and PySide +* `557 `_: Update usage.py to newapp +* `555 `_: Rm default old config +* `552 `_: update parallel code for py3k +* `504 `_: Updating string formatting +* `551 `_: Make pylab import all configurable +* `496 `_: Qt editing keybindings +* `550 `_: Support v2 PyQt4 APIs and PySide in kernel's GUI support +* `546 `_: doc update +* `548 `_: Fix sympy profile to work with sympy 0.7. +* `542 `_: issue 440 +* `533 `_: Remove unused configobj and validate libraries from externals. +* `538 `_: fix various tests on Windows +* `540 `_: support `-pylab` flag with deprecation warning +* `537 `_: Docs update +* `536 `_: `setup.py install` depends on setuptools on Windows +* `480 `_: Get help mid-command +* `462 `_: Str and Bytes traitlets +* `534 `_: Handle unicode properly in IPython.zmq.iostream +* `527 `_: ZMQ displayhook +* `526 `_: Handle asynchronous output in Qt console +* `528 `_: Do not import deprecated functions from external decorators library. +* `454 `_: New BaseIPythonApplication +* `532 `_: Zmq unicode +* `531 `_: Fix Parallel test +* `525 `_: fallback on lsof if otool not found in libedit detection +* `517 `_: Merge IPython.parallel.streamsession into IPython.zmq.session +* `521 `_: use dict.get(key) instead of dict[key] for safety from KeyErrors +* `492 `_: add QtConsoleApp using newapplication +* `485 `_: terminal IPython with newapp +* `486 `_: Use newapp in parallel code +* `511 `_: Add a new line before displaying multiline strings in the Qt console. +* `509 `_: i508 +* `501 `_: ignore EINTR in channel loops +* `495 `_: Better selection of Qt bindings when QT_API is not specified +* `498 `_: Check for .pyd as extension for binary files. +* `494 `_: QtConsole zoom adjustments +* `490 `_: fix UnicodeEncodeError writing SVG string to .svg file, fixes #489 +* `491 `_: add QtConsoleApp using newapplication +* `479 `_: embed() doesn't load default config +* `483 `_: Links launchpad -> github +* `419 `_: %xdel magic +* `477 `_: Add \n to lines in the log +* `459 `_: use os.system for shell.system in Terminal frontend +* `475 `_: i473 +* `471 `_: Add test decorator onlyif_unicode_paths. +* `474 `_: Fix support for raw GTK and WX matplotlib backends. +* `472 `_: Kernel event loop is robust against random SIGINT. +* `460 `_: Share code for magic_edit +* `469 `_: Add exit code when running all tests with iptest. +* `464 `_: Add home directory expansion to IPYTHON_DIR environment variables. +* `455 `_: Bugfix with logger +* `448 `_: Separate out skip_doctest decorator +* `453 `_: Draft of new main BaseIPythonApplication. +* `452 `_: Use list/tuple/dict/set subclass's overridden __repr__ instead of the pretty +* `398 `_: allow toggle of svg/png inline figure format +* `381 `_: Support inline PNGs of matplotlib plots +* `413 `_: Retries and Resubmit (#411 and #412) +* `370 `_: Fixes to the display system +* `449 `_: Fix issue 447 - inspecting old-style classes. +* `423 `_: Allow type checking on elements of List,Tuple,Set traits +* `400 `_: Config5 +* `421 `_: Generalise mechanism to put text at the next prompt in the Qt console. +* `443 `_: pinfo code duplication +* `429 `_: add check_pid, and handle stale PID info in ipcluster. +* `431 `_: Fix error message in test_irunner +* `427 `_: handle different SyntaxError messages in test_irunner +* `424 `_: Irunner test failure +* `430 `_: Small parallel doc typo +* `422 `_: Make ipython-qtconsole a GUI script +* `420 `_: Permit kernel std* to be redirected +* `408 `_: History request +* `388 `_: Add Emacs-style kill ring to Qt console +* `414 `_: Warn on old config files +* `415 `_: Prevent prefilter from crashing IPython +* `418 `_: Minor configuration doc fixes +* `407 `_: Update What's new documentation +* `410 `_: Install notebook frontend +* `406 `_: install IPython.zmq.gui +* `393 `_: ipdir unicode +* `397 `_: utils.io.Term.cin/out/err -> utils.io.stdin/out/err +* `389 `_: DB fixes and Scheduler HWM +* `374 `_: Various Windows-related fixes to IPython.parallel +* `362 `_: fallback on defaultencoding if filesystemencoding is None +* `382 `_: Shell's reset method clears namespace from last %run command. +* `385 `_: Update iptest exclusions (fix #375) +* `383 `_: Catch errors in querying readline which occur with pyreadline. +* `373 `_: Remove runlines etc. +* `364 `_: Single output +* `372 `_: Multiline input push +* `363 `_: Issue 125 +* `361 `_: don't rely on setuptools for readline dependency check +* `349 `_: Fix %autopx magic +* `355 `_: History save thread +* `356 `_: Usability improvements to history in Qt console +* `357 `_: Exit autocall +* `353 `_: Rewrite quit()/exit()/Quit()/Exit() calls as magic +* `354 `_: Cell tweaks +* `345 `_: Attempt to address (partly) issue ipython/#342 by rewriting quit(), exit(), etc. +* `352 `_: #342: Try to recover as intelligently as possible if user calls magic(). +* `346 `_: Dedent prefix bugfix + tests: #142 +* `348 `_: %reset doesn't reset prompt number. +* `347 `_: Make ip.reset() work the same in interactive or non-interactive code. +* `343 `_: make readline a dependency on OSX +* `344 `_: restore auto debug behavior +* `339 `_: fix for issue 337: incorrect/phantom tooltips for magics +* `254 `_: newparallel branch (add zmq.parallel submodule) +* `334 `_: Hard reset +* `316 `_: Unicode win process +* `332 `_: AST splitter +* `325 `_: Removetwisted +* `330 `_: Magic pastebin +* `309 `_: Bug tests for GH Issues 238, 284, 306, 307. Skip module machinery if not installed. Known failures reported as 'K' +* `331 `_: Tweak config loader for PyPy compatibility. +* `319 `_: Rewrite code to restore readline history after an action +* `329 `_: Do not store file contents in history when running a .ipy file. +* `179 `_: Html notebook +* `323 `_: Add missing external.pexpect to packages +* `295 `_: Magic local scope +* `315 `_: Unicode magic args +* `310 `_: allow Unicode Command-Line options +* `313 `_: Readline shortcuts +* `311 `_: Qtconsole exit +* `312 `_: History memory +* `294 `_: Issue 290 +* `292 `_: Issue 31 +* `252 `_: Unicode issues +* `235 `_: Fix history magic command's bugs wrt to full history and add -O option to display full history +* `236 `_: History minus p flag +* `261 `_: Adapt magic commands to new history system. +* `282 `_: SQLite history +* `191 `_: Unbundle external libraries +* `199 `_: Magic arguments +* `204 `_: Emacs completion bugfix +* `293 `_: Issue 133 +* `249 `_: Writing unicode characters to a log file. (IPython 0.10.2.git) +* `283 `_: Support for 256-color escape sequences in Qt console +* `281 `_: Refactored and improved Qt console's HTML export facility +* `237 `_: Fix185 (take two) +* `251 `_: Issue 129 +* `278 `_: add basic XDG_CONFIG_HOME support +* `275 `_: inline pylab cuts off labels on log plots +* `280 `_: Add %precision magic +* `259 `_: Pyside support +* `193 `_: Make ipython cProfile-able +* `272 `_: Magic examples +* `219 `_: Doc magic pycat +* `221 `_: Doc magic alias +* `230 `_: Doc magic edit +* `224 `_: Doc magic cpaste +* `229 `_: Doc magic pdef +* `273 `_: Docs build +* `228 `_: Doc magic who +* `233 `_: Doc magic cd +* `226 `_: Doc magic pwd +* `218 `_: Doc magic history +* `231 `_: Doc magic reset +* `225 `_: Doc magic save +* `222 `_: Doc magic timeit +* `223 `_: Doc magic colors +* `203 `_: Small typos in zmq/blockingkernelmanager.py +* `227 `_: Doc magic logon +* `232 `_: Doc magic profile +* `264 `_: Kernel logging +* `220 `_: Doc magic edit +* `268 `_: PyZMQ >= 2.0.10 +* `267 `_: GitHub Pages (again) +* `266 `_: OSX-specific fixes to the Qt console +* `255 `_: Gitwash typo +* `265 `_: Fix string input2 +* `260 `_: Kernel crash with empty history +* `243 `_: New display system +* `242 `_: Fix terminal exit +* `250 `_: always use Session.send +* `239 `_: Makefile command & script for GitHub Pages +* `244 `_: My exit +* `234 `_: Timed history save +* `217 `_: Doc magic lsmagic +* `215 `_: History fix +* `195 `_: Formatters +* `192 `_: Ready colorize bug +* `198 `_: Windows workdir +* `174 `_: Whitespace cleanup +* `188 `_: Version info: update our version management system to use git. +* `158 `_: Ready for merge +* `187 `_: Resolved Print shortcut collision with ctrl-P emacs binding +* `183 `_: cleanup of exit/quit commands for qt console +* `184 `_: Logo added to sphinx docs +* `180 `_: Cleanup old code +* `171 `_: Expose Pygments styles as options +* `170 `_: HTML Fixes +* `172 `_: Fix del method exit test +* `164 `_: Qt frontend shutdown behavior fixes and enhancements +* `167 `_: Added HTML export +* `163 `_: Execution refactor +* `159 `_: Ipy3 preparation +* `155 `_: Ready startup fix +* `152 `_: 0.10.1 sge +* `151 `_: mk_object_info -> object_info +* `149 `_: Simple bug-fix + +Regular issues (285): + +* `630 `_: new.py in pwd prevents ipython from starting +* `623 `_: Execute DirectView commands while running LoadBalancedView tasks +* `437 `_: Users should have autocompletion in the notebook +* `583 `_: update manpages +* `594 `_: irunner command line options defer to file extensions +* `603 `_: Users should see colored text in tracebacks and the pager +* `597 `_: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 +* `608 `_: Organize and layout buttons in the notebook panel sections +* `609 `_: Implement controls in the Kernel panel section +* `611 `_: Add kernel status widget back to notebook +* `610 `_: Implement controls in the Cell section panel +* `612 `_: Implement Help panel section +* `621 `_: [qtconsole] on windows xp, cannot PageUp more than once +* `616 `_: Store exit status of last command +* `605 `_: Users should be able to open different notebooks in the cwd +* `302 `_: Users should see a consistent behavior in the Out prompt in the html notebook +* `435 `_: Notebook should not import anything by default +* `595 `_: qtconsole command issue +* `588 `_: ipython-qtconsole uses 100% CPU +* `586 `_: ? + plot() Command B0rks QTConsole Strangely +* `585 `_: %pdoc throws Errors for classes without __init__ or docstring +* `584 `_: %pdoc throws TypeError +* `580 `_: Client instantiation AssertionError +* `569 `_: UnicodeDecodeError during startup +* `572 `_: Indented command hits error +* `573 `_: -wthread breaks indented top-level statements +* `570 `_: "--pylab inline" vs. "--pylab=inline" +* `566 `_: Can't use exec_file in config file +* `562 `_: update docs to reflect '--args=values' +* `558 `_: triple quote and %s at beginning of line +* `554 `_: Update 0.11 docs to explain Qt console and how to do a clean install +* `553 `_: embed() fails if config files not installed +* `8 `_: Ensure %gui qt works with new Mayavi and pylab +* `269 `_: Provide compatibility api for IPython.Shell().start().mainloop() +* `66 `_: Update the main What's New document to reflect work on 0.11 +* `549 `_: Don't check for 'linux2' value in sys.platform +* `505 `_: Qt windows created within imported functions won't show() +* `545 `_: qtconsole ignores exec_lines +* `371 `_: segfault in qtconsole when kernel quits +* `377 `_: Failure: error (nothing to repeat) +* `544 `_: Ipython qtconsole pylab config issue. +* `543 `_: RuntimeError in completer +* `440 `_: %run filename autocompletion "The kernel heartbeat has been inactive ... " error +* `541 `_: log_level is broken in the ipython Application +* `369 `_: windows source install doesn't create scripts correctly +* `351 `_: Make sure that the Windows installer handles the top-level IPython scripts. +* `512 `_: Two displayhooks in zmq +* `340 `_: Make sure that the Windows HPC scheduler support is working for 0.11 +* `98 `_: Should be able to get help on an object mid-command +* `529 `_: unicode problem in qtconsole for windows +* `476 `_: Separate input area in Qt Console +* `175 `_: Qt console needs configuration support +* `156 `_: Key history lost when debugging program crash +* `470 `_: decorator: uses deprecated features +* `30 `_: readline in OS X does not have correct key bindings +* `503 `_: merge IPython.parallel.streamsession and IPython.zmq.session +* `456 `_: pathname in document punctuated by dots not slashes +* `451 `_: Allow switching the default image format for inline mpl backend +* `79 `_: Implement more robust handling of config stages in Application +* `522 `_: Encoding problems +* `524 `_: otool should not be unconditionally called on osx +* `523 `_: Get profile and config file inheritance working +* `519 `_: qtconsole --pure: "TypeError: string indices must be integers, not str" +* `516 `_: qtconsole --pure: "KeyError: 'ismagic'" +* `520 `_: qtconsole --pure: "TypeError: string indices must be integers, not str" +* `450 `_: resubmitted tasks sometimes stuck as pending +* `518 `_: JSON serialization problems with ObjectId type (MongoDB) +* `178 `_: Channels should be named for their function, not their socket type +* `515 `_: [ipcluster] termination on os x +* `510 `_: qtconsole: indentation problem printing numpy arrays +* `508 `_: "AssertionError: Missing message part." in ipython-qtconsole --pure +* `499 `_: "ZMQError: Interrupted system call" when saving inline figure +* `426 `_: %edit magic fails in qtconsole +* `497 `_: Don't show info from .pyd files +* `493 `_: QFont::setPointSize: Point size <= 0 (0), must be greater than 0 +* `489 `_: UnicodeEncodeError in qt.svg.save_svg +* `458 `_: embed() doesn't load default config +* `488 `_: Using IPython with RubyPython leads to problems with IPython.parallel.client.client.Client.__init() +* `401 `_: Race condition when running lbview.apply() fast multiple times in loop +* `168 `_: Scrub Launchpad links from code, docs +* `141 `_: garbage collection problem (revisited) +* `59 `_: test_magic.test_obj_del fails on win32 +* `457 `_: Backgrounded Tasks not Allowed? (but easy to slip by . . .) +* `297 `_: Shouldn't use pexpect for subprocesses in in-process terminal frontend +* `110 `_: magic to return exit status +* `473 `_: OSX readline detection fails in the debugger +* `466 `_: tests fail without unicode filename support +* `468 `_: iptest script has 0 exit code even when tests fail +* `465 `_: client.db_query() behaves different with SQLite and MongoDB +* `467 `_: magic_install_default_config test fails when there is no .ipython directory +* `463 `_: IPYTHON_DIR (and IPYTHONDIR) don't expand tilde to '~' directory +* `446 `_: Test machinery is imported at normal runtime +* `438 `_: Users should be able to use Up/Down for cell navigation +* `439 `_: Users should be able to copy notebook input and output +* `291 `_: Rename special display methods and put them lower in priority than display functions +* `447 `_: Instantiating classes without __init__ function causes kernel to crash +* `444 `_: Ctrl + t in WxIPython Causes Unexpected Behavior +* `445 `_: qt and console Based Startup Errors +* `428 `_: ipcluster doesn't handle stale pid info well +* `434 `_: 10.0.2 seg fault with rpy2 +* `441 `_: Allow running a block of code in a file +* `432 `_: Silent request fails +* `409 `_: Test failure in IPython.lib +* `402 `_: History section of messaging spec is incorrect +* `88 `_: Error when inputting UTF8 CJK characters +* `366 `_: Ctrl-K should kill line and store it, so that Ctrl-y can yank it back +* `425 `_: typo in %gui magic help +* `304 `_: Persistent warnings if old configuration files exist +* `216 `_: crash of ipython when alias is used with %s and echo +* `412 `_: add support to automatic retry of tasks +* `411 `_: add support to continue tasks +* `417 `_: IPython should display things unsorted if it can't sort them +* `416 `_: wrong encode when printing unicode string +* `376 `_: Failing InputsplitterTest +* `405 `_: TraitError in traitlets.py(332) on any input +* `392 `_: UnicodeEncodeError on start +* `137 `_: sys.getfilesystemencoding return value not checked +* `300 `_: Users should be able to manage kernels and kernel sessions from the notebook UI +* `301 `_: Users should have access to working Kernel, Tabs, Edit, Help menus in the notebook +* `396 `_: cursor move triggers a lot of IO access +* `379 `_: Minor doc nit: --paging argument +* `399 `_: Add task queue limit in engine when load-balancing +* `78 `_: StringTask won't take unicode code strings +* `391 `_: MongoDB.add_record() does not work in 0.11dev +* `365 `_: newparallel on Windows +* `386 `_: FAIL: test that pushed functions have access to globals +* `387 `_: Interactively defined functions can't access user namespace +* `118 `_: Snow Leopard ipy_vimserver POLL error +* `394 `_: System escape interpreted in multi-line string +* `26 `_: find_job_cmd is too hasty to fail on Windows +* `368 `_: Installation instructions in dev docs are completely wrong +* `380 `_: qtconsole pager RST - HTML not happening consistently +* `367 `_: Qt console doesn't support ibus input method +* `375 `_: Missing libraries cause ImportError in tests +* `71 `_: temp file errors in iptest IPython.core +* `350 `_: Decide how to handle displayhook being triggered multiple times +* `360 `_: Remove `runlines` method +* `125 `_: Exec lines in config should not contribute to line numbering or history +* `20 `_: Robust readline support on OS X's builtin Python +* `147 `_: On Windows, %page is being too restrictive to split line by \r\n only +* `326 `_: Update docs and examples for parallel stuff to reflect movement away from Twisted +* `341 `_: FIx Parallel Magics for newparallel +* `338 `_: Usability improvements to Qt console +* `142 `_: unexpected auto-indenting when varibles names that start with 'pass' +* `296 `_: Automatic PDB via %pdb doesn't work +* `337 `_: exit( and quit( in Qt console produces phantom signature/docstring popup, even though quit() or exit() raises NameError +* `318 `_: %debug broken in master: invokes missing save_history() method +* `307 `_: lines ending with semicolon should not go to cache +* `104 `_: have ipengine run start-up scripts before registering with the controller +* `33 `_: The skip_doctest decorator is failing to work on Shell.MatplotlibShellBase.magic_run +* `336 `_: Missing figure development/figs/iopubfade.png for docs +* `49 `_: %clear should also delete _NN references and Out[NN] ones +* `335 `_: using setuptools installs every script twice +* `306 `_: multiline strings at end of input cause noop +* `327 `_: PyPy compatibility +* `328 `_: %run script.ipy raises "ERROR! Session/line number was not unique in database." +* `7 `_: Update the changes doc to reflect the kernel config work +* `303 `_: Users should be able to scroll a notebook w/o moving the menu/buttons +* `322 `_: Embedding an interactive IPython shell +* `321 `_: %debug broken in master +* `287 `_: Crash when using %macros in sqlite-history branch +* `55 `_: Can't edit files whose names begin with numbers +* `284 `_: In variable no longer works in 0.11 +* `92 `_: Using multiprocessing module crashes parallel iPython +* `262 `_: Fail to recover history after force-kill. +* `320 `_: Tab completing re.search objects crashes IPython +* `317 `_: IPython.kernel: parallel map issues +* `197 `_: ipython-qtconsole unicode problem in magic ls +* `305 `_: more readline shortcuts in qtconsole +* `314 `_: Multi-line, multi-block cells can't be executed. +* `308 `_: Test suite should set sqlite history to work in :memory: +* `202 `_: Matplotlib native 'MacOSX' backend broken in '-pylab' mode +* `196 `_: IPython can't deal with unicode file name. +* `25 `_: unicode bug - encoding input +* `290 `_: try/except/else clauses can't be typed, code input stops too early. +* `43 `_: Implement SSH support in ipcluster +* `6 `_: Update the Sphinx docs for the new ipcluster +* `9 `_: Getting "DeadReferenceError: Calling Stale Broker" after ipcontroller restart +* `132 `_: Ipython prevent south from working +* `27 `_: generics.complete_object broken +* `60 `_: Improve absolute import management for iptest.py +* `31 `_: Issues in magic_whos code +* `52 `_: Document testing process better +* `44 `_: Merge history from multiple sessions +* `182 `_: ipython q4thread in version 10.1 not starting properly +* `143 `_: Ipython.gui.wx.ipython_view.IPShellWidget: ignores user*_ns arguments +* `127 `_: %edit does not work on filenames consisted of pure numbers +* `126 `_: Can't transfer command line argument to script +* `28 `_: Offer finer control for initialization of input streams +* `58 `_: ipython change char '0xe9' to 4 spaces +* `68 `_: Problems with Control-C stopping ipcluster on Windows/Python2.6 +* `24 `_: ipcluster does not start all the engines +* `240 `_: Incorrect method displayed in %psource +* `120 `_: inspect.getsource fails for functions defined on command line +* `212 `_: IPython ignores exceptions in the first evaulation of class attrs +* `108 `_: ipython disables python logger +* `100 `_: Overzealous introspection +* `18 `_: %cpaste freeze sync frontend +* `200 `_: Unicode error when starting ipython in a folder with non-ascii path +* `130 `_: Deadlock when importing a module that creates an IPython client +* `134 `_: multline block scrolling +* `46 `_: Input to %timeit is not preparsed +* `285 `_: ipcluster local -n 4 fails +* `205 `_: In the Qt console, Tab should insert 4 spaces when not completing +* `145 `_: Bug on MSW sytems: idle can not be set as default IPython editor. Fix Suggested. +* `77 `_: ipython oops in cygwin +* `121 `_: If plot windows are closed via window controls, no more plotting is possible. +* `111 `_: Iterator version of TaskClient.map() that returns results as they become available +* `109 `_: WinHPCLauncher is a hard dependency that causes errors in the test suite +* `86 `_: Make IPython work with multiprocessing +* `15 `_: Implement SGE support in ipcluster +* `3 `_: Implement PBS support in ipcluster +* `53 `_: Internal Python error in the inspect module +* `74 `_: Manager() [from multiprocessing module] hangs ipythonx but not ipython +* `51 `_: Out not working with ipythonx +* `201 `_: use session.send throughout zmq code +* `115 `_: multiline specials not defined in 0.11 branch +* `93 `_: when looping, cursor appears at leftmost point in newline +* `133 `_: whitespace after Source introspection +* `50 `_: Ctrl-C with -gthread on Windows, causes uncaught IOError +* `65 `_: Do not use .message attributes in exceptions, deprecated in 2.6 +* `76 `_: syntax error when raise is inside except process +* `107 `_: bdist_rpm causes traceback looking for a non-existant file +* `113 `_: initial magic ? (question mark) fails before wildcard +* `128 `_: Pdb instance has no attribute 'curframe' +* `139 `_: running with -pylab pollutes namespace +* `140 `_: malloc error during tab completion of numpy array member functions starting with 'c' +* `153 `_: ipy_vimserver traceback on Windows +* `154 `_: using ipython in Slicer3 show how os.environ['HOME'] is not defined +* `185 `_: show() blocks in pylab mode with ipython 0.10.1 +* `189 `_: Crash on tab completion +* `274 `_: bashism in sshx.sh +* `276 `_: Calling `sip.setapi` does not work if app has already imported from PyQt4 +* `277 `_: matplotlib.image imgshow from 10.1 segfault +* `288 `_: Incorrect docstring in zmq/kernelmanager.py +* `286 `_: Fix IPython.Shell compatibility layer +* `99 `_: blank lines in history +* `129 `_: psearch: TypeError: expected string or buffer +* `190 `_: Add option to format float point output +* `246 `_: Application not conforms XDG Base Directory Specification +* `48 `_: IPython should follow the XDG Base Directory spec for configuration +* `176 `_: Make client-side history persistence readline-independent +* `279 `_: Backtraces when using ipdb do not respect -colour LightBG setting +* `119 `_: Broken type filter in magic_who_ls +* `271 `_: Intermittent problem with print output in Qt console. +* `270 `_: Small typo in IPython developer’s guide +* `166 `_: Add keyboard accelerators to Qt close dialog +* `173 `_: asymmetrical ctrl-A/ctrl-E behavior in multiline +* `45 `_: Autosave history for robustness +* `162 `_: make command history persist in ipythonqt +* `161 `_: make ipythonqt exit without dialog when exit() is called +* `263 `_: [ipython + numpy] Some test errors +* `256 `_: reset docstring ipython 0.10 +* `258 `_: allow caching to avoid matplotlib object referrences +* `248 `_: Can't open and read files after upgrade from 0.10 to 0.10.0 +* `247 `_: ipython + Stackless +* `245 `_: Magic save and macro missing newlines, line ranges don't match prompt numbers. +* `241 `_: "exit" hangs on terminal version of IPython +* `213 `_: ipython -pylab no longer plots interactively on 0.10.1 +* `4 `_: wx frontend don't display well commands output +* `5 `_: ls command not supported in ipythonx wx frontend +* `1 `_: Document winhpcjob.py and launcher.py +* `83 `_: Usage of testing.util.DeferredTestCase should be replace with twisted.trial.unittest.TestCase +* `117 `_: Redesign how Component instances are tracked and queried +* `47 `_: IPython.kernel.client cannot be imported inside an engine +* `105 `_: Refactor the task dependencies system +* `210 `_: 0.10.1 doc mistake - New IPython Sphinx directive error +* `209 `_: can't activate IPython parallel magics +* `206 `_: Buggy linewrap in Mac OSX Terminal +* `194 `_: !sudo displays password in plain text +* `186 `_: %edit issue under OS X 10.5 - IPython 0.10.1 +* `11 `_: Create a daily build PPA for ipython +* `144 `_: logo missing from sphinx docs +* `181 `_: cls command does not work on windows +* `169 `_: Kernel can only be bound to localhost +* `36 `_: tab completion does not escape () +* `177 `_: Report tracebacks of interactively entered input +* `148 `_: dictionary having multiple keys having frozenset fails to print on iPython +* `160 `_: magic_gui throws TypeError when gui magic is used +* `150 `_: History entries ending with parentheses corrupt command line on OS X 10.6.4 +* `146 `_: -ipythondir - using an alternative .ipython dir for rc type stuff +* `114 `_: Interactive strings get mangled with "_ip.magic" +* `135 `_: crash on invalid print +* `69 `_: Usage of "mycluster" profile in docs and examples +* `37 `_: Fix colors in output of ResultList on Windows diff --git a/docs/source/whatsnew/version0.11.txt b/docs/source/whatsnew/version0.11.txt index 16135ef..6761bda 100644 --- a/docs/source/whatsnew/version0.11.txt +++ b/docs/source/whatsnew/version0.11.txt @@ -61,17 +61,15 @@ A quick summary of the major changes (see below for details): `PyOS_InputHook` API. A new command-line flag `--gui` controls GUI support, and it can also be enabled after IPython startup via the new `%gui` magic. This requires some changes if you want to execute GUI-using scripts inside - IPython, see :ref:`below ` for more details. + IPython, see :ref:`the GUI support section ` for more details. * **Integration into Microsoft Visual Studio**. Thanks to the work of the - Microsoft `Python Tools for Visual Studio`__ team, this version of IPython - has been integrated into Microsoft Visual Studio's Python tools open source - plug-in. They currently have a release candidate out using IPython 0.11, - and we will continue to collaborate with them to ensure that as they - approach full release time, the integration with IPython is as smooth as - possible. + Microsoft `Python Tools for Visual Studio`__ team, this version of IPython + has been integrated into Microsoft Visual Studio's Python tools open source + plug-in. `Details below`_ .. __: http://pytools.codeplex.com +.. _details below: ms_visual_studio_011_ * **A two-process architecture.** The Qt console is the first example of using a new model that splits IPython between a kernel process where code is @@ -90,39 +88,49 @@ A quick summary of the major changes (see below for details): * **Improved unicode support**. We closed many bugs related to unicode input. * **Python 3**. IPython now runs on Python 3.x. See :ref:`python3_011` for - details. + details. * **New profile model**. Profiles are now directories that contain all relevant - infromation for that session, and thus better isolate IPython use-cases. + infromation for that session, and thus better isolate IPython use-cases. * **SQLite storage for history**. All history is now stored in a SQLite - database, providing support for multiple simultaneous sessions that won't - clobber each other as well as the ability to perform queries on all stored - data. + database, providing support for multiple simultaneous sessions that won't + clobber each other as well as the ability to perform queries on all stored + data. * **New configuration system**. All parts of IPython are now configured via a - mechanism inspired by the Enthought Traits library. Any configurable - element can have its attributes set either via files that now use real - Python syntax or from the command-line. + mechanism inspired by the Enthought Traits library. Any configurable element + can have its attributes set either via files that now use real Python syntax + or from the command-line. +* **Vim integration**. Vim can be configured to seamlessly control an IPython + kernel, see the files in :file:`docs/examples/vim` for the full details. + This work was done by Paul Ivanov, who prepared a nice `video + demonstration`__ of the features it provides. + +.. __: http://pirsquared.org/blog/2011/07/28/vim-ipython/ Authors and support ------------------- Over 60 separate authors have contributed to this release, see :ref:`below -` for a full list. In particular, we want to highlight the extremely -active participation of two new core team members: Evan Patterson implemented -the Qt console, and Thomas Kluyver started with our Python 3 port and by now has -made major contributions to multiple aspects of the project. +` for a full list. In particular, we want to highlight the +extremely active participation of two new core team members: Evan Patterson +implemented the Qt console, and Thomas Kluyver started with our Python 3 port +and by now has made major contributions to just about every area of IPython. We are also grateful for the support we have received during this development cycle from several institutions: - `Enthought Inc`__ funded the development of our new Qt console, an effort that required developing major pieces of underlying infrastructure, which now - power not only the Qt console but also our new parallel machinery. + power not only the Qt console but also our new parallel machinery. We'd like + to thank Eric Jones and Travis Oliphant for their support, as well as Ilan + Schnell for his tireless work integrating and testing IPython in the + `Enthought Python Distribution`_. .. __: http://enthought.com +.. _Enthought Python Distribution: http://www.enthought.com/products/epd.php - Nipy/NIH: funding via the `NiPy project`__ (NIH grant 5R01MH081909-02) helped us jumpstart the development of this series by restructuring the entire @@ -140,8 +148,8 @@ cycle from several institutions: .. __: http://modular.math.washington.edu/grants/compmath09 -- Microsoft's team working on `Python Tools for Visual Studio`__ has worked on - integrating IPython into the plugin for Visual Studio 2010. +- Microsoft's team working on `Python Tools for Visual Studio`__ developed the + integraton of IPython into the Python plugin for Visual Studio 2010. .. __: http://pytools.codeplex.com @@ -172,13 +180,13 @@ comparing the current code to the last point it had in common with the 0.10 series. A huge diff and over 2000 commits make up this development:: git diff $(git merge-base 0.10.2 HEAD) | wc -l - 286077 + 287676 git log $(git merge-base 0.10.2 HEAD) --oneline | wc -l 2046 -Since our move to github, 502 issues were closed, 219 of which were pull -requests and 283 regular issues (see :ref:`below ` for a full +Since our move to github, 510 issues were closed, 225 of which were pull +requests and 285 regular issues (see :ref:`below ` for a full list). Github's pull requests are a fantastic mechanism for reviewing code and building a shared ownership of the project, and we are making enthusiastic use of it. @@ -188,21 +196,15 @@ since we only moved to github for issue tracking in May 2010, but we have no way of collecting statistics on the number of issues closed in the old Launchpad bug tracker prior to that. - -.. _gui_support: - -GUI and plotting support in the terminal ----------------------------------------- - -Todo... - - .. _qtconsole_011: Qt Console ---------- -Todo... +IPython now ships with a Qt application that feels very much like a terminal, +but is in fact a rich GUI that runs an IPython client but supports inline +figures, saving sessions to PDF and HTML, multiline editing with syntax +highlighting, graphical calltips and much more: .. figure:: ../_static/qtconsole.png :width: 400px @@ -212,14 +214,37 @@ Todo... The Qt console for IPython, using inline matplotlib plots. +We hope that many projects will embed this widget, which we've kept +deliberately very lightweight, into their own environments. In the future we +may also offer a slightly more featureful application (with menus and other GUI +elements), but we remain committed to always shipping this easy to embed +widget. + +See the :ref:`Qt console section ` of the docs for a detailed +description of the console's features and use. High-level parallel computing with ZeroMQ ----------------------------------------- -Todo... +We have completely rewritten the Twisted-based code for high-level parallel +computing to work atop our new ZeroMQ architecture. While we realize this will +break compatibility for a number of users, we hope to make the transition as +easy as possible with our docs, and we are convinced the change is worth it. +ZeroMQ provides us with much tighter control over memory, higher performance, +and its communications are impervious to the Python Global Interpreter Lock +because they take place in a system-level C++ thread. The impact of the GIL in +our previous code was something we could simply not work around, given that +Twisted is itself a Python library. So while Twisted is a very capable +framework, we think ZeroMQ fits our needs much better and we hope you will find +the change to be a significant improvement in the long run. + +Our manual contains :ref:`a full description of how to use IPython for parallel +computing `, and the `tutorial`__ presented by Min +Ragan-Kelley at the SciPy 2011 conference provides a hands-on complement to the +reference docs. -http://minrk.github.com/scipy-tutorial-2011 +.. __: http://minrk.github.com/scipy-tutorial-2011 Refactoring @@ -288,6 +313,32 @@ can use escape sequences (``"\xe9\x82"``) to get bytes above 128, or use unicode literals and encode them. This is a limitation of Python 2 which we cannot easily work around. +.. _ms_visual_studio_011: + +Integration with Microsoft Visual Studio +---------------------------------------- + +IPython can be used as the interactive shell in the `Python plugin for +Microsoft Visual Studio`__, as seen here: + +.. figure:: ../_static/ms_visual_studio.png + :width: 500px + :alt: IPython console embedded in Microsoft Visual Studio. + :align: center + :target: ../_static/ms_visual_studio.png + + IPython console embedded in Microsoft Visual Studio. + +The Microsoft team developing this currently has a release candidate out using +IPython 0.11. We will continue to collaborate with them to ensure that as they +approach full release time, the integration with IPython is as smooth as +possible. We'd like to thank Dino Viehland and Shahrokh Mortazavi for the work +they have done towards this feature, as well as Wenming Ye for his support of +our WinHPC features. + +.. __: http://pytools.codeplex.com + + Additional new features ----------------------- @@ -570,17 +621,25 @@ Currently, the deathrow directory contains:: ipy_constants.py ipy_traits_completer.py twshell.py -Other -~~~~~ +Other regressions +~~~~~~~~~~~~~~~~~ * The machinery that adds functionality to the 'sh' profile for using IPython as your system shell has not been updated to use the new APIs. As a result, only the aesthetic (prompt) changes are still implemented. We intend to fix - this by 0.12. + this by 0.12. Tracked as issue 547_. + +.. _547: https://github.com/ipython/ipython/issues/547 * The installation of scripts on Windows was broken without setuptools, so we now depend on setuptools on Windows. We hope to fix setuptools-less - installation, and then remove the setuptools dependency. + installation, and then remove the setuptools dependency. Issue 539_. + +.. _539: https://github.com/ipython/ipython/issues/539 + +* The directory history `_dh` is not saved between sessions. Issue 634_. + +.. _634: https://github.com/ipython/ipython/issues/634 Removed Features @@ -597,7 +656,7 @@ available. exec_lines in the config file. -.. credits_:: +.. _credits_011:: Credits ------- @@ -658,6 +717,7 @@ alphabetical order by first name): * Sathesh Chandra * Satrajit Ghosh * Sebastian Busch +* Skipper Seabold * Stefan van der Walt * Stephan Peijnik * Steven Bethard @@ -685,513 +745,4 @@ alphabetical order by first name): Closed issues ============= -We had 502 total issues closed, 219 pull requests and 283 regular issues, this -is the full list (generated with the script `tools/github_stats.py`). - -Pull requests (219): - -* `596 `_: Irunner -* `598 `_: Fix templates for CrashHandler -* `590 `_: Desktop -* `600 `_: Fix bug with non-ascii reprs inside pretty-printed lists. -* `618 `_: I617 -* `599 `_: Gui Qt example and docs -* `619 `_: manpage update -* `582 `_: Updating sympy profile to match the exec_lines of isympy. -* `578 `_: Check to see if correct source for decorated functions can be displayed -* `589 `_: issue 588 -* `591 `_: simulate shell expansion on %run arguments, at least tilde expansion -* `576 `_: Show message about %paste magic on an IndentationError -* `574 `_: Getcwdu -* `565 `_: don't move old config files, keep nagging the user -* `575 `_: Added more docstrings to IPython.zmq.session. -* `567 `_: fix trailing whitespace from reseting indentation -* `564 `_: Command line args in docs -* `560 `_: reorder qt support in kernel -* `561 `_: command-line suggestions -* `556 `_: qt_for_kernel: use matplotlib rcParams to decide between PyQt4 and PySide -* `557 `_: Update usage.py to newapp -* `555 `_: Rm default old config -* `552 `_: update parallel code for py3k -* `504 `_: Updating string formatting -* `551 `_: Make pylab import all configurable -* `496 `_: Qt editing keybindings -* `550 `_: Support v2 PyQt4 APIs and PySide in kernel's GUI support -* `546 `_: doc update -* `548 `_: Fix sympy profile to work with sympy 0.7. -* `542 `_: issue 440 -* `533 `_: Remove unused configobj and validate libraries from externals. -* `538 `_: fix various tests on Windows -* `540 `_: support `-pylab` flag with deprecation warning -* `537 `_: Docs update -* `536 `_: `setup.py install` depends on setuptools on Windows -* `480 `_: Get help mid-command -* `462 `_: Str and Bytes traitlets -* `534 `_: Handle unicode properly in IPython.zmq.iostream -* `527 `_: ZMQ displayhook -* `526 `_: Handle asynchronous output in Qt console -* `528 `_: Do not import deprecated functions from external decorators library. -* `454 `_: New BaseIPythonApplication -* `532 `_: Zmq unicode -* `531 `_: Fix Parallel test -* `525 `_: fallback on lsof if otool not found in libedit detection -* `517 `_: Merge IPython.parallel.streamsession into IPython.zmq.session -* `521 `_: use dict.get(key) instead of dict[key] for safety from KeyErrors -* `492 `_: add QtConsoleApp using newapplication -* `485 `_: terminal IPython with newapp -* `486 `_: Use newapp in parallel code -* `511 `_: Add a new line before displaying multiline strings in the Qt console. -* `509 `_: i508 -* `501 `_: ignore EINTR in channel loops -* `495 `_: Better selection of Qt bindings when QT_API is not specified -* `498 `_: Check for .pyd as extension for binary files. -* `494 `_: QtConsole zoom adjustments -* `490 `_: fix UnicodeEncodeError writing SVG string to .svg file, fixes #489 -* `491 `_: add QtConsoleApp using newapplication -* `479 `_: embed() doesn't load default config -* `483 `_: Links launchpad -> github -* `419 `_: %xdel magic -* `477 `_: Add \n to lines in the log -* `459 `_: use os.system for shell.system in Terminal frontend -* `475 `_: i473 -* `471 `_: Add test decorator onlyif_unicode_paths. -* `474 `_: Fix support for raw GTK and WX matplotlib backends. -* `472 `_: Kernel event loop is robust against random SIGINT. -* `460 `_: Share code for magic_edit -* `469 `_: Add exit code when running all tests with iptest. -* `464 `_: Add home directory expansion to IPYTHON_DIR environment variables. -* `455 `_: Bugfix with logger -* `448 `_: Separate out skip_doctest decorator -* `453 `_: Draft of new main BaseIPythonApplication. -* `452 `_: Use list/tuple/dict/set subclass's overridden __repr__ instead of the pretty -* `398 `_: allow toggle of svg/png inline figure format -* `381 `_: Support inline PNGs of matplotlib plots -* `413 `_: Retries and Resubmit (#411 and #412) -* `370 `_: Fixes to the display system -* `449 `_: Fix issue 447 - inspecting old-style classes. -* `423 `_: Allow type checking on elements of List,Tuple,Set traits -* `400 `_: Config5 -* `421 `_: Generalise mechanism to put text at the next prompt in the Qt console. -* `443 `_: pinfo code duplication -* `429 `_: add check_pid, and handle stale PID info in ipcluster. -* `431 `_: Fix error message in test_irunner -* `427 `_: handle different SyntaxError messages in test_irunner -* `424 `_: Irunner test failure -* `430 `_: Small parallel doc typo -* `422 `_: Make ipython-qtconsole a GUI script -* `420 `_: Permit kernel std* to be redirected -* `408 `_: History request -* `388 `_: Add Emacs-style kill ring to Qt console -* `414 `_: Warn on old config files -* `415 `_: Prevent prefilter from crashing IPython -* `418 `_: Minor configuration doc fixes -* `407 `_: Update What's new documentation -* `410 `_: Install notebook frontend -* `406 `_: install IPython.zmq.gui -* `393 `_: ipdir unicode -* `397 `_: utils.io.Term.cin/out/err -> utils.io.stdin/out/err -* `389 `_: DB fixes and Scheduler HWM -* `374 `_: Various Windows-related fixes to IPython.parallel -* `362 `_: fallback on defaultencoding if filesystemencoding is None -* `382 `_: Shell's reset method clears namespace from last %run command. -* `385 `_: Update iptest exclusions (fix #375) -* `383 `_: Catch errors in querying readline which occur with pyreadline. -* `373 `_: Remove runlines etc. -* `364 `_: Single output -* `372 `_: Multiline input push -* `363 `_: Issue 125 -* `361 `_: don't rely on setuptools for readline dependency check -* `349 `_: Fix %autopx magic -* `355 `_: History save thread -* `356 `_: Usability improvements to history in Qt console -* `357 `_: Exit autocall -* `353 `_: Rewrite quit()/exit()/Quit()/Exit() calls as magic -* `354 `_: Cell tweaks -* `345 `_: Attempt to address (partly) issue ipython/#342 by rewriting quit(), exit(), etc. -* `352 `_: #342: Try to recover as intelligently as possible if user calls magic(). -* `346 `_: Dedent prefix bugfix + tests: #142 -* `348 `_: %reset doesn't reset prompt number. -* `347 `_: Make ip.reset() work the same in interactive or non-interactive code. -* `343 `_: make readline a dependency on OSX -* `344 `_: restore auto debug behavior -* `339 `_: fix for issue 337: incorrect/phantom tooltips for magics -* `254 `_: newparallel branch (add zmq.parallel submodule) -* `334 `_: Hard reset -* `316 `_: Unicode win process -* `332 `_: AST splitter -* `325 `_: Removetwisted -* `330 `_: Magic pastebin -* `309 `_: Bug tests for GH Issues 238, 284, 306, 307. Skip module machinery if not installed. Known failures reported as 'K' -* `331 `_: Tweak config loader for PyPy compatibility. -* `319 `_: Rewrite code to restore readline history after an action -* `329 `_: Do not store file contents in history when running a .ipy file. -* `179 `_: Html notebook -* `323 `_: Add missing external.pexpect to packages -* `295 `_: Magic local scope -* `315 `_: Unicode magic args -* `310 `_: allow Unicode Command-Line options -* `313 `_: Readline shortcuts -* `311 `_: Qtconsole exit -* `312 `_: History memory -* `294 `_: Issue 290 -* `292 `_: Issue 31 -* `252 `_: Unicode issues -* `235 `_: Fix history magic command's bugs wrt to full history and add -O option to display full history -* `236 `_: History minus p flag -* `261 `_: Adapt magic commands to new history system. -* `282 `_: SQLite history -* `191 `_: Unbundle external libraries -* `199 `_: Magic arguments -* `204 `_: Emacs completion bugfix -* `293 `_: Issue 133 -* `249 `_: Writing unicode characters to a log file. (IPython 0.10.2.git) -* `283 `_: Support for 256-color escape sequences in Qt console -* `281 `_: Refactored and improved Qt console's HTML export facility -* `237 `_: Fix185 (take two) -* `251 `_: Issue 129 -* `278 `_: add basic XDG_CONFIG_HOME support -* `275 `_: inline pylab cuts off labels on log plots -* `280 `_: Add %precision magic -* `259 `_: Pyside support -* `193 `_: Make ipython cProfile-able -* `272 `_: Magic examples -* `219 `_: Doc magic pycat -* `221 `_: Doc magic alias -* `230 `_: Doc magic edit -* `224 `_: Doc magic cpaste -* `229 `_: Doc magic pdef -* `273 `_: Docs build -* `228 `_: Doc magic who -* `233 `_: Doc magic cd -* `226 `_: Doc magic pwd -* `218 `_: Doc magic history -* `231 `_: Doc magic reset -* `225 `_: Doc magic save -* `222 `_: Doc magic timeit -* `223 `_: Doc magic colors -* `203 `_: Small typos in zmq/blockingkernelmanager.py -* `227 `_: Doc magic logon -* `232 `_: Doc magic profile -* `264 `_: Kernel logging -* `220 `_: Doc magic edit -* `268 `_: PyZMQ >= 2.0.10 -* `267 `_: GitHub Pages (again) -* `266 `_: OSX-specific fixes to the Qt console -* `255 `_: Gitwash typo -* `265 `_: Fix string input2 -* `260 `_: Kernel crash with empty history -* `243 `_: New display system -* `242 `_: Fix terminal exit -* `250 `_: always use Session.send -* `239 `_: Makefile command & script for GitHub Pages -* `244 `_: My exit -* `234 `_: Timed history save -* `217 `_: Doc magic lsmagic -* `215 `_: History fix -* `195 `_: Formatters -* `192 `_: Ready colorize bug -* `198 `_: Windows workdir -* `174 `_: Whitespace cleanup -* `188 `_: Version info: update our version management system to use git. -* `158 `_: Ready for merge -* `187 `_: Resolved Print shortcut collision with ctrl-P emacs binding -* `183 `_: cleanup of exit/quit commands for qt console -* `184 `_: Logo added to sphinx docs -* `180 `_: Cleanup old code -* `171 `_: Expose Pygments styles as options -* `170 `_: HTML Fixes -* `172 `_: Fix del method exit test -* `164 `_: Qt frontend shutdown behavior fixes and enhancements -* `167 `_: Added HTML export -* `163 `_: Execution refactor -* `159 `_: Ipy3 preparation -* `155 `_: Ready startup fix -* `152 `_: 0.10.1 sge -* `151 `_: mk_object_info -> object_info -* `149 `_: Simple bug-fix - -Regular issues (283): - -* `617 `_: [qtconsole] %hist doesn't show anything in qtconsole -* `583 `_: update manpages -* `594 `_: irunner command line options defer to file extensions -* `603 `_: Users should see colored text in tracebacks and the pager -* `597 `_: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 -* `608 `_: Organize and layout buttons in the notebook panel sections -* `609 `_: Implement controls in the Kernel panel section -* `611 `_: Add kernel status widget back to notebook -* `610 `_: Implement controls in the Cell section panel -* `612 `_: Implement Help panel section -* `621 `_: [qtconsole] on windows xp, cannot PageUp more than once -* `616 `_: Store exit status of last command -* `605 `_: Users should be able to open different notebooks in the cwd -* `302 `_: Users should see a consistent behavior in the Out prompt in the html notebook -* `435 `_: Notebook should not import anything by default -* `595 `_: qtconsole command issue -* `588 `_: ipython-qtconsole uses 100% CPU -* `586 `_: ? + plot() Command B0rks QTConsole Strangely -* `585 `_: %pdoc throws Errors for classes without __init__ or docstring -* `584 `_: %pdoc throws TypeError -* `580 `_: Client instantiation AssertionError -* `569 `_: UnicodeDecodeError during startup -* `572 `_: Indented command hits error -* `573 `_: -wthread breaks indented top-level statements -* `570 `_: "--pylab inline" vs. "--pylab=inline" -* `566 `_: Can't use exec_file in config file -* `562 `_: update docs to reflect '--args=values' -* `558 `_: triple quote and %s at beginning of line -* `554 `_: Update 0.11 docs to explain Qt console and how to do a clean install -* `553 `_: embed() fails if config files not installed -* `8 `_: Ensure %gui qt works with new Mayavi and pylab -* `269 `_: Provide compatibility api for IPython.Shell().start().mainloop() -* `66 `_: Update the main What's New document to reflect work on 0.11 -* `549 `_: Don't check for 'linux2' value in sys.platform -* `505 `_: Qt windows created within imported functions won't show() -* `545 `_: qtconsole ignores exec_lines -* `371 `_: segfault in qtconsole when kernel quits -* `377 `_: Failure: error (nothing to repeat) -* `544 `_: Ipython qtconsole pylab config issue. -* `543 `_: RuntimeError in completer -* `440 `_: %run filename autocompletion "The kernel heartbeat has been inactive ... " error -* `541 `_: log_level is broken in the ipython Application -* `369 `_: windows source install doesn't create scripts correctly -* `351 `_: Make sure that the Windows installer handles the top-level IPython scripts. -* `512 `_: Two displayhooks in zmq -* `340 `_: Make sure that the Windows HPC scheduler support is working for 0.11 -* `98 `_: Should be able to get help on an object mid-command -* `529 `_: unicode problem in qtconsole for windows -* `476 `_: Separate input area in Qt Console -* `175 `_: Qt console needs configuration support -* `156 `_: Key history lost when debugging program crash -* `470 `_: decorator: uses deprecated features -* `30 `_: readline in OS X does not have correct key bindings -* `503 `_: merge IPython.parallel.streamsession and IPython.zmq.session -* `456 `_: pathname in document punctuated by dots not slashes -* `451 `_: Allow switching the default image format for inline mpl backend -* `79 `_: Implement more robust handling of config stages in Application -* `522 `_: Encoding problems -* `524 `_: otool should not be unconditionally called on osx -* `523 `_: Get profile and config file inheritance working -* `519 `_: qtconsole --pure: "TypeError: string indices must be integers, not str" -* `516 `_: qtconsole --pure: "KeyError: 'ismagic'" -* `520 `_: qtconsole --pure: "TypeError: string indices must be integers, not str" -* `450 `_: resubmitted tasks sometimes stuck as pending -* `518 `_: JSON serialization problems with ObjectId type (MongoDB) -* `178 `_: Channels should be named for their function, not their socket type -* `515 `_: [ipcluster] termination on os x -* `510 `_: qtconsole: indentation problem printing numpy arrays -* `508 `_: "AssertionError: Missing message part." in ipython-qtconsole --pure -* `499 `_: "ZMQError: Interrupted system call" when saving inline figure -* `426 `_: %edit magic fails in qtconsole -* `497 `_: Don't show info from .pyd files -* `493 `_: QFont::setPointSize: Point size <= 0 (0), must be greater than 0 -* `489 `_: UnicodeEncodeError in qt.svg.save_svg -* `458 `_: embed() doesn't load default config -* `488 `_: Using IPython with RubyPython leads to problems with IPython.parallel.client.client.Client.__init() -* `401 `_: Race condition when running lbview.apply() fast multiple times in loop -* `168 `_: Scrub Launchpad links from code, docs -* `141 `_: garbage collection problem (revisited) -* `59 `_: test_magic.test_obj_del fails on win32 -* `457 `_: Backgrounded Tasks not Allowed? (but easy to slip by . . .) -* `297 `_: Shouldn't use pexpect for subprocesses in in-process terminal frontend -* `110 `_: magic to return exit status -* `473 `_: OSX readline detection fails in the debugger -* `466 `_: tests fail without unicode filename support -* `468 `_: iptest script has 0 exit code even when tests fail -* `465 `_: client.db_query() behaves different with SQLite and MongoDB -* `467 `_: magic_install_default_config test fails when there is no .ipython directory -* `463 `_: IPYTHON_DIR (and IPYTHONDIR) don't expand tilde to '~' directory -* `446 `_: Test machinery is imported at normal runtime -* `438 `_: Users should be able to use Up/Down for cell navigation -* `439 `_: Users should be able to copy notebook input and output -* `291 `_: Rename special display methods and put them lower in priority than display functions -* `447 `_: Instantiating classes without __init__ function causes kernel to crash -* `444 `_: Ctrl + t in WxIPython Causes Unexpected Behavior -* `445 `_: qt and console Based Startup Errors -* `428 `_: ipcluster doesn't handle stale pid info well -* `434 `_: 10.0.2 seg fault with rpy2 -* `441 `_: Allow running a block of code in a file -* `432 `_: Silent request fails -* `409 `_: Test failure in IPython.lib -* `402 `_: History section of messaging spec is incorrect -* `88 `_: Error when inputting UTF8 CJK characters -* `366 `_: Ctrl-K should kill line and store it, so that Ctrl-y can yank it back -* `425 `_: typo in %gui magic help -* `304 `_: Persistent warnings if old configuration files exist -* `216 `_: crash of ipython when alias is used with %s and echo -* `412 `_: add support to automatic retry of tasks -* `411 `_: add support to continue tasks -* `417 `_: IPython should display things unsorted if it can't sort them -* `416 `_: wrong encode when printing unicode string -* `376 `_: Failing InputsplitterTest -* `405 `_: TraitError in traitlets.py(332) on any input -* `392 `_: UnicodeEncodeError on start -* `137 `_: sys.getfilesystemencoding return value not checked -* `300 `_: Users should be able to manage kernels and kernel sessions from the notebook UI -* `301 `_: Users should have access to working Kernel, Tabs, Edit, Help menus in the notebook -* `396 `_: cursor move triggers a lot of IO access -* `379 `_: Minor doc nit: --paging argument -* `399 `_: Add task queue limit in engine when load-balancing -* `78 `_: StringTask won't take unicode code strings -* `391 `_: MongoDB.add_record() does not work in 0.11dev -* `365 `_: newparallel on Windows -* `386 `_: FAIL: test that pushed functions have access to globals -* `387 `_: Interactively defined functions can't access user namespace -* `118 `_: Snow Leopard ipy_vimserver POLL error -* `394 `_: System escape interpreted in multi-line string -* `26 `_: find_job_cmd is too hasty to fail on Windows -* `368 `_: Installation instructions in dev docs are completely wrong -* `380 `_: qtconsole pager RST - HTML not happening consistently -* `367 `_: Qt console doesn't support ibus input method -* `375 `_: Missing libraries cause ImportError in tests -* `71 `_: temp file errors in iptest IPython.core -* `350 `_: Decide how to handle displayhook being triggered multiple times -* `360 `_: Remove `runlines` method -* `125 `_: Exec lines in config should not contribute to line numbering or history -* `20 `_: Robust readline support on OS X's builtin Python -* `147 `_: On Windows, %page is being too restrictive to split line by \r\n only -* `326 `_: Update docs and examples for parallel stuff to reflect movement away from Twisted -* `341 `_: FIx Parallel Magics for newparallel -* `338 `_: Usability improvements to Qt console -* `142 `_: unexpected auto-indenting when varibles names that start with 'pass' -* `296 `_: Automatic PDB via %pdb doesn't work -* `337 `_: exit( and quit( in Qt console produces phantom signature/docstring popup, even though quit() or exit() raises NameError -* `318 `_: %debug broken in master: invokes missing save_history() method -* `307 `_: lines ending with semicolon should not go to cache -* `104 `_: have ipengine run start-up scripts before registering with the controller -* `33 `_: The skip_doctest decorator is failing to work on Shell.MatplotlibShellBase.magic_run -* `336 `_: Missing figure development/figs/iopubfade.png for docs -* `49 `_: %clear should also delete _NN references and Out[NN] ones -* `335 `_: using setuptools installs every script twice -* `306 `_: multiline strings at end of input cause noop -* `327 `_: PyPy compatibility -* `328 `_: %run script.ipy raises "ERROR! Session/line number was not unique in database." -* `7 `_: Update the changes doc to reflect the kernel config work -* `303 `_: Users should be able to scroll a notebook w/o moving the menu/buttons -* `322 `_: Embedding an interactive IPython shell -* `321 `_: %debug broken in master -* `287 `_: Crash when using %macros in sqlite-history branch -* `55 `_: Can't edit files whose names begin with numbers -* `284 `_: In variable no longer works in 0.11 -* `92 `_: Using multiprocessing module crashes parallel iPython -* `262 `_: Fail to recover history after force-kill. -* `320 `_: Tab completing re.search objects crashes IPython -* `317 `_: IPython.kernel: parallel map issues -* `197 `_: ipython-qtconsole unicode problem in magic ls -* `305 `_: more readline shortcuts in qtconsole -* `314 `_: Multi-line, multi-block cells can't be executed. -* `308 `_: Test suite should set sqlite history to work in :memory: -* `202 `_: Matplotlib native 'MacOSX' backend broken in '-pylab' mode -* `196 `_: IPython can't deal with unicode file name. -* `25 `_: unicode bug - encoding input -* `290 `_: try/except/else clauses can't be typed, code input stops too early. -* `43 `_: Implement SSH support in ipcluster -* `6 `_: Update the Sphinx docs for the new ipcluster -* `9 `_: Getting "DeadReferenceError: Calling Stale Broker" after ipcontroller restart -* `132 `_: Ipython prevent south from working -* `27 `_: generics.complete_object broken -* `60 `_: Improve absolute import management for iptest.py -* `31 `_: Issues in magic_whos code -* `52 `_: Document testing process better -* `44 `_: Merge history from multiple sessions -* `182 `_: ipython q4thread in version 10.1 not starting properly -* `143 `_: Ipython.gui.wx.ipython_view.IPShellWidget: ignores user*_ns arguments -* `127 `_: %edit does not work on filenames consisted of pure numbers -* `126 `_: Can't transfer command line argument to script -* `28 `_: Offer finer control for initialization of input streams -* `58 `_: ipython change char '0xe9' to 4 spaces -* `68 `_: Problems with Control-C stopping ipcluster on Windows/Python2.6 -* `24 `_: ipcluster does not start all the engines -* `240 `_: Incorrect method displayed in %psource -* `120 `_: inspect.getsource fails for functions defined on command line -* `212 `_: IPython ignores exceptions in the first evaulation of class attrs -* `108 `_: ipython disables python logger -* `100 `_: Overzealous introspection -* `18 `_: %cpaste freeze sync frontend -* `200 `_: Unicode error when starting ipython in a folder with non-ascii path -* `130 `_: Deadlock when importing a module that creates an IPython client -* `134 `_: multline block scrolling -* `46 `_: Input to %timeit is not preparsed -* `285 `_: ipcluster local -n 4 fails -* `205 `_: In the Qt console, Tab should insert 4 spaces when not completing -* `145 `_: Bug on MSW sytems: idle can not be set as default IPython editor. Fix Suggested. -* `77 `_: ipython oops in cygwin -* `121 `_: If plot windows are closed via window controls, no more plotting is possible. -* `111 `_: Iterator version of TaskClient.map() that returns results as they become available -* `109 `_: WinHPCLauncher is a hard dependency that causes errors in the test suite -* `86 `_: Make IPython work with multiprocessing -* `15 `_: Implement SGE support in ipcluster -* `3 `_: Implement PBS support in ipcluster -* `53 `_: Internal Python error in the inspect module -* `74 `_: Manager() [from multiprocessing module] hangs ipythonx but not ipython -* `51 `_: Out not working with ipythonx -* `201 `_: use session.send throughout zmq code -* `115 `_: multiline specials not defined in 0.11 branch -* `93 `_: when looping, cursor appears at leftmost point in newline -* `133 `_: whitespace after Source introspection -* `50 `_: Ctrl-C with -gthread on Windows, causes uncaught IOError -* `65 `_: Do not use .message attributes in exceptions, deprecated in 2.6 -* `76 `_: syntax error when raise is inside except process -* `107 `_: bdist_rpm causes traceback looking for a non-existant file -* `113 `_: initial magic ? (question mark) fails before wildcard -* `128 `_: Pdb instance has no attribute 'curframe' -* `139 `_: running with -pylab pollutes namespace -* `140 `_: malloc error during tab completion of numpy array member functions starting with 'c' -* `153 `_: ipy_vimserver traceback on Windows -* `154 `_: using ipython in Slicer3 show how os.environ['HOME'] is not defined -* `185 `_: show() blocks in pylab mode with ipython 0.10.1 -* `189 `_: Crash on tab completion -* `274 `_: bashism in sshx.sh -* `276 `_: Calling `sip.setapi` does not work if app has already imported from PyQt4 -* `277 `_: matplotlib.image imgshow from 10.1 segfault -* `288 `_: Incorrect docstring in zmq/kernelmanager.py -* `286 `_: Fix IPython.Shell compatibility layer -* `99 `_: blank lines in history -* `129 `_: psearch: TypeError: expected string or buffer -* `190 `_: Add option to format float point output -* `246 `_: Application not conforms XDG Base Directory Specification -* `48 `_: IPython should follow the XDG Base Directory spec for configuration -* `176 `_: Make client-side history persistence readline-independent -* `279 `_: Backtraces when using ipdb do not respect -colour LightBG setting -* `119 `_: Broken type filter in magic_who_ls -* `271 `_: Intermittent problem with print output in Qt console. -* `270 `_: Small typo in IPython developer’s guide -* `166 `_: Add keyboard accelerators to Qt close dialog -* `173 `_: asymmetrical ctrl-A/ctrl-E behavior in multiline -* `45 `_: Autosave history for robustness -* `162 `_: make command history persist in ipythonqt -* `161 `_: make ipythonqt exit without dialog when exit() is called -* `263 `_: [ipython + numpy] Some test errors -* `256 `_: reset docstring ipython 0.10 -* `258 `_: allow caching to avoid matplotlib object referrences -* `248 `_: Can't open and read files after upgrade from 0.10 to 0.10.0 -* `247 `_: ipython + Stackless -* `245 `_: Magic save and macro missing newlines, line ranges don't match prompt numbers. -* `241 `_: "exit" hangs on terminal version of IPython -* `213 `_: ipython -pylab no longer plots interactively on 0.10.1 -* `4 `_: wx frontend don't display well commands output -* `5 `_: ls command not supported in ipythonx wx frontend -* `1 `_: Document winhpcjob.py and launcher.py -* `83 `_: Usage of testing.util.DeferredTestCase should be replace with twisted.trial.unittest.TestCase -* `117 `_: Redesign how Component instances are tracked and queried -* `47 `_: IPython.kernel.client cannot be imported inside an engine -* `105 `_: Refactor the task dependencies system -* `210 `_: 0.10.1 doc mistake - New IPython Sphinx directive error -* `209 `_: can't activate IPython parallel magics -* `206 `_: Buggy linewrap in Mac OSX Terminal -* `194 `_: !sudo displays password in plain text -* `186 `_: %edit issue under OS X 10.5 - IPython 0.10.1 -* `11 `_: Create a daily build PPA for ipython -* `144 `_: logo missing from sphinx docs -* `181 `_: cls command does not work on windows -* `169 `_: Kernel can only be bound to localhost -* `36 `_: tab completion does not escape () -* `177 `_: Report tracebacks of interactively entered input -* `148 `_: dictionary having multiple keys having frozenset fails to print on iPython -* `160 `_: magic_gui throws TypeError when gui magic is used -* `150 `_: History entries ending with parentheses corrupt command line on OS X 10.6.4 -* `146 `_: -ipythondir - using an alternative .ipython dir for rc type stuff -* `114 `_: Interactive strings get mangled with "_ip.magic" -* `135 `_: crash on invalid print -* `69 `_: Usage of "mycluster" profile in docs and examples -* `37 `_: Fix colors in output of ResultList on Windows +.. include:: github-stats-011.txt