SCons 4.2.0 Released

Bill Deegan <bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org> Sat, 31 Jul 2021 20:37:53 -0700
Newsgroups gmane.comp.programming.tools.scons.devel
Message-ID <CAEyG4CFup0RjoLSsHDAWYyhx6MAUudTKM5j02iXLgd9b=YP0dw__46563.7064933375$1627789102$gmane$org@mail.gmail.com>
--===============8550814095606382908==
Content-Type: multipart/alternative; boundary="0000000000003caa1d05c8772e71"

--0000000000003caa1d05c8772e71
Content-Type: text/plain; charset="UTF-8"

A new SCons release, 4.2.0, is now available
on the SCons download page:

      https://scons.org/pages/download.html


Here is a summary of the changes since 4.1.0:

NOTE: The 4.2.0 Release of SCons will deprecate Python 3.5 Support. Python
3.5 support will be dropped in the next major release.


NEW FUNCTIONALITY
-----------------

    - Add support for the
(TARGET,SOURCE,TARGETS,SOURCES,CHANGED_TARGETS,CHANGED_SOURCES}.relpath
property.
      This will provide a path relative to the top of the build tree (where
the SConstruct is located)
      Fixes #396
    - Added --experimental flag, to enable various experimental
features/tools.  You can specify
      'all', 'none', or any combination of available experimental features.
    - Added affect_signature flag to  _concat function.  If set to False,
it will prepend and append $( and $).
      That way the various Environment variables can use that rather than
"$( _concat(...) $)".


DEPRECATED FUNCTIONALITY
------------------------
    - Deprecate Python 3.5 as a supported version.


CHANGED/ENHANCED EXISTING FUNCTIONALITY
---------------------------------------

    - SCons now supports the command-line parameter `--hash-format` to
override the default
      hash format that SCons uses. It can also be set via
`SetOption('hash_format')`. Supported
      values are: `md5`, `sha1`, and `sha256`. For all hash formats other
than
      the default of `md5`, the SConsign database will include the name of
the hash format.
      For example, `--hash-format=sha256` will create a SConsign with name
      `.sconsign_sha256.dblite.`.
    - Improve Subst()'s logic to check for proper callable function or
class's argument list.
      It will now allow callables with expected args, and any extra args as
long as they
      have default arguments. Additionally functions with no defaults for
extra arguments
      as long as they are set using functools.partial to create a new
callable which set them.
    - Internal has_key methods removed from SCons' dictionary-like objects
      SubstitutionEnvironment and OverrideEnvironment - in other words,
      an env - to match Python 3 which no longer has dict.has_key.
    - Removed long-deprecated construction variables PDFCOM,
WIN32_INSERT_DEF,
      WIN32DEFPREFIX, WIN32DEFSUFFIX, WIN32EXPPREFIX, WIN32EXPSUFFIX.
      All have been replaced by other names since at least 1.0.
    - Added CACHEDIR_CLASS construction variable and expanded CacheDir
method args
      to support SCons invoking CacheDir derived classes for CacheDir
customization.
      Moved copy_from_cache attribute from the Environment class to
CacheDir class.
      Code contributed by MongoDB.
    - Update BuildTask to pass all targets to the progress object fixing an
issue
      where multi-target build nodes only got the first target passed to
the progress
      object.
    - Change SConscript() missing SConscript behavior - if must_exist=False,
      the warning is suppressed.


FIXES
-----

    - The command-line parameter `--md5-chunksize` is now deprecated. Use
`--hash-chunksize`
      instead.
    - Fix Issue #3906 - `IMPLICIT_COMMAND_DEPENDENCIES` was not properly
disabled when
      set to any string value (For example ['none','false','no','off'])
      Also previously 'All' wouldn't have the desired affect.
    - DocbookXslt tool: The XSLT stylesheet file is now initialized to an
