Python 2.7.4 Released
python.org
python.org
Changes are here: http://hg.python.org/cpython/file/9290822f2280/Misc/NEWS
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
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.
And you can create a memoryview which is the "new" and more flexible buffer interface: 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.[1]: http://mail.python.org/pipermail/python-dev/2013-April/12516...
Python 2 is a beautiful, wonderful language. Python 3 is even better and there are very few reasons not to adopt it now.
"Python 3.0 final was released on December 3rd, 2008"
The only concrete attraction of 3 for me is the Unicode improvement, and even that isn't exactly compelling. 3 is practically a new language designed to solve problems I've almost never encountered. Perhaps when someone comes up with a meaningful use of annotations or a workaround for e.g. the functionality lost by the cmp removal, I might change my mind
Can you please elaborate? All entries in the changelog start with "Fix" or "update", etc. What new functionality has been added, according to you?
There aren't any libraries I know of that work in 2.7 but not 2.7.x
They made it into 2.7.0, that happened 3 years ago...