summaryrefslogtreecommitdiff
path: root/RELEASE.txt
diff options
context:
space:
mode:
Diffstat (limited to 'RELEASE.txt')
-rwxr-xr-xRELEASE.txt102
1 files changed, 70 insertions, 32 deletions
diff --git a/RELEASE.txt b/RELEASE.txt
index 90cc745..5927ef8 100755
--- a/RELEASE.txt
+++ b/RELEASE.txt
@@ -1,43 +1,81 @@
-A new SCons release, 3.0.5, is now available on the SCons download page:
+ A new SCons checkpoint release, 3.1.0, is now available
+ on the SCons download page:
- https://scons.org/pages/download.html
+ https://scons.org/pages/download.html
+ Here is a summary of the changes since 3.0.5:
-Here is a summary of the changes since 3.0.4:
+ NEW FUNCTIONALITY
-CHANGED/ENHANCED EXISTING FUNCTIONALITY
+ - Added variable TEMPFILEARGJOIN to specify how to join arguments written
+ to temp files used when command lines exceed MAXLINELENGTH when the
+ command uses $TEMPFILE{...}
+ - Support for MSVC 2019
+ - Upgraded and improved Visual Studio solution/project generation code using the MSVSProject builder.
+ - Added support for Visual Studio 2017 and 2019.
+ - Added support for the following per-variant parameters to the builder:
+ - cpppaths: Provides per-variant include paths.
+ - cppdefines: Provides per-variant preprocessor definitions.
- - Change the default for AppendENVPath to delete_existing=0, so path
- order will not be changed, unless explicitly set (Issue #3276)
- - Add lex construction variable LEXUNISTD for turning off unix headers on windows
- - Update lex tool to use win_flex on windows if available
- - Add the textfile tool to the default tool list
-FIXES
+ CHANGED/ENHANCED EXISTING FUNCTIONALITY
- - Fix Issue #3283 - Handle using --config=force in combination with Decider('MD5-timestamp').
- 3.0.2 in fix for issue #2980 added that deciders can throw DeciderNeedsNode exception.
- The Configure logic directly calls the decider when using --config=force but wasn't handling
- that exception. This would yield minimally configure tests using TryLink() not running and
- leaving TypeError Nonetype exception in config.log
- - Fix Issue #3303 - Handle --config=force overwriting the Environment passed into Configure()'s
- Decider and not clearing it when the configure context is completed.
- - Add default paths for yacc tool on windows to include cygwin, mingw, and chocolatey
- - Fix issue #2799 - Fix mingw tool to respect SHCCCOMSTR, SHLINKCOMSTR and LDMODULECOMSTR
- - Fix Issue #3329 - Add support for MS SDK V10.0A (which is commonly installed with VS2017)
- - Fix Issue #3333 - Add support for finding vswhere under 32 bit windows installs.
- - Update the MSVC tool to include the nologo flag by default in RCFLAGS
- - Fixed bug which threw error when running SCons on windows system with no MSVC installed.
+ - Fix performance degradation for MD5-timestamp decider. NOTE: This changes the Decider() function arguments.
+ From:
+ def my_decider(dependency, target, prev_ni):
+ To:
+ def my_decider(dependency, target, prev_ni, repo_node):
+ Where repo_node is the repository (or other) node to use to check if the node is out of date instead of dependency.
+ - Enhanced --debug=explain output. Now the separate components of the dependency list are split up
+ as follows:
-IMPROVEMENTS
- - Do not store build host+user name if reproducible builds are wanted
+ scons: rebuilding `file3' because:
+ the dependency order changed:
+ ->Sources
+ Old:xxx New:zzz
+ Old:yyy New:yyy
+ Old:zzz New:xxx
+ ->Depends
+ ->Implicit
+ Old:/usr/bin/python New:/usr/bin/python
+ - Changed: Pseudo-builders now inherit OverrideEnvironments. For
+ example when calling a pseudo-builder from another
+ pseudo-builder the override variables passed to the first
+ pseudo-builder call had to be explicitly passed on to the
+ internal pseudo-builder call. Now the second pseudo-builder call
+ will automatically inherit these override values.
-git shortlog --no-merges -ns 3.0.4..HEAD
- 34 William Deegan
- 33 Mats Wichmann
- 18 Daniel
- 4 Daniel Moody
- 3 Bernhard M. Wiedemann
- 2 Maciej Kumorek
+ FIXES
+ - Fix Issue #3350 - SCons Exception EnvironmentError is conflicting with Python's EnvironmentError.
+ - Fix spurious rebuilds on second build for cases where builder has > 1 target and the source file
+ is generated. This was causing the > 1th target to not have it's implicit list cleared when the source
+ file was actually built, leaving an implicit list similar to follows for 2nd and higher target
+ ['/usr/bin/python', 'xxx', 'yyy', 'zzz']
+ This was getting persisted to SConsign and on rebuild it would be corrected to be similar to this
+ ['zzz', 'yyy', 'xxx', '/usr/bin/python']
+ Which would trigger a rebuild because the order changed.
+ The fix involved added logic to mark all shared targets as peers and then ensure they're implicit
+ list is all cleared together.
+ - Fix Issue #3349 - SCons Exception EnvironmentError is conflicting with Python's EnvironmentError.
+ Renamed to SConsEnvironmentError
+ - Fix Issue #3350 - mslink failing when too many objects. This is resolved by adding TEMPFILEARGJOIN variable
+ which specifies what character to join all the argements output into the tempfile. The default remains a space
+ when mslink, msvc, or mslib tools are loaded they change the TEMPFILEARGJOIN to be a line separator (\r\n on win32)
+ - Additional fix to issue #3135 - Also handle 'pure' and 'elemental' type bound procedures
+
+ - Fix handling of Visual Studio Compilers to properly reject any unknown HOST_PLATFORM or TARGET_PLATFORM
+ - Enable LaTeX scanner to find more than one include per line
+
+ under which they would be observed), or major code cleanups
+
+git shortlog --no-merges -ns 3.0.5..HEAD
+ 64 William Deegan
+ 56 Mats Wichmann
+ 10 Adam Gross
+ 4 Mathew Robinson
+ 4 Peter Diener
+ 3 Lukas Schrangl
+ 1 Daniel Holth
+ 1 bdbaddog