Pillow: 3.4.0 Tracking issue

Created on 4 Jul 2016  Â·  33Comments  Â·  Source: python-pillow/Pillow

3.4.0 is targeted for 2016-10-01.

Release

All 33 comments

Reminder for release notes a week before release: https://github.com/python-pillow/Pillow/pull/1959#issuecomment-230453247

Release notes reminder for #2010

Would like to land #2068 for the release. The PR is solid and IMHO ready to merge as it is, but if there's more to do we can address it.

I'll throw out this question - the release checklist mentions publicising the release through Twitter. However, the Twitter account - https://twitter.com/pythonpillow - hasn't seen activity in a while. Is this is a conscious decision not to use it, or is it just something that's fallen by the wayside? Fine either way, it's just that if it is a conscious decision, then maybe we should remove the official Twitter handle from the docs?

@radarhere I think @aclark4life is the owner of the twitter acct.

@jleclanche I'll be looking at it. On the one hand, the new PR is loads faster. On the other, We've not had any CVEs for pure python code. So there's checking to do.

Fair enough. Let me know how I can help.

@radarhere We shouldn't remove it and we should use it, even if just to retweet my Twitter account's release notices (which may be slightly more frequent than that of our Twitter account). Anyone on the team is welcome to the credentials, just ask me for them via email.

