Skip to content

Commit fd2015c

Browse files
committed
post release
1 parent 9e0ea45 commit fd2015c

File tree

6 files changed

+51
-212
lines changed

6 files changed

+51
-212
lines changed

CHANGES.txt

+14
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,20 @@ NOTE: Since SCons 4.3.0, Python 3.6.0 or above is required.
1010
NOTE: Since SCons 4.9.0, Python 3.7.0 or above is required.
1111

1212

13+
RELEASE VERSION/DATE TO BE FILLED IN LATER
14+
15+
From John Doe:
16+
17+
- Whatever John Doe did.
18+
19+
20+
RELEASE VERSION/DATE TO BE FILLED IN LATER
21+
22+
From John Doe:
23+
24+
- Whatever John Doe did.
25+
26+
1327
RELEASE 4.9.0 - Sun, 02 Mar 2025 17:22:20 -0700
1428

1529
From Ruben Di Battista:

RELEASE.txt

+32-207
Original file line numberDiff line numberDiff line change
@@ -1,240 +1,65 @@
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:
1104

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
1156

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+
==================================================================
1198

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:
12710

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
13012

131-
- Fix nasm test for missing include file, cleanup.
13213

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:
13515

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+
-----------------
13918

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)
14320

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+
------------------------
15123

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
15425

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+
---------------------------------------
15828

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
16331

164-
- Fix Issue #2281, AddPreAction() & AddPostAction() were being ignored if no action
165-
was specified when the Alias was initially created.
32+
FIXES
33+
-----
16634

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
16936

17037
IMPROVEMENTS
17138
------------
17239

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
17743

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+
---------
18446

47+
- List changes in the way SCons is packaged and/or released
18548

18649
DOCUMENTATION
18750
-------------
18851

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)
20455

20556
DEVELOPMENT
20657
-----------
20758

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
22260

22361
Thanks to the following contributors listed below for their contributions to this release.
22462
==========================================================================================
22563
.. code-block:: text
22664

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

ReleaseConfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
# If the release type is not 'final', the patchlevel is set to the
3232
# release date. This value is mandatory and must be present in this file.
3333
#version_tuple = (2, 2, 0, 'final', 0)
34-
version_tuple = (4, 9,0)
34+
version_tuple = (4, 9, 2, 'a', 0)
3535

3636
# Python versions prior to unsupported_python_version cause a fatal error
3737
# when that version is used. Python versions prior to deprecate_python_version

SConstruct

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ copyright_years = strftime('2001 - %Y')
3636
# This gets inserted into the man pages to reflect the month of release.
3737
month_year = strftime('%B %Y')
3838
project = 'scons'
39-
default_version = '4.9.0'
39+
default_version = '4.9.1'
4040
copyright = f"Copyright (c) {copyright_years} The SCons Foundation"
4141

4242
# We let the presence or absence of various utilities determine whether

doc/user/main.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ This file is processed by the bin/SConsDoc.py module.
3636

3737
<corpauthor>The SCons Development Team</corpauthor>
3838

39-
<pubdate>Released: Mon, 03 Sep 2024 18:13:57 -0700</pubdate>
39+
<pubdate>Released: Mon, 02 Mar 2025 14:20:11 -0700</pubdate>
4040

4141
<copyright>
42-
<year>2004 - 2024</year>
42+
<year>2004 - 2025</year>
4343
<holder>The SCons Foundation</holder>
4444
</copyright>
4545

testing/framework/TestSCons.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
# here provides some independent verification that what we packaged
5555
# conforms to what we expect.
5656

57-
default_version = '4.8.2ayyyymmdd'
57+
default_version = '4.9.1'
5858

5959
# TODO: these need to be hand-edited when there are changes
6060
python_version_unsupported = (3, 7, 0)

0 commit comments

Comments
 (0)