summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xCHANGES.txt7
-rwxr-xr-xREADME-SF.rst10
-rwxr-xr-xRELEASE.txt175
-rwxr-xr-xReleaseConfig2
-rw-r--r--SConstruct3
-rw-r--r--bin/update-release-info.py23
-rw-r--r--testing/framework/TestSCons.py6
7 files changed, 67 insertions, 159 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 629ec14..a3db40d 100755
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,13 @@
NOTE: The 4.0.0 Release of SCons will drops Python 2.7 Support
+RELEASE 4.1.0.devyyyymmdd - Mon, 04 Jul 2020 16:06:40 -0700
+
+ From John Doe:
+
+ - Whatever John Doe did.
+
+
RELEASE 4.0.0 - Sat, 04 Jul 2020 12:00:27 +0000
From Dirk Baechle:
diff --git a/README-SF.rst b/README-SF.rst
index cf0eef8..e33c3f1 100755
--- a/README-SF.rst
+++ b/README-SF.rst
@@ -392,11 +392,11 @@ Depending on the utilities installed on your system, any or all of the
following packages will be built::
SCons-4.0.0-py3-none-any.whl
- SCons-4.0.0.tar.gz
- SCons-4.0.0.zip
- scons-doc-4.0.0.tar.gz
- scons-local-4.0.0.tar.gz
- scons-local-4.0.0.zip
+ SCons-4.1.0.devyyyymmdd.tar.gz
+ SCons-4.1.0.devyyyymmdd.zip
+ scons-doc-4.1.0.devyyyymmdd.tar.gz
+ scons-local-4.1.0.devyyyymmdd.tar.gz
+ scons-local-4.1.0.devyyyymmdd.zip
The SConstruct file is supposed to be smart enough to avoid trying to build
packages for which you don't have the proper utilities installed.
diff --git a/RELEASE.txt b/RELEASE.txt
index f736add..3ebb0d0 100755
--- a/RELEASE.txt
+++ b/RELEASE.txt
@@ -1,152 +1,73 @@
- A new SCons release, 4.0.0, is now available
+ A new SCons checkpoint release, 2.0.0.beta.yyyymmdd, is now available
on the SCons download page:
https://scons.org/pages/download.html
- Here is a summary of the changes since 3.1.2:
+ XXX The primary purpose of this release ... XXX
+
+ A SCons "checkpoint release" is intended to provide early access to
+ new features so they can be tested in the field before being released
+ for adoption by other software distributions.
+
+ Note that a checkpoint release is developed using the same test-driven
+ development methodology as all SCons releases. Existing SCons
+ functionality should all work as it does in previous releases (except
+ for any changes identified in the release notes) and early adopters
+ should be able to use a checkpoint release safely for production work
+ with existing SConscript files. If not, it represents not only a bug
+ in SCons but also a hole in the regression test suite, and we want to
+ hear about it.
+
+ New features may be more lightly tested than in past releases,
+ especially as concerns their interaction with all of the other
+ functionality in SCons. We are especially interested in hearing bug
+ reports about new functionality.
+
+ We do not recommend that downstream distributions (Debian, Fedora,
+ etc.) package a checkpoint release, mainly to avoid confusing the
+ "public" release numbering with the long checkpoint release names.
+
+ Here is a summary of the changes since 1.3.0:
NEW FUNCTIONALITY
- - Added support for scanning multiple entries in an action string if
- IMPLICIT_COMMAND_DEPENDENCIES is set to 2 or 'all'. This enables more thorough
- action scanning where every item in each command line is scanned to determine
- if it is a non-source and non-target path and added to the list of implicit dependencies
- for the target.
- - Added new module SCons.Scanner.Python to allow scanning .py files.
- - Added support for explicitly passing a name when creating Value() nodes. This may be useful
- when the value can't be converted to a string or if having a name is otherwise desirable.
- - Added a new flag called "linedraw" for the command line argument "--tree"
- that instructs scons to use single line drawing characters to draw the dependency tree.
- - Add CompilationDatabase() builder in compilation_db tool. Contributed by MongoDB.
- Setting COMPILATIONDB_USE_ABSPATH to True|False controls whether the files are absolute or relative
- paths. Address Issue #3693 and #3694 found during development.
- - Extended `Environment.Dump()` to select a format to serialize construction variables (pretty, json).
- - New conditional C Scanner (`SCons.Scanner.C.CConditionalScanner()`)
- which interprets C/C Preprocessor conditional syntax (#ifdef, #if, #else,
- #elif, #define, etc.)
- - Experimental New Feature: Enable caching MSVC configuration
- If SCONS_CACHE_MSVC_CONFIG shell environment variable is set,
- SCons will cache the results of past calls to vcvarsall.bat to
- a file; integrates with existing memoizing of such vars.
- - Preliminary Python 3.9 support.
+ - List new features (presumably why a checkpoint is being released)
DEPRECATED FUNCTIONALITY
- - Drop support for Python 2.7. SCons will be Python 3.5+ going forward.
- - Remove deprecated SourceCode()
+ - List anything that's been deprecated since the last release
CHANGED/ENHANCED EXISTING FUNCTIONALITY
- - Added check for SONAME in environment to setup symlinks correctly (Github Issue #3246)
- - Resolve Issue #3248 - Removing '-Wl,-Bsymbolic' from SHLIBVERSIONFLAGS
- NOTE: If your build depends on the above you must now add to your SHLIBVERSIONFLAGS
- - Microsoft Visual Studio - switch to using uuid module to generate GUIDs rather than hand rolled
- method using md5 directly.
- NOTE: This change affects the following builders' output. If your build depends on the output of these builders
- you will likely see a rebuild.
- * Package() (with PACKAGETYPE='msi')
- * MSVSSolution()
- * MSVSProject()
- - Improve Visual Studio solution/project generation code to add support
- for a per-variant cppflags. Intellisense can be affected by cppflags,
- this is especially important when it comes to /std:c++* which specifies
- what C++ standard version to target. SCons will append /Zc:__cplusplus
- to the project's cppflags when a /std:c++* flag is found as this is
- required for intellisense to use the C++ standard version from cppflags.
- - Allow user specified location for vswhere.exe specified by VSWHERE.
- NOTE: This must be set at the time the 'msvc' 'msvs' and/or 'mslink' tool(s) are initialized to have any effect.
- - Fixed Github Issue 3628 - Hardcoding pickle protocol to 4 (supports python 3.4+)
- and skipping Python 3.8's new pickle protocol 5 whose main advantage is for out-of-band data buffers.
- NOTE: If you used Python 3.8 with SCons 3.0.0 or above, you may get a a pickle protocol error. Remove your
- .sconsign.dblite. You will end up with a full rebuild.
- - MSVC updates: When there are multiple product installations (e.g, Community and
- Build Tools) of MSVC 2017 or MSVC 2019, an Enterprise, Professional,
- or Community installation will be selected before a Build Tools installation when
- "14.1" or "14.2" is requested, respectively. (GH Issue #3699).
- - MSVC updates: When there are multiple product installations of MSVC 2017 (e.g.,
- Community and Express), 2017 Express is no longer returned when "14.1" is
- requested. Only 2017 Express will be returned when "14.1Exp" is requested.
- (GH Issue #3699).
- - MSVC updates: pass on VSCMD_DEBUG and VSCMD_SKIP_SENDTELEMETRY to msvc
- tool setup if set in environment. Add Powershell to default env
- (used to call telemetry script).
- - Renamed as.py to asm.py and left redirecting tool. 'as' is a reserved word and so
- changing the name was required as we wanted to import symbols for use in compilation_db
- tool.
- - Add no_progress (-Q) option as a set-able option. However, setting it in the
- SConstruct/SConscript will still cause "scons: Reading SConscript files ..." to be
- printed, since the option is not set when the build scripts first get read.
- - Docbook builder provides a fallback if lxml fails to generate
- a document with tostring().
- - SubstitutionEnvironment and OverrideEnvironment now have keys()
- and values() methods to better emulate a dict (already had items()).
+ - List modifications to existing features, where the previous behavior
+ wouldn't actually be considered a bug
FIXES
- - Cleanup dangling symlinks before running builders (Issue #3516)
- - Fixed usage of abspath and path for RootDir objects on Windows. Previously
- env.fs.Dir("T:").abspath would return "T:\T:" and now it correctly returns "T:".
- - Fix Issue #3469 - Fixed improper reuse of temporary and compiled files by Configure when changing
- the order and/or number of tests. This is done by using the hash of the generated temporary files
- content and (For the target files) the hash of the action.
- So where previously files would be named:
- - config_1.c, config_1.o, config_1
- The will now be named (For example)
- - conftest_68b375d16e812c43e6d72d6e93401e7c_0.c,
- conftest_68b375d16e812c43e6d72d6e93401e7c_0_5713f09fc605f46b2ab2f7950455f187.o
- or
- conftest_68b375d16e812c43e6d72d6e93401e7c_0.o
- conftest_68b375d16e812c43e6d72d6e93401e7c_0_5713f09fc605f46b2ab2f7950455f187 (for executable)
- - Updated documentation toolchain to work properly under Python3, also
- removed libxslt support from the Docbook Tool. (issue #3580)
- - Fix broken clang + MSVC 2019 combination by using MSVC configuration logic to
- propagate 'VCINSTALLDIR' and 'VCToolsInstallDir' which clang tools use to locate
- header files and libraries from MSVC install. (Fixes GH Issue #3480)
- - Fix Github Issue #2904 - Provide useful error message when more than one Configure Contexts are opened.
- Only one open is allowed. You must call conf.Finish() to complete the currently open one before creating another
+ - List fixes of outright bugs
IMPROVEMENTS
- - Improve performance of Subst by preventing unnecessary frame
- allocations by no longer defining the *Subber classes inside of their
- respective function calls.
- - Improve performance of Subst in some cases by preventing
- unnecessary calls to eval when a token is surrounded in braces
- but is not a function call.
- - Improve performance of subst by removing unnecessary recursion.
+ - List improvements that wouldn't be visible to the user in the
+ documentation: performance improvements (describe the circumstances
+ under which they would be observed), or major code cleanups
PACKAGING
- - Resolve Issue #3451 and Issue #3450 - Rewrite SCons setup.py and packaging. Move script logic to entry points so
- package can create scripts which use the correct version of Python.
+ - List changes in the way SCons is packaged and/or released
DOCUMENTATION
- - Significant rework of documentation: API docs are now generated
- using Sphinx; manpage and user guide now use more "standard"
- markup elements (which could facilitate later conversion to a
- different doc format, should that choice be made); significant
- rewordings in manpage. Manpage Examples moved to an external
- repository / website (scons-cookbook.readthedocs.io).
-
- Thanks to the following contributors listed below for their contributions to this release.
-
-git shortlog --no-merges -ns 3.1.2..HEAD
- 290 William Deegan
- 184 Mats Wichmann
- 46 Adam Gross
- 22 Daniel Moody
- 16 Joseph Brill
- 15 Dirk Baechle
- 12 Ivan Kravets
- 9 Mathew Robinson
- 6 Paul Tipei
- 1 Rob Boehne
- 1 Robert Boehne
- 1 Daniel
- 1 Andrew Morrow
- 1 Iosif Daniel Kurazs
- 1 James Benton
- 1 Jeremy Elson
- 1 Konstantin Gonchar
- 1 Andrii Doroshenko (Xrayez) \ No newline at end of file
+ - List any significant changes to the documentation (not individual
+ typo fixes, even if they're mentioned in src/CHANGES.txt to give
+ the contributor credit)
+
+ DEVELOPMENT
+
+ - List visible changes in the way SCons is developed
+
+ Thanks to CURLY, LARRY, and MOE for their contributions to this release.
+ Contributors are listed alphabetically by their last name.
+
+__COPYRIGHT__
+__FILE__ __REVISION__ __DATE__ __DEVELOPER__
diff --git a/ReleaseConfig b/ReleaseConfig
index d1a9ebc..5ab3db6 100755
--- a/ReleaseConfig
+++ b/ReleaseConfig
@@ -32,7 +32,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
# 'final', the patchlevel is set to the release date. This value is
# mandatory and must be present in this file.
#version_tuple = (2, 2, 0, 'final', 0)
-version_tuple = (4,0,0)
+version_tuple = (4, 1, 0, 'dev', 0)
# Python versions prior to unsupported_python_version cause a fatal error
# when that version is used. Python versions prior to deprecate_python_version
diff --git a/SConstruct b/SConstruct
index 1585071..9fab012 100644
--- a/SConstruct
+++ b/SConstruct
@@ -11,7 +11,6 @@ copyright_years = strftime('2001 - %Y')
# This gets inserted into the man pages to reflect the month of release.
month_year = strftime('%B %Y')
-
#
# __COPYRIGHT__
#
@@ -37,7 +36,7 @@ month_year = strftime('%B %Y')
project = 'scons'
-default_version = '4.0.0'
+default_version = '4.1.0.devyyyymmdd'
copyright = "Copyright (c) %s The SCons Foundation" % copyright_years
#
diff --git a/bin/update-release-info.py b/bin/update-release-info.py
index 71c51a9..9141add 100644
--- a/bin/update-release-info.py
+++ b/bin/update-release-info.py
@@ -275,8 +275,8 @@ def main(args, rel_info):
# Update src/RELEASE.txt
- t = UpdateFile('RELEASE.txt'),
- os.path.join('template', 'RELEASE.txt')
+ t = UpdateFile('RELEASE.txt',
+ os.path.join('template', 'RELEASE.txt'))
if DEBUG: t.file = '/tmp/RELEASE.txt'
t.replace_version()
@@ -286,25 +286,6 @@ def main(args, rel_info):
if DEBUG: t.file = '/tmp/CHANGES.txt'
t.sub('\nRELEASE .*', '\nRELEASE ' + rel_info.version_string + ' - ' + rel_info.new_date)
- # Update RELEASE.txt
- t = UpdateFile('RELEASE.txt')
- if DEBUG: t.file = '/tmp/RELEASE.txt'
- t.replace_version()
-
- # Update src/Announce.txt
-
- # t = UpdateFile(os.path.join('src', 'Announce.txt'))
- # if DEBUG: t.file = '/tmp/Announce.txt'
- # t.sub('\nRELEASE .*', '\nRELEASE ' + rel_info.version_string + ' - ' + rel_info.new_date)
- #
- # Update SConstruct
-
- t = UpdateFile('SConstruct')
- if DEBUG: t.file = '/tmp/SConstruct'
- t.replace_assign('month_year', repr(rel_info.month_year))
- t.replace_assign('copyright_years', repr(rel_info.copyright_years))
- t.replace_assign('default_version', repr(rel_info.version_string))
-
# Update README
for readme_file in ['README.rst', 'README-SF.rst']:
t = UpdateFile(readme_file)
diff --git a/testing/framework/TestSCons.py b/testing/framework/TestSCons.py
index 00bddd2..9ffae9b 100644
--- a/testing/framework/TestSCons.py
+++ b/testing/framework/TestSCons.py
@@ -35,10 +35,10 @@ from TestCmd import PIPE
# here provides some independent verification that what we packaged
# conforms to what we expect.
-default_version = '3.1.2'
+default_version = '4.1.0.devyyyymmdd'
-python_version_unsupported = (2, 6, 0)
-python_version_deprecated = (2, 7, 0)
+python_version_unsupported = (3, 4, 0)
+python_version_deprecated = (3, 4, 0)
# In the checked-in source, the value of SConsVersion in the following
# line must remain "__ VERSION __" (without the spaces) so the built