Show More
@@ -12,44 +12,6 b'' | |||
|
12 | 12 | What's new |
|
13 | 13 | ========== |
|
14 | 14 | |
|
15 | .. contents:: | |
|
16 | .. | |
|
17 | 1 Release dev | |
|
18 | 1.1 New features | |
|
19 | 1.2 Bug fixes | |
|
20 | 1.3 Backwards incompatible changes | |
|
21 | 2 Release 0.10 | |
|
22 | 2.1 New features | |
|
23 | 2.2 Bug fixes | |
|
24 | 2.3 Backwards incompatible changes | |
|
25 | 3 Release 0.9.1 | |
|
26 | 4 Release 0.9 | |
|
27 | 4.1 New features | |
|
28 | 4.2 Bug fixes | |
|
29 | 4.3 Backwards incompatible changes | |
|
30 | 4.4 Changes merged in from IPython1 | |
|
31 | 4.4.1 New features | |
|
32 | 4.4.2 Bug fixes | |
|
33 | 4.4.3 Backwards incompatible changes | |
|
34 | 5 Release 0.8.4 | |
|
35 | 6 Release 0.8.3 | |
|
36 | 7 Release 0.8.2 | |
|
37 | 8 Older releases | |
|
38 | .. | |
|
39 | ||
|
40 | Release dev | |
|
41 | =========== | |
|
42 | ||
|
43 | New features | |
|
44 | ------------ | |
|
45 | ||
|
46 | Bug fixes | |
|
47 | --------- | |
|
48 | ||
|
49 | Backwards incompatible changes | |
|
50 | ------------------------------ | |
|
51 | ||
|
52 | ||
|
53 | 15 | Release 0.10 |
|
54 | 16 | ============ |
|
55 | 17 | |
@@ -90,6 +52,7 b' alphabetical order by first name):' | |||
|
90 | 52 | * Robert Kern: several extensions. |
|
91 | 53 | * Sameer D'Costa: help on critical bug #269966. |
|
92 | 54 | * Stephan Peijnik: feedback on Debian compliance and many man pages. |
|
55 | * Steven Bethard: we are now shipping his :mod:`argparse` module. | |
|
93 | 56 | * Tom Fetherston: many improvements to :mod:`IPython.demo` module. |
|
94 | 57 | * Ville Vainio: lots of work everywhere (features, bug fixes, etc). |
|
95 | 58 | * Vishal Vasta: ssh support in ipcluster. |
@@ -126,8 +89,6 b' New features' | |||
|
126 | 89 | using the `Numpy Documentation Standard`_ for all docstrings, and we have |
|
127 | 90 | tried to update as many existing ones as possible to this format. |
|
128 | 91 | |
|
129 | .. _Numpy Documentation Standard: http://projects.scipy.org/numpy/wiki/CodingStyleGuidelines#docstring-standard | |
|
130 | ||
|
131 | 92 | * The new :mod:`IPython.Extensions.ipy_pretty` extension by Robert Kern |
|
132 | 93 | provides configurable pretty-printing. |
|
133 | 94 | |
@@ -140,7 +101,8 b' New features' | |||
|
140 | 101 | :mod:`IPython.external` package, so we can use it internally and it is also |
|
141 | 102 | available to any IPython user. By installing it in this manner, we ensure |
|
142 | 103 | zero conflicts with any system-wide installation you may already have while |
|
143 | minimizing external dependencies for new users. | |
|
104 | minimizing external dependencies for new users. In IPython 0.10, We ship | |
|
105 | argparse version 1.0. | |
|
144 | 106 | |
|
145 | 107 | * An improved and much more robust test suite, that runs groups of tests in |
|
146 | 108 | separate subprocesses using either Nose or Twisted's :command:`trial` runner |
@@ -173,8 +135,6 b' New features' | |||
|
173 | 135 | should be considered a technology preview. We plan on changing the API in |
|
174 | 136 | significant ways before it is final. |
|
175 | 137 | |
|
176 | * The :mod:`argparse` module has been added to :mod:`IPython.external`. | |
|
177 | ||
|
178 | 138 | * Full description of the security model added to the docs. |
|
179 | 139 | |
|
180 | 140 | * cd completer: show bookmarks if no other completions are available. |
@@ -188,6 +148,10 b' New features' | |||
|
188 | 148 | * %edit: If you do '%edit pasted_block', pasted_block variable gets updated |
|
189 | 149 | with new data (so repeated editing makes sense) |
|
190 | 150 | |
|
151 | .. _Numpy Documentation Standard: http://projects.scipy.org/numpy/wiki/CodingStyleGuidelines#docstring-standard | |
|
152 | ||
|
153 | .. _argparse: http://code.google.com/p/argparse/ | |
|
154 | ||
|
191 | 155 | Bug fixes |
|
192 | 156 | --------- |
|
193 | 157 | |
@@ -240,6 +204,9 b' Bug fixes' | |||
|
240 | 204 | * Bug #274067 'The code in get_home_dir is broken for py2exe' was |
|
241 | 205 | fixed. |
|
242 | 206 | |
|
207 | * Many other small bug fixes not listed here by number (see the bzr log for | |
|
208 | more info). | |
|
209 | ||
|
243 | 210 | Backwards incompatible changes |
|
244 | 211 | ------------------------------ |
|
245 | 212 |
@@ -164,6 +164,45 b' ready to be merged. What types of things will we be looking for:' | |||
|
164 | 164 | Once your changes have been reviewed and approved, someone will merge them |
|
165 | 165 | into the main development branch. |
|
166 | 166 | |
|
167 | ||
|
168 | Some notes for core developers when merging third-party contributions | |
|
169 | ===================================================================== | |
|
170 | ||
|
171 | Core developers, who ultimately merge any approved branch (from themselves, | |
|
172 | another developer, or any third-party contribution) will typically use | |
|
173 | :command:`bzr merge` to merge the branch into the trunk and push it to the main | |
|
174 | Launcphad site. This is a short list of things to keep in mind when doing this | |
|
175 | process, so that the project history is easy to understand in the long run, and | |
|
176 | that generating release notes is as painless and accurate as possible. | |
|
177 | ||
|
178 | - When you merge any non-trivial functionality (from one small bug fix to a big | |
|
179 | feature branch), please remember to always edit the changes_ file | |
|
180 | accordingly. This file has one main section for each release, and if you | |
|
181 | edit it as you go, noting what new features, bug fixes or API changes you | |
|
182 | have made, the release notes will be almost finished when they are needed | |
|
183 | later. This is much easier if done when you merge the work, rather than | |
|
184 | weeks or months later by re-reading a massive Bazaar log. | |
|
185 | ||
|
186 | - When big merges are done, the practice of putting a summary commit message in | |
|
187 | the merge is *extremely* useful. It makes this kind of job much nicer, | |
|
188 | because that summary log message can be almost copy/pasted without changes, | |
|
189 | if it was well written, rather than dissecting the next-level messages from | |
|
190 | the individual commits. | |
|
191 | ||
|
192 | - It's important that we remember to always credit who gave us something if | |
|
193 | it's not the committer. In general, we have been fairly good on this front, | |
|
194 | this is just a reminder to keep things up. As a note, if you are ever | |
|
195 | committing something that is completely (or almost so) a third-party | |
|
196 | contribution, do the commit as:: | |
|
197 | ||
|
198 | $ bzr commit --author="Someone Else" | |
|
199 | ||
|
200 | This way it will show that name separately in the log, which makes it even | |
|
201 | easier to spot. Obviously we often rework third party contributions | |
|
202 | extensively, but this is still good to keep in mind for cases when we don't | |
|
203 | touch the code too much. | |
|
204 | ||
|
205 | ||
|
167 | 206 | Documentation |
|
168 | 207 | ============= |
|
169 | 208 | |
@@ -317,12 +356,18 b' it, you can find this script in the :file:`scripts` directory)::' | |||
|
317 | 356 | |
|
318 | 357 | $ iptest |
|
319 | 358 | |
|
320 | This command runs Nose with the proper options and extensions. By default, | |
|
321 | :command:`iptest` runs the entire IPython test suite (skipping tests that may | |
|
322 | be platform-specific or which depend on tools you may not have). But you can | |
|
323 | also use it to run only one specific test file, or a specific test function. | |
|
324 | For example, this will run only the :file:`test_magic` file from the test | |
|
325 | suite:: | |
|
359 | This command colects all IPython tests into separate groups, and then calls | |
|
360 | either Nose with the proper options and extensions, or Twisted's | |
|
361 | :command:`trial`. This ensures that tests that need the Twisted reactor | |
|
362 | management facilities execute separate of Nose. If any individual test group | |
|
363 | fails, :command:`iptest` will print what you need to type so you can rerun that | |
|
364 | particular test group alone for debugging. | |
|
365 | ||
|
366 | By default, :command:`iptest` runs the entire IPython test | |
|
367 | suite (skipping tests that may be platform-specific or which depend on tools | |
|
368 | you may not have). But you can also use it to run only one specific test file, | |
|
369 | or a specific test function. For example, this will run only the | |
|
370 | :file:`test_magic` file from the test suite:: | |
|
326 | 371 | |
|
327 | 372 | $ iptest IPython.tests.test_magic |
|
328 | 373 | ---------------------------------------------------------------------- |
@@ -345,36 +390,6 b' nosetests option. For example, you can use ``--pdb`` or ``--pdb-failures`` to' | |||
|
345 | 390 | automatically activate the interactive Pdb debugger on errors or failures. See |
|
346 | 391 | the nosetests documentation for further details. |
|
347 | 392 | |
|
348 | .. warning:: | |
|
349 | ||
|
350 | Note that right now we have a nasty interaction between ipdoctest and | |
|
351 | twisted. Until we figure this out, please use the following instructions to | |
|
352 | ensure that at least you run all the tests. | |
|
353 | ||
|
354 | Right now, if you now run:: | |
|
355 | ||
|
356 | $ iptest [any options] [any submodules] | |
|
357 | ||
|
358 | it will NOT load ipdoctest but won't cause any Twisted problems. | |
|
359 | ||
|
360 | Once you're happy that you didn't break Twisted, run:: | |
|
361 | ||
|
362 | $ iptest --with-ipdoctest [any options] [any submodules] | |
|
363 | ||
|
364 | This MAY give a Twisted AlreadyCalledError exception at the end, but it will | |
|
365 | also correctly load up all of the ipython-specific tests and doctests. | |
|
366 | ||
|
367 | The above can be made easier with a trivial shell alias:: | |
|
368 | ||
|
369 | $ alias iptest2='iptest --with-ipdoctest' | |
|
370 | ||
|
371 | So that you can run:: | |
|
372 | ||
|
373 | $ iptest ... | |
|
374 | # Twisted happy | |
|
375 | # iptest2 ... | |
|
376 | # ignore possible Twisted error, this checks all the rest. | |
|
377 | ||
|
378 | 393 | |
|
379 | 394 | A few tips for writing tests |
|
380 | 395 | ---------------------------- |
@@ -450,6 +465,12 b' Release checklist' | |||
|
450 | 465 | Most of the release process is automated by the :file:`release` script in the |
|
451 | 466 | :file:`tools` directory. This is just a handy reminder for the release manager. |
|
452 | 467 | |
|
468 | #. First, run :file:`build_release`, which does all the file checking and | |
|
469 | building that the real release script will do. This will let you do test | |
|
470 | installations, check that the build procedure runs OK, etc. You may want to | |
|
471 | disable a few things like multi-version RPM building while testing, because | |
|
472 | otherwise the build takes really long. | |
|
473 | ||
|
453 | 474 | #. Run the release script, which makes the tar.gz, eggs and Win32 .exe |
|
454 | 475 | installer. It posts them to the site and registers the release with PyPI. |
|
455 | 476 |
General Comments 0
You need to be logged in to leave comments.
Login now