Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Checkpoint 2.0.0.beta.20100531 available

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

    http://www.scons.org/download.php

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 methdology 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:

NEW FUNCTIONALITY

  • 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.

DEPRECATED FUNCTIONALITY

  • 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.

CHANGED/ENHANCED EXISTING FUNCTIONALITY

  • 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:

    Chmod()
    Copy()
    Delete()
    Mkdir()
    Move()
    Touch()

(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.)

FIXES

  • None.

IMPROVEMENTS

  • Support for Python versions prior to 2.4 has been removed. As of
    this writing, we belive 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.

PACKAGING

  • No changes.

DOCUMENTATION

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

DEVELOPMENT

  • 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, Bill Deegan and
W. Trevor King for their contributions to this release.

Posted by Steven Knight 2010-05-31