Skip to content

Commit 3b10709

Browse files
committed
Return master to development mode post release
1 parent d8c76e2 commit 3b10709

File tree

7 files changed

+38
-155
lines changed

7 files changed

+38
-155
lines changed

CHANGES.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,16 @@
77
NOTE: The 4.0.0 release of SCons dropped Python 2.7 support. Use 3.1.2 if
88
Python 2.7 support is required (but note old SCons releases are unsupported).
99
NOTE: Since SCons 4.3.0, Python 3.6.0 or above is required.
10-
NOTE: Python 3.6 support is deprecated and will be dropped in a future reease.
10+
NOTE: Python 3.6 support is deprecated and will be dropped in a future release.
1111
python.org no longer supports 3.6 or 3.7, and will drop 3.8 in Oct. 2024.
1212

13+
RELEASE VERSION/DATE TO BE FILLED IN LATER
14+
15+
From John Doe:
16+
17+
- Whatever John Doe did.
18+
19+
1320
RELEASE 4.8.0 - Sun, 07 Jul 2024 17:22:20 -0700
1421

1522
From Joseph Brill:

RELEASE.txt

Lines changed: 24 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -1,189 +1,65 @@
1-
A new SCons release, 4.8.0, is now available on the SCons download page:
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:
4+
5+
https://scons.org/tag/releases.html
6+
7+
==================================================================
8+
9+
A new SCons release, 4.8.1, is now available on the SCons download page:
210

311
https://scons.org/pages/download.html
412

513

6-
Here is a summary of the changes since 4.7.0:
14+
Here is a summary of the changes since 4.8.0:
715

816
NEW FUNCTIONALITY
917
-----------------
1018

11-
- GetSConsVersion() added to retrieve the SCons version.
19+
- List new features (presumably why a checkpoint is being released)
1220

1321
DEPRECATED FUNCTIONALITY
1422
------------------------
1523

16-
- Mark Python 3.6 support as deprecated. Use --warn=no-python-version
17-
to quiet the warning.
24+
- List anything that's been deprecated since the last release
1825

1926
CHANGED/ENHANCED EXISTING FUNCTIONALITY
2027
---------------------------------------
2128

22-
- Dump() with json format selected now recognizes additional compound types
23-
(UserDict and UserList), which improves the detail of the display.
24-
json output is also sorted, to match the default display.
25-
- Python 3.13 changes the behavior of isabs() on Windows. Adjust SCons
26-
usage of this in NodeInfo classes to avoid test problems.
27-
- Drop duplicated __getstate__ and __setstate__ methods in AliasNodeInfo,
28-
FileNodeInfo and ValueNodeInfo classes, as they are identical to the
29-
ones in parent NodeInfoBase and can just be inherited.
30-
- All exceptions during the execution of an Action are now returned by value
31-
rather than by raising an exception, for more consistent behavior.
32-
NOTE: With this change, user created Actions should now catch and handle
33-
expected exceptions (whereas previously many of these were silently caught
34-
and suppressed by the SCons Action exection code).
35-
- ParseFlags now sorts a --stdlib=libname argument into CXXFLAGS instead
36-
of CCFLAGS; the latter variable could cause a compiler warning.
37-
- The implementation of Variables was slightly refactored, there should
38-
not be user-visible changes.
39-
- MSVC: For msvc version specifications without an 'Exp' suffix, an express
40-
installation is used when no other edition is detected for the msvc version.
41-
This was the behavior for Visual Studio 2008 (9.0) through Visual Studio 2015
42-
(14.0). This behavior was extended to Visual Studio 2017 (14.1) and Visual
43-
Studio 2008 (8.0). An express installation of the IDE binary is used when no
44-
other IDE edition is detected.
45-
- The vswhere executable locations for the WinGet and Scoop package managers were
46-
added to the default vswhere executable search list after the Chocolatey
47-
installation location.
48-
- SCons.Environment.is_valid_construction_var() now returns a boolean to
49-
match the convention that functions beginning with "is" have yes/no
50-
answers (previously returned either None or an re.match object).
51-
Now matches the annotation and docstring (which were prematurely
52-
updated in 4.6). All SCons usage except unit test was already fully
53-
consistent with a bool.
54-
- The Variables object Add method now accepts a subst keyword argument
55-
(defaults to True) which can be set to inhibit substitution prior to
56-
calling the variable's converter and validator.
57-
- AddOption and the internal add_local_option which AddOption calls now
58-
recognize a "settable" keyword argument to indicate a project-added
59-
option can also be modified using SetOption.
60-
NOTE: If you were using ninja and using SetOption() for ninja options
61-
in your SConscripts prior to loading the ninja tool, you will now
62-
see an error. The fix is to move the SetOption() to after you've loaded
63-
the ninja tool.
64-
- ListVariable now has a separate validator, with the functionality
65-
that was previously part of the converter. The main effect is to
66-
allow a developer to supply a custom validator, which previously
67-
could be inhibited by the converter failing before the validator
68-
is reached.
69-
- When debugging (--debug=pdb), the filename SCsub is now recognized when
70-
manipulating breakpoints.
29+
- List modifications to existing features, where the previous behavior
30+
wouldn't actually be considered a bug
7131

