[ci skip] Added info on byacc difference to CHANGES.txt
[scons.git] / RELEASE.txt
blobee270812a35491b0478882621b99920425a72277
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:
5     https://scons.org/tag/releases.html
7 ==================================================================
9 A new SCons release, 4.5.3, is now available on the SCons download page:
11     https://scons.org/pages/download.html
14 Here is a summary of the changes since 4.5.2:
16 NEW FUNCTIONALITY
17 -----------------
19 - List new features (presumably why a checkpoint is being released)
21 DEPRECATED FUNCTIONALITY
22 ------------------------
24 - List anything that's been deprecated since the last release
26 CHANGED/ENHANCED EXISTING FUNCTIONALITY
27 ---------------------------------------
29 - When debugging (--debug=pdb), the filenames SConstruct and SConscript
30   are now recognized when manipulating breakpoints. Previously,
31   only a full pathname to an sconscript file worked, as pdb requires
32   a .py extension to open a file that is not an absolute path.
33 - Three unused non-public methods of the Environment Base class
34   were dropped: get_src_sig_type, get_tgt_sig_type, _changed_source.
35   These were unused remnants of the previously removed SourceSignatures
36   and TargetSignatures features (dropped in 3.1.2).
37 - The --debug flag now has a 'json' option which will write information
38   generated by --debug={count, memory, time, action-timestamps} and about
39   the build.
40 - Obsoleted YACCVCGFILESUFFIX, it's being replaced by YACC_GRAPH_FILE_SUFFIX.
41   If YACC_GRAPH_FILE_SUFFIX is not set, it will respect YACCVCGFILESUFFIX.
42 - The yacc tool now understands the bison behavior of --header, --defines
43   and --graph being called without an option-argument as being synonyms
44   for -d (first two) and -g. -H also recognized as a synonym for -d.
45   Default value for $YACC_GRAPH_FILE_SUFFIX changed to '.gv' to match
46   current bison default (since bison 3.8). Set this variable to '.dot'
47   if using byacc. Fixes #4326 and #4327.
49 FIXES
50 -----
52 - Fixed: when using the mingw tool, if an msys2 Python is used (os.sep
53   is '/' rather than the Windows default '\'), certain Configure checks
54   could fail due to the construction of the path to run the compiled check.
55 - C scanner's dictifyCPPDEFINES routine did not understand the possible
56   combinations of CPPDEFINES - not aware of a "name=value" string either
57   embedded in a sequence, or by itself.  The conditional C scanner thus
58   did not always properly apply the defines. The regular C scanner does
59   not use these, so was not affected.  [fixes #4193]
61 IMPROVEMENTS
62 ------------
64 - Now tries to find mingw if it comes from Chocolatey install of msys2.
66 PACKAGING
67 ---------
69 - List changes in the way SCons is packaged and/or released
71 DOCUMENTATION
72 -------------
74 - Aligned manpage signature for Alias function to match implementation -
75   if the previous *targets* parameter had been used as a keyword argument,
76   the results would be incorrect (does not apply to positional argument
77   usage, which had no problem).
79 DEVELOPMENT
80 -----------
82 - SCons test runner now uses pathlib to normalize and compare paths
83   to test files, which allows test lists, exclude lists, and tests on
84   the command line to "not care" about the OS convention for pathname
85   separators.
86 - Class ActionBase is now an abstract base class to more accurately
87   reflect its usage. Derived _ActionAction inherits the ABC, so it
88   now declares (actually raises NotImplementedError) two methods it
89   doesn't use so it can be instantiated by unittests and others.
91 Thanks to the following contributors listed below for their contributions to this release.
92 ==========================================================================================
93 .. code-block:: text
95     git shortlog --no-merges -ns 4.0.1..HEAD