|
1 |
| -A new SCons release, 4.9.0, is now available on the SCons download page: |
2 |
| - |
3 |
| - https://scons.org/pages/download.html |
4 |
| - |
5 |
| -Here is a summary of the changes since 4.8.1: |
6 |
| - |
7 |
| -NOTE: Since SCons 4.9.0, Python 3.7.0 or above is required. |
8 |
| - |
9 |
| - |
10 |
| -CHANGED/ENHANCED EXISTING FUNCTIONALITY |
11 |
| ---------------------------------------- |
12 |
| -- Expose the `extra_libs` keyword argument in `CheckLibWithHeader` and 'CheckLib' |
13 |
| - |
14 |
| -- Removed Python 3.6 support. |
15 |
| - |
16 |
| -- Override environments, created when giving construction environment |
17 |
| - keyword arguments to Builder calls (or manually, through the |
18 |
| - undocumented Override method), were modified not to "leak" on item deletion. |
19 |
| - The item will now not be deleted from the base environment. |
20 |
| - |
21 |
| -- Added support for tracking beamer themes in the LaTeX scanner. |
22 |
| - |
23 |
| -- MSVS: msvs project files are always generated before the corresponding |
24 |
| - msvs solution files. This changes the behavior of clean for a project |
25 |
| - generated with auto_build_solution disabled and explicit solution |
26 |
| - generation: when the solution files are cleaned, the project files are |
27 |
| - also cleaned. The tests for vs 6.0-7.1 were updated accordingly. |
28 |
| - |
29 |
| -- MSVS: Add an optional keyword argument, auto_filter_projects, to |
30 |
| - MSVSSolution. Accepted values for auto_filter_projects are: |
31 |
| - |
32 |
| - - None [default]: raise an exception when solution file names or nodes |
33 |
| - are detected in the projects argument list. |
34 |
| - - True or evaluates True: automatically remove solution file names and |
35 |
| - nodes from the project argument list. |
36 |
| - - False or evaluates False: leave solution file names and nodes in the |
37 |
| - project argument list. An exception is not raised. |
38 |
| - |
39 |
| - Solution file names and/or nodes in the project argument list cause |
40 |
| - erroneous Project records to be produced in the generated solution file. |
41 |
| - As a convenience, a user may elect to ignore solution file names and nodes |
42 |
| - in the projects argument list rather than manually removing solution file |
43 |
| - names and nodes from the MSVSProject return values. |
44 |
| - |
45 |
| -- SCons C preprocessor: |
46 |
| - |
47 |
| - - Update the optional integer suffixes to include the z|Z and wb|WB |
48 |
| - suffixes. |
49 |
| - - Add support for binary integer constants. |
50 |
| - - Add support for octal integer constants. Previously, octal integers |
51 |
| - were evaluated as decimal integers. A literal zero (0) is treated as an |
52 |
| - octal number. |
53 |
| - - Change the method for attempted conversion of a define expansion value |
54 |
| - to an integer from a literal to a constant expression evaluation. |
55 |
| - |
56 |
| -- Add a tag to each CacheDir to let systems ignore backing it up |
57 |
| - (per https://bford.info/cachedir/). Update the way a CacheDir |
58 |
| - is created, since it now has to create two files. |
59 |
| - |
60 |
| -- The Dictionary method now has an as_dict flag. If true, Dictionary |
61 |
| - always returns a dict. The default remains to return different |
62 |
| - types depending on whether zero, one, or multiple construction |
63 |
| - |
64 |
| -- A Variables object now makes available a "defaulted" attribute, |
65 |
| - a list of variable names that were set in the environment with |
66 |
| - their values taken from the default in the variable description |
67 |
| - (if a variable was set to the same value as the default in one |
68 |
| - of the input sources, it is not included in this list). |
69 |
| - |
70 |
| -- If a build Variable is created with no aliases, the name of the |
71 |
| - Variable is no longer listed in its aliases. Internally, the name |
72 |
| - and aliases are considered together anyway so this should not have |
73 |
| - any effect except for being visible to custom help text formatters. |
74 |
| - |
75 |
| -FIXES |
76 |
| ------ |
77 |
| - |
78 |
| -- PackageVariable now does what the documentation always said it does |
79 |
| - if the variable is used on the command line with one of the enabling |
80 |
| - string as the value: the variable's default value is produced (previously |
81 |
| - it always produced True in this case). |
82 |
| - |
83 |
| -- Temporary files created by TempFileMunge() are now cleaned up on |
84 |
| - scons exit, instead of at the time they're used. Fixes #4595. |
85 |
| - |
86 |
| -- AddOption now correctly adds short (single-character) options. |
87 |
| - Previously an added short option would always report as unknown, |
88 |
| - while long option names for the same option worked. Short options |
89 |
| - that take a value require the user to specify the value immediately |
90 |
| - following the option, with no spaces (e.g. -j5 and not -j 5). |
91 |
| - |
92 |
| -- Fix a problem with compilation_db component initialization - the |
93 |
| - entries for assembler files were not being set up correctly. |
94 |
| - |
95 |
| -- On Darwin, PermissionErrors are now handled while trying to access |
96 |
| - /etc/paths.d. This may occur if SCons is invoked in a sandboxed environment |
97 |
| - (such as Nix). |
98 |
| - |
99 |
| -- Added error handling when creating MSVC detection debug log file specified |
100 |
| - by SCONS_MSCOMMON_DEBUG. |
101 |
| - |
102 |
| -- MSVS: Modify select msvs test scripts to run on platforms not supported by |
103 |
| - the msvs/msvc tool implementation via a default host architecture for |
104 |
| - unsupported platforms. |
105 |
| - |
106 |
| -- MSVS: Fixed early loop exit in select msvs test scripts. Select msvs test |
107 |
| - scripts were being invoked for msvc version 8.0 only. Additional msvs |
108 |
| - tool and test changes due to the msvs test scripts being run for all msvc |
109 |
| - versions (i.e., minor test and tool issues went undetected). |
| 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: |
110 | 4 |
|
111 |
| -- MSVS: for variant build configurations, msvs solution files are |
112 |
| - generated in the source directory and a placeholder file is generated in |
113 |
| - the variant build directory. This mirrors the behavior of generated |
114 |
| - msvs project files. |
| 5 | + https://scons.org/tag/releases.html |
115 | 6 |
|
116 |
| -- MSVS: msvs project files are generated before the corresponding msvs |
117 |
| - solution file. User-specified project GUIDs should now be correctly |
118 |
| - written to the solution file. |
| 7 | +================================================================== |
119 | 8 |
|
120 |
| -- SCons C preprocessor: Preserve literals that contain valid integer |
121 |
| - substring specifications. Previously, the integer suffix could be |
122 |
| - stripped from a symbol that contained an integer and suffix substring. |
123 |
| - |
124 |
| -- SCons C preprocessor: Update the optional integer suffixes to include |
125 |
| - support for the alternate orderings of unsigned with long or long long as |
126 |
| - defined in the c/cpp grammar. |
| 9 | +A new SCons release, 4.9.0, is now available on the SCons download page: |
127 | 10 |
|
128 |
| -- SCons C preprocessor: Update the optional integer suffixes for case |
129 |
| - insensitive specifications as defined in the c/cpp grammar. |
| 11 | + https://scons.org/pages/download.html |
130 | 12 |
|
131 |
| -- Fix nasm test for missing include file, cleanup. |
132 | 13 |
|
133 |
| -- Skip running a few validation tests if the user is root and the test is |
134 |
| - not designed to work for the root user. |
| 14 | +Here is a summary of the changes since 4.4.0: |
135 | 15 |
|
136 |
| -- Make sure unknown variables from a Variables file are recognized |
137 |
| - as such. Previously only unknowns from the command line were |
138 |
| - recognized (issue #4645). |
| 16 | +NEW FUNCTIONALITY |
| 17 | +----------------- |
139 | 18 |
|
140 |
| -- Update ninja tool to use ninja.BIN_DIR to find pypi packaged ninja binary. |
141 |
| - python ninja package version 1.11.1.2 changed the location and previous |
142 |
| - logic no longer worked. |
| 19 | +- List new features (presumably why a checkpoint is being released) |
143 | 20 |
|
144 |
| -- The (optional) C Conditional Scanner now does limited macro |
145 |
| - replacement on the contents of CPPDEFINES, to improve finding deps |
146 |
| - that are conditionally included. Previously replacement was only |
147 |
| - done on macro definitions found in the file being scanned. |
148 |
| - Only object-like macros are replaced (not function-like), and |
149 |
| - only on a whole-word basis; recursion is limited to five levels |
150 |
| - and does not error out if that limit is reached (issue #4523). |
| 21 | +DEPRECATED FUNCTIONALITY |
| 22 | +------------------------ |
151 | 23 |
|
152 |
| -- Minor modernization: make use of stat object's st_mode, st_mtime |
153 |
| - and other attributes rather than indexing into stat return. |
| 24 | +- List anything that's been deprecated since the last release |
154 | 25 |
|
155 |
| -- Ninja's TEMPLATE rule pool changed from `local_pool` to `install_pool` |
156 |
| - hoping it will fix a race condition that can occurs when Ninja defers |
157 |
| - to SCons to build. |
| 26 | +CHANGED/ENHANCED EXISTING FUNCTIONALITY |
| 27 | +--------------------------------------- |
158 | 28 |
|
159 |
| -- Renamed env.Help() & Help()'s argument `keep_local` to `local_only`, previously the documentation |
160 |
| - specified `local_only`, but the code and tests were using `keep_local`. The functionality |
161 |
| - more closely matches local only. NOTE: It doesn't seem like any code in the wild was using |
162 |
| - local_only as we'd not received any reports of such until PR #4606 from hedger. |
| 29 | +- List modifications to existing features, where the previous behavior |
| 30 | + wouldn't actually be considered a bug |
163 | 31 |
|
164 |
| -- Fix Issue #2281, AddPreAction() & AddPostAction() were being ignored if no action |
165 |
| - was specified when the Alias was initially created. |
| 32 | +FIXES |
| 33 | +----- |
166 | 34 |
|
167 |
| -- Handle case of "memoizer" as one member of a comma-separated |
168 |
| - --debug string - this was previously missed. |
| 35 | +- List fixes of outright bugs |
169 | 36 |
|
170 | 37 | IMPROVEMENTS
|
171 | 38 | ------------
|
172 | 39 |
|
173 |
| -- For consistency with the optparse "add_option" method, AddOption accepts |
174 |
| - an SConsOption object as a single argument (this failed previously). |
175 |
| - Calling AddOption with the full set of arguments (option names and |
176 |
| - attributes) to set up the option is still the recommended approach. |
| 40 | +- List improvements that wouldn't be visible to the user in the |
| 41 | + documentation: performance improvements (describe the circumstances |
| 42 | + under which they would be observed), or major code cleanups |
177 | 43 |
|
178 |
| -- Add clang and clang++ to the default tool search orders for POSIX |
179 |
| - and Windows platforms. These will be searched for after gcc and g++, |
180 |
| - respectively. Does not affect explicitly requested tool lists. Note: |
181 |
| - on Windows, SCons currently only has builtin support for clang, not |
182 |
| - for clang-cl, the version of the frontend that uses cl.exe-compatible |
183 |
| - command line switches. |
| 44 | +PACKAGING |
| 45 | +--------- |
184 | 46 |
|
| 47 | +- List changes in the way SCons is packaged and/or released |
185 | 48 |
|
186 | 49 | DOCUMENTATION
|
187 | 50 | -------------
|
188 | 51 |
|
189 |
| -- Some manpage cleanup for the gettext and pdf/ps builders. |
190 |
| - |
191 |
| -- Some clarifications in the User Guide "Environments" chapter. |
192 |
| - |
193 |
| -- Clarify documentation of Repository() in manpage and user guide. |
194 |
| - |
195 |
| -- Many grammatical and spelling fixes in the documentation. |
196 |
| - |
197 |
| -- Update Clean and NoClean documentation. |
198 |
| - |
199 |
| -- Improved Variables documentation. |
200 |
| - |
201 |
| -- Update the User Guide Command() example which now shows a target name |
202 |
| - being created from '${SOURCE.base}.out' to use a valid special |
203 |
| - attribute and to explain what's being done in the example. |
| 52 | +- List any significant changes to the documentation (not individual |
| 53 | + typo fixes, even if they're mentioned in src/CHANGES.txt to give |
| 54 | + the contributor credit) |
204 | 55 |
|
205 | 56 | DEVELOPMENT
|
206 | 57 | -----------
|
207 | 58 |
|
208 |
| -- Ruff/Mypy: Excluded items now synced. |
209 |
| - |
210 |
| -- Ruff: Linter includes new rules - `FA`, `UP006`, `UP007`, and `UP037` - to |
211 |
| - detect and upgrade legacy type-hint syntax. |
212 |
| - |
213 |
| -- Removed "SCons.Util.sctyping.py", as the functionality can now be substituted |
214 |
| - via top-level `from __future__ import annotations`. |
215 |
| - |
216 |
| -- Implemented type hints for Nodes. |
217 |
| - |
218 |
| -- Added TestSCons.NINJA_BINARY to TestSCons to centralize logic to find ninja binary |
219 |
| - |
220 |
| -- Refactored SCons.Tool.ninja -> SCons.Tool.ninja_tool, and added alias so env.Tool('ninja') |
221 |
| - will still work. This avoids conflicting with the pypi module ninja. |
| 59 | +- List visible changes in the way SCons is developed |
222 | 60 |
|
223 | 61 | Thanks to the following contributors listed below for their contributions to this release.
|
224 | 62 | ==========================================================================================
|
225 | 63 | .. code-block:: text
|
226 | 64 |
|
227 |
| - git shortlog --no-merges -ns 4.8.1..HEAD |
228 |
| - 50 Mats Wichmann |
229 |
| - 46 William Deegan |
230 |
| - 19 Joseph Brill |
231 |
| - 10 Alex Thiessen |
232 |
| - 4 Thaddeus Crews |
233 |
| - 3 Ruben Di Battista |
234 |
| - 2 Adam Scott |
235 |
| - 2 Keith F. Prussing |
236 |
| - 2 Prabhu Singh Khalsa |
237 |
| - 1 Adam Simpkins |
238 |
| - 1 Alex James |
239 |
| - 1 Yevhen Babiichuk (DustDFG) |
240 |
| - |
| 65 | + git shortlog --no-merges -ns 4.0.1..HEAD |
0 commit comments