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.8.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.8.0:
19 - List new features (presumably why a checkpoint is being released)
21 DEPRECATED FUNCTIONALITY
22 ------------------------
24 - List anything that's been deprecated since the last release
26 CHANGED/ENHANCED EXISTING FUNCTIONALITY
27 ---------------------------------------
29 - env.Dump() previously accepted a single optional "key" argument.
30 It now accepts any number of optional "key" arguments; any supplied
31 keys will be serialized with their values in a Python dict style.
32 As a result there is a small change in behavior: if a *single* key
33 argument is given, where it previously would return a string containing
34 just the value, now it will return a string that looks like a dictionary
35 including the key. For example, from "'gcc'" to "{'CC': 'gcc'}".
36 This should not have any impact as the result of calling Dump is
37 intended for diagnostic output, not for use by other interfaces.
42 - SCons 4.8.0 added an `__all__` specifier at the top of the Variables
43 module (`Variables/__init__.py`) to control what is made available in
44 a star import. However, there was existing usage of doing
45 `from SCons.Variables import *` which expected the variable *types*
46 to be avaiable. `BoolVariable`, `EnumVariable`, `ListVariable`,
47 `PackageVariable` and `PathVariable` are added to `__all__`,
48 so this form of import should now work again.
50 - On win32 platform, SCons 4.7.0 modified the determination
51 of the output encoding of piped processes. Instead of using the default
52 encoding, it relied on the encoding attribute of the output stream.
53 If the encoding attribute of the output stream was set to None,
54 it was triggering an invalid argument exeption. This was the case with
55 streams of type io.StringIO for example.
56 From now, if the encoding is set to None, UTF8 is used.
61 - List improvements that wouldn't be visible to the user in the
62 documentation: performance improvements (describe the circumstances
63 under which they would be observed), or major code cleanups
68 - List changes in the way SCons is packaged and/or released
73 - Improve wording of manpage "Functions and Environment Methods" section.
74 - Make doc function signature style more consistent - tweaks to AddOption,
75 DefaultEnvironment and Tool,.
81 - sctypes `is_*` functions given explicit return types. Python 3.13+ uses
82 `TypeIs` for a near-equivalent of `isinstance`. Python 3.10 through 3.12
83 uses `TypeGuard`, a less accurate implementation but still provides
84 usable type hinting. Python 3.9 and earlier simply returns `bool`, same
87 Thanks to the following contributors listed below for their contributions to this release.
88 ==========================================================================================
91 git shortlog --no-merges -ns 4.0.1..HEAD