Search manual:

- Main page
- Introduction
- Hello, world!
- Basics
  - How to write the layout
  - Structure of the data file and the layout rules
  - Outputting objects
  - Grid
  - Areas on the page (PositioningArea)
  - File organization
  - Hyphenation / language settings
  - Using fonts
  - Text formats
  - Text formatting
  - Colors
- Programming
- Image inclusion
- Tables
- Advanced topcis
  - Bookmarks
  - Creation of XML structures
  - Print output / crop marks
  - Using CSS with the speedata Publisher
  - Groups (virtual objects)
  - Virtual pages
  - Rotation of contents
  - Sorting data
  - Wrap around images
  - Page types
  - Starting the Publisher via the Hotfolder
  - Lua-Filter / pre-processing
  - Schema validation
  - Quality assurance and PDF comparison
  - Troubleshooting / Debugging
  - Server mode (REST API)
  - Control of the layout when calling the Publisher
- Cookbook
  - Thumb index
  - Embed multipage PDF files
  - Layout optimization using groups
  - Imitate bulleted lists
  - Automatically generated directories
  - Create table of contents in one go
  - Page numbers: Page x of y
- Installation instructions
- File name in the Publisher
- speedata Publisher defaults
- Running the speedata publisher on the command line
- How to configure the speedata publisher
- Lenghts and units
- XPath- and Layoutfunctions
- Internal variables
- Associate XML editor with schema
  - Visual Studio Code
  - OxygenXML
  - Atom
- Changelog
- Glossary
- Command reference
  - A
  - Action
  - AddSearchpath
  - AtPageCreation
  - AtPageShipout
  - AttachFile
  - Attribute
  - B
  - Barcode
  - Bold
  - BoldItalic
  - Bookmark
  - Box
  - Br
  - Case
  - Circle
  - Color
  - Column
  - Columns
  - Compatibility
  - Contents
  - Copy-of
  - DefineColor
  - DefineColorprofile
  - DefineFontalias
  - DefineFontfamily
  - DefineTextformat
  - Element
  - Fallback
  - Fontface
  - ForAll
  - Frame
  - Grid
  - Group
  - Groupcontents
  - HSpace
  - HTML
  - Hyphenation
  - I
  - Image
  - Include
  - Initial
  - InsertPages
  - Italic
  - Layout
  - Li
  - LoadDataset
  - LoadFontfile
  - Loop
  - Makeindex
  - Margin
  - Mark
  - Message
  - NewPage
  - NextFrame
  - NextRow
  - NoBreak
  - Ol
  - Options
  - Otherwise
  - Output
  - Overlay
  - Pageformat
  - Pagetype
  - Paragraph
  - PDFOptions
  - PlaceObject
  - Position
  - PositioningArea
  - PositioningFrame
  - ProcessNode
  - Record
  - Regular
  - Rule
  - SaveDataset
  - SavePages
  - SetGrid
  - SetVariable
  - SortSequence
  - Stylesheet
  - Span
  - Sub
  - Sup
  - Switch
  - Table
  - TableNewPage
  - Tablefoot
  - Tablehead
  - Tablerule
  - Td
  - Text
  - Textblock
  - Tr
  - Trace
  - Transformation
  - U
  - Ul
  - Until
  - URL
  - Value
  - VSpace
  - While

Version 4.0.1
Search manual

- Main page
- Introduction
- Hello, world!
- Basics
  - How to write the layout
  - Structure of the data file and the layout rules
  - Outputting objects
  - Grid
  - Areas on the page (PositioningArea)
  - File organization
  - Hyphenation / language settings
  - Using fonts
  - Text formats
  - Text formatting
  - Colors
- Programming
- Image inclusion
- Tables
- Advanced topcis
  - Bookmarks
  - Creation of XML structures
  - Print output / crop marks
  - Using CSS with the speedata Publisher
  - Groups (virtual objects)
  - Virtual pages
  - Rotation of contents
  - Sorting data
  - Wrap around images
  - Page types
  - Starting the Publisher via the Hotfolder
  - Lua-Filter / pre-processing
  - Schema validation
  - Quality assurance and PDF comparison
  - Troubleshooting / Debugging
  - Server mode (REST API)
  - Control of the layout when calling the Publisher
- Cookbook
  - Thumb index
  - Embed multipage PDF files
  - Layout optimization using groups
  - Imitate bulleted lists
  - Automatically generated directories
  - Create table of contents in one go
  - Page numbers: Page x of y
- Installation instructions
- File name in the Publisher
- speedata Publisher defaults
- Running the speedata publisher on the command line
- How to configure the speedata publisher
- Lenghts and units
- XPath- and Layoutfunctions
- Internal variables
- Associate XML editor with schema
  - Visual Studio Code
  - OxygenXML
  - Atom
