• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[/
2    Copyright 2002,2004,2006 Joel de Guzman, Eric Niebler
3    Copyright 2010-2011 Daniel James
4
5    Distributed under the Boost Software License, Version 1.0.
6    (See accompanying file LICENSE_1_0.txt or copy at
7    http://www.boost.org/LICENSE_1_0.txt)
8]
9
10[chapter Change Log
11    [quickbook 1.7]
12    [compatibility-mode 1.5]
13    [id quickbook.change_log]
14    [source-mode teletype]
15]
16
17[heading:version_1_1 Version 1.1 - Boost 1.33.0]
18
19* First version to be included in boost.
20
21[heading:version_1_3 Version 1.3 - Boost 1.34.0 to 1.34.1]
22
23* Quickbook file inclusion \[include\].
24* Better xml output (pretty layout). Check out the generated XML.
25* Regression testing facility: to make sure your document will always be
26  compatible (full backward compatibility) regardless of changes to
27  QuickBook.
28* Code cleanup and refactoring.
29* Allow phrase markup in the doc-info.
30* Preformatted code blocks via \`\`code\`\` (double ticks) allows code in tables
31  and lists, for example.
32* Quickbook versioning; allows full backward compatibility. You have to add
33  \[quickbook 1.3\] to the doc-info header to enable the new features. Without
34  this, QuickBook will assume that the document is a pre-1.3 document.
35* Better (intuitive) paragraph termination. Some markups may terminate a paragraph.
36  Example:``
37  [section x]
38  blah...
39  [endsect]``
40* Fully qualified section and headers. Subsection names are concatenated to the
41  ID to avoid clashing. Example: `doc_name.sect_name.sub_sect_name.sub_sub_sect_name`
42* Better   and whitespace handling in code snippets.
43* \[xinclude\] fixes up the relative path to the target XML file when
44  input_directory is not the same as the output_directory.
45* Allow untitled tables.
46* Allow phrase markups in section titles.
47* Allow escaping back to QuickBook from code, code blocks and inline code.
48* Footnotes, with the \[footnote This is the footnote\] syntax.
49* Post-processor bug fix for escaped XML code that it does not recognize.
50* Replaceable, with the \[~replacement\] syntax.
51
52[heading:version_1_4 Version 1.4 - Boost 1.35.0 to 1.40.0]
53
54* Generic Headers
55* Code changes to allow full recursion (i.e. Collectors and push/pop functions)
56* Various code cleanup/maintenance
57* Templates!
58* \[conceptref\] for referencing BoostBook <concept> entities.
59* Allow escape of spaces. The escaped space is removed from the output. Syntax:
60  `\ `.
61* Nested comments are now allowed.
62* Quickbook blocks can nest inside comments.
63* __import__ facility.
64* Callouts on imported code
65* Simple markups can now span a whole block.
66* __blurbs__, __admonitions__ and table cells (see __tables__) may now
67  contain paragraphs.
68* `\n` and `[br]` are now deprecated.
69* __cond__. Ala C++ #ifdef.
70* Searching of included and imported files in an extensible search path with
71  `--include-path` (`-I`) option.
72
73[heading:version_1_5 Version 1.5 - Boost 1.41.0 to 1.42.0]
74
75* Support multiple copyright entrys in document info.
76* Improved SVG support.
77* \[globalref\] for referencing BoostBook <global> entities.
78* Fail on error.
79* Fix crash for templates with too many arguments or trailing space.
80* Improved handling of unexpected characters in code blocks.
81* Improved handling of unmatched escape in code blocks.
82* Support for python snippets.
83* `teletype` source mode.
84* Use static scoping in templates, should be a lot more intuitive.
85* Accept a space between `section:` and the section id.
86* Support table ids.
87
88[heading Version 1.5.1 - Boost 1.43.0]
89
90* Improve the post processor's list of block elements. `table`, `entry` and
91  `varlistentry` are treated as blocks. `replaceable` is treated as an inline
92  element.
93* Check that `[section]` and `[endsect]` tags are balanced in templates.
94* Add unicode escape characters, eg. `\u03B1` for \u03B1.
95* Support UTF-8 files with a unicode byte order mark.
96* Disallow `[` in simple markup. Fixes some errors with mismatched punctuation.
97* Add command line flag to define macros at the command line,
98  e.g. `quickbook "-D__italic_foo__=/foo/"`.
99
100[heading Version 1.5.2 - Boost 1.44.0]
101
102* Use the cygwin 1.7 API for better path handling.
103* Improved boostbook generation:
104  * XML encode the documentation info correctly.
105  * Avoid generating empty paragraphs.
106  * No longer wraps block templates in paragraphs.
107  * Warns if you use invalid doc_info members for docbook document types.
108  * Fixes some other causes of invalid boostbook, although it still
109    generates invalid boostbook in places.
110* Improved grammar:
111  * Supports multiple categories in library doc_info.
112  * No longer requires commas between authors in docinfo.
113  * Allows empty document bodies.
114  * A line containing only a comment is no longer interpreted as a
115    paragraph break.
116  * If a line starts with a comment, interpret it as a paragraph even if it's
117    followed by whitespace or a list character.
118  * Doesn't treat several consecutive blank lines as multiple paragraph breaks.
119* Fixes duplicate image attribute detection.
120* Fixes using code snippets more than once.
121* Early work on quickbook 1.6, available using the `[quickbook 1.6]` version switch,
122  but liable to change in future versions.
123  * When automatically generating ids for headers, use the quickbook
124    source, rather than the generated docbook.
125  * Fix id generation in included files. It wasn't correctly using the
126    main document's documentation id.
127  * Correctly restore the quickbook version switch after including a file
128    with a different version.
129
130[heading Version 1.5.3 - Boost 1.45.0]
131
132* Fix command line flag for defining macros.
133* Fix a couple of issues with the code block parser:
134  * A comment with no indentation will now end a code block.
135  * Code blocks no longer have to be followed by a blank line.
136* Improved tracking of file position in templates and imported code blocks.
137* Better generated markup for callout lists.
138* In docbook, variable list entries can only have one `listitem`, so if an
139  entry has multiple values, merge them into one `listitem`.
140* Support nested code snippets.
141* Support nested blocks in document info comments.
142* Revert xml escaping document info, it broke some documentation files
143  (now a 1.6 feature).
144* Further work on quickbook 1.6, still not stable.
145  * Allow heading to have ids, using the syntax: `[heading:id title]`.
146  * XML escape documentation fields, with escapes to allow encoding unicode
147    in ASCII.
148
149[heading Version 1.5.4 - Boost 1.46.1]
150
151Boost 1.46.0:
152
153* Add support for `lang` attribute in documentation info.
154* Improved anchor implementation. Especially for using an anchor
155  before a section or heading.
156* Fixed some more issues where lines containing comments were treated
157  as blank lines.
158* Allow import, include and xinclude in conditional phrases. Will
159  allow more block elements in a future version.
160* Rearrange the structure of the grammar.
161* Use filesystem 3. Remove cygwin 1.5 support.
162
163Boost 1.46.1:
164
165* Work around optimization bug in g++ 4.4 on 64 bit linux.
166
167[heading Version 1.5.5 - Boost 1.47]
168
169* Tweak anchor placement for titles.
170* Hard code the quickbook path into the quickbook testing tools. This
171  means that they can be used from multiple locations.
172* Generate an id for boostbook `bridgehead` elements. This results in
173  more consistent html, since docbook generates a random id if they
174  don't have one.
175* Improved unicode support on windows. Unicode can now be used from the
176  command line, and unicode filenames are supported. Unicode output is
177  a bit weak.
178* Check for windows paths, and warn about them.
179* Fix relative path detection on windows.
180* Reverse deprecation of `[br]`, printing a single warning about
181  generating invalid boostbook.
182* Fix handling empty category attributes.
183* Store data from the parser in a dynamic data structure.
184  This simplifies the implementation and makes it easier to parse
185  more complicated data structures.
186* Improved error messages for unknown doc info attributes.
187* Richer copyright syntax. Now understands:
188  `[copyright 2001-2006, 2010 One person, 2008 Another person]`.
189* Fix delimeter checking for simple markup.
190* Allow more block elements to be nested.
191* Go back to using invalid markup for lists. It generates better html.
192* Better anchor placement for lists.
193* Pass-thru comments in code snippets.
194* Use relative paths for '''<code>__FILENAME__</code>''' macro.
195* Rewrite xinclude path generator so that it doesn't use deprecated
196  filesystem functions.
197* Allow quickbook escapes inside comments in syntax highlighted code.
198* Quickbook 1.6:
199  * Scope source mode changes to the file they're made in.
200  * Explicit markup for lists. e.g.
201    `[ordered_list [item1][item2]]` or
202    `[itemized_list [item1][item2]]`.
203
204[heading Version 1.5.6 - Boost 1.48]
205
206* Xml encode escaped punctuation (eg. `\<` is correctly encodes to \<).
207* Rename duplicate generated ids.
208* Close open sections at end of document (still warns about them).
209* New anchor markup for headers, will hopefully generate better pdfs.
210* Remove some whitespace around code from post processed output.
211
212[heading Version 1.5.7 - Boost 1.49]
213
214* Several internal changes.
215* Some improved error messages.
216* Better handling of block templates expanded in a phrase context.
217* Avoids empty simple markup (i.e. \/\/ is not treated as an italic empty
218  space.
219* Better anchor markup for headers, which should be better for printing
220  - suggested by John Maddock.
221* Further improvements to the id generator.
222* If sections are left unopened at the end of a document, then close them
223  in the generated markup.
224* Try to handle whitespace better at the beginning and end of code blocks.
225* Handle lists that come immediately after an anchor.
226* Make horizontal rules followed by multi-line comments a little more
227  sensible.
228* Better support for empty ids and titles in docinfo.
229* Fix some minor regressions in SVG handling.
230* Better handling of invalid command line macros.
231* When auto-building quickbook, build the release version.
232* Lots of changes for 1.6:
233  * Scope templates in included files.
234  * Support import of templates and macros.
235  * Including top level quickbook blocks from source files.
236  * Use doc info blocks in included quickbook files.
237  * Better handling of macros with the same name.
238  * `block` element.
239  * Better handling of significant punctuation (e.g. escapes, square brackets).
240  * Support escapes in links, anchors, images, includes etc.
241  * Improved table title syntax.
242  * Paragraphs nested in lists.
243  * New docinfo attributes:
244    * `compatibility-mode` to make it possible to upgrade documents without
245      breaking ids.
246    * `xmlbase` for escaped `xi:include`s.
247  * Allow some docinfo attributes to be used before, or without, a doc info
248    block (`quickbook`, `compatibility-mode`, `source-mode`).
249  * Only add explicit alt text to images.
250  * Don't put 'inline' code blocks inside paragraphs.
251
252[heading Version 1.5.8 - Boost 1.50]
253
254* Write dependencies to a file, using `--output-deps`
255  ([@https://svn.boost.org/trac/boost/ticket/6691 #6691]).
256* Fix handling of section tags in lists.
257* Fix indented code blocks in lists.
258* Fix handling UTF-8 code points in the syntax highlighter.
259  Was treating each individual byte as a character.
260  Still doesn't deal with combining code points.
261* Internal changes:
262  * A lot of restructuring.
263  * Stop using 'v3' filesystem paths and namespaces, it's now
264    the default version.
265  * Remove awkward intrusive reference counting implementation,
266    avoids a gcc internal compiler error
267    ([@http://svn.boost.org/trac/boost/ticket/6794 #6794]),
268    but is also a cleaner implementation.
269* 1.6 changes:
270  * Better handling of brackets in link values.
271  * Improved handling of escaped characters in include paths.
272* Starting to develop 1.7:
273  * Source mode for single entities.
274  * Callouts in code blocks.
275  * Escaped docbook in docinfo blocks.
276  * Starting to implement calling templates from link values.
277
278[heading Version 1.5.9 - Boost 1.54]
279
280* When code blocks are indented using a mixture of tabs and spaces,
281  convert indentation to spaces.
282* In the C++ systax highlighter, fix syntax highlighting for `#`, so that it's
283  used for preprocessor statements at the start of a line, and as a 'special'
284  character elsewhere
285  ([@https://svn.boost.org/trac/boost/ticket/8510 #8510],
286  [@https://svn.boost.org/trac/boost/ticket/8511 #8511]).
287* Add C++11 keywords to syntax highlighter
288  ([@https://svn.boost.org/trac/boost/ticket/8541 #8541]).
289* Hidden options for formatting of `--output-deps`. Not really for public use
290* yet.
291* 1.6 changes:
292  * Better template argument parsing, so that it understands things
293    like escaped markup.
294  * Support for using macros in the doc info block.
295* Internal changes:
296  * Convert to use `boost::string_ref`.
297  * Clean up the source map implementation (used to get the correct
298    location for error messages in things like templates and snippets).
299
300[heading Version 1.6.0 - Boost 1.55]
301
302* Remove nested blocks in lists from 1.6, move to 1.7.
303  (Can still nest block elements in lists though).
304* Don't break out of lists after a nested block element.
305* Check for errors when writing dependency files.
306* Improved markup for lists.
307* Make escaping templates with a punctuation identifier illegal.
308  Escaping templates with an alphanumeric identifier is still fine.
309* Fix detection of code blocks at the start of a file.
310* XML encode the contents of the `__FILENAME__` macro.
311* 1.7 changes:
312  * Make it an error to use an element in the wrong context.
313  * Error if the body of a phrase element doesn't parse.
314  * List markup in nested blocks.
315  * Allow block elements in phrase templates.
316  * Make it an error to put a paragraph break (i.e. a blank line)
317    in a phrase template.
318* Internal changes:
319  * Clean up the id manager implementation.
320
321[heading Version 1.6.1]
322
323* Better URI encoding of links.
324* Extra validation of attribute values.
325* 1.7 changes:
326  * Improved source mode tagging:
327    * Works for lists and paragraphs.
328    * If the source mode is changed inside a tagged element, that change
329      will now persist after the element.
330    * Tagged sections will now use the source mode for the whole section.
331  * Template calls from anchor, role and include elements.
332  * Stricter handling of templates called in attribute values.
333  * Glob support.
334
335[heading Version 1.6.2 - Boost 1.61]
336
337* Better file URL generation for `xinclude`.
338
339[heading Version 1.6.3 - Boost 1.64]
340
341* Improved some error messages.
342* Fix `--no-self-linked-headers` options.
343* Hide 'debug' command line option in help text.
344* Changes to test and build setup to support continuous integration.
345* Fix a crash when templates are called with no arguments.
346  Only affected files with quickbook version less than 1.5.
347
348[heading Version 1.6.4 - Boost 1.65]
349
350* Changes to all language versions:
351  * `endsect` can now have an id, if it doesn't match the current section
352    it's an error.
353* 1.7 changes:
354  * Can now write out conditional content if a macro isn't defined,
355    using `[?!macro_name content]`.
356* Support for strict parsing using the `--strict` paramters. This is still
357  under development so new errors could be added.
358* `--no-output` command line parameter to process the quickbook documents
359  but not actually generate any files.
360
361[heading Version 1.7.0 - Boost 1.66]
362
363* Last version to compile with C++03.
364* Minor improvements to some warning and error messages.
365* Stopped normalizing paths in dependency lists.
366* Fix xmlbase when it's the same directory as the existing xinclude base.
367
368[heading Version 1.7.1 - Boost 1.67]
369
370* Now uses C++11, no longer tested with C++03 compilers.
371* Fix parsing escaped docbook with the new version of Spirit.
372* Reformatted code with clang-format.
373
374[heading Version 1.7.2 - Boost 1.68]
375
376* More use of C++11 features.
377* Some basic direct generation of HTML (i.e. without using BoostBook).
378  At the command line use `--output-format html` to generate chunked HTML,
379  `--output-format onehtml` to generate a single HTML page.
380
381  It's also useful to pass the path to the root of the boost distribution
382  using the `--boost-root path` option. Or to use outside of boost,
383  the `--css-path` and `--graphics-path` options.
384
385  While this isn't ready for production, it might be useful to quickly preview
386  changes to quickbook documentation, especially if you don't have boostbook
387  set up.
388