1Copyright 2004-2007 Vladimir Prus 2Distributed 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) 4 5Milestone 13 (in development) 6 7Changes in this release: 8 9The following bugs were fixed: 10 11 - gcc support did not work on HP-UX systems 12 13Milestone 12 (Oct 1, 2007) 14 15Changes in this release: 16 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 26 projects. 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 32 all targets. 33 - New 'generate' rule. 34 - The executables produced by the 'run' rule are automatically 35 removed after run. 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. 42 43 44Documentation changes: 45 46 - Installation instructions for Linux distributors. 47 - Configuration options for all supported C++ compilers 48 are now documented. 49 50The following bugs were fixed: 51 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 56 mkdir commands. 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. 65 66 67Milestone 11 (Jule 20, 2006) 68 69Changes in this release: 70 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'. 74 75 - Core changes: 76 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 82 files (URL) 83 - The 'source-location' project attribute can contain 84 several directories. 85 - Usage requirements are propagated not only direct dependents, 86 but to indirect dependents. 87 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, 91 not globally. 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. 96 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 103 (Need documentation) 104 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 110 (URL) 111 - The 'install' rule can install a directory hierarchy preserving relative 112 paths. 113 - The 'install' rule no longer allows to change library 114 name during install. 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. 118 119 120The following bugs were fixed: 121 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 132 value. 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 137 headers. 138 139 140Developer visible changes: 141 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. 157 158 159Milestone 10 (October 29, 2004) 160 161Changes in this release: 162 163 Many toolsets were added: Intel, Metrowerks, Comeau, aCC, vacpp. 164 Documentation was converted to BoostBook and improved. 165 Performance was improved. 166 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 173 Jamfile. 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. 179 180 181 Unix: 182 The right order of static libraries on Unix is automatically 183 computed. 184 The <hardcode-dll-paths> feature is the default. 185 gcc: 186 The -fPIC option is passed when creating shared libraries. 187 Problems with distcc were solved. 188 Sun: 189 It's now possible to use the sun linker (as opposed to gnu), and 190 to compile C files. 191 Darwin: 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. 195 196 197The following bugs were fixed: 198 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. 213 214Developer visible changes: 215 216 - Generator priorities are gone, explicit overrides are used. 217 - 'Active' features were removed 218 - Support for VMS paths was added. 219 220Thanks to Christopher Currie, Pedro Ferreira, Philipp Frauenfelder, 221Andre Hentz, Jurgen Hunold, Toon Knapen, Johan Nilsson, Alexey Pakhunov, 222Brock Peabody, Michael Stevens and Zbynek Winkler who contributed 223code to this release. 224 225 226Milestone 9.1 (Nov 6, 2003) 227 228The following bugs were fixed: 229 230 - The 'unit-test' rule used to ignore <library> properties. 231 - The gcc toolset used to ignore <threading> property. 232 233Milestone 9 (Nov 6, 2003) 234 235Changes in this release 236 237 - Putting library in sources of other library now works even for static 238 linking, which makes expressing library->library dependency much 239 simpler. 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. 248 249The following bugs were fixed: 250 251 - It was not possible to specify empty suffix for a target type derived 252 from other type. 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. 257 258Developer visible changes: 259 260 - New CALC builtin, which considerable improves performance. 261 - Source layout was reorganized. 262 - Handling of response file was simplified. 263 264Thanks to Pedro Ferreira, Kirill Lapshin, Andre Hentz, Paul Lin, 265Jurgen Hunold, Christopher Currie, and Brock Peabody, who contributed to 266this release. 267 268Milestone 8 (Oct 15, 2003) 269 270Changes in this release: 271 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. 280 281The following bugs were fixed: 282 283 - failure to recognize shared libraries with version as such 284 - the 'path-constant' rule was mishandling absolute paths on Windows. 285 286 287Milestone 7 (Sep 11, 2003) 288 289Changes in this release: 290 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++. 298 299The following bugs were fixed: 300 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 306 the same type 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 310 version. 311 312Thanks to Christopher Currie, Pedro Ferreira and Michael Stevens, who 313contributed to this release. 314 315 316 317 318