- Changelog
- Glossary
- Command reference
  - A
  - Action
  - AddSearchpath
  - AtPageCreation
  - AtPageShipout
  - AttachFile
  - Attribute
  - B
  - Barcode
  - Bold
  - BoldItalic
  - Bookmark
  - Box
  - Br
  - Case
  - Circle
  - Color
  - Column
  - Columns
  - Compatibility
  - Contents
  - Copy-of
  - DefineColor
  - DefineColorprofile
  - DefineFontalias
  - DefineFontfamily
  - DefineTextformat
  - Element
  - Fallback
  - Fontface
  - ForAll
  - Frame
  - Grid
  - Group
  - Groupcontents
  - HSpace
  - HTML
  - Hyphenation
  - I
  - Image
  - Include
  - Initial
  - InsertPages
  - Italic
  - Layout
  - Li
  - LoadDataset
  - LoadFontfile
  - Loop
  - Makeindex
  - Margin
  - Mark
  - Message
  - NewPage
  - NextFrame
  - NextRow
  - NoBreak
  - Ol
  - Options
  - Otherwise
  - Output
  - Overlay
  - Pageformat
  - Pagetype
  - Paragraph
  - PDFOptions
  - PlaceObject
  - Position
  - PositioningArea
  - PositioningFrame
  - ProcessNode
  - Record
  - Regular
  - Rule
  - SaveDataset
  - SavePages
  - SetGrid
  - SetVariable
  - SortSequence
  - Stylesheet
  - Span
  - Sub
  - Sup
  - Switch
  - Table
  - TableNewPage
  - Tablefoot
  - Tablehead
  - Tablerule
  - Td
  - Text
  - Textblock
  - Tr
  - Trace
  - Transformation
  - U
  - Ul
  - Until
  - URL
  - Value
  - VSpace
  - While

- This manual in German

# Changelog

## 4.0

4.0.1 (9.9.2020)
  - Bugfix for Options/reportmissingglyphs.
  - Bugfix for language setting.
4.0.0 (7.9.2020)
  - Release stable version 4.0.0.

## 3.9

3.9.36 (7.9.2020)
  - New Option reportmissingglyphs="warning".
3.9.35 (26.8.2020)
  - Bugfix for empty Value tag.
3.9.34 (24.8.2020)
  - Safe require harfbuzz library, new binaries for Windows/Mac/Linux.
3.9.33 (23.8.2020)
  - Disable harfbuzz on windows.
3.9.32 (21.8.2020)
  - Experimental (unsupported) inclusion of harfbuzz renderer.
3.9.31 (16.8.2020)
  - Allow interactions (hyperlinks) as a default.
3.9.30 (14.8.2020)
  - Fix hyperlinks (no border in acrobat, make them work).
3.9.29 (14.8.2020)
  - Bugfix for ForAll and reduced result set (261).
3.9.28 (3.8.2020)
  - Bugfix for rowspan/colspan calculation. (259)
3.9.27 (31.7.2020)
  - padding-left and padding-right on Paragraph. (258)
3.9.26 (29.7.2020)
  - New xpath functions firstmark and lastmark to get the first and the last marker on a page.
  - New internal variable `$_lastpage` that holds the page number of the previous run.
3.9.25 (26.7.2020)
  - Bugfix for underline color (256).
  - Enhance schema (257).
3.9.24 (10.7.2020)
  - New `<Option>` randomseed.
  - Bugfix for hyperlinks at the end of a line starting with space (255).
3.9.23 (5.7.2020)
  - Server mode: `/v0/pdf/‹id›` deletes the PDF file on the server after the request.
3.9.22 (5.7.2020)
  - Server mode: add configurable filter and extra-dir, move entries to section `server`.
3.9.21 (3.7.2020)
  - Lua filter `runtime.find_file` to get the absolute path of a resource.
3.9.20 (2.7.2020)
  - Server mode: specify modes in the URL.
3.9.19 (1.7.2020)
  - Enhance HTML support (margin-top, margin-bottom and other).
3.9.18 (25.6.2020)
  - Enhance HTML support.
3.9.17 (22.6.2020)
  - Bugfix qrcode (from upstream).
  - CSS border-radius.
3.9.16 (12.6.2020)
  - Bugfix HTML, update documentation.
3.9.15 (10.6.2020)
  - Update to new LuaTe X 1.12 (without visible changes).
  - New Englisch manual.
3.9.14 (19.5.2020)
  - Various bugfixes introduced in recent development version.
3.9.13 (15.5.2020)
  - Bugfixes related finding the executable (254).
