Refactor variable substitution for more scalable expansion of , etc.
[scons.git] / src / RELEASE.txt
1 # __COPYRIGHT__
2 # __FILE__ __REVISION__ __DATE__ __DEVELOPER__
3
4
5                  SCons - a software construction tool
6
7                             Release Notes
8
9
10 This is a beta release of SCons, a tool for building software (and other
11 files).  SCons is implemented in Python, and its "configuration files"
12 are actually Python scripts, allowing you to use the full power of a
13 real scripting language to solve build problems.  You do not, however,
14 need to know Python to use SCons effectively.
15
16 So that everyone using SCons can help each other learn how to use it
17 more effectively, please sign up for the scons-users mailing list at:
18
19     http://lists.sourceforge.net/lists/listinfo/scons-users
20
21
22
23 RELEASE 0.95 - XXX
24
25   This is the sixth beta release of SCons.  Please consult the
26   CHANGES.txt file for a list of specific changes since last release.
27
28   Please note the following important changes since release 0.94:
29
30     - The internal Python function used by the Zip Builder in Python
31       releases 1.6 or later now compresses the resulting .zip file
32       by default.  The old behavior of creating an uncompressed file
33       may be preserved by setting the new ZIPCOMPRESSION construction
34       variable to 0 (or zipfile.ZIP_STORED, if you import the
35       underlying zipfile module).
36
37     - The meaning of some of the values of the "mode" argument to
38       the SCons.Util.scons_subst() and SCons.Util.scons_subst_list()
39       functions have been swapped.  The wrapper Environment.subst()
40       and Environment.subst_list() methods remain completely unchanged,
41       this so this should have no external effect.  (We've listed the
42       change here because it might cause a problem if you're reaching
43       into the SCons internals and calling either of the SCons.Util
44       functions directly.)
45
46   SCons is developed with an extensive regression test suite, and a
47   rigorous development methodology for continually improving that suite.
48   Because of this, SCons is of sufficient quality that you can use it
49   for real work.  The "beta" status of the release reflects that we
50   still may change interfaces in future releases, which may require
51   modifications to your SConscript files.  We strive to hold these
52   changes to a minimum.
53
54   Nevertheless, please heed the following disclaimers:
55
56     - Please report any bugs or other problems that you find to our bug
57       tracker at our SourceForge project page:
58
59       http://sourceforge.net/tracker/?func=add&group_id=30337&atid=398971
60
61       We have a reliable bug-fixing methodology already in place and
62       strive to respond to problems relatively quickly.
63
64     - Documentation is spottier than we'd like.  You may need to dive
65       into the source code to figure out how to do something.  Asking
66       questions on the scons-users mailing list is also welcome.  We
67       will be addressing the documentation in upcoming releases, but
68       would be more than glad to have your assistance in correcting this
69       problem... :-)
70
71       In particular, the "SCons Design" documentation on the SCons web
72       site is currently out of date, as we made significant changes to
73       portions of the interface as we figured out what worked and what
74       didn't during implementation.
75
76     - There may be performance issues.  Improving SCons performance
77       is an ongoing priority.  If you still find the performance
78       unacceptable, we would very much like to hear from you and learn
79       more about your configuration so we can optimize the right things.
80
81     - Error messages don't always exist where they'd be helpful.
82       Please let us know about any errors you ran into that would
83       have benefitted from a (more) descriptive message.
84
85   KNOWN PROBLEMS IN THIS RELEASE:
86
87     For a complete list of known problems, consult the SCons bug tracker
88     page at SourceForge:
89
90         http://sourceforge.net/tracker/?atid=398971&group_id=30337&func=browse
91
92     - Support for parallel builds (-j) does not work on WIN32 systems
93       prior to *official* Python release 2.2 (not 2.2 pre-releases).
94
95       Prior to Python 2.2, there is a bug in Python's Win32
96       implementation such that when a thread spawns an external command,
97       it blocks all threads from running.  This breaks the SCons
98       multithreading architecture used to support -j builds.
99
100       We have included a patch file, os_spawnv_fix.diff, that you can
101       use if you you want to fix your version of Python to support
102       parallel builds in SCons.
103
104     - Again, the "SCons Design" documentation on the SCons web
105       site is currently out of date.  Take what you read there with a
106       grain of salt.
107
108     - If a file is specified to be built in multiple ways, the last
109       processed builder specification overwrites all other builders,
110       without any warning.
111
112     - On Win32 systems, you must put a space between the redirection
113       characters < and >, and the specified files (or construction
114       variable expansions):
115
116         command < $SOURCE > $TARGET
117
118       If you don't supply a space (for example, "<$SOURCE"), SCons will
119       not recognize the redirection.
120
121     - People have reported problems with SCons not stopping a build when
122       an interrupt (CTRL+C) is received.  A fix was checked in to 0.11
123       that should fix this behavior on many systems, but there are
124       issues with the underlying Python os.system() call that suggest
125       this fix does not work on all systems or in all circumstances.
126       We're working to try to find a universal solution.
127
128     - Modifying a construction environment in a subsidiary SConscript
129       file modifies the global environment.
130
131     - MSVC .res files are not rebuilt when icons change.
132
133     - The -c option does not clean up .sconsign files or directories
134       created as part of the build, and also does not clean up
135       SideEffect files (for example, Visual Studio .pdb files).
136
137     - Switching content signatures from "MD5" to "timestamp" and back
138       again can cause unusual errors.  These errors can be cleared up by
139       removing all .sconsign files.
140
141     - On Win32, SCons does not recognize that a target specified as
142       (for example) \some\target is the same as X:\some\target (for your
143       current volume X:).
144
145     - Using a construction variable in its own expansion can cause
146       an infinite loop.
147
148     - Appending values to construction variables may suffer from type
149       errors if, for example, you try to append a string to list or
150       vice versa.
151
152     - When using multiple Repositories, changing the name of an include
153       file can cause an old version of the file to be used.
154
155     - There is currently no way to force use of a relative path (../*)
156       for directories outside the top-level SConstruct file.
157
158     - The Jar() Builder will, on its second or subsequent invocation,
159       package up the .sconsign files that SCons uses to track signatures.
160       You can work around this by using the SConsignFile() function
161       to collect all of the .sconsign information into a single file
162       outside of the directory being packaged by Jar().
163
164     - SCons does not currently have a way to detect that an intermediate
165       file has been corrupted from outside and should be rebuilt.
166
167     - Unicode characters in path names do not work in all circumstances.
168
169     - A stray source file in a BuildDir can prevent targets from being
170       (re)built when they should.
171
172     - No support yet for the following planned command-line options:
173
174          -d -e -l --list-actions --list-derived --list-where
175          -o --override -p -r -R -w --write-filenames
176          -W --warn-undefined-variables
177
178
179
180 Thank you for your interest, and please let us know how we can help
181 improve SCons for your needs.
182
183 Steven Knight
184 knight at baldmt dot com
185 http://www.baldmt.com/~knight/
186
187 With plenty of help from the SCons Development team:
188         Chad Austin
189         Charles Crain
190         Steve Leblanc
191         Gary Oberbrunner
192         Anthony Roach
193         Greg Spencer
194         Christoph Wiedemann
195