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