3.9.12 (12.5.2020)
  - Two bugfixes related to HTML mode (252 and 253).
3.9.11 (12.5.2020)
  - New HTML mode: better table support.
3.9.10 (10.5.2020)
  - New HTML mode: `sp html myfile.html`.
  - Second argument for sd:imageheight, sd:imagewidth for exact size.
  - `Image` as a child of `Output`.
3.9.9 (21.4.2020)
  - Enhanced HTML support.
3.9.8 (3.4.2020)
  - New option PDFOptions/showbookmarks for Adobe Acrobat.
3.9.7 (31.3.2020)
  - Bugfix: double hyperlink in one line (251)
  - CSS: table 100% width, td: align
  - Textformat: set margin at the top of the surrounding box.
  - First (preliminary) version of the new HTML parser.
3.9.6 (12.3.2020)
  - Table balancing: single tablerule in last frame gets into previous frame. (250)
  - Bugfix: simple HTML table (249).
  - Bugfix: html hyperlinks with widows/orphan (248).
  - Bugfix: run_saxon() fails.
  - Bugfix: backgroundcolor of table cells with defaults in `Column` (247).
3.9.5 (25.2.2020)
  - Fix height calculation for cell allocation.
3.9.4 (14.2.2020)
  - New way to call run_saxon in the preprocessing filter.
3.9.3 (10.2.2020)
  - Set log file for server mode.
3.9.2 (27.1.2020)
  - New option interaction to remove hyperlinks, handle U+2011 correctly.
3.9.1 (16.1.2020)
  - External image processors and converter.

## 3.8

3.8.0 (14.1.2020)
  - Release stable version 3.8.0.

## 3.7

3.7.24 (6.1.2020)
  - A few bugfixes (242, 174, 239). Prepare for 3.8.
3.7.23 (19.12.2019)
  - Add cache option "none".
3.7.22 (11.12.2019)
  - Improvements for caching external media files.
3.7.21 (11.12.2019)
  - Improvements for downloading assets.
3.7.20 (27.11.2019)
  - New command line parameter: set image cache.
3.7.19 (25.11.2019)
  - Bugfix for table balancing (243).
3.7.18 (22.11.2019)
  - New finalizer callback and new http module in Lua filter.
3.7.17 (19.11.2019)
  - Better error messages for external files loading (241).
3.7.16 (18.11.2019)
  - Bugfix 2 for table balancing (240).
3.7.15 (5.11.2019)
  - Bugfix for table balancing (240).
3.7.14 (31.10.2019)
  - Halloween release. (Bugfix for SavePages in backward mode).
3.7.13 (28.10.2019)
  - Update to LuaTe X version 1.11.1 for the new `page_order_index` callback.
  - Allow mode access via `$_mode` variable.
  - Remove feature “insert after” on NewPage.
3.7.12 (22.10.2019)
  - New command line switch `mode` for alternative code execution.
  - Re-order pages with `SavePages` and `InsertPages`.
3.7.11 (9.10.2019)
  - Page number on errors and warnings
3.7.10 (11.9.2019)
  - New command 'sp new' for scaffolding.
  - Add XML Schema (XSD).
3.7.9 (3.9.2019)
  - Allow Options to appear more than once in the layout file.
3.7.8 (15.8.2019)
  - sd:group-width() now has a second parameter for get the exact width, just as sd:group-height().
  - Allow re-setting the page dimensions.
  - Better rotation in table cells.
3.7.7 (18.7.2019)
  - Fallback for LoadFontfile.
3.7.6 (1.7.2019)
  - Allow elements in Message.
  - New XPath function number().
  - Bugfix initials and line height.
3.7.5 (12.6.2019)
  - Bugfix textformat/fill-last-line (234).
  - Bugfix valign=bottom (233).
3.7.4 (21.5.2019)
  - Bugfix table balancing (232).
3.7.3 (2.5.2019)
  - AttachFile: set the PDF name of the included file.
3.7.2 (28.4.2019)
  - Bugfix: TD with align=right containing only one or more spaces (230)
  - AttachFile can select an XML node from data instead of reading from an external resource.
3.7.1 (2.4.2019)
  - Some bug fixes (221, 225, 226, 228, 229).

## 3.6

3.6.0 (13.2.2019)
  - Release version 3.6.0

## 3.5

3.5.13 (13.2.2019)
  - Bugfix for valign="botton" in PlaceObject (222)
  - Fix leading in paragraphs for small fonts (221)
  - Fix URL breaking (173)
  - Fix textformat tracing (172)
3.5.12 (31.1.2019)
  - Bugfix for table balancing and break-below=no
