5 ms·
Python 2.7.4 Released
- tshepang 14y agorelease announcement: http://mail.python.org/pipermail/python-dev/2013-April/125156.html http://mail.python.org/pipermail/python-dev/2013-April/12515...
- xguru 14y agoOrdered dictionary remembers its insertion order, it's very useful for some situations.
- steve-howard 14y agoFrom the main python.org homepage, I see the announcement for Python 3.3.1 as well. What's curious is... Python 3.2.4 and Python 3.3.1 final have been released. Published: Sun, 6 April 2013, 22:30 +0200 Python 2.7.4 has been released. Published: Sat, 6 April 2013, 11:00 -0500
- iansinke 14y agoI guess the Python 3 team is in South Africa, and the Python 2 team is on the East Coast...? ;)
- DasIch 14y agoIt's not that curious, Georg Brandl is release manager for the 3.* releases, Benjamin Peterson is release manager for the 2.7.4 release and they live in different timezones.
- thwarted 14y agoThe timezone doesn't determine which day of the week April 6th, 2013, falls on.
- Aloisius 14y agoThey probably tried calculating the day of the week using Python's truly painful timezone conversion tools. I'm not convinced it wouldn't tell you that a single date lay on both Saturday and Sunday.
- briancurtin 14y agoIt's not that curious. People make typos from time to time on the internet.
- gluxon 14y agoIt annoys me how this release was added to the 2.7.x line when it probably should have been 2.8 given all the changes and feature additions. Freezing the 2.x line means not making huge changes to it. Otherwise, it probably shouldn't have been frozen.
- natmaster 14y agoI know it's confusing but the feature list on this page is for python 2.7; the 2.7.4 release appears to just be bugfixes.
- hosay123 14y agoYou should check the changelog, they're still adding functionality by stretching the definition of 'bug fix'.. 2.x development is unlikely to freeze any time soon. I certainly have no intention of moving to 3.x, it would be the most pointless upheaval ever. I'd sooner fork 2.x and maintain it myself.
- natmaster 14y agoI know it's confusing but the feature list on this page is for python 2.7; the 2.7.4 is just bugfixes. Changes are here: http://hg.python.org/cpython/file/9290822f2280/Misc/NEWS http://hg.python.org/cpython/file/9290822f2280/Misc/NEWS
- hosay123 14y agoAfter years, better integration between the old and new buffer interfaces was finally sneaked in as a bug fix. You can now call `memoryview(some_buffer)` and it'll DTRT. The whole buffers situation is a depressing mess.
- chubot 14y agoI haven't played around with it, but how did it get to be a mess? As I recall it has historically been for NumPy.
- pekk 14y agoSince you have been voted to the top of the thread for this comment, can you be more concrete on your complaint?
- masklinn 14y agoSee http://bugs.python.org/issue10211 http://bugs.python.org/issue10211 Basically, Python has the "buffer" object which is a 0-copy view of some memory area (lets an object expose itself as a bytes array of sorts). It's always been plagued with a number of issues. In Python 3, `buffer` was removed and replaced with `memoryview`, which was backported to Python 2.7. But in said Python 2.7, `buffer` and `memoryview` both exist and fill very similar need so e.g. older libraries will likely return a buffer which newer code will want to use as a memoryview. No such luck, they're not compatible. 2.7.4 fixes that so you can get a memoryview from a buffer.
- cbsmith 14y agoI too would like more details on this. 2.7.3 already had memoryview objects IIRC, though I found them almost as frustrating to work with as the 2.6.x world of not having them. What really changed in 2.7.4?
- masklinn 14y agoIn 2.7.3, you can create a buffer which is the "old" buffer interface: http://docs.python.org/2/library/functions.html#buffer http://docs.python.org/2/library/functions.html#buffer And you can create a memoryview which is the "new" and more flexible buffer interface: http://docs.python.org/2/library/stdtypes.html#typememoryview http://docs.python.org/2/library/stdtypes.html#typememoryvie... You can get a buffer of a string: >>> buffer("foo") <read-only buffer for 0x1005a5ee0, size -1, offset 0 at 0x10054f270> and a view of a string: >>> memoryview("foo") <memory at 0x100574d60> but when you get this unhelpful and really stupid result: >>> memoryview(buffer("foo")) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot make memory view because object does not have the buffer interface 2.7.4 fixed this so it actually works and you can get a memoryview out of an old buffer.
- tshepang 14y agoThe amount of love the core developers give to maintenance releases is incredible... "hundreds of bugfixes"!
- smegel 14y agoA maintenance release still used by 99% of production python shops and the default install on most linux distros. Not that surprising really.
- tshepang 14y agoThe word was "incredible", and I was actually not referring to 2.7 specifically, but to maintenance releases in general (3.3.1 also got hundreds of bugfixes).
- cerales 14y agoIt seems weird that large features like dictionary comprehensions and syntax changes like set literals are making it int0 2.7.x, but I'm not complaining - most of my projects are stuck on 2.7 due to deployment environment or library limitations and I'd love to be able to use these features.
- tshepang 14y agoIf you read that page more carefully, you will notice that the list is about 2.7 changes, not 2.7.4.
- landypro 14y agoIf you read his reply more carefully, you would have realised he's talking about the move to Python 3.x There aren't any libraries I know of that work in 2.7 but not 2.7.x
- masklinn 14y ago> It seems weird that large features like dictionary comprehensions and syntax changes like set literals are making it int0 2.7.x They made it into 2.7.0, that happened 3 years ago...