2.0.0.candidate.20100607 released

A new SCons checkpoint release, 2.0.0.candidate.20100607, is now available
on the SCons download page:


The primary purpose of this release is to remove support for Python
versions prior to 2.4 and streamline the SCons code base using more
modern python idioms.

A SCons "checkpoint release" is intended to provide early access to
new features so they can be tested in the field before being released
for adoption by other software distributions.

Note that a checkpoint release is developed using the same test-driven
development methodology as all SCons releases. Existing SCons
functionality should all work as it does in previous releases (except
for any changes identified in the release notes) and early adopters
should be able to use a checkpoint release safely for production work
with existing SConscript files. If not, it represents not only a bug
in SCons but also a hole in the regression test suite, and we want to
hear about it.

New features may be more lightly tested than in past releases,
especially as concerns their interaction with all of the other
functionality in SCons. We are especially interested in hearing bug
reports about new functionality.

We do not recommend that downstream distributions (Debian, Fedora,
etc.) package a checkpoint release, mainly to avoid confusing the
"public" release numbering with the long checkpoint release names.

Here is a summary of the changes since 1.3:


  • There should be no new functionality or bug fixes in this checkpoint.
    Bug fixes will be found in the 1.3.1 series of checkpoints.


  • All features or usages deprecated in 1.3 should have been removed.
    Uses of formerly-deprecated features should get an error.

  • The BuildDir() method and the build_dir option now get warnings.

  • The SourceCode() function and its associated factory functions have
    started their deprecation cycle and can have a warning enabled.


  • Any Command() or env.Command() calls that use the following Action
    factory functions will have their targets rebuilt when upgrading
    from any pre-2.0 release:


    (The rebuild occurs because the underlying Python class that
    implements these functions has been changed to a new-style Python
    class, and that changes the Python byte code and therefore the
    build signature of the functions.)


  • MSVC/MSVS/SDK support has been improved. A number of issues with
    determining the correct version and architecture have been resolved.


  • Support for Python versions prior to 2.4 has been removed. As of
    this writing, we believe that SCons will still work with Python 2.3,
    but this is not guaranteed.
  • Code paths that included special cases for older Python versions have
    been streamlined.
  • The code base has been converted to use more modern idioms. Although
    we don't have any direct measurements (yet), we believe that SCons
    startup time should be decreased and the overall code should run faster.


  • No changes.


  • The entries for SourceCode() and its associated factory functions now
    state that the functions are deprecated.


  • Code no longer has to be compatible with Python versions back to 1.5.2.
    Although code is tested with Python 2.3 and is still believed to work,
    the official new floor is Python 2.4.

Thanks to Greg Noel, Steven Knight, Dirk Baechle, William Deegan,and
W. Trevor King for their contributions to this release.

Posted by Greg Noel 2010-06-08

Log in to post a comment.