##// END OF EJS Templates
Split closed issues list into standalone file, minor doc updates.
Fernando Perez -
Show More
@@ -1,521 +1,528 b''
1 We closed a total of 510 issues, 225 pull requests and 285 regular issues; this
2 is the full list (generated with the script `tools/github_stats.py`). We should
3 note that a few of these were made on the 0.10.x series, but we have no
4 automatic way of filtering the issues by branch, so this reflects all of our
5 development over the last two years, including work already released in 0.10.2:
1 .. _issues_list_011:
6 2
7 Pull requests (225):
3 Issues closed in the 0.11 development cycle
4 ===========================================
8 5
6 In this cycle, we closed a total of 511 issues, 226 pull requests and 285
7 regular issues; this is the full list (generated with the script
8 `tools/github_stats.py`). We should note that a few of these were made on the
9 0.10.x series, but we have no automatic way of filtering the issues by branch,
10 so this reflects all of our development over the last two years, including work
11 already released in 0.10.2:
12
13 Pull requests (226):
14
15 * `620 <https://github.com/ipython/ipython/issues/620>`_: Release notes and updates to GUI support docs for 0.11
9 16 * `642 <https://github.com/ipython/ipython/issues/642>`_: fix typo in docs/examples/vim/README.rst
10 17 * `631 <https://github.com/ipython/ipython/issues/631>`_: two-way vim-ipython integration
11 18 * `637 <https://github.com/ipython/ipython/issues/637>`_: print is a function, this allows to properly exit ipython
12 19 * `635 <https://github.com/ipython/ipython/issues/635>`_: support html representations in the notebook frontend
13 20 * `639 <https://github.com/ipython/ipython/issues/639>`_: Updating the credits file
14 21 * `628 <https://github.com/ipython/ipython/issues/628>`_: import pexpect from IPython.external in irunner
15 22 * `596 <https://github.com/ipython/ipython/issues/596>`_: Irunner
16 23 * `598 <https://github.com/ipython/ipython/issues/598>`_: Fix templates for CrashHandler
17 24 * `590 <https://github.com/ipython/ipython/issues/590>`_: Desktop
18 25 * `600 <https://github.com/ipython/ipython/issues/600>`_: Fix bug with non-ascii reprs inside pretty-printed lists.
19 26 * `618 <https://github.com/ipython/ipython/issues/618>`_: I617
20 27 * `599 <https://github.com/ipython/ipython/issues/599>`_: Gui Qt example and docs
21 28 * `619 <https://github.com/ipython/ipython/issues/619>`_: manpage update
22 29 * `582 <https://github.com/ipython/ipython/issues/582>`_: Updating sympy profile to match the exec_lines of isympy.
23 30 * `578 <https://github.com/ipython/ipython/issues/578>`_: Check to see if correct source for decorated functions can be displayed
24 31 * `589 <https://github.com/ipython/ipython/issues/589>`_: issue 588
25 32 * `591 <https://github.com/ipython/ipython/issues/591>`_: simulate shell expansion on %run arguments, at least tilde expansion
26 33 * `576 <https://github.com/ipython/ipython/issues/576>`_: Show message about %paste magic on an IndentationError
27 34 * `574 <https://github.com/ipython/ipython/issues/574>`_: Getcwdu
28 35 * `565 <https://github.com/ipython/ipython/issues/565>`_: don't move old config files, keep nagging the user
29 36 * `575 <https://github.com/ipython/ipython/issues/575>`_: Added more docstrings to IPython.zmq.session.
30 37 * `567 <https://github.com/ipython/ipython/issues/567>`_: fix trailing whitespace from reseting indentation
31 38 * `564 <https://github.com/ipython/ipython/issues/564>`_: Command line args in docs
32 39 * `560 <https://github.com/ipython/ipython/issues/560>`_: reorder qt support in kernel
33 40 * `561 <https://github.com/ipython/ipython/issues/561>`_: command-line suggestions
34 41 * `556 <https://github.com/ipython/ipython/issues/556>`_: qt_for_kernel: use matplotlib rcParams to decide between PyQt4 and PySide
35 42 * `557 <https://github.com/ipython/ipython/issues/557>`_: Update usage.py to newapp
36 43 * `555 <https://github.com/ipython/ipython/issues/555>`_: Rm default old config
37 44 * `552 <https://github.com/ipython/ipython/issues/552>`_: update parallel code for py3k
38 45 * `504 <https://github.com/ipython/ipython/issues/504>`_: Updating string formatting
39 46 * `551 <https://github.com/ipython/ipython/issues/551>`_: Make pylab import all configurable
40 47 * `496 <https://github.com/ipython/ipython/issues/496>`_: Qt editing keybindings
41 48 * `550 <https://github.com/ipython/ipython/issues/550>`_: Support v2 PyQt4 APIs and PySide in kernel's GUI support
42 49 * `546 <https://github.com/ipython/ipython/issues/546>`_: doc update
43 50 * `548 <https://github.com/ipython/ipython/issues/548>`_: Fix sympy profile to work with sympy 0.7.
44 51 * `542 <https://github.com/ipython/ipython/issues/542>`_: issue 440
45 52 * `533 <https://github.com/ipython/ipython/issues/533>`_: Remove unused configobj and validate libraries from externals.
46 53 * `538 <https://github.com/ipython/ipython/issues/538>`_: fix various tests on Windows
47 54 * `540 <https://github.com/ipython/ipython/issues/540>`_: support `-pylab` flag with deprecation warning
48 55 * `537 <https://github.com/ipython/ipython/issues/537>`_: Docs update
49 56 * `536 <https://github.com/ipython/ipython/issues/536>`_: `setup.py install` depends on setuptools on Windows
50 57 * `480 <https://github.com/ipython/ipython/issues/480>`_: Get help mid-command
51 58 * `462 <https://github.com/ipython/ipython/issues/462>`_: Str and Bytes traitlets
52 59 * `534 <https://github.com/ipython/ipython/issues/534>`_: Handle unicode properly in IPython.zmq.iostream
53 60 * `527 <https://github.com/ipython/ipython/issues/527>`_: ZMQ displayhook
54 61 * `526 <https://github.com/ipython/ipython/issues/526>`_: Handle asynchronous output in Qt console
55 62 * `528 <https://github.com/ipython/ipython/issues/528>`_: Do not import deprecated functions from external decorators library.
56 63 * `454 <https://github.com/ipython/ipython/issues/454>`_: New BaseIPythonApplication
57 64 * `532 <https://github.com/ipython/ipython/issues/532>`_: Zmq unicode
58 65 * `531 <https://github.com/ipython/ipython/issues/531>`_: Fix Parallel test
59 66 * `525 <https://github.com/ipython/ipython/issues/525>`_: fallback on lsof if otool not found in libedit detection
60 67 * `517 <https://github.com/ipython/ipython/issues/517>`_: Merge IPython.parallel.streamsession into IPython.zmq.session
61 68 * `521 <https://github.com/ipython/ipython/issues/521>`_: use dict.get(key) instead of dict[key] for safety from KeyErrors
62 69 * `492 <https://github.com/ipython/ipython/issues/492>`_: add QtConsoleApp using newapplication
63 70 * `485 <https://github.com/ipython/ipython/issues/485>`_: terminal IPython with newapp
64 71 * `486 <https://github.com/ipython/ipython/issues/486>`_: Use newapp in parallel code
65 72 * `511 <https://github.com/ipython/ipython/issues/511>`_: Add a new line before displaying multiline strings in the Qt console.
66 73 * `509 <https://github.com/ipython/ipython/issues/509>`_: i508
67 74 * `501 <https://github.com/ipython/ipython/issues/501>`_: ignore EINTR in channel loops
68 75 * `495 <https://github.com/ipython/ipython/issues/495>`_: Better selection of Qt bindings when QT_API is not specified
69 76 * `498 <https://github.com/ipython/ipython/issues/498>`_: Check for .pyd as extension for binary files.
70 77 * `494 <https://github.com/ipython/ipython/issues/494>`_: QtConsole zoom adjustments
71 78 * `490 <https://github.com/ipython/ipython/issues/490>`_: fix UnicodeEncodeError writing SVG string to .svg file, fixes #489
72 79 * `491 <https://github.com/ipython/ipython/issues/491>`_: add QtConsoleApp using newapplication
73 80 * `479 <https://github.com/ipython/ipython/issues/479>`_: embed() doesn't load default config
74 81 * `483 <https://github.com/ipython/ipython/issues/483>`_: Links launchpad -> github
75 82 * `419 <https://github.com/ipython/ipython/issues/419>`_: %xdel magic
76 83 * `477 <https://github.com/ipython/ipython/issues/477>`_: Add \n to lines in the log
77 84 * `459 <https://github.com/ipython/ipython/issues/459>`_: use os.system for shell.system in Terminal frontend
78 85 * `475 <https://github.com/ipython/ipython/issues/475>`_: i473
79 86 * `471 <https://github.com/ipython/ipython/issues/471>`_: Add test decorator onlyif_unicode_paths.
80 87 * `474 <https://github.com/ipython/ipython/issues/474>`_: Fix support for raw GTK and WX matplotlib backends.
81 88 * `472 <https://github.com/ipython/ipython/issues/472>`_: Kernel event loop is robust against random SIGINT.
82 89 * `460 <https://github.com/ipython/ipython/issues/460>`_: Share code for magic_edit
83 90 * `469 <https://github.com/ipython/ipython/issues/469>`_: Add exit code when running all tests with iptest.
84 91 * `464 <https://github.com/ipython/ipython/issues/464>`_: Add home directory expansion to IPYTHON_DIR environment variables.
85 92 * `455 <https://github.com/ipython/ipython/issues/455>`_: Bugfix with logger
86 93 * `448 <https://github.com/ipython/ipython/issues/448>`_: Separate out skip_doctest decorator
87 94 * `453 <https://github.com/ipython/ipython/issues/453>`_: Draft of new main BaseIPythonApplication.
88 95 * `452 <https://github.com/ipython/ipython/issues/452>`_: Use list/tuple/dict/set subclass's overridden __repr__ instead of the pretty
89 96 * `398 <https://github.com/ipython/ipython/issues/398>`_: allow toggle of svg/png inline figure format
90 97 * `381 <https://github.com/ipython/ipython/issues/381>`_: Support inline PNGs of matplotlib plots
91 98 * `413 <https://github.com/ipython/ipython/issues/413>`_: Retries and Resubmit (#411 and #412)
92 99 * `370 <https://github.com/ipython/ipython/issues/370>`_: Fixes to the display system
93 100 * `449 <https://github.com/ipython/ipython/issues/449>`_: Fix issue 447 - inspecting old-style classes.
94 101 * `423 <https://github.com/ipython/ipython/issues/423>`_: Allow type checking on elements of List,Tuple,Set traits
95 102 * `400 <https://github.com/ipython/ipython/issues/400>`_: Config5
96 103 * `421 <https://github.com/ipython/ipython/issues/421>`_: Generalise mechanism to put text at the next prompt in the Qt console.
97 104 * `443 <https://github.com/ipython/ipython/issues/443>`_: pinfo code duplication
98 105 * `429 <https://github.com/ipython/ipython/issues/429>`_: add check_pid, and handle stale PID info in ipcluster.
99 106 * `431 <https://github.com/ipython/ipython/issues/431>`_: Fix error message in test_irunner
100 107 * `427 <https://github.com/ipython/ipython/issues/427>`_: handle different SyntaxError messages in test_irunner
101 108 * `424 <https://github.com/ipython/ipython/issues/424>`_: Irunner test failure
102 109 * `430 <https://github.com/ipython/ipython/issues/430>`_: Small parallel doc typo
103 110 * `422 <https://github.com/ipython/ipython/issues/422>`_: Make ipython-qtconsole a GUI script
104 111 * `420 <https://github.com/ipython/ipython/issues/420>`_: Permit kernel std* to be redirected
105 112 * `408 <https://github.com/ipython/ipython/issues/408>`_: History request
106 113 * `388 <https://github.com/ipython/ipython/issues/388>`_: Add Emacs-style kill ring to Qt console
107 114 * `414 <https://github.com/ipython/ipython/issues/414>`_: Warn on old config files
108 115 * `415 <https://github.com/ipython/ipython/issues/415>`_: Prevent prefilter from crashing IPython
109 116 * `418 <https://github.com/ipython/ipython/issues/418>`_: Minor configuration doc fixes
110 117 * `407 <https://github.com/ipython/ipython/issues/407>`_: Update What's new documentation
111 118 * `410 <https://github.com/ipython/ipython/issues/410>`_: Install notebook frontend
112 119 * `406 <https://github.com/ipython/ipython/issues/406>`_: install IPython.zmq.gui
113 120 * `393 <https://github.com/ipython/ipython/issues/393>`_: ipdir unicode
114 121 * `397 <https://github.com/ipython/ipython/issues/397>`_: utils.io.Term.cin/out/err -> utils.io.stdin/out/err
115 122 * `389 <https://github.com/ipython/ipython/issues/389>`_: DB fixes and Scheduler HWM
116 123 * `374 <https://github.com/ipython/ipython/issues/374>`_: Various Windows-related fixes to IPython.parallel
117 124 * `362 <https://github.com/ipython/ipython/issues/362>`_: fallback on defaultencoding if filesystemencoding is None
118 125 * `382 <https://github.com/ipython/ipython/issues/382>`_: Shell's reset method clears namespace from last %run command.
119 126 * `385 <https://github.com/ipython/ipython/issues/385>`_: Update iptest exclusions (fix #375)
120 127 * `383 <https://github.com/ipython/ipython/issues/383>`_: Catch errors in querying readline which occur with pyreadline.
121 128 * `373 <https://github.com/ipython/ipython/issues/373>`_: Remove runlines etc.
122 129 * `364 <https://github.com/ipython/ipython/issues/364>`_: Single output
123 130 * `372 <https://github.com/ipython/ipython/issues/372>`_: Multiline input push
124 131 * `363 <https://github.com/ipython/ipython/issues/363>`_: Issue 125
125 132 * `361 <https://github.com/ipython/ipython/issues/361>`_: don't rely on setuptools for readline dependency check
126 133 * `349 <https://github.com/ipython/ipython/issues/349>`_: Fix %autopx magic
127 134 * `355 <https://github.com/ipython/ipython/issues/355>`_: History save thread
128 135 * `356 <https://github.com/ipython/ipython/issues/356>`_: Usability improvements to history in Qt console
129 136 * `357 <https://github.com/ipython/ipython/issues/357>`_: Exit autocall
130 137 * `353 <https://github.com/ipython/ipython/issues/353>`_: Rewrite quit()/exit()/Quit()/Exit() calls as magic
131 138 * `354 <https://github.com/ipython/ipython/issues/354>`_: Cell tweaks
132 139 * `345 <https://github.com/ipython/ipython/issues/345>`_: Attempt to address (partly) issue ipython/#342 by rewriting quit(), exit(), etc.
133 140 * `352 <https://github.com/ipython/ipython/issues/352>`_: #342: Try to recover as intelligently as possible if user calls magic().
134 141 * `346 <https://github.com/ipython/ipython/issues/346>`_: Dedent prefix bugfix + tests: #142
135 142 * `348 <https://github.com/ipython/ipython/issues/348>`_: %reset doesn't reset prompt number.
136 143 * `347 <https://github.com/ipython/ipython/issues/347>`_: Make ip.reset() work the same in interactive or non-interactive code.
137 144 * `343 <https://github.com/ipython/ipython/issues/343>`_: make readline a dependency on OSX
138 145 * `344 <https://github.com/ipython/ipython/issues/344>`_: restore auto debug behavior
139 146 * `339 <https://github.com/ipython/ipython/issues/339>`_: fix for issue 337: incorrect/phantom tooltips for magics
140 147 * `254 <https://github.com/ipython/ipython/issues/254>`_: newparallel branch (add zmq.parallel submodule)
141 148 * `334 <https://github.com/ipython/ipython/issues/334>`_: Hard reset
142 149 * `316 <https://github.com/ipython/ipython/issues/316>`_: Unicode win process
143 150 * `332 <https://github.com/ipython/ipython/issues/332>`_: AST splitter
144 151 * `325 <https://github.com/ipython/ipython/issues/325>`_: Removetwisted
145 152 * `330 <https://github.com/ipython/ipython/issues/330>`_: Magic pastebin
146 153 * `309 <https://github.com/ipython/ipython/issues/309>`_: Bug tests for GH Issues 238, 284, 306, 307. Skip module machinery if not installed. Known failures reported as 'K'
147 154 * `331 <https://github.com/ipython/ipython/issues/331>`_: Tweak config loader for PyPy compatibility.
148 155 * `319 <https://github.com/ipython/ipython/issues/319>`_: Rewrite code to restore readline history after an action
149 156 * `329 <https://github.com/ipython/ipython/issues/329>`_: Do not store file contents in history when running a .ipy file.
150 157 * `179 <https://github.com/ipython/ipython/issues/179>`_: Html notebook
151 158 * `323 <https://github.com/ipython/ipython/issues/323>`_: Add missing external.pexpect to packages
152 159 * `295 <https://github.com/ipython/ipython/issues/295>`_: Magic local scope
153 160 * `315 <https://github.com/ipython/ipython/issues/315>`_: Unicode magic args
154 161 * `310 <https://github.com/ipython/ipython/issues/310>`_: allow Unicode Command-Line options
155 162 * `313 <https://github.com/ipython/ipython/issues/313>`_: Readline shortcuts
156 163 * `311 <https://github.com/ipython/ipython/issues/311>`_: Qtconsole exit
157 164 * `312 <https://github.com/ipython/ipython/issues/312>`_: History memory
158 165 * `294 <https://github.com/ipython/ipython/issues/294>`_: Issue 290
159 166 * `292 <https://github.com/ipython/ipython/issues/292>`_: Issue 31
160 167 * `252 <https://github.com/ipython/ipython/issues/252>`_: Unicode issues
161 168 * `235 <https://github.com/ipython/ipython/issues/235>`_: Fix history magic command's bugs wrt to full history and add -O option to display full history
162 169 * `236 <https://github.com/ipython/ipython/issues/236>`_: History minus p flag
163 170 * `261 <https://github.com/ipython/ipython/issues/261>`_: Adapt magic commands to new history system.
164 171 * `282 <https://github.com/ipython/ipython/issues/282>`_: SQLite history
165 172 * `191 <https://github.com/ipython/ipython/issues/191>`_: Unbundle external libraries
166 173 * `199 <https://github.com/ipython/ipython/issues/199>`_: Magic arguments
167 174 * `204 <https://github.com/ipython/ipython/issues/204>`_: Emacs completion bugfix
168 175 * `293 <https://github.com/ipython/ipython/issues/293>`_: Issue 133
169 176 * `249 <https://github.com/ipython/ipython/issues/249>`_: Writing unicode characters to a log file. (IPython 0.10.2.git)
170 177 * `283 <https://github.com/ipython/ipython/issues/283>`_: Support for 256-color escape sequences in Qt console
171 178 * `281 <https://github.com/ipython/ipython/issues/281>`_: Refactored and improved Qt console's HTML export facility
172 179 * `237 <https://github.com/ipython/ipython/issues/237>`_: Fix185 (take two)
173 180 * `251 <https://github.com/ipython/ipython/issues/251>`_: Issue 129
174 181 * `278 <https://github.com/ipython/ipython/issues/278>`_: add basic XDG_CONFIG_HOME support
175 182 * `275 <https://github.com/ipython/ipython/issues/275>`_: inline pylab cuts off labels on log plots
176 183 * `280 <https://github.com/ipython/ipython/issues/280>`_: Add %precision magic
177 184 * `259 <https://github.com/ipython/ipython/issues/259>`_: Pyside support
178 185 * `193 <https://github.com/ipython/ipython/issues/193>`_: Make ipython cProfile-able
179 186 * `272 <https://github.com/ipython/ipython/issues/272>`_: Magic examples
180 187 * `219 <https://github.com/ipython/ipython/issues/219>`_: Doc magic pycat
181 188 * `221 <https://github.com/ipython/ipython/issues/221>`_: Doc magic alias
182 189 * `230 <https://github.com/ipython/ipython/issues/230>`_: Doc magic edit
183 190 * `224 <https://github.com/ipython/ipython/issues/224>`_: Doc magic cpaste
184 191 * `229 <https://github.com/ipython/ipython/issues/229>`_: Doc magic pdef
185 192 * `273 <https://github.com/ipython/ipython/issues/273>`_: Docs build
186 193 * `228 <https://github.com/ipython/ipython/issues/228>`_: Doc magic who
187 194 * `233 <https://github.com/ipython/ipython/issues/233>`_: Doc magic cd
188 195 * `226 <https://github.com/ipython/ipython/issues/226>`_: Doc magic pwd
189 196 * `218 <https://github.com/ipython/ipython/issues/218>`_: Doc magic history
190 197 * `231 <https://github.com/ipython/ipython/issues/231>`_: Doc magic reset
191 198 * `225 <https://github.com/ipython/ipython/issues/225>`_: Doc magic save
192 199 * `222 <https://github.com/ipython/ipython/issues/222>`_: Doc magic timeit
193 200 * `223 <https://github.com/ipython/ipython/issues/223>`_: Doc magic colors
194 201 * `203 <https://github.com/ipython/ipython/issues/203>`_: Small typos in zmq/blockingkernelmanager.py
195 202 * `227 <https://github.com/ipython/ipython/issues/227>`_: Doc magic logon
196 203 * `232 <https://github.com/ipython/ipython/issues/232>`_: Doc magic profile
197 204 * `264 <https://github.com/ipython/ipython/issues/264>`_: Kernel logging
198 205 * `220 <https://github.com/ipython/ipython/issues/220>`_: Doc magic edit
199 206 * `268 <https://github.com/ipython/ipython/issues/268>`_: PyZMQ >= 2.0.10
200 207 * `267 <https://github.com/ipython/ipython/issues/267>`_: GitHub Pages (again)
201 208 * `266 <https://github.com/ipython/ipython/issues/266>`_: OSX-specific fixes to the Qt console
202 209 * `255 <https://github.com/ipython/ipython/issues/255>`_: Gitwash typo
203 210 * `265 <https://github.com/ipython/ipython/issues/265>`_: Fix string input2
204 211 * `260 <https://github.com/ipython/ipython/issues/260>`_: Kernel crash with empty history
205 212 * `243 <https://github.com/ipython/ipython/issues/243>`_: New display system
206 213 * `242 <https://github.com/ipython/ipython/issues/242>`_: Fix terminal exit
207 214 * `250 <https://github.com/ipython/ipython/issues/250>`_: always use Session.send
208 215 * `239 <https://github.com/ipython/ipython/issues/239>`_: Makefile command & script for GitHub Pages
209 216 * `244 <https://github.com/ipython/ipython/issues/244>`_: My exit
210 217 * `234 <https://github.com/ipython/ipython/issues/234>`_: Timed history save
211 218 * `217 <https://github.com/ipython/ipython/issues/217>`_: Doc magic lsmagic
212 219 * `215 <https://github.com/ipython/ipython/issues/215>`_: History fix
213 220 * `195 <https://github.com/ipython/ipython/issues/195>`_: Formatters
214 221 * `192 <https://github.com/ipython/ipython/issues/192>`_: Ready colorize bug
215 222 * `198 <https://github.com/ipython/ipython/issues/198>`_: Windows workdir
216 223 * `174 <https://github.com/ipython/ipython/issues/174>`_: Whitespace cleanup
217 224 * `188 <https://github.com/ipython/ipython/issues/188>`_: Version info: update our version management system to use git.
218 225 * `158 <https://github.com/ipython/ipython/issues/158>`_: Ready for merge
219 226 * `187 <https://github.com/ipython/ipython/issues/187>`_: Resolved Print shortcut collision with ctrl-P emacs binding
220 227 * `183 <https://github.com/ipython/ipython/issues/183>`_: cleanup of exit/quit commands for qt console
221 228 * `184 <https://github.com/ipython/ipython/issues/184>`_: Logo added to sphinx docs
222 229 * `180 <https://github.com/ipython/ipython/issues/180>`_: Cleanup old code
223 230 * `171 <https://github.com/ipython/ipython/issues/171>`_: Expose Pygments styles as options
224 231 * `170 <https://github.com/ipython/ipython/issues/170>`_: HTML Fixes
225 232 * `172 <https://github.com/ipython/ipython/issues/172>`_: Fix del method exit test
226 233 * `164 <https://github.com/ipython/ipython/issues/164>`_: Qt frontend shutdown behavior fixes and enhancements
227 234 * `167 <https://github.com/ipython/ipython/issues/167>`_: Added HTML export
228 235 * `163 <https://github.com/ipython/ipython/issues/163>`_: Execution refactor
229 236 * `159 <https://github.com/ipython/ipython/issues/159>`_: Ipy3 preparation
230 237 * `155 <https://github.com/ipython/ipython/issues/155>`_: Ready startup fix
231 238 * `152 <https://github.com/ipython/ipython/issues/152>`_: 0.10.1 sge
232 239 * `151 <https://github.com/ipython/ipython/issues/151>`_: mk_object_info -> object_info
233 240 * `149 <https://github.com/ipython/ipython/issues/149>`_: Simple bug-fix
234 241
235 242 Regular issues (285):
236 243
237 244 * `630 <https://github.com/ipython/ipython/issues/630>`_: new.py in pwd prevents ipython from starting
238 245 * `623 <https://github.com/ipython/ipython/issues/623>`_: Execute DirectView commands while running LoadBalancedView tasks
239 246 * `437 <https://github.com/ipython/ipython/issues/437>`_: Users should have autocompletion in the notebook
240 247 * `583 <https://github.com/ipython/ipython/issues/583>`_: update manpages
241 248 * `594 <https://github.com/ipython/ipython/issues/594>`_: irunner command line options defer to file extensions
242 249 * `603 <https://github.com/ipython/ipython/issues/603>`_: Users should see colored text in tracebacks and the pager
243 250 * `597 <https://github.com/ipython/ipython/issues/597>`_: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2
244 251 * `608 <https://github.com/ipython/ipython/issues/608>`_: Organize and layout buttons in the notebook panel sections
245 252 * `609 <https://github.com/ipython/ipython/issues/609>`_: Implement controls in the Kernel panel section
246 253 * `611 <https://github.com/ipython/ipython/issues/611>`_: Add kernel status widget back to notebook
247 254 * `610 <https://github.com/ipython/ipython/issues/610>`_: Implement controls in the Cell section panel
248 255 * `612 <https://github.com/ipython/ipython/issues/612>`_: Implement Help panel section
249 256 * `621 <https://github.com/ipython/ipython/issues/621>`_: [qtconsole] on windows xp, cannot PageUp more than once
250 257 * `616 <https://github.com/ipython/ipython/issues/616>`_: Store exit status of last command
251 258 * `605 <https://github.com/ipython/ipython/issues/605>`_: Users should be able to open different notebooks in the cwd
252 259 * `302 <https://github.com/ipython/ipython/issues/302>`_: Users should see a consistent behavior in the Out prompt in the html notebook
253 260 * `435 <https://github.com/ipython/ipython/issues/435>`_: Notebook should not import anything by default
254 261 * `595 <https://github.com/ipython/ipython/issues/595>`_: qtconsole command issue
255 262 * `588 <https://github.com/ipython/ipython/issues/588>`_: ipython-qtconsole uses 100% CPU
256 263 * `586 <https://github.com/ipython/ipython/issues/586>`_: ? + plot() Command B0rks QTConsole Strangely
257 264 * `585 <https://github.com/ipython/ipython/issues/585>`_: %pdoc throws Errors for classes without __init__ or docstring
258 265 * `584 <https://github.com/ipython/ipython/issues/584>`_: %pdoc throws TypeError
259 266 * `580 <https://github.com/ipython/ipython/issues/580>`_: Client instantiation AssertionError
260 267 * `569 <https://github.com/ipython/ipython/issues/569>`_: UnicodeDecodeError during startup
261 268 * `572 <https://github.com/ipython/ipython/issues/572>`_: Indented command hits error
262 269 * `573 <https://github.com/ipython/ipython/issues/573>`_: -wthread breaks indented top-level statements
263 270 * `570 <https://github.com/ipython/ipython/issues/570>`_: "--pylab inline" vs. "--pylab=inline"
264 271 * `566 <https://github.com/ipython/ipython/issues/566>`_: Can't use exec_file in config file
265 272 * `562 <https://github.com/ipython/ipython/issues/562>`_: update docs to reflect '--args=values'
266 273 * `558 <https://github.com/ipython/ipython/issues/558>`_: triple quote and %s at beginning of line
267 274 * `554 <https://github.com/ipython/ipython/issues/554>`_: Update 0.11 docs to explain Qt console and how to do a clean install
268 275 * `553 <https://github.com/ipython/ipython/issues/553>`_: embed() fails if config files not installed
269 276 * `8 <https://github.com/ipython/ipython/issues/8>`_: Ensure %gui qt works with new Mayavi and pylab
270 277 * `269 <https://github.com/ipython/ipython/issues/269>`_: Provide compatibility api for IPython.Shell().start().mainloop()
271 278 * `66 <https://github.com/ipython/ipython/issues/66>`_: Update the main What's New document to reflect work on 0.11
272 279 * `549 <https://github.com/ipython/ipython/issues/549>`_: Don't check for 'linux2' value in sys.platform
273 280 * `505 <https://github.com/ipython/ipython/issues/505>`_: Qt windows created within imported functions won't show()
274 281 * `545 <https://github.com/ipython/ipython/issues/545>`_: qtconsole ignores exec_lines
275 282 * `371 <https://github.com/ipython/ipython/issues/371>`_: segfault in qtconsole when kernel quits
276 283 * `377 <https://github.com/ipython/ipython/issues/377>`_: Failure: error (nothing to repeat)
277 284 * `544 <https://github.com/ipython/ipython/issues/544>`_: Ipython qtconsole pylab config issue.
278 285 * `543 <https://github.com/ipython/ipython/issues/543>`_: RuntimeError in completer
279 286 * `440 <https://github.com/ipython/ipython/issues/440>`_: %run filename autocompletion "The kernel heartbeat has been inactive ... " error
280 287 * `541 <https://github.com/ipython/ipython/issues/541>`_: log_level is broken in the ipython Application
281 288 * `369 <https://github.com/ipython/ipython/issues/369>`_: windows source install doesn't create scripts correctly
282 289 * `351 <https://github.com/ipython/ipython/issues/351>`_: Make sure that the Windows installer handles the top-level IPython scripts.
283 290 * `512 <https://github.com/ipython/ipython/issues/512>`_: Two displayhooks in zmq
284 291 * `340 <https://github.com/ipython/ipython/issues/340>`_: Make sure that the Windows HPC scheduler support is working for 0.11
285 292 * `98 <https://github.com/ipython/ipython/issues/98>`_: Should be able to get help on an object mid-command
286 293 * `529 <https://github.com/ipython/ipython/issues/529>`_: unicode problem in qtconsole for windows
287 294 * `476 <https://github.com/ipython/ipython/issues/476>`_: Separate input area in Qt Console
288 295 * `175 <https://github.com/ipython/ipython/issues/175>`_: Qt console needs configuration support
289 296 * `156 <https://github.com/ipython/ipython/issues/156>`_: Key history lost when debugging program crash
290 297 * `470 <https://github.com/ipython/ipython/issues/470>`_: decorator: uses deprecated features
291 298 * `30 <https://github.com/ipython/ipython/issues/30>`_: readline in OS X does not have correct key bindings
292 299 * `503 <https://github.com/ipython/ipython/issues/503>`_: merge IPython.parallel.streamsession and IPython.zmq.session
293 300 * `456 <https://github.com/ipython/ipython/issues/456>`_: pathname in document punctuated by dots not slashes
294 301 * `451 <https://github.com/ipython/ipython/issues/451>`_: Allow switching the default image format for inline mpl backend
295 302 * `79 <https://github.com/ipython/ipython/issues/79>`_: Implement more robust handling of config stages in Application
296 303 * `522 <https://github.com/ipython/ipython/issues/522>`_: Encoding problems
297 304 * `524 <https://github.com/ipython/ipython/issues/524>`_: otool should not be unconditionally called on osx
298 305 * `523 <https://github.com/ipython/ipython/issues/523>`_: Get profile and config file inheritance working
299 306 * `519 <https://github.com/ipython/ipython/issues/519>`_: qtconsole --pure: "TypeError: string indices must be integers, not str"
300 307 * `516 <https://github.com/ipython/ipython/issues/516>`_: qtconsole --pure: "KeyError: 'ismagic'"
301 308 * `520 <https://github.com/ipython/ipython/issues/520>`_: qtconsole --pure: "TypeError: string indices must be integers, not str"
302 309 * `450 <https://github.com/ipython/ipython/issues/450>`_: resubmitted tasks sometimes stuck as pending
303 310 * `518 <https://github.com/ipython/ipython/issues/518>`_: JSON serialization problems with ObjectId type (MongoDB)
304 311 * `178 <https://github.com/ipython/ipython/issues/178>`_: Channels should be named for their function, not their socket type
305 312 * `515 <https://github.com/ipython/ipython/issues/515>`_: [ipcluster] termination on os x
306 313 * `510 <https://github.com/ipython/ipython/issues/510>`_: qtconsole: indentation problem printing numpy arrays
307 314 * `508 <https://github.com/ipython/ipython/issues/508>`_: "AssertionError: Missing message part." in ipython-qtconsole --pure
308 315 * `499 <https://github.com/ipython/ipython/issues/499>`_: "ZMQError: Interrupted system call" when saving inline figure
309 316 * `426 <https://github.com/ipython/ipython/issues/426>`_: %edit magic fails in qtconsole
310 317 * `497 <https://github.com/ipython/ipython/issues/497>`_: Don't show info from .pyd files
311 318 * `493 <https://github.com/ipython/ipython/issues/493>`_: QFont::setPointSize: Point size <= 0 (0), must be greater than 0
312 319 * `489 <https://github.com/ipython/ipython/issues/489>`_: UnicodeEncodeError in qt.svg.save_svg
313 320 * `458 <https://github.com/ipython/ipython/issues/458>`_: embed() doesn't load default config
314 321 * `488 <https://github.com/ipython/ipython/issues/488>`_: Using IPython with RubyPython leads to problems with IPython.parallel.client.client.Client.__init()
315 322 * `401 <https://github.com/ipython/ipython/issues/401>`_: Race condition when running lbview.apply() fast multiple times in loop
316 323 * `168 <https://github.com/ipython/ipython/issues/168>`_: Scrub Launchpad links from code, docs
317 324 * `141 <https://github.com/ipython/ipython/issues/141>`_: garbage collection problem (revisited)
318 325 * `59 <https://github.com/ipython/ipython/issues/59>`_: test_magic.test_obj_del fails on win32
319 326 * `457 <https://github.com/ipython/ipython/issues/457>`_: Backgrounded Tasks not Allowed? (but easy to slip by . . .)
320 327 * `297 <https://github.com/ipython/ipython/issues/297>`_: Shouldn't use pexpect for subprocesses in in-process terminal frontend
321 328 * `110 <https://github.com/ipython/ipython/issues/110>`_: magic to return exit status
322 329 * `473 <https://github.com/ipython/ipython/issues/473>`_: OSX readline detection fails in the debugger
323 330 * `466 <https://github.com/ipython/ipython/issues/466>`_: tests fail without unicode filename support
324 331 * `468 <https://github.com/ipython/ipython/issues/468>`_: iptest script has 0 exit code even when tests fail
325 332 * `465 <https://github.com/ipython/ipython/issues/465>`_: client.db_query() behaves different with SQLite and MongoDB
326 333 * `467 <https://github.com/ipython/ipython/issues/467>`_: magic_install_default_config test fails when there is no .ipython directory
327 334 * `463 <https://github.com/ipython/ipython/issues/463>`_: IPYTHON_DIR (and IPYTHONDIR) don't expand tilde to '~' directory
328 335 * `446 <https://github.com/ipython/ipython/issues/446>`_: Test machinery is imported at normal runtime
329 336 * `438 <https://github.com/ipython/ipython/issues/438>`_: Users should be able to use Up/Down for cell navigation
330 337 * `439 <https://github.com/ipython/ipython/issues/439>`_: Users should be able to copy notebook input and output
331 338 * `291 <https://github.com/ipython/ipython/issues/291>`_: Rename special display methods and put them lower in priority than display functions
332 339 * `447 <https://github.com/ipython/ipython/issues/447>`_: Instantiating classes without __init__ function causes kernel to crash
333 340 * `444 <https://github.com/ipython/ipython/issues/444>`_: Ctrl + t in WxIPython Causes Unexpected Behavior
334 341 * `445 <https://github.com/ipython/ipython/issues/445>`_: qt and console Based Startup Errors
335 342 * `428 <https://github.com/ipython/ipython/issues/428>`_: ipcluster doesn't handle stale pid info well
336 343 * `434 <https://github.com/ipython/ipython/issues/434>`_: 10.0.2 seg fault with rpy2
337 344 * `441 <https://github.com/ipython/ipython/issues/441>`_: Allow running a block of code in a file
338 345 * `432 <https://github.com/ipython/ipython/issues/432>`_: Silent request fails
339 346 * `409 <https://github.com/ipython/ipython/issues/409>`_: Test failure in IPython.lib
340 347 * `402 <https://github.com/ipython/ipython/issues/402>`_: History section of messaging spec is incorrect
341 348 * `88 <https://github.com/ipython/ipython/issues/88>`_: Error when inputting UTF8 CJK characters
342 349 * `366 <https://github.com/ipython/ipython/issues/366>`_: Ctrl-K should kill line and store it, so that Ctrl-y can yank it back
343 350 * `425 <https://github.com/ipython/ipython/issues/425>`_: typo in %gui magic help
344 351 * `304 <https://github.com/ipython/ipython/issues/304>`_: Persistent warnings if old configuration files exist
345 352 * `216 <https://github.com/ipython/ipython/issues/216>`_: crash of ipython when alias is used with %s and echo
346 353 * `412 <https://github.com/ipython/ipython/issues/412>`_: add support to automatic retry of tasks
347 354 * `411 <https://github.com/ipython/ipython/issues/411>`_: add support to continue tasks
348 355 * `417 <https://github.com/ipython/ipython/issues/417>`_: IPython should display things unsorted if it can't sort them
349 356 * `416 <https://github.com/ipython/ipython/issues/416>`_: wrong encode when printing unicode string
350 357 * `376 <https://github.com/ipython/ipython/issues/376>`_: Failing InputsplitterTest
351 358 * `405 <https://github.com/ipython/ipython/issues/405>`_: TraitError in traitlets.py(332) on any input
352 359 * `392 <https://github.com/ipython/ipython/issues/392>`_: UnicodeEncodeError on start
353 360 * `137 <https://github.com/ipython/ipython/issues/137>`_: sys.getfilesystemencoding return value not checked
354 361 * `300 <https://github.com/ipython/ipython/issues/300>`_: Users should be able to manage kernels and kernel sessions from the notebook UI
355 362 * `301 <https://github.com/ipython/ipython/issues/301>`_: Users should have access to working Kernel, Tabs, Edit, Help menus in the notebook
356 363 * `396 <https://github.com/ipython/ipython/issues/396>`_: cursor move triggers a lot of IO access
357 364 * `379 <https://github.com/ipython/ipython/issues/379>`_: Minor doc nit: --paging argument
358 365 * `399 <https://github.com/ipython/ipython/issues/399>`_: Add task queue limit in engine when load-balancing
359 366 * `78 <https://github.com/ipython/ipython/issues/78>`_: StringTask won't take unicode code strings
360 367 * `391 <https://github.com/ipython/ipython/issues/391>`_: MongoDB.add_record() does not work in 0.11dev
361 368 * `365 <https://github.com/ipython/ipython/issues/365>`_: newparallel on Windows
362 369 * `386 <https://github.com/ipython/ipython/issues/386>`_: FAIL: test that pushed functions have access to globals
363 370 * `387 <https://github.com/ipython/ipython/issues/387>`_: Interactively defined functions can't access user namespace
364 371 * `118 <https://github.com/ipython/ipython/issues/118>`_: Snow Leopard ipy_vimserver POLL error
365 372 * `394 <https://github.com/ipython/ipython/issues/394>`_: System escape interpreted in multi-line string
366 373 * `26 <https://github.com/ipython/ipython/issues/26>`_: find_job_cmd is too hasty to fail on Windows
367 374 * `368 <https://github.com/ipython/ipython/issues/368>`_: Installation instructions in dev docs are completely wrong
368 375 * `380 <https://github.com/ipython/ipython/issues/380>`_: qtconsole pager RST - HTML not happening consistently
369 376 * `367 <https://github.com/ipython/ipython/issues/367>`_: Qt console doesn't support ibus input method
370 377 * `375 <https://github.com/ipython/ipython/issues/375>`_: Missing libraries cause ImportError in tests
371 378 * `71 <https://github.com/ipython/ipython/issues/71>`_: temp file errors in iptest IPython.core
372 379 * `350 <https://github.com/ipython/ipython/issues/350>`_: Decide how to handle displayhook being triggered multiple times
373 380 * `360 <https://github.com/ipython/ipython/issues/360>`_: Remove `runlines` method
374 381 * `125 <https://github.com/ipython/ipython/issues/125>`_: Exec lines in config should not contribute to line numbering or history
375 382 * `20 <https://github.com/ipython/ipython/issues/20>`_: Robust readline support on OS X's builtin Python
376 383 * `147 <https://github.com/ipython/ipython/issues/147>`_: On Windows, %page is being too restrictive to split line by \r\n only
377 384 * `326 <https://github.com/ipython/ipython/issues/326>`_: Update docs and examples for parallel stuff to reflect movement away from Twisted
378 385 * `341 <https://github.com/ipython/ipython/issues/341>`_: FIx Parallel Magics for newparallel
379 386 * `338 <https://github.com/ipython/ipython/issues/338>`_: Usability improvements to Qt console
380 387 * `142 <https://github.com/ipython/ipython/issues/142>`_: unexpected auto-indenting when varibles names that start with 'pass'
381 388 * `296 <https://github.com/ipython/ipython/issues/296>`_: Automatic PDB via %pdb doesn't work
382 389 * `337 <https://github.com/ipython/ipython/issues/337>`_: exit( and quit( in Qt console produces phantom signature/docstring popup, even though quit() or exit() raises NameError
383 390 * `318 <https://github.com/ipython/ipython/issues/318>`_: %debug broken in master: invokes missing save_history() method
384 391 * `307 <https://github.com/ipython/ipython/issues/307>`_: lines ending with semicolon should not go to cache
385 392 * `104 <https://github.com/ipython/ipython/issues/104>`_: have ipengine run start-up scripts before registering with the controller
386 393 * `33 <https://github.com/ipython/ipython/issues/33>`_: The skip_doctest decorator is failing to work on Shell.MatplotlibShellBase.magic_run
387 394 * `336 <https://github.com/ipython/ipython/issues/336>`_: Missing figure development/figs/iopubfade.png for docs
388 395 * `49 <https://github.com/ipython/ipython/issues/49>`_: %clear should also delete _NN references and Out[NN] ones
389 396 * `335 <https://github.com/ipython/ipython/issues/335>`_: using setuptools installs every script twice
390 397 * `306 <https://github.com/ipython/ipython/issues/306>`_: multiline strings at end of input cause noop
391 398 * `327 <https://github.com/ipython/ipython/issues/327>`_: PyPy compatibility
392 399 * `328 <https://github.com/ipython/ipython/issues/328>`_: %run script.ipy raises "ERROR! Session/line number was not unique in database."
393 400 * `7 <https://github.com/ipython/ipython/issues/7>`_: Update the changes doc to reflect the kernel config work
394 401 * `303 <https://github.com/ipython/ipython/issues/303>`_: Users should be able to scroll a notebook w/o moving the menu/buttons
395 402 * `322 <https://github.com/ipython/ipython/issues/322>`_: Embedding an interactive IPython shell
396 403 * `321 <https://github.com/ipython/ipython/issues/321>`_: %debug broken in master
397 404 * `287 <https://github.com/ipython/ipython/issues/287>`_: Crash when using %macros in sqlite-history branch
398 405 * `55 <https://github.com/ipython/ipython/issues/55>`_: Can't edit files whose names begin with numbers
399 406 * `284 <https://github.com/ipython/ipython/issues/284>`_: In variable no longer works in 0.11
400 407 * `92 <https://github.com/ipython/ipython/issues/92>`_: Using multiprocessing module crashes parallel iPython
401 408 * `262 <https://github.com/ipython/ipython/issues/262>`_: Fail to recover history after force-kill.
402 409 * `320 <https://github.com/ipython/ipython/issues/320>`_: Tab completing re.search objects crashes IPython
403 410 * `317 <https://github.com/ipython/ipython/issues/317>`_: IPython.kernel: parallel map issues
404 411 * `197 <https://github.com/ipython/ipython/issues/197>`_: ipython-qtconsole unicode problem in magic ls
405 412 * `305 <https://github.com/ipython/ipython/issues/305>`_: more readline shortcuts in qtconsole
406 413 * `314 <https://github.com/ipython/ipython/issues/314>`_: Multi-line, multi-block cells can't be executed.
407 414 * `308 <https://github.com/ipython/ipython/issues/308>`_: Test suite should set sqlite history to work in :memory:
408 415 * `202 <https://github.com/ipython/ipython/issues/202>`_: Matplotlib native 'MacOSX' backend broken in '-pylab' mode
409 416 * `196 <https://github.com/ipython/ipython/issues/196>`_: IPython can't deal with unicode file name.
410 417 * `25 <https://github.com/ipython/ipython/issues/25>`_: unicode bug - encoding input
411 418 * `290 <https://github.com/ipython/ipython/issues/290>`_: try/except/else clauses can't be typed, code input stops too early.
412 419 * `43 <https://github.com/ipython/ipython/issues/43>`_: Implement SSH support in ipcluster
413 420 * `6 <https://github.com/ipython/ipython/issues/6>`_: Update the Sphinx docs for the new ipcluster
414 421 * `9 <https://github.com/ipython/ipython/issues/9>`_: Getting "DeadReferenceError: Calling Stale Broker" after ipcontroller restart
415 422 * `132 <https://github.com/ipython/ipython/issues/132>`_: Ipython prevent south from working
416 423 * `27 <https://github.com/ipython/ipython/issues/27>`_: generics.complete_object broken
417 424 * `60 <https://github.com/ipython/ipython/issues/60>`_: Improve absolute import management for iptest.py
418 425 * `31 <https://github.com/ipython/ipython/issues/31>`_: Issues in magic_whos code
419 426 * `52 <https://github.com/ipython/ipython/issues/52>`_: Document testing process better
420 427 * `44 <https://github.com/ipython/ipython/issues/44>`_: Merge history from multiple sessions
421 428 * `182 <https://github.com/ipython/ipython/issues/182>`_: ipython q4thread in version 10.1 not starting properly
422 429 * `143 <https://github.com/ipython/ipython/issues/143>`_: Ipython.gui.wx.ipython_view.IPShellWidget: ignores user*_ns arguments
423 430 * `127 <https://github.com/ipython/ipython/issues/127>`_: %edit does not work on filenames consisted of pure numbers
424 431 * `126 <https://github.com/ipython/ipython/issues/126>`_: Can't transfer command line argument to script
425 432 * `28 <https://github.com/ipython/ipython/issues/28>`_: Offer finer control for initialization of input streams
426 433 * `58 <https://github.com/ipython/ipython/issues/58>`_: ipython change char '0xe9' to 4 spaces
427 434 * `68 <https://github.com/ipython/ipython/issues/68>`_: Problems with Control-C stopping ipcluster on Windows/Python2.6
428 435 * `24 <https://github.com/ipython/ipython/issues/24>`_: ipcluster does not start all the engines
429 436 * `240 <https://github.com/ipython/ipython/issues/240>`_: Incorrect method displayed in %psource
430 437 * `120 <https://github.com/ipython/ipython/issues/120>`_: inspect.getsource fails for functions defined on command line
431 438 * `212 <https://github.com/ipython/ipython/issues/212>`_: IPython ignores exceptions in the first evaulation of class attrs
432 439 * `108 <https://github.com/ipython/ipython/issues/108>`_: ipython disables python logger
433 440 * `100 <https://github.com/ipython/ipython/issues/100>`_: Overzealous introspection
434 441 * `18 <https://github.com/ipython/ipython/issues/18>`_: %cpaste freeze sync frontend
435 442 * `200 <https://github.com/ipython/ipython/issues/200>`_: Unicode error when starting ipython in a folder with non-ascii path
436 443 * `130 <https://github.com/ipython/ipython/issues/130>`_: Deadlock when importing a module that creates an IPython client
437 444 * `134 <https://github.com/ipython/ipython/issues/134>`_: multline block scrolling
438 445 * `46 <https://github.com/ipython/ipython/issues/46>`_: Input to %timeit is not preparsed
439 446 * `285 <https://github.com/ipython/ipython/issues/285>`_: ipcluster local -n 4 fails
440 447 * `205 <https://github.com/ipython/ipython/issues/205>`_: In the Qt console, Tab should insert 4 spaces when not completing
441 448 * `145 <https://github.com/ipython/ipython/issues/145>`_: Bug on MSW sytems: idle can not be set as default IPython editor. Fix Suggested.
442 449 * `77 <https://github.com/ipython/ipython/issues/77>`_: ipython oops in cygwin
443 450 * `121 <https://github.com/ipython/ipython/issues/121>`_: If plot windows are closed via window controls, no more plotting is possible.
444 451 * `111 <https://github.com/ipython/ipython/issues/111>`_: Iterator version of TaskClient.map() that returns results as they become available
445 452 * `109 <https://github.com/ipython/ipython/issues/109>`_: WinHPCLauncher is a hard dependency that causes errors in the test suite
446 453 * `86 <https://github.com/ipython/ipython/issues/86>`_: Make IPython work with multiprocessing
447 454 * `15 <https://github.com/ipython/ipython/issues/15>`_: Implement SGE support in ipcluster
448 455 * `3 <https://github.com/ipython/ipython/issues/3>`_: Implement PBS support in ipcluster
449 456 * `53 <https://github.com/ipython/ipython/issues/53>`_: Internal Python error in the inspect module
450 457 * `74 <https://github.com/ipython/ipython/issues/74>`_: Manager() [from multiprocessing module] hangs ipythonx but not ipython
451 458 * `51 <https://github.com/ipython/ipython/issues/51>`_: Out not working with ipythonx
452 459 * `201 <https://github.com/ipython/ipython/issues/201>`_: use session.send throughout zmq code
453 460 * `115 <https://github.com/ipython/ipython/issues/115>`_: multiline specials not defined in 0.11 branch
454 461 * `93 <https://github.com/ipython/ipython/issues/93>`_: when looping, cursor appears at leftmost point in newline
455 462 * `133 <https://github.com/ipython/ipython/issues/133>`_: whitespace after Source introspection
456 463 * `50 <https://github.com/ipython/ipython/issues/50>`_: Ctrl-C with -gthread on Windows, causes uncaught IOError
457 464 * `65 <https://github.com/ipython/ipython/issues/65>`_: Do not use .message attributes in exceptions, deprecated in 2.6
458 465 * `76 <https://github.com/ipython/ipython/issues/76>`_: syntax error when raise is inside except process
459 466 * `107 <https://github.com/ipython/ipython/issues/107>`_: bdist_rpm causes traceback looking for a non-existant file
460 467 * `113 <https://github.com/ipython/ipython/issues/113>`_: initial magic ? (question mark) fails before wildcard
461 468 * `128 <https://github.com/ipython/ipython/issues/128>`_: Pdb instance has no attribute 'curframe'
462 469 * `139 <https://github.com/ipython/ipython/issues/139>`_: running with -pylab pollutes namespace
463 470 * `140 <https://github.com/ipython/ipython/issues/140>`_: malloc error during tab completion of numpy array member functions starting with 'c'
464 471 * `153 <https://github.com/ipython/ipython/issues/153>`_: ipy_vimserver traceback on Windows
465 472 * `154 <https://github.com/ipython/ipython/issues/154>`_: using ipython in Slicer3 show how os.environ['HOME'] is not defined
466 473 * `185 <https://github.com/ipython/ipython/issues/185>`_: show() blocks in pylab mode with ipython 0.10.1
467 474 * `189 <https://github.com/ipython/ipython/issues/189>`_: Crash on tab completion
468 475 * `274 <https://github.com/ipython/ipython/issues/274>`_: bashism in sshx.sh
469 476 * `276 <https://github.com/ipython/ipython/issues/276>`_: Calling `sip.setapi` does not work if app has already imported from PyQt4
470 477 * `277 <https://github.com/ipython/ipython/issues/277>`_: matplotlib.image imgshow from 10.1 segfault
471 478 * `288 <https://github.com/ipython/ipython/issues/288>`_: Incorrect docstring in zmq/kernelmanager.py
472 479 * `286 <https://github.com/ipython/ipython/issues/286>`_: Fix IPython.Shell compatibility layer
473 480 * `99 <https://github.com/ipython/ipython/issues/99>`_: blank lines in history
474 481 * `129 <https://github.com/ipython/ipython/issues/129>`_: psearch: TypeError: expected string or buffer
475 482 * `190 <https://github.com/ipython/ipython/issues/190>`_: Add option to format float point output
476 483 * `246 <https://github.com/ipython/ipython/issues/246>`_: Application not conforms XDG Base Directory Specification
477 484 * `48 <https://github.com/ipython/ipython/issues/48>`_: IPython should follow the XDG Base Directory spec for configuration
478 485 * `176 <https://github.com/ipython/ipython/issues/176>`_: Make client-side history persistence readline-independent
479 486 * `279 <https://github.com/ipython/ipython/issues/279>`_: Backtraces when using ipdb do not respect -colour LightBG setting
480 487 * `119 <https://github.com/ipython/ipython/issues/119>`_: Broken type filter in magic_who_ls
481 488 * `271 <https://github.com/ipython/ipython/issues/271>`_: Intermittent problem with print output in Qt console.
482 489 * `270 <https://github.com/ipython/ipython/issues/270>`_: Small typo in IPython developer’s guide
483 490 * `166 <https://github.com/ipython/ipython/issues/166>`_: Add keyboard accelerators to Qt close dialog
484 491 * `173 <https://github.com/ipython/ipython/issues/173>`_: asymmetrical ctrl-A/ctrl-E behavior in multiline
485 492 * `45 <https://github.com/ipython/ipython/issues/45>`_: Autosave history for robustness
486 493 * `162 <https://github.com/ipython/ipython/issues/162>`_: make command history persist in ipythonqt
487 494 * `161 <https://github.com/ipython/ipython/issues/161>`_: make ipythonqt exit without dialog when exit() is called
488 495 * `263 <https://github.com/ipython/ipython/issues/263>`_: [ipython + numpy] Some test errors
489 496 * `256 <https://github.com/ipython/ipython/issues/256>`_: reset docstring ipython 0.10
490 497 * `258 <https://github.com/ipython/ipython/issues/258>`_: allow caching to avoid matplotlib object referrences
491 498 * `248 <https://github.com/ipython/ipython/issues/248>`_: Can't open and read files after upgrade from 0.10 to 0.10.0
492 499 * `247 <https://github.com/ipython/ipython/issues/247>`_: ipython + Stackless
493 500 * `245 <https://github.com/ipython/ipython/issues/245>`_: Magic save and macro missing newlines, line ranges don't match prompt numbers.
494 501 * `241 <https://github.com/ipython/ipython/issues/241>`_: "exit" hangs on terminal version of IPython
495 502 * `213 <https://github.com/ipython/ipython/issues/213>`_: ipython -pylab no longer plots interactively on 0.10.1
496 503 * `4 <https://github.com/ipython/ipython/issues/4>`_: wx frontend don't display well commands output
497 504 * `5 <https://github.com/ipython/ipython/issues/5>`_: ls command not supported in ipythonx wx frontend
498 505 * `1 <https://github.com/ipython/ipython/issues/1>`_: Document winhpcjob.py and launcher.py
499 506 * `83 <https://github.com/ipython/ipython/issues/83>`_: Usage of testing.util.DeferredTestCase should be replace with twisted.trial.unittest.TestCase
500 507 * `117 <https://github.com/ipython/ipython/issues/117>`_: Redesign how Component instances are tracked and queried
501 508 * `47 <https://github.com/ipython/ipython/issues/47>`_: IPython.kernel.client cannot be imported inside an engine
502 509 * `105 <https://github.com/ipython/ipython/issues/105>`_: Refactor the task dependencies system
503 510 * `210 <https://github.com/ipython/ipython/issues/210>`_: 0.10.1 doc mistake - New IPython Sphinx directive error
504 511 * `209 <https://github.com/ipython/ipython/issues/209>`_: can't activate IPython parallel magics
505 512 * `206 <https://github.com/ipython/ipython/issues/206>`_: Buggy linewrap in Mac OSX Terminal
506 513 * `194 <https://github.com/ipython/ipython/issues/194>`_: !sudo <command> displays password in plain text
507 514 * `186 <https://github.com/ipython/ipython/issues/186>`_: %edit issue under OS X 10.5 - IPython 0.10.1
508 515 * `11 <https://github.com/ipython/ipython/issues/11>`_: Create a daily build PPA for ipython
509 516 * `144 <https://github.com/ipython/ipython/issues/144>`_: logo missing from sphinx docs
510 517 * `181 <https://github.com/ipython/ipython/issues/181>`_: cls command does not work on windows
511 518 * `169 <https://github.com/ipython/ipython/issues/169>`_: Kernel can only be bound to localhost
512 519 * `36 <https://github.com/ipython/ipython/issues/36>`_: tab completion does not escape ()
513 520 * `177 <https://github.com/ipython/ipython/issues/177>`_: Report tracebacks of interactively entered input
514 521 * `148 <https://github.com/ipython/ipython/issues/148>`_: dictionary having multiple keys having frozenset fails to print on iPython
515 522 * `160 <https://github.com/ipython/ipython/issues/160>`_: magic_gui throws TypeError when gui magic is used
516 523 * `150 <https://github.com/ipython/ipython/issues/150>`_: History entries ending with parentheses corrupt command line on OS X 10.6.4
517 524 * `146 <https://github.com/ipython/ipython/issues/146>`_: -ipythondir - using an alternative .ipython dir for rc type stuff
518 525 * `114 <https://github.com/ipython/ipython/issues/114>`_: Interactive strings get mangled with "_ip.magic"
519 526 * `135 <https://github.com/ipython/ipython/issues/135>`_: crash on invalid print
520 527 * `69 <https://github.com/ipython/ipython/issues/69>`_: Usage of "mycluster" profile in docs and examples
521 528 * `37 <https://github.com/ipython/ipython/issues/37>`_: Fix colors in output of ResultList on Windows
@@ -1,29 +1,30 b''
1 1 .. Developers should add in this file, during each release cycle, information
2 2 .. about important changes they've made, in a summary format that's meant for
3 3 .. end users. For each release we normally have three sections: features, bug
4 4 .. fixes and api breakage.
5 5 .. Please remember to credit the authors of the contributions by name,
6 6 .. especially when they are new users or developers who do not regularly
7 7 .. participate in IPython's development.
8 8
9 9 .. _whatsnew_index:
10 10
11 11 =====================
12 12 What's new in IPython
13 13 =====================
14 14
15 15 This section documents the changes that have been made in various versions of
16 16 IPython. Users should consult these pages to learn about new features, bug
17 17 fixes and backwards incompatibilities. Developers should summarize the
18 18 development work they do here in a user friendly format.
19 19
20 20 .. toctree::
21 21 :maxdepth: 1
22 22
23 23 development
24 24 version0.11
25 github-stats-0.11
25 26 version0.10
26 27 version0.9
27 28 version0.8
28 29
29 30
@@ -1,756 +1,765 b''
1 1 =============
2 2 0.11 Series
3 3 =============
4 4
5 5 Release 0.11
6 6 ============
7 7
8 8 IPython 0.11 is a *major* overhaul of IPython, two years in the making. Most
9 9 of the code base has been rewritten or at least reorganized, breaking backward
10 10 compatibility with several APIs in previous versions. It is the first major
11 11 release in two years, and probably the most significant change to IPython since
12 12 its inception. We plan to have a relatively quick succession of releases, as
13 13 people discover new bugs and regressions. Once we iron out any significant
14 14 bugs in this process and settle down the new APIs, this series will become
15 15 IPython 1.0. We encourage feedback now on the core APIs, which we hope to
16 16 maintain stable during the 1.0 series.
17 17
18 18 Since the internal APIs have changed so much, projects using IPython as a
19 19 library (as opposed to end-users of the application) are the most likely to
20 20 encounter regressions or changes that break their existing use patterns. We
21 21 will make every effort to provide updated versions of the APIs to facilitate
22 22 the transition, and we encourage you to contact us on the `development mailing
23 23 list`__ with questions and feedback.
24 24
25 25 .. __: http://mail.scipy.org/mailman/listinfo/ipython-dev
26 26
27 27 Chris Fonnesbeck recently wrote an `excellent post`__ that highlights some of
28 28 our major new features, with examples and screenshots. We encourage you to
29 29 read it as it provides an illustrated, high-level overview complementing the
30 30 detailed feature breakdown in this document.
31 31
32 32 .. __: http://stronginference.com/weblog/2011/7/15/innovations-in-ipython.html
33 33
34 34 A quick summary of the major changes (see below for details):
35 35
36 36 * **Standalone Qt console**: a new rich console has been added to IPython,
37 37 started with `ipython qtconsole`. In this application we have tried to
38 38 retain the feel of a terminal for fast and efficient workflows, while adding
39 many features that a plain text terminal simply can not support, such as
40 inline figures, full multiline editing with syntax highlighting, tooltips for
41 function calls and much more. This development was sponsored by `Enthought
42 Inc.`__. See :ref:`below <qtconsole_011>` for details.
39 many features that a line-oriented terminal simply can not support, such as
40 inline figures, full multiline editing with syntax highlighting, graphical
41 tooltips for function calls and much more. This development was sponsored by
42 `Enthought Inc.`__. See :ref:`below <qtconsole_011>` for details.
43 43
44 44 .. __: http://enthought.com
45 45
46 46 * **High-level parallel computing with ZeroMQ**. Using the same architecture
47 47 that our Qt console is based on, we have completely rewritten our high-level
48 48 parallel computing machinery that in prior versions used the Twisted
49 49 networking framework. While this change will require users to update their
50 50 codes, the improvements in performance, memory control and internal
51 51 consistency across our codebase convinced us it was a price worth paying. We
52 52 have tried to explain how to best proceed with this update, and will be happy
53 53 to answer questions that may arise. A full tutorial describing these
54 features `was presented at SciPy'11`__.
54 features `was presented at SciPy'11`__, more details :ref:`below
55 <parallel_011>`.
55 56
56 57 .. __: http://minrk.github.com/scipy-tutorial-2011
57 58
58 59 * **New model for GUI/plotting support in the terminal**. Now instead of the
59 60 various `-Xthread` flags we had before, GUI support is provided without the
60 61 use of any threads, by directly integrating GUI event loops with Python's
61 62 `PyOS_InputHook` API. A new command-line flag `--gui` controls GUI support,
62 63 and it can also be enabled after IPython startup via the new `%gui` magic.
63 64 This requires some changes if you want to execute GUI-using scripts inside
64 65 IPython, see :ref:`the GUI support section <gui_support>` for more details.
65 66
66 * **A two-process architecture.** The Qt console is the first example of using
67 a new model that splits IPython between a kernel process where code is
68 executed and a client that handles user interaction. We plan on also
69 providing terminal and web-browser based clients using this infrastructure in
70 future releases. This model allows multiple clients to interact with an
71 IPython process through a well-documented protocol using the ZeroMQ
72 networking library.
67 * **A two-process architecture.** The Qt console is the first use of a new
68 model that splits IPython between a kernel process where code is executed and
69 a client that handles user interaction. We plan on also providing terminal
70 and web-browser based clients using this infrastructure in future releases.
71 This model allows multiple clients to interact with an IPython process
72 through a :ref:`well-documented messaging protocol <messaging>` using the
73 ZeroMQ networking library.
73 74
74 75 * **Refactoring.** the entire codebase has been refactored, in order to make it
75 76 more modular and easier to contribute to. IPython has traditionally been a
76 77 hard project to participate because the old codebase was very monolithic. We
77 78 hope this (ongoing) restructuring will make it easier for new developers to
78 79 join us.
79 80
80 81 * **Vim integration**. Vim can be configured to seamlessly control an IPython
81 82 kernel, see the files in :file:`docs/examples/vim` for the full details.
82 83 This work was done by Paul Ivanov, who prepared a nice `video
83 84 demonstration`__ of the features it provides.
84 85
85 86 .. __: http://pirsquared.org/blog/2011/07/28/vim-ipython/
86 87
87 88 * **Integration into Microsoft Visual Studio**. Thanks to the work of the
88 89 Microsoft `Python Tools for Visual Studio`__ team, this version of IPython
89 90 has been integrated into Microsoft Visual Studio's Python tools open source
90 91 plug-in. `Details below`_
91 92
92 93 .. __: http://pytools.codeplex.com
93 94 .. _details below: ms_visual_studio_011_
94 95
95 96 * **Improved unicode support**. We closed many bugs related to unicode input.
96 97
97 98 * **Python 3**. IPython now runs on Python 3.x. See :ref:`python3_011` for
98 99 details.
99 100
100 101 * **New profile model**. Profiles are now directories that contain all relevant
101 102 infromation for that session, and thus better isolate IPython use-cases.
102 103
103 104 * **SQLite storage for history**. All history is now stored in a SQLite
104 105 database, providing support for multiple simultaneous sessions that won't
105 106 clobber each other as well as the ability to perform queries on all stored
106 107 data.
107 108
108 109 * **New configuration system**. All parts of IPython are now configured via a
109 110 mechanism inspired by the Enthought Traits library. Any configurable element
110 111 can have its attributes set either via files that now use real Python syntax
111 112 or from the command-line.
112 113
113 114 * **Pasting of code with prompts**. IPython now intelligently strips out input
114 115 prompts , be they plain Python ones (``>>>`` and ``...``) or IPython ones
115 116 (``In [N]:`` and `` ...:``). More details :ref:`here <pasting_with_prompts>`.
116 117
117 118
118 119 Authors and support
119 120 -------------------
120 121
121 122 Over 60 separate authors have contributed to this release, see :ref:`below
122 123 <credits_011>` for a full list. In particular, we want to highlight the
123 124 extremely active participation of two new core team members: Evan Patterson
124 125 implemented the Qt console, and Thomas Kluyver started with our Python 3 port
125 126 and by now has made major contributions to just about every area of IPython.
126 127
127 128 We are also grateful for the support we have received during this development
128 129 cycle from several institutions:
129 130
130 131 - `Enthought Inc`__ funded the development of our new Qt console, an effort that
131 132 required developing major pieces of underlying infrastructure, which now
132 133 power not only the Qt console but also our new parallel machinery. We'd like
133 134 to thank Eric Jones and Travis Oliphant for their support, as well as Ilan
134 135 Schnell for his tireless work integrating and testing IPython in the
135 136 `Enthought Python Distribution`_.
136 137
137 138 .. __: http://enthought.com
138 139 .. _Enthought Python Distribution: http://www.enthought.com/products/epd.php
139 140
140 141 - Nipy/NIH: funding via the `NiPy project`__ (NIH grant 5R01MH081909-02) helped
141 142 us jumpstart the development of this series by restructuring the entire
142 143 codebase two years ago in a way that would make modular development and
143 144 testing more approachable. Without this initial groundwork, all the new
144 145 features we have added would have been impossible to develop.
145 146
146 147 .. __: http://nipy.org
147 148
148 149 - Sage/NSF: funding via the grant `Sage: Unifying Mathematical Software for
149 150 Scientists, Engineers, and Mathematicians`__ (NSF grant DMS-1015114)
150 151 supported a meeting in spring 2011 of several of the core IPython developers
151 152 where major progress was made integrating the last key pieces leading to this
152 153 release.
153 154
154 155 .. __: http://modular.math.washington.edu/grants/compmath09
155 156
156 157 - Microsoft's team working on `Python Tools for Visual Studio`__ developed the
157 158 integraton of IPython into the Python plugin for Visual Studio 2010.
158 159
159 160 .. __: http://pytools.codeplex.com
160 161
161 162 - Google Summer of Code: in 2010, we had two students developing prototypes of
162 163 the new machinery that is now maturing in this release: `Omar Zapata`_ and
163 164 `Gerardo GutiΓ©rrez`_.
164 165
165 166 .. _Omar Zapata: http://ipythonzmq.blogspot.com/2010/08/ipython-zmq-status.html
166 167 .. _Gerardo GutiΓ©rrez: http://ipythonqt.blogspot.com/2010/04/ipython-qt-interface-gsoc-2010-proposal.html>
167 168
168 169
169 Development summary
170 -------------------
170 Development summary: moving to Git and Github
171 ---------------------------------------------
171 172
172 173 In April 2010, after `one breakage too many with bzr`__, we decided to move our
173 174 entire development process to Git and Github.com. This has proven to be one of
174 175 the best decisions in the project's history, as the combination of git and
175 176 github have made us far, far more productive than we could be with our previous
176 177 tools. We first converted our bzr repo to a git one without losing history,
177 178 and a few weeks later ported all open Launchpad bugs to github issues with
178 179 their comments mostly intact (modulo some formatting changes). This ensured a
179 180 smooth transition where no development history or submitted bugs were lost.
181 Feel free to use our little Launchpad to Github issues `porting script`_ if you
182 need to make a similar transition.
180 183
181 184 .. __: http://mail.scipy.org/pipermail/ipython-dev/2010-April/005944.html
185 .. _porting script: https://gist.github.com/835577
182 186
183 187 These simple statistics show how much work has been done on the new release, by
184 188 comparing the current code to the last point it had in common with the 0.10
185 series. A huge diff and over 2000 commits make up this development::
189 series. A huge diff and ~2200 commits make up this cycle::
186 190
187 191 git diff $(git merge-base 0.10.2 HEAD) | wc -l
188 287985
192 288019
189 193
190 194 git log $(git merge-base 0.10.2 HEAD)..HEAD --oneline | wc -l
191 2192
195 2198
192 196
193 Since our move to github, 510 issues were closed, 225 of which were pull
194 requests and 285 regular issues (see :ref:`below <issues_list_011>` for a full
195 list). Github's pull requests are a fantastic mechanism for reviewing code and
196 building a shared ownership of the project, and we are making enthusiastic use
197 of it.
197 Since our move to github, 511 issues were closed, 226 of which were pull
198 requests and 285 regular issues (:ref:`a full list with links
199 <issues_list_011>` is available for those interested in the details). Github's
200 pull requests are a fantastic mechanism for reviewing code and building a
201 shared ownership of the project, and we are making enthusiastic use of it.
198 202
199 203 .. Note::
200 204
201 205 This undercounts the number of issues closed in this development cycle,
202 206 since we only moved to github for issue tracking in May 2010, but we have no
203 207 way of collecting statistics on the number of issues closed in the old
204 208 Launchpad bug tracker prior to that.
205 209
206 210
207 211 .. _qtconsole_011:
208 212
209 213 Qt Console
210 214 ----------
211 215
212 216 IPython now ships with a Qt application that feels very much like a terminal,
213 217 but is in fact a rich GUI that runs an IPython client but supports inline
214 218 figures, saving sessions to PDF and HTML, multiline editing with syntax
215 219 highlighting, graphical calltips and much more:
216 220
217 221 .. figure:: ../_static/qtconsole.png
218 222 :width: 400px
219 223 :alt: IPython Qt console with embedded plots
220 224 :align: center
221 225 :target: ../_static/qtconsole.png
222 226
223 227 The Qt console for IPython, using inline matplotlib plots.
224 228
225 229 We hope that many projects will embed this widget, which we've kept
226 230 deliberately very lightweight, into their own environments. In the future we
227 231 may also offer a slightly more featureful application (with menus and other GUI
228 232 elements), but we remain committed to always shipping this easy to embed
229 233 widget.
230 234
231 235 See the :ref:`Qt console section <qtconsole>` of the docs for a detailed
232 236 description of the console's features and use.
233 237
234 238
239 .. _parallel_011:
240
235 241 High-level parallel computing with ZeroMQ
236 242 -----------------------------------------
237 243
238 244 We have completely rewritten the Twisted-based code for high-level parallel
239 245 computing to work atop our new ZeroMQ architecture. While we realize this will
240 246 break compatibility for a number of users, we hope to make the transition as
241 247 easy as possible with our docs, and we are convinced the change is worth it.
242 248 ZeroMQ provides us with much tighter control over memory, higher performance,
243 249 and its communications are impervious to the Python Global Interpreter Lock
244 250 because they take place in a system-level C++ thread. The impact of the GIL in
245 251 our previous code was something we could simply not work around, given that
246 252 Twisted is itself a Python library. So while Twisted is a very capable
247 253 framework, we think ZeroMQ fits our needs much better and we hope you will find
248 254 the change to be a significant improvement in the long run.
249 255
250 256 Our manual contains :ref:`a full description of how to use IPython for parallel
251 257 computing <parallel_overview>`, and the `tutorial`__ presented by Min
252 258 Ragan-Kelley at the SciPy 2011 conference provides a hands-on complement to the
253 259 reference docs.
254 260
255 261 .. __: http://minrk.github.com/scipy-tutorial-2011
256 262
257 263
258 264 Refactoring
259 265 -----------
260 266
261 267 As of this release, a signifiant portion of IPython has been refactored. This
262 268 refactoring is founded on a number of new abstractions. The main new classes
263 269 that implement these abstractions are:
264 270
265 271 * :class:`IPython.utils.traitlets.HasTraits`.
266 272 * :class:`IPython.config.configurable.Configurable`.
267 273 * :class:`IPython.config.application.Application`.
268 274 * :class:`IPython.config.loader.ConfigLoader`.
269 275 * :class:`IPython.config.loader.Config`
270 276
271 277 We are still in the process of writing developer focused documentation about
272 278 these classes, but for now our :ref:`configuration documentation
273 279 <config_overview>` contains a high level overview of the concepts that these
274 280 classes express.
275 281
276 The biggest user-visible change is likely the move to using the config system to
277 determine the command-line arguments for IPython applications. The benefit of
278 this is that *all* configurable values in IPython are exposed on the
279 command-line, but the syntax for specifying values has changed. The gist is that
280 assigning values is pure Python assignment, so there is always an '=', and never
281 a leading '-', nor a space separating key from value. Flags exist, to set
282 multiple values or boolean flags, and these are always prefixed with '--', and
283 never take arguments.
282 The biggest user-visible change is likely the move to using the config system
283 to determine the command-line arguments for IPython applications. The benefit
284 of this is that *all* configurable values in IPython are exposed on the
285 command-line, but the syntax for specifying values has changed. The gist is
286 that assigning values is pure Python assignment. Simple flags exist for
287 commonly used options, these are always prefixed with '--'.
288
289 The IPython command-line help has the details of all the options (via
290 ``ipythyon --help``), but a simple example should clarify things; the ``pylab``
291 flag can be used to start in pylab mode with the qt4 backend::
292
293 ipython --pylab=qt
294
295 which is equivalent to using the fully qualified form::
296
297 ipython --TerminalIPythonApp.pylab=qt
298
299 The long-form options can be listed via ``ipython --help-all``.
300
284 301
285 302 ZeroMQ architecture
286 303 -------------------
287 304
288 305 There is a new GUI framework for IPython, based on a client-server model in
289 306 which multiple clients can communicate with one IPython kernel, using the
290 307 ZeroMQ messaging framework. There is already a Qt console client, which can
291 308 be started by calling ``ipython qtconsole``. The protocol is :ref:`documented
292 309 <messaging>`.
293 310
294 311 The parallel computing framework has also been rewritten using ZMQ. The
295 312 protocol is described :ref:`here <parallel_messages>`, and the code is in the
296 313 new :mod:`IPython.parallel` module.
297 314
298 315 .. _python3_011:
299 316
300 317 Python 3 support
301 318 ----------------
302 319
303 320 A Python 3 version of IPython has been prepared. For the time being, this is
304 321 maintained separately and updated from the main codebase. Its code can be found
305 322 `here <https://github.com/ipython/ipython-py3k>`_. The parallel computing
306 323 components are not perfect on Python3, but most functionality appears to be
307 324 working. As this work is evolving quickly, the best place to find updated
308 325 information about it is our `Python 3 wiki page`__.
309 326
310 327 .. __: http://wiki.ipython.org/index.php?title=Python_3
311 328
312 329
313 330 Unicode
314 331 -------
315 332
316 333 Entering non-ascii characters in unicode literals (``u"€ø"``) now works
317 334 properly on all platforms. However, entering these in byte/string literals
318 335 (``"€ø"``) will not work as expected on Windows (or any platform where the
319 336 terminal encoding is not UTF-8, as it typically is for Linux & Mac OS X). You
320 337 can use escape sequences (``"\xe9\x82"``) to get bytes above 128, or use
321 338 unicode literals and encode them. This is a limitation of Python 2 which we
322 339 cannot easily work around.
323 340
324 341 .. _ms_visual_studio_011:
325 342
326 343 Integration with Microsoft Visual Studio
327 344 ----------------------------------------
328 345
329 346 IPython can be used as the interactive shell in the `Python plugin for
330 347 Microsoft Visual Studio`__, as seen here:
331 348
332 349 .. figure:: ../_static/ms_visual_studio.png
333 350 :width: 500px
334 351 :alt: IPython console embedded in Microsoft Visual Studio.
335 352 :align: center
336 353 :target: ../_static/ms_visual_studio.png
337 354
338 355 IPython console embedded in Microsoft Visual Studio.
339 356
340 357 The Microsoft team developing this currently has a release candidate out using
341 358 IPython 0.11. We will continue to collaborate with them to ensure that as they
342 359 approach their final release date, the integration with IPython remains smooth.
343 360 We'd like to thank Dino Viehland and Shahrokh Mortazavi for the work they have
344 361 done towards this feature, as well as Wenming Ye for his support of our WinHPC
345 362 capabilities.
346 363
347 364 .. __: http://pytools.codeplex.com
348 365
349 366
350 367 Additional new features
351 368 -----------------------
352 369
353 370 * Added ``Bytes`` traitlet, removing ``Str``. All 'string' traitlets should
354 371 either be ``Unicode`` if a real string, or ``Bytes`` if a C-string. This
355 372 removes ambiguity and helps the Python 3 transition.
356 373
357 374 * New magic ``%loadpy`` loads a python file from disk or web URL into
358 375 the current input buffer.
359 376
360 377 * New magic ``%pastebin`` for sharing code via the 'Lodge it' pastebin.
361 378
362 379 * New magic ``%precision`` for controlling float and numpy pretty printing.
363 380
364 381 * IPython applications initiate logging, so any object can gain access to
365 382 a the logger of the currently running Application with:
366 383
367 384 .. sourcecode:: python
368 385
369 386 from IPython.config.application import Application
370 387 logger = Application.instance().log
371 388
372 389 * You can now get help on an object halfway through typing a command. For
373 390 instance, typing ``a = zip?`` shows the details of :func:`zip`. It also
374 391 leaves the command at the next prompt so you can carry on with it.
375 392
376 393 * The input history is now written to an SQLite database. The API for
377 394 retrieving items from the history has also been redesigned.
378 395
379 396 * The :mod:`IPython.extensions.pretty` extension has been moved out of
380 397 quarantine and fully updated to the new extension API.
381 398
382 399 * New magics for loading/unloading/reloading extensions have been added:
383 400 ``%load_ext``, ``%unload_ext`` and ``%reload_ext``.
384 401
385 402 * The configuration system and configuration files are brand new. See the
386 403 configuration system :ref:`documentation <config_index>` for more details.
387 404
388 405 * The :class:`~IPython.core.interactiveshell.InteractiveShell` class is now a
389 406 :class:`~IPython.config.configurable.Configurable` subclass and has traitlets
390 407 that determine the defaults and runtime environment. The ``__init__`` method
391 408 has also been refactored so this class can be instantiated and run without
392 409 the old :mod:`ipmaker` module.
393 410
394 411 * The methods of :class:`~IPython.core.interactiveshell.InteractiveShell` have
395 412 been organized into sections to make it easier to turn more sections
396 413 of functionality into components.
397 414
398 415 * The embedded shell has been refactored into a truly standalone subclass of
399 416 :class:`InteractiveShell` called :class:`InteractiveShellEmbed`. All
400 417 embedding logic has been taken out of the base class and put into the
401 418 embedded subclass.
402 419
403 420 * Added methods of :class:`~IPython.core.interactiveshell.InteractiveShell` to
404 421 help it cleanup after itself. The :meth:`cleanup` method controls this. We
405 422 couldn't do this in :meth:`__del__` because we have cycles in our object
406 423 graph that prevent it from being called.
407 424
408 425 * Created a new module :mod:`IPython.utils.importstring` for resolving
409 426 strings like ``foo.bar.Bar`` to the actual class.
410 427
411 428 * Completely refactored the :mod:`IPython.core.prefilter` module into
412 429 :class:`~IPython.config.configurable.Configurable` subclasses. Added a new
413 430 layer into the prefilter system, called "transformations" that all new
414 431 prefilter logic should use (rather than the older "checker/handler"
415 432 approach).
416 433
417 434 * Aliases are now components (:mod:`IPython.core.alias`).
418 435
419 436 * New top level :func:`~IPython.frontend.terminal.embed.embed` function that can
420 437 be called to embed IPython at any place in user's code. On the first call it
421 438 will create an :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed`
422 439 instance and call it. In later calls, it just calls the previously created
423 440 :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed`.
424 441
425 442 * Created a configuration system (:mod:`IPython.config.configurable`) that is
426 443 based on :mod:`IPython.utils.traitlets`. Configurables are arranged into a
427 444 runtime containment tree (not inheritance) that i) automatically propagates
428 445 configuration information and ii) allows singletons to discover each other in
429 446 a loosely coupled manner. In the future all parts of IPython will be
430 447 subclasses of :class:`~IPython.config.configurable.Configurable`. All IPython
431 448 developers should become familiar with the config system.
432 449
433 450 * Created a new :class:`~IPython.config.loader.Config` for holding
434 451 configuration information. This is a dict like class with a few extras: i)
435 452 it supports attribute style access, ii) it has a merge function that merges
436 453 two :class:`~IPython.config.loader.Config` instances recursively and iii) it
437 454 will automatically create sub-:class:`~IPython.config.loader.Config`
438 455 instances for attributes that start with an uppercase character.
439 456
440 457 * Created new configuration loaders in :mod:`IPython.config.loader`. These
441 458 loaders provide a unified loading interface for all configuration
442 459 information including command line arguments and configuration files. We
443 460 have two default implementations based on :mod:`argparse` and plain python
444 461 files. These are used to implement the new configuration system.
445 462
446 463 * Created a top-level :class:`Application` class in
447 464 :mod:`IPython.core.application` that is designed to encapsulate the starting
448 465 of any basic Python program. An application loads and merges all the
449 466 configuration objects, constructs the main application, configures and
450 467 initiates logging, and creates and configures any :class:`Configurable`
451 468 instances and then starts the application running. An extended
452 469 :class:`BaseIPythonApplication` class adds logic for handling the
453 470 IPython directory as well as profiles, and all IPython entry points
454 471 extend it.
455 472
456 473 * The :class:`Type` and :class:`Instance` traitlets now handle classes given
457 474 as strings, like ``foo.bar.Bar``. This is needed for forward declarations.
458 475 But, this was implemented in a careful way so that string to class
459 476 resolution is done at a single point, when the parent
460 477 :class:`~IPython.utils.traitlets.HasTraitlets` is instantiated.
461 478
462 479 * :mod:`IPython.utils.ipstruct` has been refactored to be a subclass of
463 480 dict. It also now has full docstrings and doctests.
464 481
465 482 * Created a Traits like implementation in :mod:`IPython.utils.traitlets`. This
466 483 is a pure Python, lightweight version of a library that is similar to
467 484 Enthought's Traits project, but has no dependencies on Enthought's code. We
468 485 are using this for validation, defaults and notification in our new component
469 486 system. Although it is not 100% API compatible with Enthought's Traits, we
470 487 plan on moving in this direction so that eventually our implementation could
471 488 be replaced by a (yet to exist) pure Python version of Enthought Traits.
472 489
473 490 * Added a new module :mod:`IPython.lib.inputhook` to manage the integration
474 491 with GUI event loops using `PyOS_InputHook`. See the docstrings in this
475 492 module or the main IPython docs for details.
476 493
477 494 * For users, GUI event loop integration is now handled through the new
478 495 :command:`%gui` magic command. Type ``%gui?`` at an IPython prompt for
479 496 documentation.
480 497
481 498 * For developers :mod:`IPython.lib.inputhook` provides a simple interface
482 499 for managing the event loops in their interactive GUI applications.
483 500 Examples can be found in our :file:`docs/examples/lib` directory.
484 501
485 502 Backwards incompatible changes
486 503 ------------------------------
487 504
488 505 * The Twisted-based :mod:`IPython.kernel` has been removed, and completely
489 506 rewritten as :mod:`IPython.parallel`, using ZeroMQ.
490 507
491 508 * Profiles are now directories. Instead of a profile being a single config file,
492 509 profiles are now self-contained directories. By default, profiles get their
493 510 own IPython history, log files, and everything. To create a new profile, do
494 511 ``ipython profile create <name>``.
495 512
496 513 * All IPython applications have been rewritten to use
497 514 :class:`~IPython.config.loader.KeyValueConfigLoader`. This means that
498 515 command-line options have changed. Now, all configurable values are accessible
499 516 from the command-line with the same syntax as in a configuration file.
500 517
501 518 * The command line options ``-wthread``, ``-qthread`` and
502 519 ``-gthread`` have been removed. Use ``--gui=wx``, ``--gui=qt``, ``--gui=gtk``
503 520 instead.
504 521
505 522 * The extension loading functions have been renamed to
506 523 :func:`load_ipython_extension` and :func:`unload_ipython_extension`.
507 524
508 525 * :class:`~IPython.core.interactiveshell.InteractiveShell` no longer takes an
509 526 ``embedded`` argument. Instead just use the
510 527 :class:`~IPython.core.interactiveshell.InteractiveShellEmbed` class.
511 528
512 529 * ``__IPYTHON__`` is no longer injected into ``__builtin__``.
513 530
514 531 * :meth:`Struct.__init__` no longer takes `None` as its first argument. It
515 532 must be a :class:`dict` or :class:`Struct`.
516 533
517 534 * :meth:`~IPython.core.interactiveshell.InteractiveShell.ipmagic` has been
518 535 renamed :meth:`~IPython.core.interactiveshell.InteractiveShell.magic.`
519 536
520 537 * The functions :func:`ipmagic` and :func:`ipalias` have been removed from
521 538 :mod:`__builtins__`.
522 539
523 540 * The references to the global
524 541 :class:`~IPython.core.interactivehell.InteractiveShell` instance (``_ip``, and
525 542 ``__IP``) have been removed from the user's namespace. They are replaced by a
526 543 new function called :func:`get_ipython` that returns the current
527 544 :class:`~IPython.core.interactiveshell.InteractiveShell` instance. This
528 545 function is injected into the user's namespace and is now the main way of
529 546 accessing the running IPython.
530 547
531 548 * Old style configuration files :file:`ipythonrc` and :file:`ipy_user_conf.py`
532 549 are no longer supported. Users should migrate there configuration files to
533 550 the new format described :ref:`here <config_overview>` and :ref:`here
534 551 <configuring_ipython>`.
535 552
536 553 * The old IPython extension API that relied on :func:`ipapi` has been
537 554 completely removed. The new extension API is described :ref:`here
538 555 <configuring_ipython>`.
539 556
540 557 * Support for ``qt3`` has been dropped. Users who need this should use
541 558 previous versions of IPython.
542 559
543 560 * Removed :mod:`shellglobals` as it was obsolete.
544 561
545 562 * Removed all the threaded shells in :mod:`IPython.core.shell`. These are no
546 563 longer needed because of the new capabilities in
547 564 :mod:`IPython.lib.inputhook`.
548 565
549 566 * New top-level sub-packages have been created: :mod:`IPython.core`,
550 567 :mod:`IPython.lib`, :mod:`IPython.utils`, :mod:`IPython.deathrow`,
551 568 :mod:`IPython.quarantine`. All existing top-level modules have been
552 569 moved to appropriate sub-packages. All internal import statements
553 570 have been updated and tests have been added. The build system (setup.py
554 571 and friends) have been updated. See :ref:`this section <module_reorg>` of the
555 572 documentation for descriptions of these new sub-packages.
556 573
557 574 * :mod:`IPython.ipapi` has been moved to :mod:`IPython.core.ipapi`.
558 575 :mod:`IPython.Shell` and :mod:`IPython.iplib` have been split and removed as
559 576 part of the refactor.
560 577
561 578 * :mod:`Extensions` has been moved to :mod:`extensions` and all existing
562 579 extensions have been moved to either :mod:`IPython.quarantine` or
563 580 :mod:`IPython.deathrow`. :mod:`IPython.quarantine` contains modules that we
564 581 plan on keeping but that need to be updated. :mod:`IPython.deathrow` contains
565 582 modules that are either dead or that should be maintained as third party
566 583 libraries. More details about this can be found :ref:`here <module_reorg>`.
567 584
568 585 * Previous IPython GUIs in :mod:`IPython.frontend` and :mod:`IPython.gui` are
569 586 likely broken, and have been removed to :mod:`IPython.deathrow` because of the
570 587 refactoring in the core. With proper updates, these should still work.
571 588
572 589
573 590 Known Regressions
574 591 -----------------
575 592
576 593 We do our best to improve IPython, but there are some known regressions in 0.11
577 594 relative to 0.10.2. First of all, there are features that have yet to be
578 595 ported to the new APIs, and in order to ensure that all of the installed code
579 596 runs for our users, we have moved them to two separate directories in the
580 597 source distribution, `quarantine` and `deathrow`. Finally, we have some other
581 598 miscellaneous regressions that we hope to fix as soon as possible. We now
582 599 describe all of these in more detail.
583 600
584 601 Quarantine
585 602 ~~~~~~~~~~
586 603
587 604 These are tools and extensions that we consider relatively easy to update to
588 605 the new classes and APIs, but that we simply haven't had time for. Any user
589 606 who is interested in one of these is encouraged to help us by porting it and
590 607 submitting a pull request on our `development site`_.
591 608
592 609 .. _development site:: http://github.com/ipython/ipython
593 610
594 611 Currently, the quarantine directory contains::
595 612
596 613 clearcmd.py ipy_fsops.py ipy_signals.py
597 614 envpersist.py ipy_gnuglobal.py ipy_synchronize_with.py
598 615 ext_rescapture.py ipy_greedycompleter.py ipy_system_conf.py
599 616 InterpreterExec.py ipy_jot.py ipy_which.py
600 617 ipy_app_completers.py ipy_lookfor.py ipy_winpdb.py
601 618 ipy_autoreload.py ipy_profile_doctest.py ipy_workdir.py
602 619 ipy_completers.py ipy_pydb.py jobctrl.py
603 620 ipy_editors.py ipy_rehashdir.py ledit.py
604 621 ipy_exportdb.py ipy_render.py pspersistence.py
605 622 ipy_extutil.py ipy_server.py win32clip.py
606 623
607 624 Deathrow
608 625 ~~~~~~~~
609 626
610 627 These packages may be harder to update or make most sense as third-party
611 628 libraries. Some of them are completely obsolete and have been already replaced
612 629 by better functionality (we simply haven't had the time to carefully weed them
613 630 out so they are kept here for now). Others simply require fixes to code that
614 631 the current core team may not be familiar with. If a tool you were used to is
615 632 included here, we encourage you to contact the dev list and we can discuss
616 633 whether it makes sense to keep it in IPython (if it can be maintained).
617 634
618 635 Currently, the deathrow directory contains::
619 636
620 637 astyle.py ipy_defaults.py ipy_vimserver.py
621 638 dtutils.py ipy_kitcfg.py numeric_formats.py
622 639 Gnuplot2.py ipy_legacy.py numutils.py
623 640 GnuplotInteractive.py ipy_p4.py outputtrap.py
624 641 GnuplotRuntime.py ipy_profile_none.py PhysicalQInput.py
625 642 ibrowse.py ipy_profile_numpy.py PhysicalQInteractive.py
626 643 igrid.py ipy_profile_scipy.py quitter.py*
627 644 ipipe.py ipy_profile_sh.py scitedirector.py
628 645 iplib.py ipy_profile_zope.py Shell.py
629 646 ipy_constants.py ipy_traits_completer.py twshell.py
630 647
631 648
632 649 Other regressions
633 650 ~~~~~~~~~~~~~~~~~
634 651
635 652 * The machinery that adds functionality to the 'sh' profile for using IPython
636 653 as your system shell has not been updated to use the new APIs. As a result,
637 654 only the aesthetic (prompt) changes are still implemented. We intend to fix
638 655 this by 0.12. Tracked as issue 547_.
639 656
640 657 .. _547: https://github.com/ipython/ipython/issues/547
641 658
642 659 * The installation of scripts on Windows was broken without setuptools, so we
643 660 now depend on setuptools on Windows. We hope to fix setuptools-less
644 661 installation, and then remove the setuptools dependency. Issue 539_.
645 662
646 663 .. _539: https://github.com/ipython/ipython/issues/539
647 664
648 665 * The directory history `_dh` is not saved between sessions. Issue 634_.
649 666
650 667 .. _634: https://github.com/ipython/ipython/issues/634
651 668
652 669
653 670 Removed Features
654 671 ----------------
655 672
656 673 As part of the updating of IPython, we have removed a few features for the
657 674 purpsoes of cleaning up the codebase and interfaces. These removals are
658 675 permanent, but for any item listed below, equivalent functionality is
659 676 available.
660 677
661 678 * The magics Exit and Quit have been dropped as ways to exit IPython. Instead,
662 679 the lowercase forms of both work either as a bare name (``exit``) or a
663 680 function call (``exit()``). You can assign these to other names using
664 681 exec_lines in the config file.
665 682
666 683
667 684 .. _credits_011::
668 685
669 686 Credits
670 687 -------
671 688
672 689 Many users and developers contributed code, features, bug reports and ideas to
673 690 this release. Please do not hesitate in contacting us if we've failed to
674 691 acknowledge your contribution here. In particular, for this release we have
675 692 contribution from the following people, a mix of new and regular names (in
676 693 alphabetical order by first name):
677 694
678 695 * Aenugu Sai Kiran Reddy <saikrn08-at-gmail.com>
679 696 * andy wilson <wilson.andrew.j+github-at-gmail.com>
680 697 * Antonio Cuni <antocuni>
681 698 * Barry Wark <barrywark-at-gmail.com>
682 699 * Beetoju Anuradha <anu.beethoju-at-gmail.com>
683 700 * Benjamin Ragan-Kelley <minrk-at-Mercury.local>
684 701 * Brad Reisfeld
685 702 * Brian E. Granger <ellisonbg-at-gmail.com>
686 703 * Christoph Gohlke <cgohlke-at-uci.edu>
687 704 * Cody Precord
688 705 * dan.milstein
689 706 * Darren Dale <dsdale24-at-gmail.com>
690 707 * Dav Clark <davclark-at-berkeley.edu>
691 708 * David Warde-Farley <wardefar-at-iro.umontreal.ca>
692 709 * epatters <ejpatters-at-gmail.com>
693 710 * epatters <epatters-at-caltech.edu>
694 711 * epatters <epatters-at-enthought.com>
695 712 * Eric Firing <efiring-at-hawaii.edu>
696 713 * Erik Tollerud <erik.tollerud-at-gmail.com>
697 714 * Evan Patterson <epatters-at-enthought.com>
698 715 * Fernando Perez <Fernando.Perez-at-berkeley.edu>
699 716 * Gael Varoquaux <gael.varoquaux-at-normalesup.org>
700 717 * Gerardo <muzgash-at-Muzpelheim>
701 718 * Jason Grout <jason.grout-at-drake.edu>
702 719 * John Hunter <jdh2358-at-gmail.com>
703 720 * Jens Hedegaard Nielsen <jenshnielsen-at-gmail.com>
704 721 * Johann Cohen-Tanugi <johann.cohentanugi-at-gmail.com>
705 722 * JΓΆrgen Stenarson <jorgen.stenarson-at-bostream.nu>
706 723 * Justin Riley <justin.t.riley-at-gmail.com>
707 724 * Kiorky
708 725 * Laurent Dufrechou <laurent.dufrechou-at-gmail.com>
709 726 * Luis Pedro Coelho <lpc-at-cmu.edu>
710 727 * Mani chandra <mchandra-at-iitk.ac.in>
711 728 * Mark E. Smith
712 729 * Mark Voorhies <mark.voorhies-at-ucsf.edu>
713 730 * Martin Spacek <git-at-mspacek.mm.st>
714 731 * Michael Droettboom <mdroe-at-stsci.edu>
715 732 * MinRK <benjaminrk-at-gmail.com>
716 733 * muzuiget <muzuiget-at-gmail.com>
717 734 * Nick Tarleton <nick-at-quixey.com>
718 735 * Nicolas Rougier <Nicolas.rougier-at-inria.fr>
719 736 * Omar Andres Zapata Mesa <andresete.chaos-at-gmail.com>
720 737 * Paul Ivanov <pivanov314-at-gmail.com>
721 738 * Pauli Virtanen <pauli.virtanen-at-iki.fi>
722 739 * Prabhu Ramachandran
723 740 * Ramana <sramana9-at-gmail.com>
724 741 * Robert Kern <robert.kern-at-gmail.com>
725 742 * Sathesh Chandra <satheshchandra88-at-gmail.com>
726 743 * Satrajit Ghosh <satra-at-mit.edu>
727 744 * Sebastian Busch
728 745 * Skipper Seabold <jsseabold-at-gmail.com>
729 746 * Stefan van der Walt <bzr-at-mentat.za.net>
730 747 * Stephan Peijnik <debian-at-sp.or.at>
731 748 * Steven Bethard
732 749 * Thomas Kluyver <takowl-at-gmail.com>
733 750 * Thomas Spura <tomspur-at-fedoraproject.org>
734 751 * Tom Fetherston <tfetherston-at-aol.com>
735 752 * Tom MacWright
736 753 * tzanko
737 754 * vankayala sowjanya <hai.sowjanya-at-gmail.com>
738 755 * Vivian De Smedt <vds2212-at-VIVIAN>
739 756 * Ville M. Vainio <vivainio-at-gmail.com>
740 757 * Vishal Vatsa <vishal.vatsa-at-gmail.com>
741 758 * Vishnu S G <sgvishnu777-at-gmail.com>
742 759 * Walter Doerwald <walter-at-livinglogic.de>
743 760
744 761 .. note::
745 762
746 763 This list was generated with the output of
747 764 ``git log dev-0.11 HEAD --format='* %aN <%aE>' | sed 's/@/\-at\-/' | sed 's/<>//' | sort -u``
748 765 after some cleanup. If you should be on this list, please add yourself.
749
750
751 .. _issues_list_011:
752
753 Closed issues
754 =============
755
756 .. include:: github-stats-011.txt
General Comments 0
You need to be logged in to leave comments. Login now