Showing posts with label 3. Show all posts
Showing posts with label 3. Show all posts

Tuesday, March 11, 2014

Third release candidate for Python 3.4

The third release candidate for Python 3.4 has been released.

You can also retrieve the source code using Mercurial from the http://hg.python.org/releasing/3.4/.

What's New in Python 3.4 has been updated with the latest changes and is closed to its final draft form.

Tuesday, August 14, 2012

Python 3.3 Beta 2 Released

Release manager Georg Brandl announced on August 12 that the second beta of CPython 3.3 was released, complete with installers for both Mac and Windows. This release represents the final feature set, and the goal is to get it in the hands of users to iron out any last issues.

Following this beta will be two release candidates, coming August 25 and September 8. The final release is slated to happen on September 22.

The "What's New in Python 3.3" document is currently being finalized by curator and long time developer Raymond Hettinger. The document already contains many of the new changes, but keep an eye out for newer versions.

Here are some of the bigger changes:

  • PEP 380, syntax for delegating to a subgenerator ("yield from")
  • PEP 393, flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
  • A C implementation of the "decimal" module, with up to 80x speedup for decimal-heavy applications
  • The import system (__import__) now based on importlib by default
  • The new "lzma" module with LZMA/XZ support
  • PEP 397, a Python launcher for Windows
  • PEP 405, virtual environment support in core
  • PEP 420, namespace package support
  • PEP 3151, reworking the OS and IO exception hierarchy
  • PEP 3155, qualified name for classes and functions
  • PEP 409, suppressing exception context
  • PEP 414, explicit Unicode literals to help with porting
  • PEP 418, extended platform-independent clocks in the "time" module
  • PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
  • PEP 362, the function-signature object
  • The new "faulthandler" module that helps diagnosing crashes
  • The new "unittest.mock" module
  • The new "ipaddress" module
  • The "sys.implementation" attribute
  • A policy framework for the email package, with a provisional (see PEP 411) policy that adds much improved unicode support for email header parsing
  • A "collections.ChainMap" class for linking mappings to a single unit
  • Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"
  • Hash randomization, introduced in earlier bugfix releases, is now switched on by default

In total, almost 500 API items are new or improved in Python 3.3.

Be sure to check out this release at http://www.python.org/download/releases/3.3.0/ and report any issues to http://bugs.python.org.

Friday, June 1, 2012

Python 3.3 Alpha 4 Released

Yesterday, May 31, brought the fourth alpha release in the Python 3.3 development schedule. It's an exciting release as it introduces a number of long awaited features that we really hope the community will enjoy.

New Features

PEP 405 - Virtual Environments

Just in time for Alpha 4 comes the addition of PEP 405's support for virtual environments by way of the venv module and pyenv script.

python -m venv /home/yourname/dev/myproject

You may know this functionality through virtualenv, originally created by Ian Bicking. Thanks to Carl Meyer, Vinay Sajip, and anyone else for working on the PEP and implementation, we now have this widely used functionality available in a Python release!

PEP 420 - Namespace Packages

After a long road featuring two preceding PEPS (382 and 402), several sprints (including one sponsored by the PSF), and much discussion on python-dev, import-sig, and at PyCon language summits over the last two years, namespace packages are here. At the summit, Eric Smith stepped up to write a new PEP after the group decided to reject PEPs 382 and 402.

The result is PEP 420. The most obvious feature of a namespace package is the lack of a __init__.py file. However, there's a lot more to it, so check out the PEP!

PEP 3144 - The ipaddress Module

After discussion starting during the Python 3.2 development cycle, the ipaddress module has a new home in the standard library for 3.3. PEP 3144, authored by Peter Moody and taken up by core contributor Nick Coghlan, introduces a collection of classes for working with addresses, networks, and interfaces for both IPv4 and IPv6.

Windows Build Upgraded to Visual Studio 2010

As was recently covered, the Alpha 4 Windows installers now feature binaries produced by Visual Studio 2010, up from the 2008 version. We needed to upgrade to keep up with what most organizations and many of our contributors were using, along with the fact that not changing would mean we'd be at least two versions behind at our next opportunity to do so. With Python 3.4 not coming out until some time in 2014, we didn't want to end up eight years behind the curve and have to make that big of a version jump.

Bug Fixes

As with all of our releases, many contributors submitted patches to fix over 80 issues since last month's Alpha 3. We have fixes across a number of modules, including batches of fixes to IDLE, email, and urllib.

We Need Your Help!

As with all of our releases, backwards compatibility is important to us, so we'd love to hear if any of your projects have issues. Please help us make the best release possible by trying it out!

Python 3.3 is quickly shaping up to be the release everyone's waiting for, so run your tests and report your issues to http://bugs.python.org.


Download it now!