7232
FIXES
7333
-----
7434

75-
- OSErrors are now no longer hidden during the execution of Actions.
76-
- Improved the conversion of a "foreign" exception from an action
77-
into BuildError by making sure our defaults get applied even in
78-
corner cases. Fixes Issue #4530
79-
- MSVC: Visual Studio 2010 (10.0) could be inadvertently detected due to an
80-
sdk-only install of Windows SDK 7.1. An sdk-only install of Visual Studio
81-
2010 is ignored as the msvc batch files will fail. The installed files are
82-
intended to be used in conjunction with the SDK batch file. Similar protection
83-
was added for Visual Studio 2008 (9.0).
84-
- MSVC: For Visual Studio 2005 (8.0) to Visual Studio 2015 (14.0), detection of
85-
installed files was expanded to include the primary msvc batch file, dependent
86-
msvc batch file, and compiler executable. In certain installations, the
87-
dependent msvc batch file may not exist while the compiler executable does exist
88-
resulting in a build failure.
89-
- MSVC: Visual Studio 2008 (9.0) Visual C++ For Python was not detected when
90-
installed using the ALLUSERS command-line option:
91-
msiexec /i VCForPython27.msi ALLUSERS=1
92-
When installed for all users, Visual Studio 2008 (9.0) Visual C++ For Python is
93-
now correctly detected.
94-
- MSVC: For Visual Studio 2008 (9.0), a full development edition (e.g., Professional)
95-
is now selected before a Visual C++ For Python edition. Prior to this change,
96-
Visual C++ For Python was selected before a full development edition when both
97-
editions are installed.
98-
- The vswhere executable is frozen upon initial detection. Specifying a different
99-
vswhere executable via the construction variable VSWHERE after the initial
100-
detection now results in an exception. Multiple bugs in the implementation of
101-
specifying a vswhere executable via the construction variable VSWHERE have been
102-
fixed. Previously, when a user specified vswhere executable detects new msvc
103-
installations after the initial detection, the internal msvc installation cache
104-
and the default msvc version based on the initial detection are no longer valid.
105-
For example, when no vswhere executable is found for the initial detection
106-
and then later an environment is constructed with a user specified vswhere
107-
executable that detects new msvc installations.
108-
- MSVC: Visual Studio 2022 v143 BuildTools now supports msvc toolset versions from
109-
14.30 to 14.4X. Fixes Issue #4543.
110-
- The Clone() method now respects the variables argument (fixes #3590)
35+
- List fixes of outright bugs
11136

11237
IMPROVEMENTS
11338
------------
11439

115-
- Make the testing framework a little more resilient: the temporary
116-
directory for tests now includes a component named "scons" which can
117-
be given to antivirus software to exclude.
118-
- Performance tweak: the __setitem__ method of an Environment, used for
119-
setting construction variables, now uses the string method isidentifier
120-
to validate the name (updated from microbenchmark results).
121-
- MSVC: Visual Studio 2015 Express (14.0Exp) does not support the sdk version
122-
argument. Visual Studio 2015 Express does not support the store argument for
123-
target architectures other than x86. Script argument validation now takes into
124-
account these restrictions.
125-
- MSVC: Visual Studio 2015 BuildTools (14.0) does not support the sdk version
126-
argument and does not support the store argument. Script argument validation now
127-
takes into account these restrictions.
128-
- MSVC: The registry detection of VS2015 (14.0), and earlier, is now cached at runtime
129-
and is only evaluated once for each msvc version.
130-
- MSVC: The vswhere detection of VS2017 (14.1), and later, is now cached at runtime and
131-
is only evaluated once using a single vswhere invocation for all msvc versions.
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
13243

13344
PACKAGING
13445
---------
13546

136-
- setup.cfg logic now handled via pyproject.toml; consequently, setup.cfg
137-
was removed.
138-
47+
- List changes in the way SCons is packaged and/or released
13948

14049
DOCUMENTATION
14150
-------------
14251

143-
- Updated Value Node docs.
144-
- Update manpage for Tools, and for the TOOL variable.
145-
- Update manpage and user guide for Variables usage.
146-
- Restructured API Docs build so main package contents are listed
147-
before contents of package submodules.
148-
- Updated manpage description of Command "builder" and function.
149-
- Updated the notes about reproducible builds with SCons and the example.
150-
- Regularized header (copyright, licens) at top of documentation files using SPDX.
151-
- Updated introductory section of manual page.
152-
153-
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)
15455