3.5.11 (27.1.2019)
  - Bugfix: set row when balancing tables.
  - Row height in table balancing taken into account.
3.5.10 (21.12.2018)
  - Various bugfixes. Remove XProc filter. New attribute clip with Frame. Update hyphenation patterns. XInclude for data. Move to Go 1.11 modules.
3.5.9 (29.11.2018)
  - Default margin now 1cm, bugfix for dynamic table head and balance="yes".
3.5.8 (28.11.2018)
  - Fix a few minor errors.
3.5.7 (21.11.2018)
  - Bugfix table split and cursor movement (202).
  - Support for PDF/X-3 and PDF/X-4.
  - Basic support for PDF/UA (accessibility).
3.5.6 (9.11.2018)
  - Better handling of rotation in table cells.
3.5.5 (30.10.2018)
  - SVG on the fly conversion with Inkscape.
  - Optional filename in Lua-filter XML-writer.
3.5.4 (4.10.2108)
  - New file loader allows many ways to include files.
  - Allow inclusion of files with non-ascii characters on Windows.
3.5.3 (25.9.2018)
  - Various bugfixes (HTML-linking in data, pdf-dest link too low 198).
3.5.2 (18.9.2018)
  - Letter spacing in Span.
  - Break-below works with Tablerule.
  - CID-keyd fonts can be used.
  - Bugfixes for `upper-case()`, `lower-case()` and `replace()`.
  - Various bugfixes introduced by LuaTe X 1.0.7.
3.5.1 (5.9.2018)
  - First release with dynamic library, mainly for testing.

## 3.4

3.4.0 (3.9.2018)
  - Release version 3.4.0

## 3.3

3.3.14 (30.8.2018)
  - Update to LuaTe X version 1.0.7
  - sp compare HTML status report
  - limit TCP connection to localhost
3.3.13 (22.8.2018)
  - New command TableNewPage to eject a page within a table
  - Access user variables within the Lua filter
  - New xpath function lower-case()
3.3.12 (13.8.2018)
  - Bugfix for table cell width calculation (194)
  - Ellipsis can be drawn using the circle command.
3.3.11 (8.8.2018)
  - Bugfix for tables spanning multiple frames (191)
  - Ensure minimal length of last line of a paragraph (188)
3.3.10 (31.7.2018)
  - sd:group-height() with a second argument, a unit.
  - Bookmarks don’t change the zoom of the PDF
  - Bugfix for NoBreak
  - New Lua implementation for the filter (yuin/gopher-lua instead of Shopify/go-lua)
3.3.9 (18.6.2018)
  - Various bugfixes, expose `$_jobname`
3.3.8 (18.6.2018)
  - SaveDataset: rename attribute `filename` to `name`.
  - Hyperlinks within documents
  - Allow bookmarks in dynamic table headers (Tr/sethead='yes')
  - XPath: fix comparison of elements and atomic values.
3.3.7 (13.6.2018)
  - Text rotation in table cells (Td)
3.3.6 (1.6.2018)
  - Bugfix in textformat/spacebelow (171)
3.3.5 (30.5.2018)
  - New attribute `minwidth` to set the `HSpace` width.
  - Various bug fixes (leaders in table, documentation links, `space="…​"` with `LoadFontfile`)
  - New xpath function `local-name()`
  - HTML text now allows the em tag
  - “New” color model RGB for values between 0 and 255
  - Add language “French” to schema.
3.3.4 (16.5.2018)
  - Bugfixes for ctrl-c when running sp (167) and Output/balance="yes".
3.3.3 (15.5.2018)
  - Bugfix: allow page format taken from the data source.
  - Fix QR code generation.
3.3.2 (20.4.2018)
  - Bugfix height calculation Output/Text and balance="yes"
3.3.1 (16.4.2018)
  - Balance: padding-bottom and valign on last page
  - Output/Text balance="yes" and textformat/column-padding-top

## 3.2

3.2.0 (27.3.2018)
  - Release version 3.2.0

## 3.1

3.1.28 (27.3.2018)
  - Documentation enhancements
3.1.27 (23.3.2018)
  - Another bugfix with Tables
3.1.26 (23.3.2018)
  - Bugfix with Tables (166)
  - Bugfix with Ul/Li
3.1.25 (20.3.2018)
  - Bugfix with XPath operators (165)
  - Updated the German documentation
3.1.24 (16.3.2018)
  - New feature: Table/balance="yes"
3.1.23 (14.3.2018)
  - Tr/minheight allows length units
3.1.22 (9.3.2018)
  - PlaceObject: enhance absolute positioning
  - SortSequence: allow descending sort
  - More detailled setting of orphan/widow
