##// END OF EJS Templates
Add release notes for version 5.5
Thomas Kluyver -
Show More
@@ -1,179 +1,201
1 .. _issues_list_5:
1 .. _issues_list_5:
2
2
3 Issues closed in the 5.x development cycle
3 Issues closed in the 5.x development cycle
4 ==========================================
4 ==========================================
5
5
6 Issues closed in 5.6
7 --------------------
8
9 GitHub stats for 2017/09/15 - 2018/04/02 (tag: 5.5.0)
10
11 These lists are automatically generated, and may be incomplete or contain duplicates.
12
13 We closed 2 issues and merged 28 pull requests.
14 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.6>`__
15
16 The following 10 authors contributed 47 commits.
17
18 * Benjamin Ragan-Kelley
19 * Henry Fredrick Schreiner
20 * Joris Van den Bossche
21 * Matthias Bussonnier
22 * Mradul Dubey
23 * Roshan Rao
24 * Samuel Lelièvre
25 * Teddy Rendahl
26 * Thomas A Caswell
27 * Thomas Kluyver
6
28
7 Issues closed in 5.4
29 Issues closed in 5.4
8 --------------------
30 --------------------
9
31
10 GitHub stats for 2017/02/24 - 2017/05/30 (tag: 5.3.0)
32 GitHub stats for 2017/02/24 - 2017/05/30 (tag: 5.3.0)
11
33
12 These lists are automatically generated, and may be incomplete or contain duplicates.
34 These lists are automatically generated, and may be incomplete or contain duplicates.
13
35
14 We closed 8 issues and merged 43 pull requests.
36 We closed 8 issues and merged 43 pull requests.
15 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.4+>`__
37 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.4+>`__
16
38
17 The following 11 authors contributed 64 commits.
39 The following 11 authors contributed 64 commits.
18
40
19 * Benjamin Ragan-Kelley
41 * Benjamin Ragan-Kelley
20 * Carol Willing
42 * Carol Willing
21 * Kyle Kelley
43 * Kyle Kelley
22 * Leo Singer
44 * Leo Singer
23 * Luke Pfister
45 * Luke Pfister
24 * Lumir Balhar
46 * Lumir Balhar
25 * Matthias Bussonnier
47 * Matthias Bussonnier
26 * meeseeksdev[bot]
48 * meeseeksdev[bot]
27 * memeplex
49 * memeplex
28 * Thomas Kluyver
50 * Thomas Kluyver
29 * Ximin Luo
51 * Ximin Luo
30
52
31 Issues closed in 5.3
53 Issues closed in 5.3
32 --------------------
54 --------------------
33
55
34 GitHub stats for 2017/02/24 - 2017/05/30 (tag: 5.3.0)
56 GitHub stats for 2017/02/24 - 2017/05/30 (tag: 5.3.0)
35
57
36 These lists are automatically generated, and may be incomplete or contain duplicates.
58 These lists are automatically generated, and may be incomplete or contain duplicates.
37
59
38 We closed 6 issues and merged 28 pull requests.
60 We closed 6 issues and merged 28 pull requests.
39 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.3+>`__
61 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.3+>`__
40
62
41 The following 11 authors contributed 53 commits.
63 The following 11 authors contributed 53 commits.
42
64
43 * Benjamin Ragan-Kelley
65 * Benjamin Ragan-Kelley
44 * Carol Willing
66 * Carol Willing
45 * Justin Jent
67 * Justin Jent
46 * Kyle Kelley
68 * Kyle Kelley
47 * Lumir Balhar
69 * Lumir Balhar
48 * Matthias Bussonnier
70 * Matthias Bussonnier
49 * meeseeksdev[bot]
71 * meeseeksdev[bot]
50 * Segev Finer
72 * Segev Finer
51 * Steven Maude
73 * Steven Maude
52 * Thomas A Caswell
74 * Thomas A Caswell
53 * Thomas Kluyver
75 * Thomas Kluyver
54
76
55
77
56 Issues closed in 5.2
78 Issues closed in 5.2
57 --------------------
79 --------------------
58
80
59 GitHub stats for 2016/08/13 - 2017/01/29 (tag: 5.1.0)
81 GitHub stats for 2016/08/13 - 2017/01/29 (tag: 5.1.0)
60
82
61 These lists are automatically generated, and may be incomplete or contain duplicates.
83 These lists are automatically generated, and may be incomplete or contain duplicates.
62
84
63 We closed 30 issues and merged 74 pull requests.
85 We closed 30 issues and merged 74 pull requests.
64 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.2+>`__
86 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.2+>`__
65
87
66 The following 40 authors contributed 434 commits.
88 The following 40 authors contributed 434 commits.
67
89
68 * Adam Eury
90 * Adam Eury
69 * anantkaushik89
91 * anantkaushik89
70 * anatoly techtonik
92 * anatoly techtonik
71 * Benjamin Ragan-Kelley
93 * Benjamin Ragan-Kelley
72 * Bibo Hao
94 * Bibo Hao
73 * Carl Smith
95 * Carl Smith
74 * Carol Willing
96 * Carol Willing
75 * Chilaka Ramakrishna
97 * Chilaka Ramakrishna
76 * Christopher Welborn
98 * Christopher Welborn
77 * Denis S. Tereshchenko
99 * Denis S. Tereshchenko
78 * Diego Garcia
100 * Diego Garcia
79 * fatData
101 * fatData
80 * Fermi paradox
102 * Fermi paradox
81 * Fernando Perez
103 * Fernando Perez
82 * fuho
104 * fuho
83 * Hassan Kibirige
105 * Hassan Kibirige
84 * Jamshed Vesuna
106 * Jamshed Vesuna
85 * Jens Hedegaard Nielsen
107 * Jens Hedegaard Nielsen
86 * Jeroen Demeyer
108 * Jeroen Demeyer
87 * kaushikanant
109 * kaushikanant
88 * Kenneth Hoste
110 * Kenneth Hoste
89 * Keshav Ramaswamy
111 * Keshav Ramaswamy
90 * Kyle Kelley
112 * Kyle Kelley
91 * Matteo
113 * Matteo
92 * Matthias Bussonnier
114 * Matthias Bussonnier
93 * mbyt
115 * mbyt
94 * memeplex
116 * memeplex
95 * Moez Bouhlel
117 * Moez Bouhlel
96 * Pablo Galindo
118 * Pablo Galindo
97 * Paul Ivanov
119 * Paul Ivanov
98 * pietvo
120 * pietvo
99 * Piotr Przetacznik
121 * Piotr Przetacznik
100 * Rounak Banik
122 * Rounak Banik
101 * sachet-mittal
123 * sachet-mittal
102 * Srinivas Reddy Thatiparthy
124 * Srinivas Reddy Thatiparthy
103 * Tamir Bahar
125 * Tamir Bahar
104 * Thomas A Caswell
126 * Thomas A Caswell
105 * Thomas Kluyver
127 * Thomas Kluyver
106 * tillahoffmann
128 * tillahoffmann
107 * Yuri Numerov
129 * Yuri Numerov
108
130
109
131
110 Issues closed in 5.1
132 Issues closed in 5.1
111 --------------------
133 --------------------
112
134
113 GitHub stats for 2016/07/08 - 2016/08/13 (tag: 5.0.0)
135 GitHub stats for 2016/07/08 - 2016/08/13 (tag: 5.0.0)
114
136
115 These lists are automatically generated, and may be incomplete or contain duplicates.
137 These lists are automatically generated, and may be incomplete or contain duplicates.
116
138
117 We closed 33 issues and merged 43 pull requests.
139 We closed 33 issues and merged 43 pull requests.
118 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.1+>`__
140 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.1+>`__
119
141
120 The following 17 authors contributed 129 commits.
142 The following 17 authors contributed 129 commits.
121
143
122 * Antony Lee
144 * Antony Lee
123 * Benjamin Ragan-Kelley
145 * Benjamin Ragan-Kelley
124 * Carol Willing
146 * Carol Willing
125 * Danilo J. S. Bellini
147 * Danilo J. S. Bellini
126 * 小明 (`dongweiming <https://github.com/dongweiming>`__)
148 * 小明 (`dongweiming <https://github.com/dongweiming>`__)
127 * Fernando Perez
149 * Fernando Perez
128 * Gavin Cooper
150 * Gavin Cooper
129 * Gil Forsyth
151 * Gil Forsyth
130 * Jacob Niehus
152 * Jacob Niehus
131 * Julian Kuhlmann
153 * Julian Kuhlmann
132 * Matthias Bussonnier
154 * Matthias Bussonnier
133 * Michael Pacer
155 * Michael Pacer
134 * Nik Nyby
156 * Nik Nyby
135 * Pavol Juhas
157 * Pavol Juhas
136 * Luke Deen Taylor
158 * Luke Deen Taylor
137 * Thomas Kluyver
159 * Thomas Kluyver
138 * Tamir Bahar
160 * Tamir Bahar
139
161
140
162
141 Issues closed in 5.0
163 Issues closed in 5.0
142 --------------------
164 --------------------
143
165
144 GitHub stats for 2016/07/05 - 2016/07/07 (tag: 5.0.0)
166 GitHub stats for 2016/07/05 - 2016/07/07 (tag: 5.0.0)
145
167
146 These lists are automatically generated, and may be incomplete or contain duplicates.
168 These lists are automatically generated, and may be incomplete or contain duplicates.
147
169
148 We closed 95 issues and merged 191 pull requests.
170 We closed 95 issues and merged 191 pull requests.
149 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.0+>`__
171 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A5.0+>`__
150
172
151 The following 27 authors contributed 229 commits.
173 The following 27 authors contributed 229 commits.
152
174
153 * Adam Greenhall
175 * Adam Greenhall
154 * Adrian
176 * Adrian
155 * Antony Lee
177 * Antony Lee
156 * Benjamin Ragan-Kelley
178 * Benjamin Ragan-Kelley
157 * Carlos Cordoba
179 * Carlos Cordoba
158 * Carol Willing
180 * Carol Willing
159 * Chris
181 * Chris
160 * Craig Citro
182 * Craig Citro
161 * Dmitry Zotikov
183 * Dmitry Zotikov
162 * Fernando Perez
184 * Fernando Perez
163 * Gil Forsyth
185 * Gil Forsyth
164 * Jason Grout
186 * Jason Grout
165 * Jonathan Frederic
187 * Jonathan Frederic
166 * Jonathan Slenders
188 * Jonathan Slenders
167 * Justin Zymbaluk
189 * Justin Zymbaluk
168 * Kelly Liu
190 * Kelly Liu
169 * klonuo
191 * klonuo
170 * Matthias Bussonnier
192 * Matthias Bussonnier
171 * nvdv
193 * nvdv
172 * Pavol Juhas
194 * Pavol Juhas
173 * Pierre Gerold
195 * Pierre Gerold
174 * sukisuki
196 * sukisuki
175 * Sylvain Corlay
197 * Sylvain Corlay
176 * Thomas A Caswell
198 * Thomas A Caswell
177 * Thomas Kluyver
199 * Thomas Kluyver
178 * Trevor Bekolay
200 * Trevor Bekolay
179 * Yuri Numerov
201 * Yuri Numerov
@@ -1,413 +1,431
1 ============
1 ============
2 5.x Series
2 5.x Series
3 ============
3 ============
4
4
5 .. _whatsnew560:
6
7 IPython 5.6
8 ===========
9
10 * In Python 3.6 and above, dictionaries preserve the order items were added to
11 them. On these versions, IPython will display dictionaries in their native
12 order, rather than sorting by the keys (:ghpull:`10958`).
13 * :class:`~.IPython.display.ProgressBar` can now be used as an iterator
14 (:ghpull:`10813`).
15 * The shell object gains a :meth:`~.InteractiveShell.check_complete` method,
16 to allow a smoother transition to new input processing machinery planned for
17 IPython 7 (:ghpull:`11044`).
18 * IPython should start faster, as it no longer looks for all available pygments
19 styles on startup (:ghpull:`10859`).
20
21 You can see all the PR marked for the `5.6. milestone <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A5.6+is%3Aclosed+NOT+%22Backport+PR%22+>`_,
22 and all the `backport versions <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.6%20is%3Aclosed%20%22Backport%20PR%22%20>`__.
5
23
6 .. _whatsnew550:
24 .. _whatsnew550:
7
25
8 IPython 5.5
26 IPython 5.5
9 ===========
27 ===========
10
28
11 System Wide config
29 System Wide config
12 ------------------
30 ------------------
13
31
14 - IPython now looks for config files in ``{sys.prefix}/etc/ipython``
32 - IPython now looks for config files in ``{sys.prefix}/etc/ipython``
15 for environment-specific configuration.
33 for environment-specific configuration.
16 - Startup files can be found in ``/etc/ipython/startup`` or ``{sys.prefix}/etc/ipython/startup``
34 - Startup files can be found in ``/etc/ipython/startup`` or ``{sys.prefix}/etc/ipython/startup``
17 in addition to the profile directory, for system-wide or env-specific startup files.
35 in addition to the profile directory, for system-wide or env-specific startup files.
18
36
19 See :ghpull:`10644`
37 See :ghpull:`10644`
20
38
21 ProgressBar
39 ProgressBar
22 -----------
40 -----------
23
41
24
42
25 IPython now has built-in support for progressbars::
43 IPython now has built-in support for progressbars::
26
44
27 In[1]: from IPython.display import ProgressBar
45 In[1]: from IPython.display import ProgressBar
28 ... : pb = ProgressBar(100)
46 ... : pb = ProgressBar(100)
29 ... : pb
47 ... : pb
30
48
31 In[2]: pb.progress = 50
49 In[2]: pb.progress = 50
32
50
33 # progress bar in cell 1 updates.
51 # progress bar in cell 1 updates.
34
52
35 See :ghpull:`10755`
53 See :ghpull:`10755`
36
54
37
55
38 Misc
56 Misc
39 ----
57 ----
40
58
41 - Fix ``IPython.core.display:Pretty._repr_pretty_`` had the wrong signature.
59 - Fix ``IPython.core.display:Pretty._repr_pretty_`` had the wrong signature.
42 (:ghpull:`10625`)
60 (:ghpull:`10625`)
43 - :magic:`timeit` now give a correct ``SyntaxError`` if naked ``return`` used.
61 - :magic:`timeit` now give a correct ``SyntaxError`` if naked ``return`` used.
44 (:ghpull:`10637`)
62 (:ghpull:`10637`)
45 - Prepare the ``:ipython:`` directive to be compatible with Sphinx 1.7.
63 - Prepare the ``:ipython:`` directive to be compatible with Sphinx 1.7.
46 (:ghpull:`10668`)
64 (:ghpull:`10668`)
47 - Make IPython work with OpenSSL in FIPS mode; change hash algorithm of input
65 - Make IPython work with OpenSSL in FIPS mode; change hash algorithm of input
48 from md5 to sha1. (:ghpull:`10696`)
66 from md5 to sha1. (:ghpull:`10696`)
49 - Clear breakpoints before running any script with debugger. (:ghpull:`10699`)
67 - Clear breakpoints before running any script with debugger. (:ghpull:`10699`)
50 - Document that :magic:`profile` is deprecated, not to be confused with :magic:`prun`. (:ghpull:`10707`)
68 - Document that :magic:`profile` is deprecated, not to be confused with :magic:`prun`. (:ghpull:`10707`)
51 - Limit default number of returned completions to 500. (:ghpull:`10743`)
69 - Limit default number of returned completions to 500. (:ghpull:`10743`)
52
70
53 You can see all the PR marked for the `5.5. milestone <https://github.com/ipython/ipython/pulls?q=is%3Apr%20milestone%3A5.5%20is%3Aclosed%20NOT%20%22Backport%20PR%22>`_,
71 You can see all the PR marked for the `5.5. milestone <https://github.com/ipython/ipython/pulls?q=is%3Apr%20milestone%3A5.5%20is%3Aclosed%20NOT%20%22Backport%20PR%22>`_,
54 and all the `backport versions <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.5%20is%3Aclosed%20%22Backport%20PR%22%20>`_.
72 and all the `backport versions <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.5%20is%3Aclosed%20%22Backport%20PR%22%20>`_.
55
73
56
74
57
75
58
76
59 .. _whatsnew540:
77 .. _whatsnew540:
60
78
61 IPython 5.4
79 IPython 5.4
62 ===========
80 ===========
63
81
64 IPython 5.4-LTS is the first release of IPython after the release of the 6.x
82 IPython 5.4-LTS is the first release of IPython after the release of the 6.x
65 series which is Python 3 only. It backports most of the new exposed API
83 series which is Python 3 only. It backports most of the new exposed API
66 additions made in IPython 6.0 and 6.1 and avoid having to write conditional
84 additions made in IPython 6.0 and 6.1 and avoid having to write conditional
67 logics depending of the version of IPython.
85 logics depending of the version of IPython.
68
86
69 Please upgrade to pip 9 or greater before upgrading IPython.
87 Please upgrade to pip 9 or greater before upgrading IPython.
70 Failing to do so on Python 2 may lead to a broken IPython install.
88 Failing to do so on Python 2 may lead to a broken IPython install.
71
89
72 Configurable TerminalInteractiveShell
90 Configurable TerminalInteractiveShell
73 -------------------------------------
91 -------------------------------------
74
92
75 Backported from the 6.x branch as an exceptional new feature. See
93 Backported from the 6.x branch as an exceptional new feature. See
76 :ghpull:`10373` and :ghissue:`10364`
94 :ghpull:`10373` and :ghissue:`10364`
77
95
78 IPython gained a new ``c.TerminalIPythonApp.interactive_shell_class`` option
96 IPython gained a new ``c.TerminalIPythonApp.interactive_shell_class`` option
79 that allow to customize the class used to start the terminal frontend. This
97 that allow to customize the class used to start the terminal frontend. This
80 should allow user to use custom interfaces, like reviving the former readline
98 should allow user to use custom interfaces, like reviving the former readline
81 interface which is now a separate package not maintained by the core team.
99 interface which is now a separate package not maintained by the core team.
82
100
83
101
84 Define ``_repr_mimebundle_``
102 Define ``_repr_mimebundle_``
85 ----------------------------
103 ----------------------------
86
104
87 Object can now define `_repr_mimebundle_` in place of multiple `_repr_*_`
105 Object can now define `_repr_mimebundle_` in place of multiple `_repr_*_`
88 methods and return a full mimebundle. This greatly simplify many implementation
106 methods and return a full mimebundle. This greatly simplify many implementation
89 and allow to publish custom mimetypes (like geojson, plotly, dataframes....).
107 and allow to publish custom mimetypes (like geojson, plotly, dataframes....).
90 See the ``Custom Display Logic`` example notebook for more information.
108 See the ``Custom Display Logic`` example notebook for more information.
91
109
92 Execution Heuristics
110 Execution Heuristics
93 --------------------
111 --------------------
94
112
95 The heuristic for execution in the command line interface is now more biased
113 The heuristic for execution in the command line interface is now more biased
96 toward executing for single statement. While in IPython 4.x and before a single
114 toward executing for single statement. While in IPython 4.x and before a single
97 line would be executed when enter is pressed, IPython 5.x would insert a new
115 line would be executed when enter is pressed, IPython 5.x would insert a new
98 line. For single line statement this is not true anymore and if a single line is
116 line. For single line statement this is not true anymore and if a single line is
99 valid Python, IPython will execute it regardless of the cursor position. Use
117 valid Python, IPython will execute it regardless of the cursor position. Use
100 :kbd:`Ctrl-O` to insert a new line. :ghpull:`10489`
118 :kbd:`Ctrl-O` to insert a new line. :ghpull:`10489`
101
119
102
120
103 Implement Display IDs
121 Implement Display IDs
104 ---------------------
122 ---------------------
105
123
106 Implement display id and ability to update a given display. This should greatly
124 Implement display id and ability to update a given display. This should greatly
107 simplify a lot of code by removing the need for widgets and allow other frontend
125 simplify a lot of code by removing the need for widgets and allow other frontend
108 to implement things like progress-bars. See :ghpull:`10048`
126 to implement things like progress-bars. See :ghpull:`10048`
109
127
110 Display function
128 Display function
111 ----------------
129 ----------------
112
130
113 The :func:`display() <IPython.display.display>` function is now available by
131 The :func:`display() <IPython.display.display>` function is now available by
114 default in an IPython session, meaning users can call it on any object to see
132 default in an IPython session, meaning users can call it on any object to see
115 their rich representation. This should allow for better interactivity both at
133 their rich representation. This should allow for better interactivity both at
116 the REPL and in notebook environment.
134 the REPL and in notebook environment.
117
135
118 Scripts and library that rely on display and may be run outside of IPython still
136 Scripts and library that rely on display and may be run outside of IPython still
119 need to import the display function using ``from IPython.display import
137 need to import the display function using ``from IPython.display import
120 display``. See :ghpull:`10596`
138 display``. See :ghpull:`10596`
121
139
122
140
123 Miscs
141 Miscs
124 -----
142 -----
125
143
126 * ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
144 * ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
127 :ghpull:`10523`
145 :ghpull:`10523`
128 * Use user colorscheme in Pdb as well :ghpull:`10479`
146 * Use user colorscheme in Pdb as well :ghpull:`10479`
129 * Faster shutdown. :ghpull:`10408`
147 * Faster shutdown. :ghpull:`10408`
130 * Fix a crash in reverse search. :ghpull:`10371`
148 * Fix a crash in reverse search. :ghpull:`10371`
131 * added ``Completer.backslash_combining_completions`` boolean option to
149 * added ``Completer.backslash_combining_completions`` boolean option to
132 deactivate backslash-tab completion that may conflict with windows path.
150 deactivate backslash-tab completion that may conflict with windows path.
133
151
134 IPython 5.3
152 IPython 5.3
135 ===========
153 ===========
136
154
137 Released on February 24th, 2017. Remarkable changes and fixes:
155 Released on February 24th, 2017. Remarkable changes and fixes:
138
156
139 * Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
157 * Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
140 :ghpull:`10231`, :ghissue:`10296`, :ghissue:`10229`
158 :ghpull:`10231`, :ghissue:`10296`, :ghissue:`10229`
141 * Always wait for editor inputhook for terminal IPython :ghpull:`10239`,
159 * Always wait for editor inputhook for terminal IPython :ghpull:`10239`,
142 :ghpull:`10240`
160 :ghpull:`10240`
143 * Disable ``_ipython_display_`` in terminal :ghpull:`10249`, :ghpull:`10274`
161 * Disable ``_ipython_display_`` in terminal :ghpull:`10249`, :ghpull:`10274`
144 * Update terminal colors to be more visible by default on windows
162 * Update terminal colors to be more visible by default on windows
145 :ghpull:`10260`, :ghpull:`10238`, :ghissue:`10281`
163 :ghpull:`10260`, :ghpull:`10238`, :ghissue:`10281`
146 * Add Ctrl-Z shortcut (suspend) in terminal debugger :ghpull:`10254`,
164 * Add Ctrl-Z shortcut (suspend) in terminal debugger :ghpull:`10254`,
147 :ghissue:`10273`
165 :ghissue:`10273`
148 * Indent on new line by looking at the text before the cursor :ghpull:`10264`,
166 * Indent on new line by looking at the text before the cursor :ghpull:`10264`,
149 :ghpull:`10275`, :ghissue:`9283`
167 :ghpull:`10275`, :ghissue:`9283`
150 * Update QtEventloop integration to fix some matplotlib integration issues
168 * Update QtEventloop integration to fix some matplotlib integration issues
151 :ghpull:`10201`, :ghpull:`10311`, :ghissue:`10201`
169 :ghpull:`10201`, :ghpull:`10311`, :ghissue:`10201`
152 * Respect completions display style in terminal debugger :ghpull:`10305`,
170 * Respect completions display style in terminal debugger :ghpull:`10305`,
153 :ghpull:`10313`
171 :ghpull:`10313`
154 * Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
172 * Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
155 to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
173 to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
156 in vi mode, and :kbd:`C-X C-E` in emacs mode (:ghpull:`10330`).
174 in vi mode, and :kbd:`C-X C-E` in emacs mode (:ghpull:`10330`).
157 The :kbd:`F2` shortcut is always enabled.
175 The :kbd:`F2` shortcut is always enabled.
158
176
159 IPython 5.2.2
177 IPython 5.2.2
160 =============
178 =============
161
179
162 * Fix error when starting with ``IPCompleter.limit_to__all__`` configured.
180 * Fix error when starting with ``IPCompleter.limit_to__all__`` configured.
163
181
164 IPython 5.2.1
182 IPython 5.2.1
165 =============
183 =============
166
184
167 * Fix tab completion in the debugger. :ghpull:`10223`
185 * Fix tab completion in the debugger. :ghpull:`10223`
168
186
169 IPython 5.2
187 IPython 5.2
170 ===========
188 ===========
171
189
172 Released on January 29th, 2017. Remarkable changes and fixes:
190 Released on January 29th, 2017. Remarkable changes and fixes:
173
191
174 * restore IPython's debugger to raise on quit. :ghpull:`10009`
192 * restore IPython's debugger to raise on quit. :ghpull:`10009`
175 * The configuration value ``c.TerminalInteractiveShell.highlighting_style`` can
193 * The configuration value ``c.TerminalInteractiveShell.highlighting_style`` can
176 now directly take a class argument for custom color style. :ghpull:`9848`
194 now directly take a class argument for custom color style. :ghpull:`9848`
177 * Correctly handle matplotlib figures dpi :ghpull:`9868`
195 * Correctly handle matplotlib figures dpi :ghpull:`9868`
178 * Deprecate ``-e`` flag for the ``%notebook`` magic that had no effects.
196 * Deprecate ``-e`` flag for the ``%notebook`` magic that had no effects.
179 :ghpull:`9872`
197 :ghpull:`9872`
180 * You can now press F2 while typing at a terminal prompt to edit the contents
198 * You can now press F2 while typing at a terminal prompt to edit the contents
181 in your favourite terminal editor. Set the :envvar:`EDITOR` environment
199 in your favourite terminal editor. Set the :envvar:`EDITOR` environment
182 variable to pick which editor is used. :ghpull:`9929`
200 variable to pick which editor is used. :ghpull:`9929`
183 * sdists will now only be ``.tar.gz`` as per upstream PyPI requirements.
201 * sdists will now only be ``.tar.gz`` as per upstream PyPI requirements.
184 :ghpull:`9925`
202 :ghpull:`9925`
185 * :any:`IPython.core.debugger` have gained a ``set_trace()`` method for
203 * :any:`IPython.core.debugger` have gained a ``set_trace()`` method for
186 convenience. :ghpull:`9947`
204 convenience. :ghpull:`9947`
187 * The 'smart command mode' added to the debugger in 5.0 was removed, as more
205 * The 'smart command mode' added to the debugger in 5.0 was removed, as more
188 people preferred the previous behaviour. Therefore, debugger commands such as
206 people preferred the previous behaviour. Therefore, debugger commands such as
189 ``c`` will act as debugger commands even when ``c`` is defined as a variable.
207 ``c`` will act as debugger commands even when ``c`` is defined as a variable.
190 :ghpull:`10050`
208 :ghpull:`10050`
191 * Fixes OS X event loop issues at startup, :ghpull:`10150`
209 * Fixes OS X event loop issues at startup, :ghpull:`10150`
192 * Deprecate the ``%autoindent`` magic. :ghpull:`10176`
210 * Deprecate the ``%autoindent`` magic. :ghpull:`10176`
193 * Emit a :any:`DeprecationWarning` when setting the deprecated
211 * Emit a :any:`DeprecationWarning` when setting the deprecated
194 ``limit_to_all`` option of the completer. :ghpull:`10198`
212 ``limit_to_all`` option of the completer. :ghpull:`10198`
195 * The :cellmagic:`capture` magic can now capture the result of a cell (from an
213 * The :cellmagic:`capture` magic can now capture the result of a cell (from an
196 expression on the last line), as well as printed and displayed output.
214 expression on the last line), as well as printed and displayed output.
197 :ghpull:`9851`.
215 :ghpull:`9851`.
198
216
199
217
200 Changes of behavior to :any:`InteractiveShellEmbed`.
218 Changes of behavior to :any:`InteractiveShellEmbed`.
201
219
202 :any:`InteractiveShellEmbed` interactive behavior have changed a bit in between
220 :any:`InteractiveShellEmbed` interactive behavior have changed a bit in between
203 5.1 and 5.2. By default ``%kill_embedded`` magic will prevent further invocation
221 5.1 and 5.2. By default ``%kill_embedded`` magic will prevent further invocation
204 of the current ``call location`` instead of preventing further invocation of
222 of the current ``call location`` instead of preventing further invocation of
205 the current instance creation location. For most use case this will not change
223 the current instance creation location. For most use case this will not change
206 much for you, though previous behavior was confusing and less consistent with
224 much for you, though previous behavior was confusing and less consistent with
207 previous IPython versions.
225 previous IPython versions.
208
226
209 You can now deactivate instances by using ``%kill_embedded --instance`` flag,
227 You can now deactivate instances by using ``%kill_embedded --instance`` flag,
210 (or ``-i`` in short). The ``%kill_embedded`` magic also gained a
228 (or ``-i`` in short). The ``%kill_embedded`` magic also gained a
211 ``--yes``/``-y`` option which skip confirmation step, and ``-x``/``--exit``
229 ``--yes``/``-y`` option which skip confirmation step, and ``-x``/``--exit``
212 which also exit the current embedded call without asking for confirmation.
230 which also exit the current embedded call without asking for confirmation.
213
231
214 See :ghpull:`10207`.
232 See :ghpull:`10207`.
215
233
216
234
217
235
218 IPython 5.1
236 IPython 5.1
219 ===========
237 ===========
220
238
221 * Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
239 * Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
222 * Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
240 * Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
223 * Don't set terminal title by default. :ghpull:`9801`
241 * Don't set terminal title by default. :ghpull:`9801`
224 * Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
242 * Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
225 * Restore completion in debugger. :ghpull:`9785`
243 * Restore completion in debugger. :ghpull:`9785`
226 * Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
244 * Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
227 * Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
245 * Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
228 * Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
246 * Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
229 * Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
247 * Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
230 * An embedded interactive shell instance can be used more than once. :ghpull:`9843`
248 * An embedded interactive shell instance can be used more than once. :ghpull:`9843`
231 * More robust check for whether IPython is in a terminal. :ghpull:`9833`
249 * More robust check for whether IPython is in a terminal. :ghpull:`9833`
232 * Better pretty-printing of dicts on PyPy. :ghpull:`9827`
250 * Better pretty-printing of dicts on PyPy. :ghpull:`9827`
233 * Some coloured output now looks better on dark background command prompts in Windows.
251 * Some coloured output now looks better on dark background command prompts in Windows.
234 :ghpull:`9838`
252 :ghpull:`9838`
235 * Improved tab completion of paths on Windows . :ghpull:`9826`
253 * Improved tab completion of paths on Windows . :ghpull:`9826`
236 * Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
254 * Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
237 * Restore ``Ctrl-\`` as a shortcut to quit IPython.
255 * Restore ``Ctrl-\`` as a shortcut to quit IPython.
238 * Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
256 * Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
239 * Add support for running directories containing a ``__main__.py`` file with the
257 * Add support for running directories containing a ``__main__.py`` file with the
240 ``ipython`` command. :ghpull:`9813`
258 ``ipython`` command. :ghpull:`9813`
241
259
242
260
243 True Color feature
261 True Color feature
244 ------------------
262 ------------------
245
263
246 ``prompt_toolkit`` uses pygments styles for syntax highlighting. By default, the
264 ``prompt_toolkit`` uses pygments styles for syntax highlighting. By default, the
247 colors specified in the style are approximated using a standard 256-color
265 colors specified in the style are approximated using a standard 256-color
248 palette. ``prompt_toolkit`` also supports 24bit, a.k.a. "true", a.k.a. 16-million
266 palette. ``prompt_toolkit`` also supports 24bit, a.k.a. "true", a.k.a. 16-million
249 color escape sequences which enable compatible terminals to display the exact
267 color escape sequences which enable compatible terminals to display the exact
250 colors specified instead of an approximation. This true_color option exposes
268 colors specified instead of an approximation. This true_color option exposes
251 that capability in prompt_toolkit to the IPython shell.
269 that capability in prompt_toolkit to the IPython shell.
252
270
253 Here is a good source for the current state of true color support in various
271 Here is a good source for the current state of true color support in various
254 terminal emulators and software projects: https://gist.github.com/XVilka/8346728
272 terminal emulators and software projects: https://gist.github.com/XVilka/8346728
255
273
256
274
257
275
258 IPython 5.0
276 IPython 5.0
259 ===========
277 ===========
260
278
261 Released July 7, 2016
279 Released July 7, 2016
262
280
263 New terminal interface
281 New terminal interface
264 ----------------------
282 ----------------------
265
283
266 IPython 5 features a major upgrade to the terminal interface, bringing live
284 IPython 5 features a major upgrade to the terminal interface, bringing live
267 syntax highlighting as you type, proper multiline editing and multiline paste,
285 syntax highlighting as you type, proper multiline editing and multiline paste,
268 and tab completions that don't clutter up your history.
286 and tab completions that don't clutter up your history.
269
287
270 .. image:: ../_images/ptshell_features.png
288 .. image:: ../_images/ptshell_features.png
271 :alt: New terminal interface features
289 :alt: New terminal interface features
272 :align: center
290 :align: center
273 :target: ../_images/ptshell_features.png
291 :target: ../_images/ptshell_features.png
274
292
275 These features are provided by the Python library `prompt_toolkit
293 These features are provided by the Python library `prompt_toolkit
276 <http://python-prompt-toolkit.readthedocs.io/en/stable/>`__, which replaces
294 <http://python-prompt-toolkit.readthedocs.io/en/stable/>`__, which replaces
277 ``readline`` throughout our terminal interface.
295 ``readline`` throughout our terminal interface.
278
296
279 Relying on this pure-Python, cross platform module also makes it simpler to
297 Relying on this pure-Python, cross platform module also makes it simpler to
280 install IPython. We have removed dependencies on ``pyreadline`` for Windows and
298 install IPython. We have removed dependencies on ``pyreadline`` for Windows and
281 ``gnureadline`` for Mac.
299 ``gnureadline`` for Mac.
282
300
283 Backwards incompatible changes
301 Backwards incompatible changes
284 ------------------------------
302 ------------------------------
285
303
286 - The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
304 - The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
287 You can distribute and install extensions as packages on PyPI.
305 You can distribute and install extensions as packages on PyPI.
288 - Callbacks registered while an event is being handled will now only be called
306 - Callbacks registered while an event is being handled will now only be called
289 for subsequent events; previously they could be called for the current event.
307 for subsequent events; previously they could be called for the current event.
290 Similarly, callbacks removed while handling an event *will* always get that
308 Similarly, callbacks removed while handling an event *will* always get that
291 event. See :ghissue:`9447` and :ghpull:`9453`.
309 event. See :ghissue:`9447` and :ghpull:`9453`.
292 - Integration with pydb has been removed since pydb development has been stopped
310 - Integration with pydb has been removed since pydb development has been stopped
293 since 2012, and pydb is not installable from PyPI.
311 since 2012, and pydb is not installable from PyPI.
294 - The ``autoedit_syntax`` option has apparently been broken for many years.
312 - The ``autoedit_syntax`` option has apparently been broken for many years.
295 It has been removed.
313 It has been removed.
296
314
297 New terminal interface
315 New terminal interface
298 ~~~~~~~~~~~~~~~~~~~~~~
316 ~~~~~~~~~~~~~~~~~~~~~~
299
317
300 The overhaul of the terminal interface will probably cause a range of minor
318 The overhaul of the terminal interface will probably cause a range of minor
301 issues for existing users.
319 issues for existing users.
302 This is inevitable for such a significant change, and we've done our best to
320 This is inevitable for such a significant change, and we've done our best to
303 minimise these issues.
321 minimise these issues.
304 Some changes that we're aware of, with suggestions on how to handle them:
322 Some changes that we're aware of, with suggestions on how to handle them:
305
323
306 IPython no longer uses readline configuration (``~/.inputrc``). We hope that
324 IPython no longer uses readline configuration (``~/.inputrc``). We hope that
307 the functionality you want (e.g. vi input mode) will be available by configuring
325 the functionality you want (e.g. vi input mode) will be available by configuring
308 IPython directly (see :doc:`/config/options/terminal`).
326 IPython directly (see :doc:`/config/options/terminal`).
309 If something's missing, please file an issue.
327 If something's missing, please file an issue.
310
328
311 The ``PromptManager`` class has been removed, and the prompt machinery simplified.
329 The ``PromptManager`` class has been removed, and the prompt machinery simplified.
312 See :ref:`custom_prompts` to customise prompts with the new machinery.
330 See :ref:`custom_prompts` to customise prompts with the new machinery.
313
331
314 :mod:`IPython.core.debugger` now provides a plainer interface.
332 :mod:`IPython.core.debugger` now provides a plainer interface.
315 :mod:`IPython.terminal.debugger` contains the terminal debugger using
333 :mod:`IPython.terminal.debugger` contains the terminal debugger using
316 prompt_toolkit.
334 prompt_toolkit.
317
335
318 There are new options to configure the colours used in syntax highlighting.
336 There are new options to configure the colours used in syntax highlighting.
319 We have tried to integrate them with our classic ``--colors`` option and
337 We have tried to integrate them with our classic ``--colors`` option and
320 ``%colors`` magic, but there's a mismatch in possibilities, so some configurations
338 ``%colors`` magic, but there's a mismatch in possibilities, so some configurations
321 may produce unexpected results. See :ref:`termcolour` for more information.
339 may produce unexpected results. See :ref:`termcolour` for more information.
322
340
323 The new interface is not compatible with Emacs 'inferior-shell' feature. To
341 The new interface is not compatible with Emacs 'inferior-shell' feature. To
324 continue using this, add the ``--simple-prompt`` flag to the command Emacs
342 continue using this, add the ``--simple-prompt`` flag to the command Emacs
325 runs. This flag disables most IPython features, relying on Emacs to provide
343 runs. This flag disables most IPython features, relying on Emacs to provide
326 things like tab completion.
344 things like tab completion.
327
345
328 Provisional Changes
346 Provisional Changes
329 -------------------
347 -------------------
330
348
331 Provisional changes are experimental functionality that may, or may not, make
349 Provisional changes are experimental functionality that may, or may not, make
332 it into a future version of IPython, and which API may change without warnings.
350 it into a future version of IPython, and which API may change without warnings.
333 Activating these features and using these API are at your own risk, and may have
351 Activating these features and using these API are at your own risk, and may have
334 security implication for your system, especially if used with the Jupyter notebook,
352 security implication for your system, especially if used with the Jupyter notebook,
335
353
336 When running via the Jupyter notebook interfaces, or other compatible client,
354 When running via the Jupyter notebook interfaces, or other compatible client,
337 you can enable rich documentation experimental functionality:
355 you can enable rich documentation experimental functionality:
338
356
339 When the ``docrepr`` package is installed setting the boolean flag
357 When the ``docrepr`` package is installed setting the boolean flag
340 ``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
358 ``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
341 object through sphinx before displaying them (see the ``docrepr`` package
359 object through sphinx before displaying them (see the ``docrepr`` package
342 documentation for more information.
360 documentation for more information.
343
361
344 You need to also enable the IPython pager display rich HTML representation
362 You need to also enable the IPython pager display rich HTML representation
345 using the ``InteractiveShell.enable_html_pager`` boolean configuration option.
363 using the ``InteractiveShell.enable_html_pager`` boolean configuration option.
346 As usual you can set these configuration options globally in your configuration
364 As usual you can set these configuration options globally in your configuration
347 files, alternatively you can turn them on dynamically using the following
365 files, alternatively you can turn them on dynamically using the following
348 snippet:
366 snippet:
349
367
350 .. code-block:: python
368 .. code-block:: python
351
369
352 ip = get_ipython()
370 ip = get_ipython()
353 ip.sphinxify_docstring = True
371 ip.sphinxify_docstring = True
354 ip.enable_html_pager = True
372 ip.enable_html_pager = True
355
373
356
374
357 You can test the effect of various combinations of the above configuration in
375 You can test the effect of various combinations of the above configuration in
358 the Jupyter notebook, with things example like :
376 the Jupyter notebook, with things example like :
359
377
360 .. code-block:: ipython
378 .. code-block:: ipython
361
379
362 import numpy as np
380 import numpy as np
363 np.histogram?
381 np.histogram?
364
382
365
383
366 This is part of an effort to make Documentation in Python richer and provide in
384 This is part of an effort to make Documentation in Python richer and provide in
367 the long term if possible dynamic examples that can contain math, images,
385 the long term if possible dynamic examples that can contain math, images,
368 widgets... As stated above this is nightly experimental feature with a lot of
386 widgets... As stated above this is nightly experimental feature with a lot of
369 (fun) problem to solve. We would be happy to get your feedback and expertise on
387 (fun) problem to solve. We would be happy to get your feedback and expertise on
370 it.
388 it.
371
389
372
390
373
391
374 Deprecated Features
392 Deprecated Features
375 -------------------
393 -------------------
376
394
377 Some deprecated features are listed in this section. Don't forget to enable
395 Some deprecated features are listed in this section. Don't forget to enable
378 ``DeprecationWarning`` as an error if you are using IPython in a Continuous
396 ``DeprecationWarning`` as an error if you are using IPython in a Continuous
379 Integration setup or in your testing in general:
397 Integration setup or in your testing in general:
380
398
381 .. code-block:: python
399 .. code-block:: python
382
400
383 import warnings
401 import warnings
384 warnings.filterwarnings('error', '.*', DeprecationWarning, module='yourmodule.*')
402 warnings.filterwarnings('error', '.*', DeprecationWarning, module='yourmodule.*')
385
403
386
404
387 - ``hooks.fix_error_editor`` seems unused and is pending deprecation.
405 - ``hooks.fix_error_editor`` seems unused and is pending deprecation.
388 - `IPython/core/excolors.py:ExceptionColors` is deprecated.
406 - `IPython/core/excolors.py:ExceptionColors` is deprecated.
389 - `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
407 - `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
390 - `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
408 - `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
391 - The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
409 - The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
392 - The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
410 - The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
393
411
394
412
395 Known Issues:
413 Known Issues:
396 -------------
414 -------------
397
415
398 - ``<Esc>`` Key does not dismiss the completer and does not clear the current
416 - ``<Esc>`` Key does not dismiss the completer and does not clear the current
399 buffer. This is an on purpose modification due to current technical
417 buffer. This is an on purpose modification due to current technical
400 limitation. Cf :ghpull:`9572`. Escape the control character which is used
418 limitation. Cf :ghpull:`9572`. Escape the control character which is used
401 for other shortcut, and there is no practical way to distinguish. Use Ctr-G
419 for other shortcut, and there is no practical way to distinguish. Use Ctr-G
402 or Ctrl-C as an alternative.
420 or Ctrl-C as an alternative.
403
421
404 - Cannot use ``Shift-Enter`` and ``Ctrl-Enter`` to submit code in terminal. cf
422 - Cannot use ``Shift-Enter`` and ``Ctrl-Enter`` to submit code in terminal. cf
405 :ghissue:`9587` and :ghissue:`9401`. In terminal there is no practical way to
423 :ghissue:`9587` and :ghissue:`9401`. In terminal there is no practical way to
406 distinguish these key sequences from a normal new line return.
424 distinguish these key sequences from a normal new line return.
407
425
408 - ``PageUp`` and ``pageDown`` do not move through completion menu.
426 - ``PageUp`` and ``pageDown`` do not move through completion menu.
409
427
410 - Color styles might not adapt to terminal emulator themes. This will need new
428 - Color styles might not adapt to terminal emulator themes. This will need new
411 version of Pygments to be released, and can be mitigated with custom themes.
429 version of Pygments to be released, and can be mitigated with custom themes.
412
430
413
431
General Comments 0
You need to be logged in to leave comments. Login now