@radarhere I'd further suggest we revise the policy to encourage tweets about releases, but leave the pinned tweet (which I've just updated) generic in case we forget. Also @hugovk now has access (in addition to @wiredfool and myself… unless @wiredfool never had access, I can't remem.) Also updated the website link in the profile.

screenshot 2016-08-30 07 46 28

@aclark4life to be honest I don't think the twitter account is useful. For major releases, a post in /r/Python is probably a lot more appropriate and will get a lot more eyeballs, imo.

And that doesn't have to be centralized under one account. :)

@aclark4life I don't think I ever had access. I think I just tweeted at it.

@wiredfool Cool. @jleclanche I never said it was useful, but it does exist :smile:. We can do an /r/Python post too if someone wants to add that to the list.

@aclark4life @wiredfool just a quick note to say thanks for the responses regarding Twitter

@hugovk Twitter account password change coming up FYI, I'll send the updated pass

need docs/release notes for #2068

release notes for #2103? or example somewhere?

I've created some PRs for library updates to pillow-wheels, if someone wanted to merge them before people start using it for the next release.

@radarhere Sorry, two of three merged! The other one has a merge conflict on config.sh

@aclark4life no, thank you! For the record, I've now rebased the last one.

I'm going to push the release date to Monday, Oct 3 rather than over the weekend due to the security content in this and the simultaneous 3.3.2 source only patch.

@wiredfool Fair enough, thanks

Ok, Almost ready to cut the release here.

gah, tests are failing. They passed locally...

Ok, Tagged, source is uploaded. I've triggered binary builds on the wheel repo for 3.4.0

@cgohlke Ping for binaries for 3.4.0.

Thanks everyone!

@cgohlke Ping for binaries for 3.4.0.

What about 3.3.2 binaries?

@homm 3.3.2 is a source-only release: https://github.com/python-pillow/Pillow/issues/2014#issuecomment-249801637

But we still need the binaries packages, even if nothing changes. Pip can't install 3.3.1 binary release and update it to 3.3.2, can it? Even if it can, the version in binaries differs from PILLOW_VERSION.

Yes, but 3.4.0 will take over shortly. (and by shortly, I mean just as fast as we could get 3.3.2 binaries)

Here you go ...

I did not include the pypy binaries. They are failing a number of tests:

PIL SETUP SUMMARY
--------------------------------------------------------------------
version      Pillow 3.4.0
platform     win32 2.7.10 (c95650101a99, Sep 06 2016, 15:44:55)
             [PyPy 5.4.1 with MSC v.1500 32 bit]
--------------------------------------------------------------------
--- JPEG support available
--- OPENJPEG (JPEG2000) support available (2.1)
--- ZLIB (PNG/ZIP) support available
*** LIBIMAGEQUANT support not available
--- LIBTIFF support available
--- FREETYPE2 support available
--- LITTLECMS2 support available
--- WEBP support available
--- WEBPMUX support available
--------------------------------------------------------------------
<snip>
======================================================================
ERROR: TestFileIcns.test_jp2_icon
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Build\Pillow\Pillow-3.4.0\Tests\test_file_icns.py", line 82, in test_jp2_icon
    im2.load()
  File "PIL\IcnsImagePlugin.py", line 287, in load
    im = self.icns.getimage(self.best_size)
  File "PIL\IcnsImagePlugin.py", line 235, in getimage
    channels = self.dataforsize(size)
  File "PIL\IcnsImagePlugin.py", line 227, in dataforsize
    dct.update(reader(self.fobj, desc, size))
  File "PIL\IcnsImagePlugin.py", line 89, in read_32
    "L", pixel_size, b"".join(data), "raw", "L", 0, 1
  File "PIL\Image.py", line 2132, in frombuffer
    core.map_buffer(data, size, decoder_name, None, 0, args)
TypeError: PyPy does not yet implement the new buffer interface

======================================================================
ERROR: TestFileIcns.test_older_icon
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Build\Pillow\Pillow-3.4.0\Tests\test_file_icns.py", line 61, in test_older_icon
    im2.load()
  File "PIL\IcnsImagePlugin.py", line 287, in load
    im = self.icns.getimage(self.best_size)
  File "PIL\IcnsImagePlugin.py", line 235, in getimage
    channels = self.dataforsize(size)
  File "PIL\IcnsImagePlugin.py", line 227, in dataforsize
    dct.update(reader(self.fobj, desc, size))
  File "PIL\IcnsImagePlugin.py", line 46, in read_32t
    return read_32(fobj, (start + 4, length - 4), size)
  File "PIL\IcnsImagePlugin.py", line 89, in read_32
    "L", pixel_size, b"".join(data), "raw", "L", 0, 1
  File "PIL\Image.py", line 2132, in frombuffer
    core.map_buffer(data, size, decoder_name, None, 0, args)
TypeError: PyPy does not yet implement the new buffer interface
-------------------- >> begin captured logging << --------------------
PIL.PngImagePlugin: DEBUG: STREAM IHDR 130090 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 130115 1060
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM IDAT 131187 16384
PIL.PngImagePlugin: DEBUG: STREAM IHDR 46965 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 46990 1060
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM IDAT 48062 16384
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: TestFileIcns.test_sizes
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Build\Pillow\Pillow-3.4.0\Tests\test_file_icns.py", line 48, in test_sizes
    im2.load()
  File "PIL\IcnsImagePlugin.py", line 287, in load
    im = self.icns.getimage(self.best_size)
  File "PIL\IcnsImagePlugin.py", line 235, in getimage
    channels = self.dataforsize(size)
  File "PIL\IcnsImagePlugin.py", line 227, in dataforsize
    dct.update(reader(self.fobj, desc, size))
  File "PIL\IcnsImagePlugin.py", line 89, in read_32
    "L", pixel_size, b"".join(data), "raw", "L", 0, 1
  File "PIL\Image.py", line 2132, in frombuffer
    core.map_buffer(data, size, decoder_name, None, 0, args)
TypeError: PyPy does not yet implement the new buffer interface
-------------------- >> begin captured logging << --------------------
PIL.PngImagePlugin: DEBUG: STREAM IHDR 84847 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 84872 2625
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM pHYs 87509 9
PIL.PngImagePlugin: DEBUG: STREAM IDAT 87530 16384
PIL.PngImagePlugin: DEBUG: STREAM IHDR 1109231 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 1109256 2625
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM pHYs 1111893 9
PIL.PngImagePlugin: DEBUG: STREAM IDAT 1111914 16384
PIL.PngImagePlugin: DEBUG: STREAM IHDR 1436127 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 1436152 2625
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM pHYs 1438789 9
PIL.PngImagePlugin: DEBUG: STREAM IDAT 1438810 16384
PIL.PngImagePlugin: DEBUG: STREAM IHDR 136 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 161 2625
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM pHYs 2798 9
PIL.PngImagePlugin: DEBUG: STREAM IDAT 2819 16384
PIL.PngImagePlugin: DEBUG: STREAM IHDR 1024520 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 1024545 2625
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM pHYs 1027182 9
PIL.PngImagePlugin: DEBUG: STREAM IDAT 1027203 16384
PIL.PngImagePlugin: DEBUG: STREAM IHDR 1400192 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 1400217 2625
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM pHYs 1402854 9
PIL.PngImagePlugin: DEBUG: STREAM IDAT 1402875 16384
PIL.PngImagePlugin: DEBUG: STREAM IHDR 1390408 13
PIL.PngImagePlugin: DEBUG: STREAM iCCP 1390433 2625
PIL.PngImagePlugin: DEBUG: iCCP profile name ICC Profile
PIL.PngImagePlugin: DEBUG: Compression method 0
PIL.PngImagePlugin: DEBUG: STREAM pHYs 1393070 9
PIL.PngImagePlugin: DEBUG: STREAM IDAT 1393091 7061
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: TestImageArray.test_fromarray
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Build\Pillow\Pillow-3.4.0\Tests\test_image_array.py", line 49, in test_fromarray
    self.assertEqual(test("L"), ("L", (128, 100), True))
  File "D:\Build\Pillow\Pillow-3.4.0\Tests\test_image_array.py", line 45, in test
    out = Image.fromarray(wrapped)
  File "PIL\Image.py", line 2187, in fromarray
    return frombuffer(mode, size, obj, "raw", rawmode, 0, 1)
  File "PIL\Image.py", line 2132, in frombuffer
    core.map_buffer(data, size, decoder_name, None, 0, args)
TypeError: PyPy does not yet implement the new buffer interface

======================================================================
ERROR: TestImageFile.test_ico
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Build\Pillow\Pillow-3.4.0\Tests\test_imagefile.py", line 79, in test_ico
    self.assertEqual((48, 48), p.image.size)
AttributeError: 'NoneType' object has no attribute 'size'

======================================================================
ERROR: TestImagePath.test_path
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Build\Pillow\Pillow-3.4.0\Tests\test_imagepath.py", line 62, in test_path
    p = ImagePath.Path(arr.tostring())
SystemError: new style getargs format but argument is not a tuple

----------------------------------------------------------------------
Ran 811 tests in 23.079s

FAILED (SKIP=42, errors=6)

Thanks @cgohlke. We've been seeing some random pypy issues lately with things that haven't changed recently on our side.

Ok, all binaries except for x64 manylinux wheels uploaded. There's a test error there that I'm going to have to check.

The "PyPy does not yet implement the new buffer interface" thing is here: https://github.com/python-pillow/Pillow/issues/1129#issuecomment-250939528. Travis CI has PyPy 5.3.1 and passes, but fails when upgrading to 5.4.1.

I have closed the milestone.

Was this page helpful?
0 / 5 - 0 ratings