3.1.21 (16.2.2018)
  - Bugfix for multipage table
  - New standard fonts
3.1.20 (1.2.2018)
  - Lot’s of font improvements, first attempt to get chinese right
3.1.19 (30.1.2018)
  - Allow setting of PDF title and author
3.1.18 (29.1.2018)
  - Fix fontmapping problem
3.1.17 (28.1.2018)
  - Report glyphs missing from a font
  - exit="yes" at Message to quit a publishing run
3.1.16 (19.12.2017)
  - Allow other namespaces in Layout file
  - Bugfix for FontFace
3.1.15 (7.12.2017)
  - New command Span for background color
3.1.14 (1.12.2017)
  - speedup
3.1.13 (30.11.2017)
  - Use exeSufix for sp compare on Windows
  - Bugfix for Output/allocate="auto"
3.1.12 (28.11.2017)
  - Bugfix for future pages
3.1.11 (23.11.2017)
  - Add Excel reader and RelaxNG validaton
  - Add basic support for LuaTe X 1.0.4
3.1.10 (3.11.2017)
  - Enhance Lua CSV reader
3.1.9 (31.10.2017)
  - New Lua based pre-processing
3.1.8 (24.10.2017)
  - New xpath function round, padding-* in Column
3.1.7 (22.10.2017)
  - Various bugfixes (Grid, Fontface)
3.1.6 (27.9.2017)
  - Various bugfixes
3.1.5 (8.9.2017)
  - New feature: DefineTextformat/tab=hspace change tab into a stretching space
3.1.4 (6.9.2017)
  - Bugfix: Image/page does not work with href
3.1.3 (22.8.2017)
  - New xpath function `sd:dimexpr()` for calculation with dimensions
3.1.2 (31.7.2017)
  - Bugfix for underline.
3.1.1 (28.7.2017)
  - ZUGFeRD integration, new commands AttachFile and AddSearchpath

## 3.0

3.0.0 (25.7.2017)
  - Release version 3.0

## 2.9

2.9.15 (12.7.2017)
  - Force pagetype if provided at NewPage, strip NL/Tab at beginning / end of paragraph.
2.9.14 (27.6.2017)
  - Allow font-family setting in CSS for custom element.
2.9.13 (27.6.2017)
  - Bugfix numerical entities in data. New: base64 decode, filecontents.
2.9.12 (16.6.2017)
  - Bugfix PlaceObject/hreference=right and absolute positioning
2.9.11 (18.5.2017)
  - Lazy evaluation of defaultcolor / Pagetype, minor bugfixes.
2.9.10 (10.5.2017)
  - New command: Groupcontents to insert a group in a Td. Bugfix XPath parser, sd:current-framenumber().
2.9.9 (8.5.2017)
  - Lazy evaluation of Grid in Pagetype (130), bugfix nested tables (129), improved Initials (color), bugfix cursor movement (128)
2.9.8 (24.4.2017)
  - Bugfix XML attributes with quotation marks
2.9.7 (16.4.2017)
  - New command Initial.
2.9.6 (21.3.2017)
  - Enhancements on Image/bleed="auto", extra allocation margin on PlaceObject
2.9.5 (9.3.2017)
  - Absolute positioning now allows allocate="yes".
  - New internal variables _bleed, _pagewidth, _pageheight
  - New attribute bleed="…​" on Image.
2.9.4 (24.2.2017)
  - Box with backgroundcolor="-" only allocates cells.
2.9.3 (20.2.2017)
  - Bugfix resetmarks, new attribute defaultcolor on Pagetype, remove obsolete commands.
2.9.2 (10.2.2017)
  - Bugfix for processing instructions in the XML file (will be ignored now)
  - New feature: style <span> and other elemnts in data with CSS.
2.9.1 (8.2.2017)
  - Bugfix: top-distance in Tr

## 2.8

2.8.1 (6.2.2017)
  - Fix hotfolder (variable directory)

## 2.7

2.7.13 (3.2.2017)
  - Use tempdir setting to calculate imagecache.
2.7.12 (26.1.2017)
  - New command DefineFontalias
  - Bugfixes for multipage tables
2.7.11 (16.1.2017)
  - Makeindex: make page number attribute variable
  - Bugfix: objects with ht > 0 and “jump to next row”
  - Remove images from cache when 404.
2.7.10 (6.1.2017)
  - Allow setting of error correction level for QR-codes.
2.7.9 (28.11.2016)
  - allowbreak=" " does not break at a hyphen character anymore.
  - NoBreak default is now 'keeptogether' which prevents a line break.
2.7.8 (25.11.2016)
  - Change U+2011 (NON-BREAKING HYPHEN) to U+002D (HYPHEN-MINUS) and don’t insert a break.
