Show More
@@ -1,6 +1,101 b'' | |||||
1 | ======================================== |
|
1 | ============= | |
2 | 0.10 series |
|
2 | 0.10 series | |
3 | ======================================== |
|
3 | ============= | |
|
4 | ||||
|
5 | Release 0.10.1 | |||
|
6 | ============== | |||
|
7 | ||||
|
8 | IPython 0.10.1 was released October 11, 2010, over a year after version 0.10. | |||
|
9 | This is mostly a bugfix release, since after version 0.10 was released, the | |||
|
10 | development team's energy has been focused on the 0.11 series. We have | |||
|
11 | nonetheless tried to backport what fixes we could into 0.10.1, as it remains | |||
|
12 | the stable series that many users have in production systems they rely on. | |||
|
13 | ||||
|
14 | Since the 0.11 series changes many APIs in backwards-incompatible ways, we are | |||
|
15 | willing to continue maintaining the 0.10.x series. We don't really have time | |||
|
16 | to actively write new code for 0.10.x, but we are happy to accept patches and | |||
|
17 | pull requests on the IPython `github site`_. If sufficient contributions are | |||
|
18 | made that improve 0.10.1, we will roll them into future releases. For this | |||
|
19 | purpose, we will have a branch called 0.10.2 on github, on which you can base | |||
|
20 | your contributions. | |||
|
21 | ||||
|
22 | .. _github site: http://github.com/ipython | |||
|
23 | ||||
|
24 | For this release, we applied approximately 60 commits totaling a diff of over | |||
|
25 | 7000 lines:: | |||
|
26 | ||||
|
27 | (0.10.1)amirbar[dist]> git diff --oneline rel-0.10.. | wc -l | |||
|
28 | 7296 | |||
|
29 | ||||
|
30 | Highlights of this release: | |||
|
31 | ||||
|
32 | - The only significant new feature is that IPython's parallel computing | |||
|
33 | machinery now supports natively the Sun Grid Engine and LSF schedulers. This | |||
|
34 | work was a joint contribution from Justin Riley, Satra Ghosh and Matthieu | |||
|
35 | Brucher, who put a lot of work into it. We also improved traceback handling | |||
|
36 | in remote tasks, as well as providing better control for remote task IDs. | |||
|
37 | ||||
|
38 | - New IPython Sphinx directive. You can use this directive to mark blocks in | |||
|
39 | reSructuredText documents as containig IPython syntax (including figures) and | |||
|
40 | the will be executed during the build:: | |||
|
41 | ||||
|
42 | .. ipython:: | |||
|
43 | ||||
|
44 | In [2]: plt.figure() # ensure a fresh figure | |||
|
45 | ||||
|
46 | @savefig psimple.png width=4in | |||
|
47 | In [3]: plt.plot([1,2,3]) | |||
|
48 | Out[3]: [<matplotlib.lines.Line2D object at 0x9b74d8c>] | |||
|
49 | ||||
|
50 | - Various fixes to the standalone ipython-wx application. | |||
|
51 | ||||
|
52 | - We now ship internally the excellent argparse library, graciously licensed | |||
|
53 | under BSD terms by Steven Bethard. Now (2010) that argparse has become part | |||
|
54 | of Python 2.7 this will be less of an issue, but Steven's relicensing allowed | |||
|
55 | us to start updating IPython to using argparse well before Python 2.7. Many | |||
|
56 | thanks! | |||
|
57 | ||||
|
58 | - Robustness improvements so that IPython doesn't crash if the readline library | |||
|
59 | is absent (though obviously a lot of functionality that requires readline | |||
|
60 | will not be available). | |||
|
61 | ||||
|
62 | - Improvements to tab completion in Emacs with Python 2.6. | |||
|
63 | ||||
|
64 | - Logging now supports timestamps (see ``%logstart?`` for full details). | |||
|
65 | ||||
|
66 | - A long-standing and quite annoying bug where parentheses would be added to | |||
|
67 | ``print`` statements, under Python 2.5 and 2.6, was finally fixed. | |||
|
68 | ||||
|
69 | - Improved handling of libreadline on Apple OSX. | |||
|
70 | ||||
|
71 | - Fix ``reload`` method of IPython demos, which was broken. | |||
|
72 | ||||
|
73 | - Fixes for the ipipe/ibrowse system on OSX. | |||
|
74 | ||||
|
75 | - Fixes for Zope profile. | |||
|
76 | ||||
|
77 | - Fix %timeit reporting when the time is longer than 1000s. | |||
|
78 | ||||
|
79 | - Avoid lockups with ? or ?? in SunOS, due to a bug in termios. | |||
|
80 | ||||
|
81 | - The usual assortment of miscellaneous bug fixes and small improvements. | |||
|
82 | ||||
|
83 | The following people contributed to this release (please let us know if we | |||
|
84 | omitted your name and we'll gladly fix this in the notes for the future): | |||
|
85 | ||||
|
86 | * Beni Cherniavsky | |||
|
87 | * Boyd Waters. | |||
|
88 | * David Warde-Farley | |||
|
89 | * Fernando Perez | |||
|
90 | * GΓΆkhan Sever | |||
|
91 | * Justin Riley | |||
|
92 | * Kiorky | |||
|
93 | * Laurent Dufrechou | |||
|
94 | * Mark E. Smith | |||
|
95 | * Matthieu Brucher | |||
|
96 | * Satrajit Ghosh | |||
|
97 | * Sebastian Busch | |||
|
98 | * VΓ‘clav Ε milauer | |||
4 |
|
99 | |||
5 | Release 0.10 |
|
100 | Release 0.10 | |
6 | ============ |
|
101 | ============ |
@@ -14,7 +14,8 b" execfile(pjoin('IPython','core','release.py'))" | |||||
14 | compile_tree() |
|
14 | compile_tree() | |
15 |
|
15 | |||
16 | # Cleanup |
|
16 | # Cleanup | |
17 |
for d in ['build','dist',pjoin('docs','build'),pjoin('docs','dist') |
|
17 | for d in ['build','dist',pjoin('docs','build'),pjoin('docs','dist'), | |
|
18 | pjoin('docs','source','api','generated')]: | |||
18 | if os.path.isdir(d): |
|
19 | if os.path.isdir(d): | |
19 | remove_tree(d) |
|
20 | remove_tree(d) | |
20 |
|
21 | |||
@@ -22,13 +23,13 b" for d in ['build','dist',pjoin('docs','build'),pjoin('docs','dist')]:" | |||||
22 | c('./setup.py sdist --formats=gztar,zip') |
|
23 | c('./setup.py sdist --formats=gztar,zip') | |
23 |
|
24 | |||
24 | # Build eggs |
|
25 | # Build eggs | |
25 | c('python2.5 ./setupegg.py bdist_egg') |
|
|||
26 | c('python2.6 ./setupegg.py bdist_egg') |
|
26 | c('python2.6 ./setupegg.py bdist_egg') | |
27 |
|
27 | |||
28 | # Call the windows build separately, so that the extra Windows scripts don't |
|
28 | # Call the windows build separately, so that the extra Windows scripts don't | |
29 | # get pulled into Unix builds (setup.py has code which checks for |
|
29 | # get pulled into Unix builds (setup.py has code which checks for | |
30 | # bdist_wininst) |
|
30 | # bdist_wininst) | |
31 | c("python setup.py bdist_wininst") |
|
31 | c("python setup.py bdist_wininst --install-script=ipython_win_post_install.py") | |
32 |
|
32 | |||
33 | # Change name so retarded Vista runs the installer correctly |
|
33 | # Change name so retarded Vista runs the installer correctly | |
34 | c("rename 's/linux-i686/win32-setup/' dist/*.exe") |
|
34 | c("rename 's/linux-i686/win32-setup/' dist/*.exe") | |
|
35 | c("rename 's/linux-x86_64/win32-setup/' dist/*.exe") |
@@ -1,23 +1,25 b'' | |||||
1 | #!/usr/bin/env python |
|
1 | #!/usr/bin/env python | |
2 |
"""Simple script to create a tarball with proper |
|
2 | """Simple script to create a tarball with proper git info. | |
3 | """ |
|
3 | """ | |
4 |
|
4 | |||
|
5 | import commands | |||
5 | import os |
|
6 | import os | |
6 | import sys |
|
7 | import sys | |
7 | import shutil |
|
8 | import shutil | |
8 |
|
9 | |||
9 | from toollib import * |
|
10 | from toollib import * | |
10 |
|
11 | |||
11 | c('python update_revnum.py') |
|
12 | tag = commands.getoutput('git describe') | |
|
13 | base_name = 'ipython-%s' % tag | |||
|
14 | tar_name = '%s.tgz' % base_name | |||
12 |
|
15 | |||
13 | execfile('../IPython/core/release.py') # defines version_base |
|
16 | # git archive is weird: Even if I give it a specific path, it still won't | |
|
17 | # archive the whole tree. It seems the only way to get the whole tree is to cd | |||
|
18 | # to the top of the tree. There are long threads (since 2007) on the git list | |||
|
19 | # about this and it still doesn't work in a sensible way... | |||
14 |
|
20 | |||
15 | ver = version_info() |
|
21 | start_dir = os.getcwd() | |
16 |
|
22 | cd('..') | ||
17 | if ver['branch-nick'] == 'ipython': |
|
23 | git_tpl = 'git archive --format=tar --prefix={0}/ HEAD | gzip > {1}' | |
18 | tarname = 'ipython-%s.bzr.r%s.tgz' % (version_base, ver['revno']) |
|
24 | c(git_tpl.format(base_name, tar_name)) | |
19 | else: |
|
25 | c('mv {0} tools/'.format(tar_name)) | |
20 | tarname = 'ipython-%s.bzr.r%s.%s.tgz' % (version_base, ver['revno'], |
|
|||
21 | ver['branch-nick']) |
|
|||
22 |
|
||||
23 | c('bzr export ' + tarname) |
|
@@ -8,32 +8,40 b' from toollib import *' | |||||
8 |
|
8 | |||
9 | # Get main ipython dir, this will raise if it doesn't pass some checks |
|
9 | # Get main ipython dir, this will raise if it doesn't pass some checks | |
10 | ipdir = get_ipdir() |
|
10 | ipdir = get_ipdir() | |
|
11 | tooldir = pjoin(ipdir,'tools') | |||
|
12 | distdir = pjoin(ipdir,'dist') | |||
|
13 | # Where I keep static backups of each release | |||
|
14 | ipbackupdir = os.path.expanduser('~/ipython/backup') | |||
|
15 | ||||
|
16 | # Start in main IPython dir | |||
11 | cd(ipdir) |
|
17 | cd(ipdir) | |
12 |
|
18 | |||
13 | # Load release info |
|
19 | # Load release info | |
14 | execfile(pjoin('IPython','core','release.py')) |
|
20 | execfile(pjoin('IPython','core','release.py')) | |
15 |
|
21 | |||
16 | # Where I keep static backups of each release |
|
|||
17 | ipbackupdir = os.path.expanduser('~/ipython/backup') |
|
|||
18 |
|
||||
19 |
|
22 | |||
20 |
print "Releasing IPython |
|
23 | print "Releasing IPython" | |
21 |
print "================= |
|
24 | print "=================" | |
|
25 | ||||
|
26 | print 'Source IPython directory:', ipdir | |||
|
27 | ||||
22 |
|
28 | |||
23 | # Perform local backup |
|
29 | # Perform local backup, go to tools dir to run it. | |
|
30 | cd(tooldir) | |||
24 | c('./make_tarball.py') |
|
31 | c('./make_tarball.py') | |
25 | c('mv ipython-*.tgz %s' % ipbackupdir) |
|
32 | c('mv ipython-*.tgz %s' % ipbackupdir) | |
26 |
|
33 | |||
27 | # Build release files |
|
34 | # Build release files | |
28 |
|
|
35 | c('./build_release %s' % ipdir) | |
29 | c('./build_release') |
|
|||
30 |
|
36 | |||
31 | # Register with the Python Package Index (PyPI) |
|
37 | # Register with the Python Package Index (PyPI) | |
32 | print "Registering with PyPI..." |
|
38 | print "Registering with PyPI..." | |
|
39 | cd(ipdir) | |||
33 | c('./setup.py register') |
|
40 | c('./setup.py register') | |
34 |
|
41 | |||
35 | # Upload all files |
|
42 | # Upload all files | |
36 | cd('dist') |
|
43 | c('./setup.py sdist --formats=gztar,zip upload') | |
|
44 | cd(distdir) | |||
37 | print "Uploading distribution files..." |
|
45 | print "Uploading distribution files..." | |
38 | c('scp * ipython@ipython.scipy.org:www/dist/') |
|
46 | c('scp * ipython@ipython.scipy.org:www/dist/') | |
39 |
|
47 |
General Comments 0
You need to be logged in to leave comments.
Login now