Improve conversion to BuildError
[scons.git] / RELEASE.txt
blob6d1a04d3c95d933996272e0063f67e93c1f19682
1 If you are reading this in the git repository, the contents
2 refer to *unreleased* changes since the last SCons release.
3 Past official release announcements appear at:
5     https://scons.org/tag/releases.html
7 ==================================================================
9 A new SCons release, 4.7.1, is now available on the SCons download page:
11     https://scons.org/pages/download.html
14 Here is a summary of the changes since 4.7.0:
16 NEW FUNCTIONALITY
17 -----------------
19 - GetSConsVersion() added to retrieve the SCons version.
21 DEPRECATED FUNCTIONALITY
22 ------------------------
24 - Mark Python 3.6 support as deprecated. Use --warn=no-python-version
25   to quiet the warning.
27 CHANGED/ENHANCED EXISTING FUNCTIONALITY
28 ---------------------------------------
30 - Dump() with json format selected now recognizes additional compound types
31   (UserDict and UserList), which improves the detail of the display.
32   json output is also sorted, to match the default display.
33 - Python 3.13 changes the behavior of isabs() on Windows. Adjust SCons
34   usage of this in NodeInfo classes to avoid test problems.
35 - Drop duplicated __getstate__ and __setstate__ methods in AliasNodeInfo,
36   FileNodeInfo and ValueNodeInfo classes, as they are identical to the
37   ones in parent NodeInfoBase and can just be inherited.
38 - All exceptions during the execution of an Action are now returned by value
39   rather than by raising an exception, for more consistent behavior.
40   NOTE: With this change, user created Actions should now catch and handle
41   expected exceptions (whereas previously many of these were silently caught
42   and suppressed by the SCons Action exection code).
43 - ParseFlags now sorts a --stdlib=libname argument into CXXFLAGS instead
44   of CCFLAGS; the latter variable could cause a compiler warning.
45 - The implementation of Variables was slightly refactored, there should
46   not be user-visible changes.
48 FIXES
49 -----
51 - OSErrors are now no longer hidden during the execution of Actions.
52 - Improved the conversion of a "foreign" exception from an action
53   into BuildError by making sure our defaults get applied even in
54   corner cases.
56 IMPROVEMENTS
57 ------------
59 - Make the testing framework a little more resilient: the temporary
60   directory for tests now includes a component named "scons" which can
61   be given to antivirus software to exclude.
63 PACKAGING
64 ---------
66 - List changes in the way SCons is packaged and/or released
69 DOCUMENTATION
70 -------------
72 - Updated Value Node docs.
73 - Update manpage for Tools, and for the TOOL variable.
74 - Update manpage and user guide for Variables usage.
78 DEVELOPMENT
79 -----------
81 - Documentation build now properly passes through skipping the PDF
82   (and EPUB) builds of manpage and user guide; this can also be done
83   manually if directly calling doc/man/SConstruct and doc/user/SConstruct
84   by adding SKIP_PDF=1. This should help with distro packaging of SCons,
85   which now does not need "fop" and other tools to be set up in order to
86   build pdf versions which are then ignored.
89 Thanks to the following contributors listed below for their contributions to this release.
90 ==========================================================================================
91 .. code-block:: text
93     git shortlog --no-merges -ns 4.0.1..HEAD