2.7.7 (21.10.2016)
  - Don’t clear image cache before first run
2.7.6 (14.10.2016)
  - Better image cache - don’t re-load images during the same run.
2.7.5 (12.10.2016)
  - New method for image caching. Rename Image/maxsize to visiblebox.
2.7.4 (3.10.2016)
  - New command Trace for debugging selections. Remove show-* on Options.
  - Behavior change with NextRow, remove command EmptyLine, compatibility switch with Compatibility.
  - New Option: defaultarea.
2.7.3 (14.9.2016)
  - New API /v0/statusfile/<id> to get the file publisher.status.
2.7.2 (14.9.2016)
  - When PlaceObject goes past the right margin (for example in full width text), go to next row.
2.7.1 (8.9.2016)
  - Fix error when fallback image is not found
  - Emtpy attributes in Attribute don’t give a table value
2.7.0 (18.8.2016)
  - Disable German layoutrules, bugfix (104) distribution error

## 2.6

2.6.1 (18.8.2016)
  - Bugfix for Mac and Linux ZIP files

## 2.5

2.5.13 (10.8.2016)
  - Bugfix for large tables (> 200 pages?)
2.5.12 (8.8.2016)
  - Bugfixes for paragraph shape, move LuaTe X binary to different directory
2.5.11 (2.8.2016)
  - Add padding-* to Stylesheet, allow image styling with CSS (padding only), add padding-* to Image
2.5.10 (2.8.2016)
  - Many improvements for Text/Output and allocate="yes"
  - Remove all German commands from the manual
  - New attributes for Text: fontface, color and textformat
  - Improvements to the documentation (spelling fixes), Language string "English (Great Britan)" corrected
2.5.9 (6.7.2016)
  - Bugfix related to “jump to next area” and multipage table/
2.5.8 (2.7.2016)
  - Bugfix get remaining height jumps to last line, even if “full”
2.5.7 (25.6.2016)
  - Bugfix allocation on non-integer columns
2.5.6 (25.6.2016)
  - Remove obsolete command ProcessRecord, add limit option for ProcessNode, bugfix Output/Text paragraph shape (89)
2.5.5 (23.6.2016)
  - Various bugfixes / future objects and tables
2.5.4 (20.6.2016)
  - Allow control over size of background-text in Td.
2.5.3 (18.6.2016)
  - Include bugfixes from 2.4.4
2.5.2 (13.6.2016)
  - (2.4.2) A few bugfixes related to sd:current-framenumber(), minheight in Textblock and looking for next free row.
2.5.1 (10.6.2016)
  - Interpret <sub> and <sup> in data.
  - Bugfix: pagetype and NewPage, version assertion in Layout tag

## 2.4

2.4.4 (18.6.2016)
  - Various bugfixes: leaders disappear on a linebreak, Nobreak allows setting for font family, escape attribute contents, fix for bad images.
2.4.3 (17.6.2016)
  - Bugfix related to an improper fix in 2.4.2 / find next free row for an object
2.4.2 (13.6.2016)
  - A few bugfixes related to sd:current-framenumber(), minheight in Textblock and looking for next free row.
2.4.1 (9.6.2016)
  - Bugfix: pagetype and NewPage, version assertion in Layout tag
2.4.0 (7.6.2016)
  - Release version 2.4.0

## 2.3

2.3.77 (6.6.2016)
  - Fallback filename for image (in case of image not found)
2.3.76 (2.6.2016)
  - New API /v0/layout/<id> to get the layout.xml
2.3.75 (31.5.2016)
  - New API /v0/data/<id> to get the data.xml
  - Bugfix empty value should not make a space.
2.3.74 (23.5.2016)
  - New API /v0/status to get all statuses
2.3.73 (20.5.2016)
  - Allow frame number in sd:allocated()
2.3.72 (28.4.2016)
  - Bugfix: element names with dash accpeted
2.3.71 (28.4.2016)
  - New xpath function sd:allocated(x,y,name)
2.3.70 (26.4.2016)
  - Messages can set error code on error
2.3.69 (25.4.2016)
  - Bugfix indent and parshape with allocate="auto"
2.3.68 (8.4.2016)
  - Bugfix: API /v0/pdf/<id> must wait for the pdf file to finish. Error happens with mutliple runs
2.3.67 (7.4.2016)
  - ForAll has a new attribute: start to give the starting point (default: 1)
2.3.66 (5.4.2016)
  - Change mechanism on image wrapping, only partly enabled.
2.3.65 (29.3.2016)
  - Various bugfixes with HTML output and Output/Text
2.3.64 (21.3.2016)
  - Underline in data respects CSS style
