Issue #20510: Rewrote test_exit in
test_sys to match existing comments, use modern unittest features,
and use helpers from test.script_helper instead of using subprocess
directly. Patch by Gareth Rees.
Issue #20532: Tests which use
_testcapi are now marked as CPython only.
Issue #19920: Added tests for
TarFile.list(). Based on patch by Vajrasky Kok.
Issue #19990: Added tests for the
imghdr module. Based on patch by Claudiu Popa.
Issue #20474: Fix test_socket
“unexpected success” failures on OS X 10.7+.
Issue #20605: Make test_socket
getaddrinfo OS X segfault test more robust.
- Issue #20743: Fix a reference leak
Just two screenshots that show VLC decoding and drawing a trailer of Mr
and Mrs Smith (h264 avc1 and MPEG AAC) on my Nexus One:
Core and Builtins
Issue #20588: Make Python-ast.c C89
Issue #20437: Fixed 21 potential
bugs when deleting objects references.
Issue #20538: UTF-7 incremental
decoder produced inconsistant string when input was truncated in
Python 3.3.5 RC2 更新内容如下：
Issue #20635: Fixed
grid_columnconfigure() and grid_rowconfigure() methods of Tkinter
widgets to work in wantobjects=True mode.
Issue #19612: On Windows,
subprocess.Popen.communicate() now ignores OSError(22, ‘Invalid
argument’) when writing input data into stdin, whereas the process
Issue #6815: os.path.expandvars()
now supports non-ASCII environment variables names and values.
Issue #17671: Fixed a crash when
use non-initialized io.BufferedRWPair. Based on patch by Stephen Tu.
Issue #8478: Untokenizer.compat
processes first token from iterator input. Patch based on lines from
Georg Brandl, Eric Snow, and Gareth Rees.
Issue #20594: Avoid name clash with
the libc function posix_close.
Issue #19856: shutil.move() failed
to move a directory to other directory on Windows if source name
ends with os.altsep.
Issue #14983: email.generator now
always adds a line end after each MIME boundary marker, instead of
doing so only when there is an epilogue. This fixes an RFC
compliance bug and solves an issue with signed MIME parts.
Issue #20540: Fix a performance
regression (vs. Python 3.2) when layering a multiprocessing
Connection over a TCP socket. For small payloads, Nagle’s algorithm
would introduce idle delays before the entire transmission of a
Issue #16983: the new email header
parsing code will now decode encoded words that are (incorrectly)
surrounded by quotes, and register a defect.
Issue #19772: email.generator no
longer mutates the message object when doing a down-transform from
8bit to 7bit CTEs.
Issue #18805: the netmask/hostmask
parsing in ipaddress now more reliably filters out illegal values
and correctly allows any valid prefix length.
Issue #17369: get_filename was
raising an exception if the filename parameter’s RFC2231 encoding
was broken in certain ways. This was a regression relative to
Issue #20013: Some imap servers
disconnect if the current mailbox is deleted, and imaplib did not
handle that case gracefully. Now it handles the ‘bye’ correctly.
Issue #19920: TarFile.list() no
longer fails when outputs a listing containing non-encodable
characters. Based on patch by Vajrasky Kok.
Issue #20515: Fix NULL pointer
dereference introduced by issue
Issue #19186: Restore namespacing
of expat symbols inside the pyexpat module.
Issue #20426: When passing the
re.DEBUG flag, re.compile() displays the debug output every time it
is called, regardless of the compilation cache.
Issue #20368: The null character
now correctly passed from Tcl to Python. Improved error handling in
Issue #20435: Fix
_pyio.StringIO.getvalue() to take into account newline translation
Issue #20288: fix handling of
invalid numeric charrefs in HTMLParser.
Issue #20424: Python implementation
of io.StringIO now supports lone surrogates.
Issue #19456: ntpath.join() now
joins relative paths correctly when a drive is present.
tempfile.TemporaryDirectory cleanup is now most likely successful
when called during nulling out of modules during shutdown.
Misleading exception no longer raised when resource warning is
emitted during shutdown.
Issue #20367: Fix behavior of
concurrent.futures.as_completed() for duplicate arguments. Patch
by Glenn Langford.
Issue #8260: The read(), readline()
and readlines() methods of codecs.StreamReader returned incomplete
data when were called after readline() or read(size). Based on
patch by Amaury Forgeot d’Arc.
Some work must also be done to improve handling of the aspect ratio and
Issue #20778: Fix modulefinder to
work with bytecode-only modules.
Issue #20791: copy.copy() now
doesn’t make a copy when the input is a bytes object. Initial patch
by Peter Otten.
Issue #20621: Fixes a zipimport bug
introduced in 3.3.4 that could cause spurious crashes or
SystemErrors when importing modules or packages from a zip file.
The change causing the problem was reverted.
Issue #20404: io.TextIOWrapper (and
hence the open() builtin) now uses the internal codec marking system
added for issue #19619 to throw
LookupError for known non-text encodings at stream construction
time. The existing output type checks remain in place to deal with
unmarked third party codecs.
Graphical User Interface
Core and Builtins
Issue #20731: Properly position in
source code files even if they are opened in text mode. Patch by
Issue #19619: str.encode,
bytes.decode and bytearray.decode now use an internal API to throw
LookupError for known non-text encodings, rather than attempting the
encoding or decoding operation and then throwing a TypeError for an
unexpected output type. (The latter mechanism remains in place for
third party non-text encodings)
After two months of work, VLC media player is working quite well on
Android based systems. The project still requires a lot of work before
any release but we now know that running VLC media player on Android is
Issue #20406: Use Python
application icons for Idle window title bars. Patch mostly by Serhiy
Update the python.gif icon for the Idle classbrowser and pathbowser
from the old green snake to the new new blue and yellow snakes.
Issue #17721: Remove non-functional
configuration dialog help button until we make it actually gives
some help when clicked. Patch by Guilherme Simões.
- Issue #20488: Importlib is no
longer an implementation of import, it’s theimplementation.
Python 3.3.5 正式发布，相对于 Python 3.3.5 RC2 没有太大改变。
A lot of people are asking about the status of VLC media player on
Android. We usually answered that we are working on it. Now that some
good progresses has been done, lets look at the current status of VLC
media player for Android.
- Issue #20535: PYTHONWARNING no
longer affects the run_tests.py script. Patch by Arfrever Frehtes
Python 3.3.5 RC1 更新内容如下
As a conclusion, you can notice that VLC media player on Android is
working quite well. Anyway we are not ready to release a version until
some months because we want something stable and nice to use. Be
patient, we are working on it, even if this job is only done on our free
Issue #20221: Removed conflicting
(or circular) hypot definition when compiled with VS 2010 or above.
Initial patch by Tabrez Mohammed.
Issue #20609: Restored the ability
to build 64-bit Windows binaries on 32-bit Windows, which was broken
by the change in issue #19788.
At the moment VLC media player was mainly tested in the Android
emulator, on a Nexus One, a Nexus S and an HTC Desire. As soon as we
have a beta version we will ask every people who want to test the
application to test it and to report any issue they encounter. This way
we will be able to validate VLC media player on different phones and
VLC media player is relying on a set of libraries for a lot of functions
like decoding, encoding, getting meta-datas (id3 tags), …
A first audio output module was developed by Dominique Martinet (alias
Asmadeus). This module was based on OpenSL ES which is quit convenient
and efficient but OPENSL ES is only available on Android 2.3. This is
the reason why we decided to write a new audio output module that might
work on any Android devices regardless of the version.
As you saw in the screenshots, the GUI was only made to help us testing
both the audio and video output modules. Before any beta version, we
must create a nice GUI that allows users to select the right media or
stream to play. We will work on this task as soon as the audio and video
output work well.
For this reason, I (Rémi Duraffort, alias ivoire) am developing a second
audio output module for every Android versions. The work is barely
started so we cannot show you any video at the moment.
The video output developed by Adrien Maglo (alias Magsoft) is now able
to output video directly into an OpenGL surface. This is the second
video output module created by Adrien for VLC on Android. This second
version is able to run on any version of Android and not only
Gingerbread (2.3) but is a bit less efficient. This trade of is very
important because few phones and tablets are running Android Gingerbread
at the moment.
To enable these functionalities we must port the underlying libraries to
Android based devices. This work is not began yet but as for now we
already have a lot of libraries (like FFmpeg )
that allows us to decode many formats like: mpeg, h264, mp4 or ogg. So
this task does not have priority.
As said before, the next goal is to finish the audio output module to
handle audio correctly. This module requires some work to be able to
output audio for any Android version.
We are currently mainly working on two parts: the video output and the
audio output. These two modules are needed by VLC to render decoded
images on the screen and to output sound.
I will write another article when some interesting news about VLC and
Android come out.
To be done
Improving the Video output
The last task is to improve VLC media player performance by optimizing
it for the devices it will run on. Every Android devices uses ARM
processors which imply some specific optimizations that are currently
not activated. Some devices also provide ARM NEON instructions that VLC
can use to speedup decoding.
The video output must be improved to handle some specials cases like the
rotation of the device or the power saving mode (and many more).