8000 Merge pull request #10641 from charris/post-1.14.1-update · numpy/numpy@2748d2e · GitHub
[go: up one dir, main page]

Skip to content

Commit 2748d2e

Browse files
authored
Merge pull request #10641 from charris/post-1.14.1-update
MAINT: Post 1.14.1 release updates for master branch
2 parents 8db6698 + b5ead18 commit 2748d2e

File tree

4 files changed

+209
-58
lines changed

4 files changed

+209
-58
lines changed

doc/RELEASE_WALKTHROUGH.rst.txt

Lines changed: 66 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,21 @@ Building the release
1111
Checkout the branch for the release, make sure it is up to date, and clean the
1212
repository::
1313

14-
$ git checkout maintenance/1.12.x
15-
$ git pull upstream maintenance/1.12.x
14+
$ git checkout maintenance/1.14.x
15+
$ git pull upstream maintenance/1.14.x
1616
$ git submodule update
1717
$ git clean -xdf
1818

1919
Look at the git log to get the hash of the last commit in the release, then
2020
check it out::
2121

2222
$ git log
23-
$ git checkout f59a2fbbd497dbaf3a2e405a41e52dc5e331bfa7
23+
$ git checkout 7849751173fb47a5f17761b3515b42b4d8ce1197
2424

2525
Edit pavement.py and setup.py as detailed in HOWTO_RELEASE::
2626

2727
$ gvim pavement.py setup.py
28-
$ git commit -a -m"REL: NumPy 1.12.0 release."
28+
$ git commit -a -m"REL: NumPy 1.14.1 release."
2929

3030
Sanity check::
3131

@@ -34,86 +34,102 @@ Sanity check::
3434

3535
Tag it,and build the source distribution archives::
3636

37-
$ git tag -s v1.12.0
37+
$ git tag -s v1.14.1
3838
$ paver sdist # sdist will do a git clean -xdf, so we omit that
3939

4040
Check that the files in ``release/installers`` have the correct versions, then
4141
push the tag upstream; generation of the wheels for PyPI needs it::
4242

43-
$ git push upstream v1.12.0
43+
$ git push upstream v1.14.1
4444

4545
Trigger the wheels build. This can take a while. The numpy-wheels repository is
4646
cloned from `<https://github.com/MacPython/numpy-wheels>`_. Start with a pull
4747
as the repo may have been accessed and changed by someone else and a push will
48-
fail. The ``.travis.yml`` and ``appveyor.yml`` files need to be edited to make
49-
sure they have the correct version, search for ``BUILD_COMMIT``. If you get
50-
nervous at the amount of time taken -- the builds can take several hours-- you
51-
can check the build progress by following the links provided at
52-
`<https://github.com/MacPython/numpy-wheels>`_ to check the travis and appveyor
53-
build status.
48+
fail.
5449

5550
$ cd ../numpy-wheels
5651
$ git pull origin master
52+
$ git branch <new version> # only when starting new numpy version
53+
$ git checkout v1.14.x # v1.14.x already existed for the 1.14.1 release
54+
55+
The ``.travis.yml`` and ``appveyor.yml`` files need to be edited to make
56+
sure they have the correct version, search for ``BUILD_COMMIT``.
57+
5758
$ gvim .travis.yml appveyor.yml
5859
$ git commit -a
5960
$ git push origin HEAD
6061

61-
Upload to PyPI
62-
--------------
62+
Now wait. If you get nervous at the amount of time taken -- the builds can take
63+
several hours-- you can check the build progress by following the links
64+
provided at `<https://github.com/MacPython/numpy-wheels>`_ to check the travis
65+
and appveyor build status. Check if all the needed wheels have been built and
66+
uploaded before proceeding. There should currently be 22 of them at
67+
`<https://wheels.scipy.org>`_, 4 for Mac, 8 for Windows, and 10 for Linux.
6368

