added release.txt blurb. Fixed spelling typo in Defaults.xml
[scons.git] / RELEASE.txt
blob2efc001214c6fc1fd1b52e3a0a9ee361670f9328
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:
16 NEW FUNCTIONALITY
17 -----------------
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.
39 FIXES
40 -----
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 IMPROVEMENTS
51 ------------
53 - List improvements that wouldn't be visible to the user in the
54 documentation:  performance improvements (describe the circumstances
55 under which they would be observed), or major code cleanups
57 PACKAGING
58 ---------
60 - List changes in the way SCons is packaged and/or released
62 DOCUMENTATION
63 -------------
65 - Improve wording of manpage "Functions and Environment Methods" section.
66 - Make doc function signature style more consistent - tweaks to AddOption,
67   DefaultEnvironment and Tool,.
70 DEVELOPMENT
71 -----------
73 - sctypes `is_*` functions given explicit return types. Python 3.13+ uses
74   `TypeIs` for a near-equivalent of `isinstance`. Python 3.10 through 3.12
75   uses `TypeGuard`, a less accurate implementation but still provides
76   usable type hinting. Python 3.9 and earlier simply returns `bool`, same
77   as before.
79 Thanks to the following contributors listed below for their contributions to this release.
80 ==========================================================================================
81 .. code-block:: text
83     git shortlog --no-merges -ns 4.0.1..HEAD