Scons

Latest version: v4.9.0

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 14

2.5.1

Not secure
From William Deegan:
- Add scons-configure-cache.py to packaging. It was omitted

From Alexey Klimkin:
- Use memoization to optimize PATH evaluation across all dependencies per
node. (PR 345)

2.5.0

Not secure
From Dirk Baechle:
- Removed a lot of compatibility methods and workarounds
for Python versions < 2.7, in order to prepare the work
towards a combined 2.7/3.x version. (PR 284)
Also fixed the default arguments for the print_tree and
render_tree methods. (PR 284, too)

From William Blevins:
- Added support for cross-language dependency scanning;
SCons now respects scanner keys for implicit dependencies.
- Notes for SCons users with heterogeneous systems.
- May find new (previously missed) dependencies.
- May cause rebuild after upgrade due to dependency changes.
- May find new dependency errors (EG. cycles).
- Discovered in some of the SCons QT tests.
- Resolved missing cross-language dependencies for
SWIG bindings (fixes 2264).
- Corrected typo in User Guide for Scanner keyword. (PR 2959)
- Install builder interacts with scanner found in SCANNERS differently.
- Previous: Install builder recursively scanned implicit dependencies
for scanners from SCANNER, but not for built-in (default) scanners.
- Current: Install builder will not scan for implicit dependencies via
either scanner source. This optimizes some Install builder behavior
and brings orthogonality to Install builder scanning behavior.

From William Deegan:
- Add better messaging when two environments have
different actions for the same target (Bug 2024)
- Fix issue only with MSVC and Always build where targets
marked AlwaysBuild wouldn't make it into CHANGED_SOURCES
and thus yield an empty compile command line. (Bug 2622)
- Fix posix platform escaping logic to properly handle paths
with parens in them "()". (Bug 2225)

From Jakub Pola:
- Intel Compiler 2016 (Linux/Mac) update for tool directories.

From Adarsh Sanjeev:
- Fix for issue 2494: Added string support for Chmod function.

From Tom Tanner:
- change cache to use 2 character subdirectories, rather than one character,
so as not to give huge directories for large caches, a situation which
causes issues for NFS.
For existing caches, you will need to run the scons-configure-cache.py
script to update them to the new format. You will get a warning every time
you build until you co this.
- Fix a bunch of unit tests on windows

2.4.1

Not secure
From Arfrever Frehtes Taifersar Arahesis:
- Fix for Bug 2791 - Setup.py fails unnecessarily under Jython.

From Dirk Baechle:
- Fixed license of SVG titlepage files in the context of Debian
packaging, such that they allow for commercial use too (2985).

From William Blevins:
- InstallVersionedLib now available in the DefaultEnvironment context.
- Improves orthogonality of use cases between different Install functions.

From Carnë Draug:
- Added new configure check, CheckProg, to check for
existence of a program.

From Andrew Featherstone:
- Fix for issue 2840 - Fix for two environments specifying same target with different
actions not throwing hard error. Instead SCons was incorrectly issuing a warning
and continuing.

From Hiroaki Itoh :
- Add support `Microsoft Visual C++ Compiler for Python 2.7'
Compiler can be obtained at: https://www.microsoft.com/en-us/download/details.aspx?id=44266

From Florian Miedniak:
- Fixed tigris issue 3011: Glob() excludes didn't work when used with VariantDir(duplicate=0)

From William Roberts:
- Fix bug 2831 and allow Help() text to be appended to AddOption() help.

From Paweł Tomulik:
- Reimplemented versioning for shared libraries, with the following effects
- Fixed tigris issues 3001, 3006.
- Fixed several other issues not reported to tigris, including:
issues with versioned libraries in subdirectories with tricky names,
issues with versioned libraries and variant directories,
issue with soname not being injected to library when using D linkers,
- Switched to direct symlinks instead of daisy-chained ones -- soname and
development symlinks point directly to the versioned shared library now),
for rationale see:
https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages
https://bitbucket.org/scons/scons/pull-requests/247/new-versioned-libraries-gnulink-cyglink/diff#comment-10063929
- New construction variables to allow override default behavior: SONAME,
SHLIBVERSIONFLAGS, _SHLIBVERSIONFLAGS, SHLIBNOVERSIONSYMLINKS,
LDMODULEVERSION, LDMODULEVERSIONFLAGS, _LDMODULEVERSIONFLAGS,
LDMODULENOVERSIONSYMLINKS.
- Changed logic used to configure the versioning machinery from
platform-centric to linker-oriented.
- The SHLIBVERSION/LDMODULEVERSION variables are no longer validated by
SCons (more freedom to users).
- InstallVersionedLib() doesn't use SHLIBVERSION anymore.
- Enchanced docs for the library versioning stuff.
- New tests for versioned libraries.
- Library versioning is currently implemented for the following linker
tools: 'cyglink', 'gnulink', 'sunlink'.
- Fix to swig tool - pick-up 'swig', 'swig3.0' and 'swig2.0' (in order).
- Fix to swig tool - respect env['SWIG'] provided by user.

2.4.0

From Dirk Baechle:
- Switched several core classes to use "slots", to
reduce the overall memory consumption in large
projects (fixes 2180, 2178, 2198)
- Memoizer counting uses decorators now, instead of
the old metaclasses approach.

From Andrew Featherstone
- Fixed typo in SWIGPATH description

2.3.6

Not secure
From Rob Smith:
- Added support for Visual Studio 2015

2.3.5

From Stephen Pollard:
- Documentation fixes for libraries.xml and
builders-writing.xml (2989 and 2990)

From William Deegan:
- Extended docs for InstallVersionedLib/SharedLibrary,
and added SKIP_WIN_PACKAGES argument to build script
bootstrap.py (PR 230, 3002).

From William Blevins:
- Fixed symlink support (PR 227, 2395).
- Updated debug-count test case (PR 229).

From Alexey Klimkin:
- Fixed incomplete LIBS flattening and substitution in
Program scanner(PR 205, 2954).

From Dirk Baechle:
- Added new method rentry_exists_on_disk to Node.FS (PR 193).

From Russel Winder:
- Fixed several D tests under the different OS.
- Add support for f08 file extensions for Fortran 2008 code.

From Anatoly Techtonik:
- Show --config choices if no argument is specified (PR 202).
- Fixed build crash when XML toolchain isn't installed, and
activated compression for ZIP archives.

From Alexandre Feblot:
- Fix for VersionedSharedLibrary under 'sunos' platform.
- Fixed dll link with precompiled headers on MSVC 2012
- Added an 'exclude' parameter to Glob()

From Laurent Marchelli:
- Support for multiple cmdargs (one per variant) in VS project files.
- Various improvements for TempFileMunge class.
- Added an implementation for Visual Studio users files (PR 209).

From Dan Pidcock:
- Added support for the 'PlatformToolset' tag in VS project files (2978).

From James McCoy:
- Added support for '-isystem' to ParseFlags.

Page 5 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.