64-
Upload to PyPI using the ``wheel-uploader``. The terryfy repository is
65-
cloned from `<https://github.com/MacPython/terryfy>`_. Uploading can be a
66-
hassle due to the site itself having problems. If you get strange messages, put
67-
it off for the next day. To begin, check if all the needed wheels have been
68-
built. There should be 22 of them at `<https://wheels.scipy.org>`_, 4 for Mac,
69-
8 for Windows, and 10 for Linux. Here the wheelhouse directory is in the home
70-
directory. Then upload the wheels. You will need to sign every file separately
71-
in the process, keeping the pass phrase in the clipboard and pasting it in will
72-
make that easier::
69+
70+
Download wheels
71+
---------------
72+
73+
When the wheels have all been built, download them using the ``wheel-uploader``
74+
in the ``terryfy`` repository. The terryfy repository may be cloned from
75+
`<https://github.com/MacPython/terryfy>`_ if you don't already have it. The
76+
wheels can also be uploaded using the ``wheel-uploader``, but we prefer to
77+
download all the wheels to the ``../numpy/release/installers`` directory and
78+
upload later using ``twine``.
7379

7480
$ cd ../terryfy
7581
$ git pull origin master
7682
$ CDN_URL=https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com
77-
$ ./wheel-uploader -r warehouse -u $CDN_URL -s -v -w ~/wheelhouse -t win numpy 1.12.0
78-
$ ./wheel-uploader -r warehouse -u $CDN_URL -s -v -w ~/wheelhouse -t manylinux1 numpy 1.12.0
79-
$ ./wheel-uploader -r warehouse -u $CDN_URL -s -v -w ~/wheelhouse -t macosx numpy 1.12.0
83+
$ NPY_WHLS=../numpy/release/installers
84+
$ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t win numpy 1.14.1
85+
$ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t manylinux1 numpy 1.14.1
86+
$ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t macosx numpy 1.14.1
87+
88+
If you do this often, consider making CDN_URL and NPY_WHLS part of your default
89+
environment.
8090

81-
If one of the commands breaks in the middle, you may need to manually upload
82-
the rest of the files using twine because wheel-uploader always starts from the
83-
beginning and PyPI does not allow the same file to be uploaded twice.
8491

85-
The source files should be uploaded last to avoid problems. PyPI will only allow
86-
a single source distribution, here it is the zip archive::
92+
Upload to PyPI
93+
--------------
94+
95+
Upload to PyPI using ``twine``. The choice here is to sign the files, so will
96+
need to sign every file separately when they are uploaded, keeping the gpg pass
97+
phrase in the clipboard and pasting it in will make that easier. We may chose
98+
to forgo the signing in the future::
8799

