##// END OF EJS Templates
Add 0.10.1 release notes to docs and minor tool updates....
Fernando Perez -
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 bzr version info.
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 print
22 print
20 print "Releasing IPython version $version"
23 print "Releasing IPython"
21 print "=================================="
24 print "================="
25 print
26 print 'Source IPython directory:', ipdir
27 print
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 #c('./mkrel.py %s' % ipdir)
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