SCons 4.7.0 Release
Bill Deegan <bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org> Sun, 17 Mar 2024 17:50:23 -0700
| Newsgroups | gmane.comp.programming.tools.scons.devel |
|---|---|
| Message-ID | <CAEyG4CGDg=tKCkEf47u9evkimq+VpUGZFqSVZhcyt1gbc2VNAg@mail.gmail.com> |
--===============0393993964062404322==
Content-Type: multipart/alternative; boundary="000000000000c401d10613e4be37"
--000000000000c401d10613e4be37
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
A new SCons release, 4.7.0, is now available on the SCons download page:
https://scons.org/pages/download.html
Here is a summary of the changes since 4.6.0:
NEW FUNCTIONALITY
-----------------
- Method unlink_files was added to the TestCmd class that unlinks a list of
files
from a specified directory. An attempt to unlink a file is made only
when the
file exists; otherwise, the file is ignored.
CHANGED/ENHANCED EXISTING FUNCTIONALITY
---------------------------------------
- Add an optional argument list string to configure's CheckFunc method so
that the generated function argument list matches the function's
prototype when including a header file. Fixes GH Issue #4320
- Now supports pre-release Python 3.13
- Support for Python versions without support for the `threading` package
has been removed
- Dropped three unused warning classes: DeprecatedSourceCodeWarning,
TaskmasterNeedsExecuteWarning, DeprecatedMissingSConscriptWarning.
* Two warning classes that are actually used were added to manpage section
on
enabling warnings (cache-cleanup-error, future-reserved-variable).
FIXES
-----
- Fix of the --debug=3Dsconscript option to return exist statements when
using return
statement with stop flag enabled
- MSVS: prevent overwriting the SCons environment variable SCONS_HOME with
the OS
environment value of SCONS_HOME in the msvs tool.
- MSVC: Fix the detection of Visual Studio 2015 Express ('14.0Exp') by
adding a
registry key definition and updating the installation root-relative
registry value
at runtime for the location of the VC folder.
- MSVS: Fix the msvs project generation test for MSVS 6.0 to use the
correct name of
the generated project file.
- MSVS: Fix the msvs project generation test scripts so that "false
positive" tests
results are not possible when the initial build is successful and the
command-line
build of the project file fails.
- On Windows platform, when collecting command output (Configure checks),
make sure decoding of bytes doesn't fail.
- Documentation indicated that both Pseudo() and env.Pseudo() were usable,
but Pseudo() did not work; is now enabled.
- Improve handling of file data that SCons itself processes - as in
scanners - try harder to decode non-UTF-8 text.
- PyPackageDir no longer fails if passed a module name which cannot be
found,
now returns None.
- Add locking around creation of CacheDir config file. Fixes issue #4489.
IMPROVEMENTS
------------
- Use of NotImplemented instead of NotImplementedError for special methods
of _ListVariable class
- The NewParallel scheduler is now the default, the `tm_v2` flag is removed=
,
and the old scheduler is opt-in under `--experimental=3Dlegacy_sched`.
Additionally,
the new scheduler is now used for -j1 builds as well.
NOTE: This should significantly improve SCons performance for larger
parallel builds
(Larger -j values)
- CacheDir writes no longer happen within the taskmaster critical section,
and therefore
can run in parallel with both other CacheDir writes and the taskmaster
DAG walk.
- The NewParallel scheduler now only adds threads as new work requiring
execution
is discovered, up to the limit set by -j. This should reduce resource
utilization
when the achievable parallelism in the DAG is less than the -j limit.
- Dumping an environment with `json` formatting will now explicitly specify
if a given
value cannot be serialized.
PACKAGING
---------
- Remove unnecessary dependencies on pypi packages from setup.cfg
- SCons documentation build can now be controlled through SKIP_DOC
variable - rather than just true/false can now specify
skip none, skip all, skip pdf docs, skip api docs.
DOCUMENTATION
-------------
- Fixed the Scanner examples in the User Guide to be runnable and added
some more explanation. Clarified discussion of the scanner function in
the Scanner Objects section of the manpage.
- The manpage entry for Pseudo was clarified.
- The manpage entry for SharedLibrary was clarified.
- Update API docs for Warnings framework; add two warns to manpage
enable/disable control.
- More consistent use of &Python; in the manpage. A few links added.
A warning about overwriting env['ENV'] and one about Configure
checks possibly not running in in no-exec mode also added.
- Clarify how SCons finds the project top directory, and what that is used
for.
- Clarify MergeFlags usage of a dict argument.
DEVELOPMENT
-----------
- Fix sphinx config to handle SCons versions with post such as: 4.6.0.post1
- Created SCons.Util.sctyping to contain complex type information, allowing
for repo-wide type hinting without causing cyclical dependencies.
Thanks to the following contributors listed below for their contributions
to this release.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
.. code-block:: text
git shortlog --no-merges -ns 4.6.0..HEAD
26 Andrew Morrow
24 Mats Wichmann
14 William Deegan
7 Joseph Brill
6 StenGruener
3 Prabhu S. Khalsa
3 Thaddeus Crews
2 fazledyn-or
1 Micha=C5=82 G=C3=B3rny
1 Piotr Siupa
--000000000000c401d10613e4be37
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">A new SCons release, 4.7.0, is now available on the SCons =
download page:<br><br>=C2=A0 =C2=A0 <a href=3D"https://scons.org/pages/down=
load.html">https://scons.org/pages/download.html</a><br><br>Here is a summa=
ry of the changes since 4.6.0:<br><br>NEW FUNCTIONALITY<br>----------------=
-<br><br>- Method unlink_files was added to the TestCmd class that unlinks =
a list of files<br>=C2=A0 from a specified directory.=C2=A0 An attempt to u=
nlink a file is made only when the<br>=C2=A0 file exists; otherwise, the fi=
le is ignored.<br><br>CHANGED/ENHANCED EXISTING FUNCTIONALITY<br>----------=
-----------------------------<br><br>- Add an optional argument list string=
to configure's CheckFunc method so<br>=C2=A0 that the generated functi=
on argument list matches the function's<br>=C2=A0 prototype when includ=
ing a header file. Fixes GH Issue #4320<br>- Now supports pre-release Pytho=
n 3.13<br>- Support for Python versions without support for the `threading`=
package has been removed<br>- Dropped three unused warning classes: Deprec=
atedSourceCodeWarning,<br>=C2=A0 TaskmasterNeedsExecuteWarning, DeprecatedM=
issingSConscriptWarning.<br>* Two warning classes that are actually used we=
re added to manpage section on<br>=C2=A0 enabling warnings (cache-cleanup-e=
rror, future-reserved-variable).<br><br>FIXES<br>-----<br><br>- Fix of the =
--debug=3Dsconscript option to return exist statements when using return<br=
>=C2=A0 statement with stop flag enabled<br>- MSVS: prevent overwriting the=
SCons environment variable SCONS_HOME with the OS<br>=C2=A0 environment va=
lue of SCONS_HOME in the msvs tool.<br>- MSVC: Fix the detection of Visual =
Studio 2015 Express ('14.0Exp') by adding a<br>=C2=A0 registry key =
definition and updating the installation root-relative registry value<br>=
=C2=A0 at runtime for the location of the VC folder.<br>- MSVS: Fix the msv=
s project generation test for MSVS 6.0 to use the correct name of<br>=C2=A0=
the generated project file.<br>- MSVS: Fix the msvs project generation tes=
t scripts so that "false positive" tests<br>=C2=A0 results are no=
t possible when the initial build is successful and the command-line<br>=C2=
=A0 build of the project file fails.<br>- On Windows platform, when collect=
ing command output (Configure checks),<br>=C2=A0 make sure decoding of byte=
s doesn't fail.<br>- Documentation indicated that both Pseudo() and env=
.Pseudo() were usable,<br>=C2=A0 but Pseudo() did not work; is now enabled.=
<br>- Improve handling of file data that SCons itself processes - as in<br>=
=C2=A0 scanners - try harder to decode non-UTF-8 text.<br>- PyPackageDir no=
longer fails if passed a module name which cannot be found,<br>=C2=A0 now =
returns None.<br>- Add locking around creation of CacheDir config file. Fix=
es issue #4489.<br><br>IMPROVEMENTS<br>------------<br><br>- Use of NotImpl=
emented instead of NotImplementedError for special methods<br>=C2=A0 of _Li=
stVariable class<br>- The NewParallel scheduler is now the default, the `tm=
_v2` flag is removed,<br>=C2=A0 and the old scheduler is opt-in under `--ex=
perimental=3Dlegacy_sched`. Additionally,<br>=C2=A0 the new scheduler is no=
w used for -j1 builds as well.<br>=C2=A0 NOTE: This should significantly im=
prove SCons performance for larger parallel builds<br>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 (Larger -j values)<br>- CacheDir writes no longer happen within the =
taskmaster critical section, and therefore<br>=C2=A0 can run in parallel wi=
th both other CacheDir writes and the taskmaster DAG walk.<br>- The NewPara=
llel scheduler now only adds threads as new work requiring execution<br>=C2=
=A0 is discovered, up to the limit set by -j. This should reduce resource u=
tilization<br>=C2=A0 when the achievable parallelism in the DAG is less tha=
n the -j limit.<br>- Dumping an environment with `json` formatting will now=
explicitly specify if a given<br>=C2=A0 value cannot be serialized.<br><br=
>PACKAGING<br>---------<br><br>- Remove unnecessary dependencies on pypi pa=
ckages from setup.cfg<br>- SCons documentation build can now be controlled =
through SKIP_DOC<br>=C2=A0 variable - rather than just true/false can now s=
pecify<br>=C2=A0 skip none, skip all, skip pdf docs, skip api docs.<br><br>=
DOCUMENTATION<br>-------------<br><br>- Fixed the Scanner examples in the U=
ser Guide to be runnable and added<br>=C2=A0 some more explanation. Clarifi=
ed discussion of the scanner function in<br>=C2=A0 the Scanner Objects sect=
ion of the manpage.<br>- The manpage entry for Pseudo was clarified.<br>- T=
he manpage entry for SharedLibrary was clarified.<br>- Update API docs for =
Warnings framework; add two warns to manpage<br>=C2=A0 enable/disable contr=
ol.<br>- More consistent use of &Python; in the manpage.=C2=A0 A few li=
nks added.<br>=C2=A0 A warning about overwriting env['ENV'] and one=
about Configure<br>=C2=A0 checks possibly not running in in no-exec mode a=
lso added.<br>- Clarify how SCons finds the project top directory, and what=
that is used for.<br>- Clarify MergeFlags usage of a dict argument.<br><br=
>DEVELOPMENT<br>-----------<br><br>- Fix sphinx config to handle SCons vers=
ions with post such as: 4.6.0.post1<br>- Created SCons.Util.sctyping to con=
tain complex type information, allowing<br>=C2=A0 for repo-wide type hintin=
g without causing cyclical dependencies.<br><br>Thanks to the following con=
tributors listed below for their contributions to this release.<br>=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>.. code-block:: text<br><br>=C2=
=A0 =C2=A0 git shortlog --no-merges -ns 4.6.0..HEAD<br>=C2=A0 =C2=A0 26 =C2=
=A0Andrew Morrow<br>=C2=A0 =C2=A0 24 =C2=A0Mats Wichmann<br>=C2=A0 =C2=A0 1=
4 =C2=A0William Deegan<br>=C2=A0 =C2=A0 =C2=A07 =C2=A0Joseph Brill<br>=C2=
=A0 =C2=A0 =C2=A06 =C2=A0StenGruener<br>=C2=A0 =C2=A0 =C2=A03 =C2=A0Prabhu =
S. Khalsa<br>=C2=A0 =C2=A0 =C2=A03 =C2=A0Thaddeus Crews<br>=C2=A0 =C2=A0 =
=C2=A02 =C2=A0fazledyn-or<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0Micha=C5=82 G=C3=
=B3rny<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0Piotr Siupa<br></div>
--000000000000c401d10613e4be37--
--===============0393993964062404322==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev
--===============0393993964062404322==--