env.File() Node,
      such that dependencies work correctly in hierarchical builds (eg when
using
      DocbookXslt in SConscript('subdir/SConscript') context.
    - The Install builder will now set the writable mode on the file(s) it
      copies. This restores the (previously undocumented) SCons behavior
      that regressed as of 4.0.0.
    - Fix issue #3790: Generators in CPPDEFINES now have access to
populated source
      and target lists
    - Fix a potential race condition in shared cache environments where the
permissions are
      not writeable for a moment after the file has been renamed and other
builds (users) will copy
      it out of the cacheSmall reorganization of logic to copy files from
cachedir. Moved CacheDir
      writeable permission code for copy to cache behind the atomic rename
operation.
    - Fixed intermediate and and multi target nodes generated from SConf
tests not being marked
      as is_conftest().



Thanks to the following contributors listed below for their contributions
to this release.
==========================================================================================
.. code-block:: text

    git shortlog --no-merges -ns 4.1.0..HEAD
       177  William Deegan
       101  Daniel Moody
        95  Mats Wichmann
        25  Adam Gross
         4  greenbender
         4  Daniel
         4  Henrik Maier
         4  Mathew Robinson
         3  Andrew Morrow
         3  Ivan Kravets
         3  Dillan Mills
         1  WholesomeIsland
         1  dependabot[bot]
         1  djh
         1  Joseph Brill

--0000000000003caa1d05c8772e71
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">A new SCons release, 4.2.0, is now available<br>on the SCo=
ns download page:<br><br>=C2=A0 =C2=A0 =C2=A0 <a href=3D"https://scons.org/=
pages/download.html">https://scons.org/pages/download.html</a><br><br><br>H=
ere is a summary of the changes since 4.1.0:<br><br>NOTE: The 4.2.0 Release=
 of SCons will deprecate Python 3.5 Support. Python 3.5 support will be dro=
pped in the next major release.<br><br><br>NEW FUNCTIONALITY<br>-----------=
------<br><br>=C2=A0 =C2=A0 - Add support for the (TARGET,SOURCE,TARGETS,SO=
URCES,CHANGED_TARGETS,CHANGED_SOURCES}.relpath property.<br>=C2=A0 =C2=A0 =
=C2=A0 This will provide a path relative to the top of the build tree (wher=
e the SConstruct is located)<br>=C2=A0 =C2=A0 =C2=A0 Fixes #396<br>=C2=A0 =
=C2=A0 - Added --experimental flag, to enable various experimental features=
/tools.=C2=A0 You can specify<br>=C2=A0 =C2=A0 =C2=A0 &#39;all&#39;, &#39;n=
one&#39;, or any combination of available experimental features.<br>=C2=A0 =
=C2=A0 - Added affect_signature flag to =C2=A0_concat function.=C2=A0 If se=
t to False, it will prepend and append $( and $).<br>=C2=A0 =C2=A0 =C2=A0 T=
hat way the various Environment variables can use that rather than &quot;$(=
 _concat(...) $)&quot;.<br><br><br>DEPRECATED FUNCTIONALITY<br>------------=
------------<br>=C2=A0 =C2=A0 - Deprecate Python 3.5 as a supported version=
.<br><br><br>CHANGED/ENHANCED EXISTING FUNCTIONALITY<br>-------------------=
--------------------<br><br>=C2=A0 =C2=A0 - SCons now supports the command-=
line parameter `--hash-format` to override the default<br>=C2=A0 =C2=A0 =C2=
=A0 hash format that SCons uses. It can also be set via `SetOption(&#39;has=
h_format&#39;)`. Supported<br>=C2=A0 =C2=A0 =C2=A0 values are: `md5`, `sha1=
`, and `sha256`. For all hash formats other than<br>=C2=A0 =C2=A0 =C2=A0 th=
e default of `md5`, the SConsign database will include the name of the hash=
 format.<br>=C2=A0 =C2=A0 =C2=A0 For example, `--hash-format=3Dsha256` will=
 create a SConsign with name<br>=C2=A0 =C2=A0 =C2=A0 `.sconsign_sha256.dbli=
te.`.<br>=C2=A0 =C2=A0 - Improve Subst()&#39;s logic to check for proper ca=
llable function or class&#39;s argument list.<br>=C2=A0 =C2=A0 =C2=A0 It wi=
ll now allow callables with expected args, and any extra args as long as th=
ey<br>=C2=A0 =C2=A0 =C2=A0 have default arguments. Additionally functions w=
ith no defaults for extra arguments<br>=C2=A0 =C2=A0 =C2=A0 as long as they=
 are set using functools.partial to create a new callable which set them.<b=
r>=C2=A0 =C2=A0 - Internal has_key methods removed from SCons&#39; dictiona=
ry-like objects<br>=C2=A0 =C2=A0 =C2=A0 SubstitutionEnvironment and Overrid=
eEnvironment - in other words,<br>=C2=A0 =C2=A0 =C2=A0 an env - to match Py=
thon 3 which no longer has dict.has_key.<br>=C2=A0 =C2=A0 - Removed long-de=
precated construction variables PDFCOM, WIN32_INSERT_DEF,<br>=C2=A0 =C2=A0 =
=C2=A0 WIN32DEFPREFIX, WIN32DEFSUFFIX, WIN32EXPPREFIX, WIN32EXPSUFFIX.<br>=
=C2=A0 =C2=A0 =C2=A0 All have been replaced by other names since at least 1=
.0.<br>=C2=A0 =C2=A0 - Added CACHEDIR_CLASS construction variable and expan=
ded CacheDir method args<br>=C2=A0 =C2=A0 =C2=A0 to support SCons invoking =
CacheDir derived classes for CacheDir customization.<br>=C2=A0 =C2=A0 =C2=
=A0 Moved copy_from_cache attribute from the Environment class to CacheDir =
class.<br>=C2=A0 =C2=A0 =C2=A0 Code contributed by MongoDB.<br>=C2=A0 =C2=
=A0 - Update BuildTask to pass all targets to the progress object fixing an=
 issue<br>=C2=A0 =C2=A0 =C2=A0 where multi-target build nodes only got the =
first target passed to the progress<br>=C2=A0 =C2=A0 =C2=A0 object.<br>=C2=
=A0 =C2=A0 - Change SConscript() missing SConscript behavior - if must_exis=
t=3DFalse,<br>=C2=A0 =C2=A0 =C2=A0 the warning is suppressed.<br><br><br>FI=
XES<br>-----<br><br>=C2=A0 =C2=A0 - The command-line parameter `--md5-chunk=
size` is now deprecated. Use `--hash-chunksize`<br>=C2=A0 =C2=A0 =C2=A0 ins=
tead.<br>=C2=A0 =C2=A0 - Fix Issue #3906 - `IMPLICIT_COMMAND_DEPENDENCIES` =
was not properly disabled when<br>=C2=A0 =C2=A0 =C2=A0 set to any string va=
lue (For example [&#39;none&#39;,&#39;false&#39;,&#39;no&#39;,&#39;off&#39;=
])<br>=C2=A0 =C2=A0 =C2=A0 Also previously &#39;All&#39; wouldn&#39;t have =
the desired affect.<br>=C2=A0 =C2=A0 - DocbookXslt tool: The XSLT styleshee=
t file is now initialized to an env.File() Node, <br>=C2=A0 =C2=A0 =C2=A0 s=
uch that dependencies work correctly in hierarchical builds (eg when using =
<br>=C2=A0 =C2=A0 =C2=A0 DocbookXslt in SConscript(&#39;subdir/SConscript&#=
39;) context.<br>=C2=A0 =C2=A0 - The Install builder will now set the writa=
ble mode on the file(s) it<br>=C2=A0 =C2=A0 =C2=A0 copies. This restores th=
e (previously undocumented) SCons behavior<br>=C2=A0 =C2=A0 =C2=A0 that reg=
ressed as of 4.0.0.<br>=C2=A0 =C2=A0 - Fix issue #3790: Generators in CPPDE=
FINES now have access to populated source<br>=C2=A0 =C2=A0 =C2=A0 and targe=
t lists<br>=C2=A0 =C2=A0 - Fix a potential race condition in shared cache e=
nvironments where the permissions are<br>=C2=A0 =C2=A0 =C2=A0 not writeable=
 for a moment after the file has been renamed and other builds (users) will=
 copy<br>=C2=A0 =C2=A0 =C2=A0 it out of the cacheSmall reorganization of lo=
gic to copy files from cachedir. Moved CacheDir <br>=C2=A0 =C2=A0 =C2=A0 wr=
iteable permission code for copy to cache behind the atomic rename operatio=
n.<br>=C2=A0 =C2=A0 - Fixed intermediate and and multi target nodes generat=
ed from SConf tests not being marked<br>=C2=A0 =C2=A0 =C2=A0 as is_conftest=
().<br><br><br><br>Thanks to the following contributors listed below for th=
eir 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-me=
rges -ns 4.1.0..HEAD<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0177 =C2=A0William Deegan=
<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0101 =C2=A0Daniel Moody<br>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 95 =C2=A0Mats Wichmann<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 25 =C2=A0A=
dam Gross<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A04 =C2=A0greenbender<br>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A04 =C2=A0Daniel<br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A04 =C2=A0Henrik Maier<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A04 =C2=
=A0Mathew Robinson<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A03 =C2=A0Andrew Morr=
ow<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A03 =C2=A0Ivan Kravets<br>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A03 =C2=A0Dillan Mills<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A01 =C2=A0WholesomeIsland<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01 =C2=
=A0dependabot[bot]<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01 =C2=A0djh<br>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01 =C2=A0Joseph Brill</div>

--0000000000003caa1d05c8772e71--

--===============8550814095606382908==
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

--===============8550814095606382908==--