1 Copyright 2004-2007 Vladimir Prus
2 Distributed under the Boost Software License, Version 1.0.
3 (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
5 Milestone 13 (in development)
7 Changes in this release:
9 The following bugs were fixed:
11 - gcc support did not work on HP-UX systems
13 Milestone 12 (Oct 1, 2007)
15 Changes in this release:
17 - The Pathscale, PGI and mipspro compilers are now supported.
18 - Support for autoconfiguration of toolset based on command-line
19 toolset=xxxx request, and for default toolset
20 configuration as a fallback.
21 - Support for precompiled headers for gcc toolset,
22 and improvements for msvc.
23 - Mechanism for removing inherited requirements.
24 - The 'make' rule support specifying usage-requirements.
25 - New 'project.extension' rule for declaring standalone
27 - New 'conditional' convenience rule.
28 - New 'glob-tree' rule.
29 - The 'glob' rule accepts patterns to exclude.
30 - Inline targets are now marked explicit automatically.
31 - Toolsets can now implicitly add requirements to
33 - New 'generate' rule.
34 - The executables produced by the 'run' rule are automatically
36 - The gcc toolset uses the version obtained by running
37 the compiler, if no explicit one is provided.
38 - The sun toolset now supports the 'address-model' feature,
39 and uses -KPIC for shared libraries.
40 - Free features on command line affect all targets, not
41 just 'directly requested' ones.
44 Documentation changes:
46 - Installation instructions for Linux distributors.
47 - Configuration options for all supported C++ compilers
50 The following bugs were fixed:
52 - The 'cflags' and 'linkflags' now work on Darwin.o
53 - The intel toolset now works on Windows.
54 - Fix library search options for CodeWarriour toolset.
55 - The <install-source-root> could cause duplicate
57 - Numerious fixes in Boost autolink support
58 - Numerious fixes in Boost.Python support.
59 - Indirect properties not evaluated in usage requirements.
60 - Generator that returns a property set but not target is
61 considered successful.
62 - On Darwin, when several compiler versions
63 are configured, -fcoalesce-templates is applied only to
64 versions that need it.
67 Milestone 11 (Jule 20, 2006)
69 Changes in this release:
71 - New C++ compilers: IBM xlf, HP aCC, HP CXX, Intel fortran compiler.
72 - New tools: Qt4 support, MS message compiler and IDL compiler.
73 - New main targets: 'notfile' and 'cast'.
77 - Only one file required at top level of a project, named Jamroot.
78 - Jamfiles can now contain project-specific help messages.
79 - "Indirect conditional requirements" introduced
80 (http://tinyurl.com/mn3jp)
81 - Strip suffix in main target names when computing names of generated
83 - The 'source-location' project attribute can contain
85 - Usage requirements are propagated not only direct dependents,
86 but to indirect dependents.
88 - Command line option changes (see http://tinyurl.com/zbycz)
89 - New option --build-dir
90 - The --clean option cleans only target below the current directory,
92 - New --clean-all option was added.
93 - New option --debug-building
94 - Running "bjam some_directory" works even if there's no Jamfile
95 in the current directory.
97 - Toolset improvements:
98 - Assembling support with gcc, borland and msvc.
99 - Support amd64/ia64 cross-compiling with msvc.
100 - Improved, registry-based autodetection for msvc.
101 - Serialize execution of gcc.link actions
102 - Precompiled headers supported on MSVC
105 - New features <warnings> and <warnings-as-errors>
106 - The 'glob' rule accepts wildcards in directory names.
107 - The 'stage' rule was renamed to 'install'
108 (the old name still available for compatibility)
109 - The <tag> feature can accept user-defined function as value
111 - The 'install' rule can install a directory hierarchy preserving relative
113 - The 'install' rule no longer allows to change library
115 - The Jamfile referred via 'use-project' may declare project id different
116 from the one in 'use-project'.
117 - The 'using' rule now searches the directory of containing Jamfile.
120 The following bugs were fixed:
122 - The <library> feature was ignored for static linking
123 - Fix #include scanning for C files.
124 - Child projects were sometimes loaded before parent projects.
125 - Fix project references with absolute paths on Windows.
126 - The <dependency> feature was ignored for 'install' targets.
127 - A generator having the same type in sources and targets was causing hang.
128 - Use 'icpc' command for Intel, fixing errors with 8.1 and higher.
129 - Generation of PS files with the FOP tool really produces .PS files.
130 - No dependency scanning was done for C files.
131 - The 'constant' and 'path-constant' rules did not accept multi-element
133 - Don't pass -fcoalesce-templates to gcc on OSX 10.4
134 - Fix static lib suffix on OSX.
135 - Fix rpath setting on Intel/Linux.
136 - The 'install' rule don't unnecessary scans #includes in installed
140 Developer visible changes:
142 - Ability to customize type's prefix depending on build properties.
143 - Generator's 'run' method can return usage-requirements.
144 - Main target rule is automatically declared for each new target type.
145 - 'Link incompatible' feature attribute was removed
146 - Generators no longer bypass unhandled sources, they just ignore them.
147 - If there are several applicable generators, immediately report ambiguity.
148 Provide a way to explicitly resolve conflicts between generators.
149 - The 'flags' rule can match absence of feature.
150 - Great improvement in response files handling
151 - The 'toolset.flags' rules allows value-less feature to signify
152 absence of this feature (fix hack-hack).
153 - Automatically declare main target rule for each declared target type.
154 - When inheriting types, inherit generators for the base type, as opposed
155 to using various hacks to invoke base generators when needed.
156 - Improve diagnostic for "duplicate actual target" and generator ambiguity.
159 Milestone 10 (October 29, 2004)
161 Changes in this release:
163 Many toolsets were added: Intel, Metrowerks, Comeau, aCC, vacpp.
164 Documentation was converted to BoostBook and improved.
165 Performance was improved.
167 - Toolsets initialization syntax is much more uniform. Compiler and linker
168 flags can now be specified.
169 - The algorithm for computing build properties was improved. Conditional
170 requirements can be chained, and a number of bugs were fixed.
171 - Specific order of properties can be specified.
172 - The main target rules can be called from everywhere, not necessary from
174 - Check for "unused sources" removed.
175 - The <library> feature affects only linking now.
176 - The <file> feature now works only for libraries.
177 - Simpler syntax for "searched" libraries was added.
178 - New <dependency> feature.
182 The right order of static libraries on Unix is automatically
184 The <hardcode-dll-paths> feature is the default.
186 The -fPIC option is passed when creating shared libraries.
187 Problems with distcc were solved.
189 It's now possible to use the sun linker (as opposed to gnu), and
192 Shared libraries are now supported.
193 MSVC: Before resource files compilation, the setup script is invoked.
194 Options deprecated in 8.0 are not longer used.
197 The following bugs were fixed:
199 - The <unit-test> rule did not handle the <library> property (!!!!!!)
200 - Don't add "bin" to the build directory explicitly specified by the user.
201 - Allow <include-type> to select staged targets,
202 even with <traverse-dependencies>off.
203 - Includes for the form '# include <whatever>" did not work.
204 - (Qt) Add paths to all dependent libs to uic command
205 line, which helps if the UI files uses plugins.
206 - Using <toolset-msvc:version>xxx in requirements was broken.
207 - Error message printed when target can be found is much more clear.
208 - Inline targets in sources of 'stage' did not work.
209 - Don't produce 'independent target' warnings on Windows
210 - (gcc) The <link-runtime>static did not work.
211 - (gcc) Suppress warnings from the 'ar' tool on some systems.
212 - (gcc) Don't try to set soname on NT.
214 Developer visible changes:
216 - Generator priorities are gone, explicit overrides are used.
217 - 'Active' features were removed
218 - Support for VMS paths was added.
220 Thanks to Christopher Currie, Pedro Ferreira, Philipp Frauenfelder,
221 Andre Hentz, Jurgen Hunold, Toon Knapen, Johan Nilsson, Alexey Pakhunov,
222 Brock Peabody, Michael Stevens and Zbynek Winkler who contributed
223 code to this release.
226 Milestone 9.1 (Nov 6, 2003)
228 The following bugs were fixed:
230 - The 'unit-test' rule used to ignore <library> properties.
231 - The gcc toolset used to ignore <threading> property.
233 Milestone 9 (Nov 6, 2003)
235 Changes in this release
237 - Putting library in sources of other library now works even for static
238 linking, which makes expressing library->library dependency much
240 - Performance was considerably improved.
241 - Regression testing framework now works on windows.
242 - The "alias" rule can have usage requirements and passes on usage
243 requirements of sources.
244 - The "stage" rule can traverse dependencies.
245 - Support for "def files" was implemented.
246 - Targets paths are now shorter.
247 - Darwin toolset was improved.
249 The following bugs were fixed:
251 - It was not possible to specify empty suffix for a target type derived
253 - The stage rules used to generate incorrect suffix in some cases.
254 - It was possible to load Jamfile twice.
255 - The 'use-project' rule was broken when referring to a child project.
256 - Use of composite properties in requirements did not work.
258 Developer visible changes:
260 - New CALC builtin, which considerable improves performance.
261 - Source layout was reorganized.
262 - Handling of response file was simplified.
264 Thanks to Pedro Ferreira, Kirill Lapshin, Andre Hentz, Paul Lin,
265 Jurgen Hunold, Christopher Currie, and Brock Peabody, who contributed to
268 Milestone 8 (Oct 15, 2003)
270 Changes in this release:
272 - A regression testing framework was implemented.
273 - New <implicit-dependency> feature was added for better handling
274 of dependencies to generated headers.
275 - The link-compatibility checks not longer cause projects to be skipped,
276 and issue warning, not error, for main targets.
277 - Algorithm for selecting main target alternative was improved.
278 - The <dependency> feature was renamed to <use>.
279 - Project root constants were made available in project root itself.
281 The following bugs were fixed:
283 - failure to recognize shared libraries with version as such
284 - the 'path-constant' rule was mishandling absolute paths on Windows.
287 Milestone 7 (Sep 11, 2003)
289 Changes in this release:
291 - Performance was improved.
292 - Support for Sun and Darwin toolsets was added.
293 - <tag> feature, which changes the name of target depending of build
294 variant, was implemented.
295 - Old-style targets-ids are no longer supported.
296 - New 'glob' rule allows to easily perform wildcard matching in Jamfile.
297 - Improve bison/flex support to understand C++.
299 The following bugs were fixed:
301 - bogus error on use of project default-build attribute with several
302 main target alternatives.
303 - broken toolset inheritance
304 - hard error after skipping a target due to incompatible requirements
305 - incorrect behaviour of a generator when producing several targets of
307 - errors on use of the 'project-root' rule in Jamfile context
308 - inability to require specific compiler version for a main target.
309 - incorrect behaviour of "bjam msvc" when msvc is configured with explicit
312 Thanks to Christopher Currie, Pedro Ferreira and Michael Stevens, who
313 contributed to this release.