88100
$ cd ../numpy
89-
$ twine upload -s release/installers/numpy-1.12.0.zip
101+
$ twine upload -s release/installers/*.whl
102+
$ twine upload -s release/installers/numpy-1.14.1.zip # Upload last.
103+
104+
If one of the commands breaks in the middle, which is not uncommon, you may
105+
need to selectively upload the remaining files becuase PyPI does not allow the
106+
same file to be uploaded twice. The source file should be uploaded last to
107+
avoid synchronization problems if pip users access the files while this is in
108+
process. Note that PyPI only allows a single source distribution, here we have
109+
chosen the zip archive.
90110

91111
If this is not a final release, log into PyPI and hide the new directory while
92-
making sure the last final release is visible.
112+
making sure the last stable release is visible.
93113

94-
Upload tarballs to github
95-
-------------------------
96-
We want to post the hash values for the files uploaded to PyPI in the release
97-
generated README file, so first copy the wheels into the installers directory
98-
and remove the now unneeded signature files::
99114

100-
$ cp ~/wheelhouse/numpy-1.12.0* release/installers
101-
$ rm release/installers/*.asc
115+
Upload files to github
116+
----------------------
102117

103-
Generate the ``release/Changelog`` and ``release/README`` files::
118+
Generate the ``release/README`` files::
104119

120+
$ rm release/installers/*.asc
105121
$ paver write_release_and_log
106122

107-
Go to `<https://github.com/numpy/numpy/releases>`_, there should be a
108-
``v1.12.0 tag``, hit the edit button for that tag. There are two ways to add
109-
files, using an editable text window and as binary uploads.
123+
Go to `<https://github.com/numpy/numpy/releases>`_, there should be a ``v1.14.1
124+
tag``, click on it and hit the edit button for that tag. There are two ways to
125+
add files, using an editable text window and as binary uploads.
110126

111-
- Cut-and-paste the ``release/README.md`` file contents into the text window.
127+
- Cut and paste the ``release/README.md`` file contents into the text window.
112128
- Upload ``release/installers/numpy-1.12.0.tar.gz`` as a binary file.
113129
- Upload ``release/installers/numpy-1.12.0.zip`` as a binary file.
114130
- Upload ``release/README`` as a binary file.
115-
- Upload ``release/Changelog`` as a binary file (maybe).
116-
- Check the pre-release button for pre-releases.
131+
- Upload ``doc/changelog/1.14.1-changelog.rst`` as a binary file.
132+
- Check the pre-release button if this is a pre-releases.
117133
- Hit the ``{Publish,Update} release`` button at the bottom.
118134

119135

@@ -127,7 +143,7 @@ upload the documentation. Otherwise::
127143

128144
$ pushd doc
129145
$ make dist
130-
$ make upload USERNAME=<yourname> RELEASE=v1.12.0
146+
$ make upload USERNAME=<yourname> RELEASE=v1.14.1
131147
$ popd
132148

133149
If the release series is a new one, you will need to rebuild and upload the
@@ -148,7 +164,7 @@ This assumes that you have forked `<https://github.com/scipy/scipy.org>`_::
148164
$ cd ../scipy.org
149165
$ git checkout master
150166
$ git pull upstream master
151-
$ git checkout -b numpy-1.12.0
167+
$ git checkout -b numpy-1.14.1
152168
$ gvim www/index.rst # edit the News section
153169
$ git commit -a
154170
$ git push origin HEAD
@@ -164,7 +180,7 @@ announcements for the basic template. The contributor list can be generated as
164180
follows::
165181

166182
$ cd ../numpy
167-
$ ./tools/announce.py $GITHUB v1.11.0..v1.12.0 > tmp.rst
183+
$ ./tools/changelog.py $GITHUB v1.14.0..v1.14.1 > tmp.rst
168184

169185
The contents of ``tmp.rst`` can then be cut and pasted into the announcement
170186
email.

doc/changelog/1.14.1-changelog.rst

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
2+
Contributors
3+
============
4+
5+
A total of 14 people contributed to this release. People with a "+" by their
6+
names contributed a patch for the first time.
7+
8+
* Allan Haldane
9+
* Charles Harris
10+
* Daniel Smith
11+
* Dennis Weyland +
12+
* Eric Larson
13+
* Eric Wieser
14+
* Jarrod Millman
15+
* Kenichi Maehashi +
16+
* Marten van Kerkwijk
17+
* Mathieu Lamarre
18+
* Sebastian Berg
19+
* Simon Conseil
20+
* Simon Gibbons
21+
* xoviat
22+
23+
Pull requests merged
24+
====================
25+
26+
A total of 36 pull requests were merged for this release.
27+
28+
* `#10339 <https://github.com/numpy/numpy/pull/10339>`__: BUG: restrict the __config__ modifications to win32
29+
* `#10368 <https://github.com/numpy/numpy/pull/10368>`__: MAINT: Adjust type promotion in linalg.norm
30+
* `#10375 <https://github.com/numpy/numpy/pull/10375>`__: BUG: add missing paren and remove quotes from repr of fieldless...
31+
* `#10395 <https://github.com/numpy/numpy/pull/10395>`__: MAINT: Update download URL in setup.py.
32+
* `#10396 <https://github.com/numpy/numpy/pull/10396>`__: BUG: fix einsum issue with unicode input and py2
33+
* `#10397 <https://github.com/numpy/numpy/pull/10397>`__: BUG: fix error message not formatted in einsum
34+
* `#10398 <https://github.com/numpy/numpy/pull/10398>`__: DOC: add documentation about how to handle new array printing
35+
* `#10403 <https://github.com/numpy/numpy/pull/10403>`__: BUG: Set einsum optimize parameter default to `False`.
36+
* `#10424 <https://github.com/numpy/numpy/pull/10424>`__: ENH: Fix repr of np.record objects to match np.void types #10412
37+
* `#10425 <https://github.com/numpy/numpy/pull/10425>`__: MAINT: Update zesty to artful for i386 testing
38+
* `#10431 <https://github.com/numpy/numpy/pull/10431>`__: REL: Add 1.14.1 release notes template
39+
* `#10435 <https://github.com/numpy/numpy/pull/10435>`__: MAINT: Use ValueError for duplicate field names in lookup (backport)
40+
* `#10534 <https://github.com/numpy/numpy/pull/10534>`__: BUG: Provide a better error message for out-of-order fields
41+
* `#10536 <https://github.com/numpy/numpy/pull/10536>`__: BUG: Resize bytes_ columns in genfromtxt (backport of #10401)
42+
* `#10537 <https://github.com/numpy/numpy/pull/10537>`__: BUG: multifield-indexing adds padding bytes: revert for 1.14.1
43+
* `#10539 <https://github.com/numpy/numpy/pull/10539>`__: BUG: fix np.save issue with python 2.7.5
44+
* `#10540 <https://github.com/numpy/numpy/pull/10540>`__: BUG: Add missing DECREF in Py2 int() cast
45+
* `#10541 <https://github.com/numpy/numpy/pull/10541>`__: TST: Add circleci document testing to maintenance/1.14.x
46+
* `#10542 <https://github.com/numpy/numpy/pull/10542>`__: BUG: complex repr has extra spaces, missing + (1.14 backport)
47+
* `#10550 <https://github.com/numpy/numpy/pull/10550>`__: BUG: Set missing exception after malloc
48+
* `#10557 <https://github.com/numpy/numpy/pull/10557>`__: BUG: In numpy.i, clear CARRAY flag if wrapped buffer is not C_CONTIGUOUS.
49+
* `#10558 <https://github.com/numpy/numpy/pull/10558>`__: DEP: Issue FutureWarning when malformed records detected.
50+
* `#10559 <https://github.com/numpy/numpy/pull/10559>`__: BUG: Fix einsum optimize logic for singleton dimensions
51+
* `#10560 <https://github.com/numpy/numpy/pull/10560>`__: BUG: Fix calling ufuncs with a positional output argument.
52+
* `#10561 <https://github.com/numpy/numpy/pull/10561>`__: BUG: Fix various Big-Endian test failures (ppc64)
53+
* `#10562 <https://github.com/numpy/numpy/pull/10562>`__: BUG: Make dtype.descr error for out-of-order fields.
54+
* `#10563 <https://github.com/numpy/numpy/pull/10563>`__: BUG: arrays not being flattened in `union1d`
55+
* `#10607 <https://github.com/numpy/numpy/pull/10607>`__: MAINT: Update sphinxext submodule hash.
56+
* `#10608 <https://github.com/numpy/numpy/pull/10608>`__: BUG: Revert sort optimization in np.unique.
57+
* `#10609 <https://github.com/numpy/numpy/pull/10609>`__: BUG: infinite recursion in str of 0d subclasses
58+
* `#10610 <https://github.com/numpy/numpy/pull/10610>`__: BUG: Align type definition with generated lapack
59+
* `#10612 <https://github.com/numpy/numpy/pull/10612>`__: BUG/ENH: Improve output for structured non-void types
60+
* `#10622 <https://github.com/numpy/numpy/pull/10622>`__: BUG: deallocate recursive closure in arrayprint.py (1.14 backport)
61+
* `#10624 <https://github.com/numpy/numpy/pull/10624>`__: BUG: Correctly identify comma seperated dtype strings
62+
* `#10629 <https://github.com/numpy/numpy/pull/10629>`__: BUG: deallocate recursive closure in arrayprint.py (backport...
63+
* `#10630 <https://github.com/numpy/numpy/pull/10630>`__: REL: Prepare for 1.14.1 release.

doc/release/1.14.1-notes.rst

Lines changed: 79 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,91 @@
22
NumPy 1.14.1 Release Notes
33
==========================
44

5-
This is a bugfix release for some problems found since 1.14.0. This release
6-
includes fixes to the spacing in the str and repr of complex values.
5+
This is a bugfix release for some problems reported following the 1.14.0 release. The major
6+
problems fixed are the following.
77

8-
The Python versions supported are 2.7 and 3.4 - 3.6. The Python 3.6 wheels
9-
available from PIP are built with Python 3.6.2 and should be compatible with
10-
all previous versions of Python 3.6. It was cythonized with Cython 0.26.1,
11-
which should be free of the bugs found in 0.27 while also being compatible with
12-
Python 3.7-dev.
8+
* Problems with the new array printing, particularly the printing of complex
9+
values, Please report any additional problems that may turn up.
10+
* Problems with ``np.einsum`` due to the new ``optimized=True`` default. Some
11+
fixes for optimization have been applied and ``optimize=False`` is now the
12+
default.
13+
* The sort order in ``np.unique`` when ``axis=<some-number>`` will now always
14+
be lexicographic in the subarray elements. In previous NumPy versions there
15+
was an optimization that could result in sorting the subarrays as unsigned
16+
byte strings.
17+
* The change in 1.14.0 that multi-field indexing of structured arrays returns a
18+
view instead of a copy has been reverted but remains on track for NumPy 1.15.
19+
Affected users should read the 1.14.1 Numpy User Guide section
20+
"basics/structured arrays/accessing multiple fields" for advice on how to
21+
manage this transition.
22+
23+
The Python versions supported in this release are 2.7 and 3.4 - 3.6. The Python
24+
3.6 wheels available from PIP are built with Python 3.6.2 and should be
25+
compatible with all previous versions of Python 3.6. The source releases were
26+
cythonized with Cython 0.26.1, which is known to **not** support the upcoming
27+
Python 3.7 release. People who wish to run Python 3.7 should check out the
28+
NumPy repo and try building with the, as yet, unreleased master branch of
29+
Cython.
1330

1431
Contributors
1532
============
1633

17-
A total of xx people contributed to this release. People with a "+" by their
34+
A total of 14 people contributed to this release. People with a "+" by their
1835
names contributed a patch for the first time.
1936

37+
* Allan Haldane
38+
* Charles Harris
39+
* Daniel Smith
40+
* Dennis Weyland +
41+
* Eric Larson
42+
* Eric Wieser
43+
* Jarrod Millman
44+
* Kenichi Maehashi +
45+
* Marten van Kerkwijk
46+
* Mathieu Lamarre
47+
* Sebastian Berg
48+
* Simon Conseil
49+
* Simon Gibbons
50+
* xoviat
51+
2052
Pull requests merged
2153
====================
54+
55+
A total of 36 pull requests were merged for this release.
56+
57+
* `#10339 <https://github.com/numpy/numpy/pull/10339>`__: BUG: restrict the __config__ modifications to win32
58+
* `#10368 <https://github.com/numpy/numpy/pull/10368>`__: MAINT: Adjust type promotion in linalg.norm
59+
* `#10375 <https://github.com/numpy/numpy/pull/10375>`__: BUG: add missing paren and remove quotes from repr of fieldless...
60+
* `#10395 <https://github.com/numpy/numpy/pull/10395>`__: MAINT: Update download URL in setup.py.
61+
* `#10396 <https://github.com/numpy/numpy/pull/10396>`__: BUG: fix einsum issue with unicode input and py2
62+
* `#10397 <https://github.com/numpy/numpy/pull/10397>`__: BUG: fix error message not formatted in einsum
63+
* `#10398 <https://github.com/numpy/numpy/pull/10398>`__: DOC: add documentation about how to handle new array printing
64+
* `#10403 <https://github.com/numpy/numpy/pull/10403>`__: BUG: Set einsum optimize parameter default to `False`.
65+
* `#10424 <https://github.com/numpy/numpy/pull/10424>`__: ENH: Fix repr of np.record objects to match np.void types #10412
66+
* `#10425 <https://github.com/numpy/numpy/pull/10425>`__: MAINT: Update zesty to artful for i386 testing
67+
* `#10431 <https://github.com/numpy/numpy/pull/10431>`__: REL: Add 1.14.1 release notes template
68+
* `#10435 <https://github.com/numpy/numpy/pull/10435>`__: MAINT: Use ValueError for duplicate field names in lookup (backport)
69+
* `#10534 <https://github.com/numpy/numpy/pull/10534>`__: BUG: Provide a better error message for out-of-order fields
70+
* `#10536 <https://github.com/numpy/numpy/pull/10536>`__: BUG: Resize bytes_ columns in genfromtxt (backport of #10401)
71+
* `#10537 <https://github.com/numpy/numpy/pull/10537>`__: BUG: multifield-indexing adds padding bytes: revert for 1.14.1
72+
* `#10539 <https://github.com/numpy/numpy/pull/10539>`__: BUG: fix np.save issue with python 2.7.5
73+
* `#10540 <https://github.com/numpy/numpy/pull/10540>`__: BUG: Add missing DECREF in Py2 int() cast
74+
* `#10541 <https://github.com/numpy/numpy/pull/10541>`__: TST: Add circleci document testing to maintenance/1.14.x
75+
* `#10542 <https://github.com/numpy/numpy/pull/10542>`__: BUG: complex repr has extra spaces, missing + (1.14 backport)
76+
* `#10550 <https://github.com/numpy/numpy/pull/10550>`__: BUG: Set missing exception after malloc
77+
* `#10557 <https://github.com/numpy/numpy/pull/10557>`__: BUG: In numpy.i, clear CARRAY flag if wrapped buffer is not C_CONTIGUOUS.
78+
* `#10558 <https://github.com/numpy/numpy/pull/10558>`__: DEP: Issue FutureWarning when malformed records detected.
79+
* `#10559 <https://github.com/numpy/numpy/pull/10559>`__: BUG: Fix einsum optimize logic for singleton dimensions
80+
* `#10560 <https://github.com/numpy/numpy/pull/10560>`__: BUG: Fix calling ufuncs with a positional output argument.
81+
* `#10561 <https://github.com/numpy/numpy/pull/10561>`__: BUG: Fix various Big-Endian test failures (ppc64)
82+
* `#10562 <https://github.com/numpy/numpy/pull/10562>`__: BUG: Make dtype.descr error for out-of-order fields.
83+
* `#10563 <https://github.com/numpy/numpy/pull/10563>`__: BUG: arrays not being flattened in `union1d`
84+
* `#10607 <https://github.com/numpy/numpy/pull/10607>`__: MAINT: Update sphinxext submodule hash.
85+
* `#10608 <https://github.com/numpy/numpy/pull/10608>`__: BUG: Revert sort optimization in np.unique.
86+
* `#10609 <https://github.com/numpy/numpy/pull/10609>`__: BUG: infinite recursion in str of 0d subclasses
87+
* `#10610 <https://github.com/numpy/numpy/pull/10610>`__: BUG: Align type definition with generated lapack
88+
* `#10612 <https://github.com/numpy/numpy/pull/10612>`__: BUG/ENH: Improve output for structured non-void types
89+
* `#10622 <https://github.com/numpy/numpy/pull/10622>`__: BUG: deallocate recursive closure in arrayprint.py (1.14 backport)
90+
* `#10624 <https://github.com/numpy/numpy/pull/10624>`__: BUG: Correctly identify comma seperated dtype strings
91+
* `#10629 <https://github.com/numpy/numpy/pull/10629>`__: BUG: deallocate recursive closure in arrayprint.py (backport...
92+
* `#10630 <https://github.com/numpy/numpy/pull/10630>`__: REL: Prepare for 1.14.1 release.

doc/source/release.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Release Notes
33
*************
44

55
.. include:: ../release/1.15.0-notes.rst
6+
.. include:: ../release/1.14.1-notes.rst
67
.. include:: ../release/1.14.0-notes.rst
78
.. include:: ../release/1.13.3-notes.rst
89
.. include:: ../release/1.13.2-notes.rst

0 commit comments

Comments
 (0)
0