| Home | Libraries | People | FAQ | More

## Change Log

#### Version 1.3

- Quickbook file inclusion [include].
- Better xml output (pretty layout). Check out the generated XML.
- Regression testing facility: to make sure your document will always be compatible (full backward compatibility) regardless of changes to QuickBook.
- Code cleanup and refactoring.
- Allow phrase markup in the doc-info.
- Preformatted code blocks via ``code`` (double ticks) allows code in tables and lists, for example.
- Quickbook versioning; allows full backward compatibility. You have to add [quickbook 1.3] to the doc-info header to enable the new features. Without this, QuickBook will assume that the document is a pre-1.3 document.
- Better (intuitive) paragraph termination. Some markups may terminate a paragraph. Example:

      [section x]
      blah...
      [endsect]

- Fully qualified section and headers. Subsection names are concatenated to the ID to avoid clashing. Example: `doc_name.sect_name.sub_sect_name.sub_sub_sect_name`
- Better &nbsp; and whitespace handling in code snippets.
- [xinclude] fixes up the relative path to the target XML file when input_directory is not the same as the output_directory.
- Allow untitled tables.
- Allow phrase markups in section titles.
- Allow escaping back to QuickBook from code, code blocks and inline code.
- Footnotes, with the [footnote This is the footnote] syntax.
- Post-processor bug fix for escaped XML code that it does not recognize.
- Replaceable, with the [~replacement] syntax.

#### Version 1.4

- Generic Headers
- Code changes to allow full recursion (i.e. Collectors and push/pop functions)
- Various code cleanup/maintenance
- Templates!
- [conceptref] for referencing BoostBook <concept> entities.
- Allow escape of spaces. The escaped space is removed from the output. Syntax: `\` .
- Nested comments are now allowed.
- Quickbook blocks can nest inside comments.
- Import facility.
- Callouts on imported code
- Simple markups can now span a whole block.
- Blurbs, Admonitions and table cells (see Tables) may now contain paragraphs.
- `\n` and `[br]` are now deprecated.
- Conditional Generation. Ala C++ #ifdef.
- Searching of included and imported files in an extensible search path with `--include-path` (`-I`) option.

#### Version 1.5

- Support multiple copyright entrys in document info.
- Improved SVG support.
- [globalref] for referencing BoostBook <global> entities.
- Fail on error.
- Fix crash for templates with too many arguments or trailing space.
- Improved handling of unexpected characters in code blocks.
- Improved handling of unmatched escape in code blocks.
- Support for python snippets.
- `teletype` source mode.
- Use static scoping in templates, should be a lot more intuitive.
- Accept a space between `section:` and the section id.
- Support table ids.

#### Version 1.5.1 - Boost 1.43.0

- Improve the post processor's list of block elements. `table`, `entry` and `varlistentry` are treated as blocks. `replaceable` is treated as an inline element.
- Check that `[section]` and `[endsect]` tags are balanced in templates.
- Add unicode escape characters, eg. `\u03B1` for α.
- Support UTF-8 files with a unicode byte order mark.
- Disallow `[` in simple markup. Fixes some errors with mismatched punctuation.
- Add command line flag to define macros at the command line, e.g. `quickbook "-D__italic_foo__=/foo/"`.

#### Version 1.5.2 - Boost 1.44.0

- Use the cygwin 1.7 API for better path handling.

- Improved boostbook generation:

  - XML encode the documentation info correctly.
  - Avoid generating empty paragraphs.
  - No longer wraps block templates in paragraphs.
  - Warns if you use invalid doc_info members for docbook document types.
  - Fixes some other causes of invalid boostbook, although it still generates invalid boostbook in places.

- Improved grammar:

  - Supports multiple categories in library doc_info.
  - No longer requires commas between authors in docinfo.
  - Allows empty document bodies.
  - A line containing only a comment is no longer interpreted as a paragraph break.
  - If a line starts with a comment, interpret it as a paragraph even if it's followed by whitespace or a list character.
  - Doesn't treat several consecutive blank lines as multiple paragraph breaks.
- Fixes duplicate image attribute detection.
- Fixes using code snippets more than once.

- Early work on quickbook 1.6, available using the `[quickbook 1.6]` version switch, but liable to change in future versions.

  - When automatically generating ids for headers, use the quickbook source, rather than the generated docbook.
  - Fix id generation in included files. It wasn't correctly using the main document's documentation id.
  - Correctly restore the quickbook version switch after including a file with a different version.

#### Version 1.5.3 - Boost 1.45.0

- Fix command line flag for defining macros.

- Fix a couple of issues with the code block parser:

  - A comment with no indentation will now end a code block.
  - Code blocks no longer have to be followed by a blank line.
- Improved tracking of file position in templates and imported code blocks.
- Better generated markup for callout lists.
- In docbook, variable list entries can only have one `listitem`, so if an entry has multiple values, merge them into one `listitem`.
- Support nested code snippets.
- Support nested blocks in document info comments.
- Revert xml escaping document info, it broke some documentation files (now a 1.6 feature).

- Further work on quickbook 1.6, still not stable.

  - Allow heading to have ids, using the syntax: `[heading:id title]`.
  - XML escape documentation fields, with escapes to allow encoding unicode in ASCII.

#### Version 1.5.4 - Boost 1.46.0

- Add support for `lang` attribute in documentation info.
- Improved anchor implementation. Especially for using an anchor before a section or heading.
- Fixed some more issues where lines containing comments were treated as blank lines.
- Allow import, include and xinclude in conditional phrases. Will allow more block elements in a future version.
- Rearrange the structure of the grammar.
- Use filesystem 3. Remove cygwin support.