2.3.63 (18.3.2016)
  - Bufgfix line height calculation with Output/Text and allocation = auto
2.3.62 (17.3.2016)
  - Various bugfixes: paragraph shape, server wait until run finished
2.3.61 (14.3.2016)
  - New feature U/dashed="yes"
2.3.60 (14.3.2016)
  - Bugfix for HTML tables and sp --ignore-case / font files
2.3.59 (24.2.2016)
  - Bugfix HTML tables
2.3.58 (22.2.2016)
  - Experimental HTML tables
2.3.57 (19.2.2016)
  - New sp option --ignore-case for case insensitive file loading
2.3.56 (18.2.2016)
  - Bufgix Ouptut/allocate="auto"
2.3.55 (18.2.2016)
  - halign on PlaceObject
  - Much better wrap around with Output allocate="auto".
2.3.54 (8.2.2016)
  - New XPath function sd:randomitem(Value, Value, Value)
2.3.53 (6.2.2016)
  - Nobreak allows to cut text with …​
  - PDF producer is set to LuaTe X, creator is set to speedata Publisher - version number
  - Various bugfixes
2.3.52 (21.1.2016)
  - Various bugfixes: multi paragraph Output with par shape, decode-html
2.3.51 (18.1.2016)
  - Temporary directory configurable.
2.3.50 (18.1.2016)
  - Dashed rules
  - Leaders in HSpace
2.3.48 (12.1.2016)
  - Server mode: id always start with a non-zero value.
2.3.47 (11.1.2016)
  - New PDFOption Duplex
2.3.46 (8.1.2016)
  - Vertical spacing between grid cells
  - PDF options PrintScaling and PickTrayByPDFSize
2.3.45 (18.12.2015)
  - API call /v0/status returns time stamp-
2.3.44 (16.12.2015)
  - Write warnings to status file
2.3.43 (15.12.2015)
  - Options / imagenotfound: error or warning
2.3.42 (13.12.2015)
  - Access foo/@bar attributes on sub elements
  - New shape: Circle
2.3.41 (10.12.2015)
  - New xpath function substring()
2.3.40 (8.12.2015)
  - Bugfix when reading a config file
2.3.39 (7.12.2015)
  - Server mode honors jobname from publisher.cfg
2.3.38 (30.11.2015)
  - New XPath function 'string-length()', bug fixes, prepare for LuaTe X 0.85
2.3.37 (19.11.2015)
  - Bugfix for broken utf8/status file
2.3.36 (19.11.2015)
  - Workaround for broken publisher.status file
  - Table and vreference=bottom works.
2.3.35 (6.11.2015)
  - Schematron rules in RelaxNG schema
  - Image/href can omit file: scheme
2.3.34 (4.11.2015)
  - Bugfix: configuration file requires end of line marker on last line
2.3.33 (4.11.2015)
  - Possible bug fix with LoadDataset/Windows
2.3.32 (18.9.2015)
  - Bugfix: height calculation in tables with row where break-below=no
  - Much better table debugging with --trace
  - Dynamic table heads can be removed
  - Action / Mark can have multiple entries
2.3.31 (12.9.2015)
  - New xpath function 'contains()'
2.3.30 (8.9.2015)
  - New API call /v0/delete/id to remove the publishing request
  - New xpath function sd:keep-alternating() to re-use the current alternating value.
2.3.29 (24.8.2015)
  - Bugfix with servermode on windows
2.3.28 (11.8.2015)
  - Textblock can have a minimum height.
  - Option crop can take a length.
2.3.27 (7.8.2015)
  - Bugfix for Overlay command: Image can be stacked on another element.
2.3.26 (7.8.2015)
  - New command Overlay to stack objects.
2.3.25 (5.8.2015)
  - New command line option --extra-xml and new configuration option extraxml to add additional XML files to the layout instructions (similar to xinclude).
  - New configuration option var to add variables.
  - New server mode api parameter vars to send additional variables to the publishing process.
  - New command line option --varsfile to define more variables.
2.3.24 (26.6.2015)
  - Add option »trimmarks«, show the trim box when show-grid is turned on.
2.3.23 (25.6.2015)
  - Bugfix width calculation in the grid
2.3.22 (19.6.2015)
  - Bugfix with dx and nx in SetGrid
2.3.21 (30.5.2015)
  - New option crop for pages with a tight cropbox.
2.3.20 (21.4.2015)
  - Bugfix: width Table and Rule and grid distance
2.3.19 (20.4.2015)
  - PositioningFrames can now use the current data ({@attrib} for example)
  - Bugfix/workaround for an issue introduced in 2.3.18 in multi line Td cells.
