Merge branch 'master' into maint/Value
[scons.git] / RELEASE.txt
blob2d905e5e4c38041a4d2fec739a757259ca1b632b
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.6.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.6.0:
16 NEW FUNCTIONALITY
17 -----------------
19 - Method unlink_files was added to the TestCmd class that unlinks a list of files
20   from a specified directory.  An attempt to unlink a file is made only when the
21   file exists; otherwise, the file is ignored.
24 DEPRECATED FUNCTIONALITY
25 ------------------------
27 - List anything that's been deprecated since the last release
29 CHANGED/ENHANCED EXISTING FUNCTIONALITY
30 ---------------------------------------
32 - Add an optional argument list string to configure's CheckFunc method so
33   that the generated function argument list matches the function's
34   prototype when including a header file. Fixes GH Issue #4320
35 - Now supports pre-release Python 3.13
36 - Support for Python versions without support for the `threading` package has been removed
37 - Dropped three unused warning classes: DeprecatedSourceCodeWarning,
38   TaskmasterNeedsExecuteWarning, DeprecatedMissingSConscriptWarning.
39 * Two warning classes that are actually used were added to manpage section on
40   enabling warnings (cache-cleanup-error, future-reserved-variable).
42 FIXES
43 -----
45 - Fix of the --debug=sconscript option to return exist statements when using return
46   statement with stop flag enabled
47 - MSVS: prevent overwriting the SCons environment variable SCONS_HOME with the OS
48   environment value of SCONS_HOME in the msvs tool.
49 - MSVC: Fix the detection of Visual Studio 2015 Express ('14.0Exp') by adding a
50   registry key definition and updating the installation root-relative registry value
51   at runtime for the location of the VC folder.
52 - MSVS: Fix the msvs project generation test for MSVS 6.0 to use the correct name of
53   the generated project file.
54 - MSVS: Fix the msvs project generation test scripts so that "false positive" tests
55   results are not possible when the initial build is successful and the command-line
56   build of the project file fails.
57 - On Windows platform, when collecting command output (Configure checks),
58   make sure decoding of bytes doesn't fail.
59 - Documentation indicated that both Pseudo() and env.Pseudo() were usable,
60   but Pseudo() did not work; is now enabled.
61 - Improve handling of file data that SCons itself processes - as in
62   scanners - try harder to decode non-UTF-8 text.
63 - PyPackageDir no longer fails if passed a module name which cannot be found,
64   now returns None.
67 IMPROVEMENTS
68 ------------
70 - Use of NotImplemented instead of NotImplementedError for special methods
71   of _ListVariable class
72 - The NewParallel scheduler is now the default, the `tm_v2` flag is removed,
73   and the old scheduler is opt-in under `--experimental=legacy_sched`. Additionally,
74   the new scheduler is now used for -j1 builds as well.
75   NOTE: This should significantly improve SCons performance for larger parallel builds
76         (Larger -j values)
77 - CacheDir writes no longer happen within the taskmaster critical section, and therefore
78   can run in parallel with both other CacheDir writes and the taskmaster DAG walk.
79 - The NewParallel scheduler now only adds threads as new work requiring execution
80   is discovered, up to the limit set by -j. This should reduce resource utilization
81   when the achievable parallelism in the DAG is less than the -j limit.
84 PACKAGING
85 ---------
87 - Remove unecessary dependencies on pypi packages from setup.cfg
90 DOCUMENTATION
91 -------------
93 - Fixed the Scanner examples in the User Guide to be runnable and added
94   some more explanation. Clarified discussion of the scanner function in
95   the Scanner Objects section of the manpage.
96 - The manpage entry for Pseudo was clarified.
97 - The manpage entry for SharedLibrary was clarified.
98 - Update API docs for Warnings framework; add two warns to manpage
99   enable/disable control.
100 - More consistent use of &Python; in the manpage.  A few links added.
101   A warning about overwriting env['ENV'] and one about Configure
102   checks possibly not running in in no-exec mode also added.
103 - Clarify how SCons finds the project top directory, and what that is used for.
104 - Updated Value Node docs.
107 DEVELOPMENT
108 -----------
110 - Fix sphinx config to handle SCons versions with post such as: 4.6.0.post1
111 - Created SCons.Util.sctyping to contain complex type information, allowing
112   for repo-wide type hinting without causing cyclical dependencies.
114 Thanks to the following contributors listed below for their contributions to this release.
115 ==========================================================================================
116 .. code-block:: text
118     git shortlog --no-merges -ns 4.6.0..HEAD