15556
DEVELOPMENT
15657
-----------
15758

158-
- Documentation build now properly passes through skipping the PDF
159-
(and EPUB) builds of manpage and user guide; this can also be done
160-
manually if directly calling doc/man/SConstruct and doc/user/SConstruct
161-
by adding SKIP_PDF=1. This should help with distro packaging of SCons,
162-
which now does not need "fop" and other tools to be set up in order to
163-
build pdf versions which are then ignored.
164-
- .gitattributes has been setup to mirror .editorconfig's eol settings.
165-
The repo-wide line-ending is now `lf`, with the exception of a few
166-
Windows-only files using `crlf` instead. Any files not already fitting
167-
this format have been explicitly converted.
168-
- Repository linter/formatter changed from flake8/black to ruff, as the
169-
latter grants an insane speed boost without compromising functionality.
170-
Existing settings were migrated 1-to-1 where possible.
171-
- The test runner now recognizes the unittest module's return code of 5,
172-
which means no tests were run. SCons/Script/MainTests.py currently
173-
has no tests, so this particular error code is expected - should not
174-
cause runtest to give up with an "unknown error code".
175-
- is_valid_construction_var() (not part of the public API) moved from
176-
SCons.Environment to SCons.Util to avoid the chance of import loops. Variables
177-
and Environment both use the routine and Environment() uses a Variables()
178-
object so better to move to a safer location.
59+
- List visible changes in the way SCons is developed
17960

18061
Thanks to the following contributors listed below for their contributions to this release.
18162
==========================================================================================
18263
.. code-block:: text
18364

184-
git shortlog --no-merges -ns 4.7.0..HEAD
185-
70 Mats Wichmann
186-
35 Joseph Brill
187-
26 William Deegan
188-
7 Raymond Li
189-
7 Thaddeus Crews
65+
git shortlog --no-merges -ns 4.0.1..HEAD

ReleaseConfig

Lines changed: 1 addition & 1 deletion
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, 8, 0)
34+
version_tuple = (4, 9, 0, '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

SCons/Script/Main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767

6868
# these define the range of versions SCons supports
6969
minimum_python_version = (3, 6, 0)
70-
deprecated_python_version = (3, 7, 0) # the first non-deprecated version
70+
deprecated_python_version = (3, 7, 0)
7171

7272
# ordered list of SConstruct names to look for if there is no -f flag
7373
KNOWN_SCONSTRUCT_NAMES = [

SConstruct

Lines changed: 1 addition & 1 deletion
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.8.0'
39+
default_version = '4.8.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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ This file is processed by the bin/SConsDoc.py module.
3636

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

39-
<pubdate>Released: Mon, 17 Mar 2024 17:52:49 -0700</pubdate>
39+
<pubdate>Released: Mon, 07 Jul 2024 17:17:52 -0700</pubdate>
4040

4141
<copyright>
4242
<year>2004 - 2024</year>

testing/framework/TestSCons.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@
5555
# here provides some independent verification that what we packaged
5656
# conforms to what we expect.
5757

58-
default_version = '4.7.1ayyyymmdd'
58+
default_version = '4.9.0ayyyymmdd'
5959

6060
# TODO: these need to be hand-edited when there are changes
6161
python_version_unsupported = (3, 6, 0)
62-
python_version_deprecated = (3, 7, 0) # lowest non-deprecated Python
62+
python_version_deprecated = (3, 7, 0)
6363
python_version_supported_str = "3.7.0" # str of lowest non-deprecated Python
6464

6565
SConsVersion = default_version

0 commit comments

Comments
 (0)