2.3.18 (8.4.2015)
  - Bugfixes: replace() and $1, $2, …​ / multi line <Td align="center">…​</Td> contents
2.3.17 (25.3.2015)
  - Experimental garbage collection, in effect with SetVariable.
2.3.16 (11.3.2015)
  - Command NoBreak to disable a line break within.
2.3.15 (9.3.2015)
  - API changes: make jobname configurable through parameter, better error messages.
2.3.14 (4.3.2015)
  - Server-mode: /v0/pdf/<id> returns the PDF
  - Server-mode: add timestamp for /v0/publish/<id>
2.3.12 (27.2.2015)
  - New api call /available → 200 OK, /v0/publish returns 201
2.3.11 (26.2.2015)
  - Grid distance horizontal can be set.
2.3.10 (25.2.2015)
  - Bugfix: index entry without contents crashes the publisher.
2.3.9 (24.2.2015)
  - Bugfixes (sp server mode protocol file, infinite loop on malformed utf8 data)
  - Empty attributes (attr="") are treated as nil. empty(@attr) now returns true().
2.3.8 (21.2.2015)
  - Rotate (steps of 90°) for images
  - New xpath function sd:aspectratio('imgname.png')
  - Simple if/then/else expressions in XPath
2.3.7 (19.2.2015)
  - Background text for table cells (td)
2.3.6 (12.2.2015)
  - publisher.status file contains the (error-)messages.
2.3.4 (27.1.2015)
  - Bugfix: spot colors apply to stroking and non-stroking operations
2.3.3 (26.1.2015)
  - Some CSS for rule, direct color definition.
2.3.2 (22.1.2015)
  - New server mode for remote publishing.

## 2.2

2.1.36 (15.1.2015)
  - Add all CSS level 3 colors (see https://www.w3.org/TR/css-color-3/ for a list)
2.1.35 (19.12.2014)
  - Allow bookmarks on any level (experimental)
2.1.34 (18.12.2014)
  - New function sd:attr() to access attribute with a dynamically constructed name.
2.1.32 (1.12.2014)
  - XML parser / XInclude takes --extra-dir into account
2.1.28 (11.11.2014)
  - Allow specification of hyphen char in textformat.
2.1.27 (6.11.2014)
  - New example "mail merge"
2.1.26 (29.10.2014)
  - New command: Frame. Can be used inside PlaceObject to frame an object.
2.1.23 (13.10.2014)
  - Rounded corners on PlaceObject / Frame
2.1.22 (9.10.2014)
  - Transformations can be nested inside PlaceObject
2.1.21 (8.10.2014)
  - Custom spot colors
  - Transformation origin for rotate and matrix (PlaceObject)
2.1.20 (16.9.2014)
  - Copy-of copys does not destroy the underlying content.
2.1.18 (9.9.2014)
  - A transformation matrix can be set on PlaceObject
2.1.16 (22.8.2014)
  - Don’t break lines on / anymore, unless specified in allowbreaks="/".
2.1.15 (18.8.2014)
  - Experimental server-mode (/v0/format)
2.1.14 (15.8.2014)
  - Hyphenation = yes/no at DefineTextformat
2.1.13 (12.8.2014)
  - Basic version of tokenize() and replace(), basic server mode.
  - Colors can have overprinting enabled.
  - Spot colors (PANTONE and HKS)
2.1.12 (25.7.2014)
  - New command »Color« to switch to a different text color in text.
2.1.10 (3.7.2014)
  - Change behaviour of allowbreak=".." at Paragraph. Space must be made explicit.
  - New xpath function sd:dummytext() and sd:loremipsum() for a sample text (lorem ipsum)
2.1.9 (27.6.2014)
  - XInclude rebirth
2.1.8 (24.6.2014)
  - Extend table rows (Tr) to re-use as table header.
  - Merge pagenumbers now accept page ranges.
2.1.7 (6.6.2014)
  - Bugfix for table in table and alignment. align="right" didn’t work.
2.1.6 (5.6.2014)
  - Experimental option 'allowbreak' on Paragraph to provide a list of characters where line break may occur.
  - sp --quiet for console-less output
  - Parallelise sp compare for much better performance.
2.1.5 (28.5.2014)
  - Bugfix table cells with align=center and a fixed width.
2.1.3 (20.5.2014)
  - Allow hyphenation in the second word in compound words such as longword-anotherlongword. Also enable line breaks after "/"
2.1.1 (19.5.2014)
  - New implemtation of paragraph splitting, should be completely backward compatible.
2.1.0 (15.5.2014)
  - New behaviour of contents in table cells (Td). The rules of HTML (see https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements - HTML block elements) are followed as far as possible.

- Atom
- Glossary