rel2.5.dita 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
  3. <!-- This file is part of the DITA Open Toolkit project. See the accompanying LICENSE file for applicable license. -->
  4. <reference id="ID" rev="2.5">
  5. <title>DITA Open Toolkit 2.5.4 Release Notes</title>
  6. <abstract>
  7. <shortdesc>DITA Open Toolkit 2.5.4 is a maintenance release that fixes issues
  8. reported in DITA-OT 2.5, which includes <ph conref="#highlights/summary"/>.</shortdesc>
  9. <note type="tip"><ph conref="../resources/conref-task.dita#ID/download-ot"/></note>
  10. </abstract>
  11. <reference id="v254">
  12. <title>Maintenance Release 2.5.4</title>
  13. <refbody>
  14. <section>
  15. <p>DITA Open Toolkit Release 2.5.4 includes the following bug fixes.</p>
  16. <ul>
  17. <li id="2226">In earlier releases, plugins that contributed variables (or strings) did not work when the
  18. variables were contributed with mixed case (such as <codeph>pt-BR</codeph> instead of
  19. <codeph>pt-pt</codeph>). This has been fixed, so that the case of <xmlatt>xml:lang</xmlatt> is ignored when
  20. contributing variables.
  21. <xref href="https://github.com/dita-ot/dita-ot/issues/2226" format="html" scope="external">#2226</xref>,
  22. <xref href="https://github.com/dita-ot/dita-ot/issues/2790" format="html" scope="external">#2790</xref>,
  23. <xref href="https://github.com/dita-ot/dita-ot/pull/2803" format="html" scope="external">#2803</xref>
  24. </li>
  25. <li id="2772">In DITA-OT 2.5, external cross references to DITA topics, such as <codeph>&lt;xref
  26. href="http://example.com/onlineTopic.dita" scope="external"&gt;</codeph>, resulted in build failures due
  27. to an improperly set XSLT variable. This setting has been corrected to ensure external references are
  28. resolved as expected.
  29. <xref href="https://github.com/dita-ot/dita-ot/issues/2772" format="html" scope="external">#2772</xref>
  30. </li>
  31. <li id="2795">External links in <xmlelement>related-links</xmlelement> collections were dropped from PDF
  32. output in DITA-OT 2.4 and 2.5. These links now appear using the <xmlatt>href</xmlatt> attribute value as
  33. link text, as in earlier releases.
  34. <xref href="https://github.com/dita-ot/dita-ot/issues/2795" format="html" scope="external">#2795</xref>,
  35. <xref href="https://github.com/dita-ot/dita-ot/pull/2802" format="html" scope="external">#2802</xref>
  36. </li>
  37. <li id="2800">In DITA-OT 2.5, cross references to targets within the same document, such as <codeph>&lt;xref
  38. href="#topicid/sampleFigure"/&gt;</codeph>, caused build errors when the
  39. <parmname>onlytopic.in.map</parmname> parameter was set to <option>true</option>. Processing has been
  40. corrected to ensure these links are generated correctly.
  41. <xref href="https://github.com/dita-ot/dita-ot/issues/2800" format="html" scope="external">#2800</xref>
  42. </li>
  43. <li id="2801">In DITA-OT 2.4 and 2.5, the <xmlelement>property</xmlelement> element in reference topics
  44. resulted in an "Ambiguous rule match" message from Saxon when building HTML5. This message has been removed.
  45. <xref href="https://github.com/dita-ot/dita-ot/pull/2801" format="html" scope="external">#2801</xref>
  46. </li>
  47. <li id="2805">In earlier releases, when <codeph>chunk="by-topic"</codeph> was specified on a
  48. <xmlelement>topicref</xmlelement> element that did not specify the <xmlatt>href</xmlatt> attribute, the
  49. build would end in a null pointer exception. This error has been removed and the build will continue.
  50. <xref href="https://github.com/dita-ot/dita-ot/pull/2805" format="html" scope="external">#2805</xref>
  51. </li>
  52. <li id="2806">In earlier releases, when a map reference (such as <xmlelement>mapref</xmlelement>) referred to
  53. a map in a subdirectory, and that referenced map included elements with <xmlatt>conref</xmlatt> attributes,
  54. the step that resolved map references did not properly adjust paths in <xmlatt>conref</xmlatt>, resulting in
  55. unresolvable content references. This has been fixed, and <xmlatt>conref</xmlatt> attributes in nested maps
  56. in subdirectories now resolve properly.
  57. <xref href="https://github.com/dita-ot/dita-ot/pull/2806" format="html" scope="external">#2806</xref>
  58. </li>
  59. <li>
  60. <p>The documentation includes minor
  61. <xref href="https://github.com/dita-ot/docs/compare/2.5.3...2.5.4" format="html" scope="external">
  62. changes</xref> with
  63. <xref href="https://github.com/dita-ot/docs/milestone/29?closed=1" format="html" scope="external"
  64. >corrections and improvements</xref> to existing topics.</p>
  65. </li>
  66. </ul>
  67. <p>For the complete list of changes since the previous release, see the
  68. <xref href="https://github.com/dita-ot/dita-ot/compare/2.5.3...2.5.4" format="html" scope="external">
  69. changelog</xref> on GitHub.</p>
  70. </section>
  71. </refbody>
  72. </reference>
  73. <reference id="v253">
  74. <title>Maintenance Release 2.5.3</title>
  75. <refbody>
  76. <section>
  77. <p>DITA Open Toolkit Release 2.5.3 includes the following bug fixes.</p>
  78. <ul>
  79. <li id="2759">In DITA-OT 2.5, the <codeph>gen-list</codeph> pre-processing step listed resource-only
  80. references with <xmlatt>scope</xmlatt>=<codeph>"peer"</codeph> as local files when the
  81. <parmname>onlytopic.in.map</parmname> parameter was set to <option>true</option>. This caused later
  82. processing steps to generate errors as they tried to read the peer files (even when they were not DITA).
  83. Pre-processing has been updated to avoid reading these files, which also removes the build errors.
  84. <xref href="https://github.com/dita-ot/dita-ot/issues/2759" format="html" scope="external">#2759</xref>,
  85. <xref href="https://github.com/dita-ot/dita-ot/pull/2761" format="html" scope="external">#2761</xref>
  86. </li>
  87. <li id="2768">In previous versions of DITA-OT, the <codeph>copy-files</codeph> pre-processing step would stop
  88. the build with an error if the destination directory for copied files did not (yet) exist. The copy process
  89. has been adjusted to create the destination directory if necessary and allow the build to continue.
  90. <xref href="https://github.com/dita-ot/dita-ot/issues/2768" format="html" scope="external">#2768</xref>
  91. </li>
  92. <li id="2769">DITA-OT 2.5 would crash when publishing maps that contained <xmlelement>ditavalref</xmlelement>
  93. elements without valid hyperlink references in the <xmlatt>href</xmlatt> attribute. Pre-processing has been
  94. updated to be more tolerant in these cases. The <codeph>branch-filter</codeph> step will now proceed as if
  95. the <xmlelement>ditavalref</xmlelement> were not specified, which allows the build to finish.
  96. <xref href="https://github.com/dita-ot/dita-ot/issues/2769" format="html" scope="external">#2769</xref>
  97. </li>
  98. <li>
  99. <p>The documentation includes minor
  100. <xref href="https://github.com/dita-ot/docs/compare/2.5.2...2.5.3" format="html" scope="external">
  101. changes</xref> with
  102. <xref href="https://github.com/dita-ot/docs/milestone/28?closed=1" format="html" scope="external"
  103. >corrections and improvements</xref> to existing topics.</p>
  104. </li>
  105. </ul>
  106. <p>For the complete list of changes since the previous release, see the
  107. <xref href="https://github.com/dita-ot/dita-ot/compare/2.5.2...2.5.3" format="html" scope="external">
  108. changelog</xref> on GitHub.</p>
  109. </section>
  110. </refbody>
  111. </reference>
  112. <reference id="v252">
  113. <title>Maintenance Release 2.5.2</title>
  114. <refbody>
  115. <section>
  116. <p>DITA Open Toolkit Release 2.5.2 includes the following bug fixes.</p>
  117. <ul>
  118. <li id="2743">In DITA-OT 2.5.1, the mappull step could fail when a map referenced a DITA document where the
  119. root element was filtered out. The filtered document is now processed correctly.
  120. <xref href="https://github.com/dita-ot/dita-ot/pull/2743" format="html" scope="external">#2743</xref>
  121. </li>
  122. <li id="2749">In the original 2.5 release, setting a revision property to "flag" in the DITAVAL resulted in
  123. build errors if the DITAVAL did not also specify a start and end image for that flag. The build errors no
  124. longer appear.
  125. <xref href="https://github.com/dita-ot/dita-ot/pull/2749" format="html" scope="external">#2749</xref>
  126. </li>
  127. <li>
  128. <p>The documentation includes minor
  129. <xref href="https://github.com/dita-ot/docs/compare/2.5.1...2.5.2" format="html" scope="external">
  130. changes</xref> with
  131. <xref href="https://github.com/dita-ot/docs/milestone/27?closed=1" format="html" scope="external"
  132. >corrections and improvements</xref> to existing topics.</p>
  133. </li>
  134. </ul>
  135. <p>For the complete list of changes since the previous release, see the
  136. <xref href="https://github.com/dita-ot/dita-ot/compare/2.5.1...2.5.2" format="html" scope="external">
  137. changelog</xref> on GitHub.</p>
  138. </section>
  139. </refbody>
  140. </reference>
  141. <reference id="v251">
  142. <title>Maintenance Release 2.5.1</title>
  143. <refbody>
  144. <section>
  145. <p>DITA Open Toolkit Release 2.5.1 includes the following bug fixes.</p>
  146. <ul>
  147. <li id="2014">
  148. <p>In DITA-OT 2.5 and earlier, key resolution did not comply with the DITA specification’s requirement to
  149. use <xmlelement>linktext</xmlelement> from a key definition as valid replacement text for all uses of that
  150. key.
  151. <xref href="https://github.com/dita-ot/dita-ot/issues/1590" format="html" scope="external">#1590</xref>,
  152. <xref href="https://github.com/dita-ot/dita-ot/issues/2014" format="html" scope="external">#2014</xref>,
  153. <xref href="https://github.com/dita-ot/dita-ot/pull/2719" format="html" scope="external">#2719</xref></p>
  154. <p>In addition, several less common cases are fixed:
  155. <ul>
  156. <li>Previously, a <xmlelement>keyword</xmlelement> anywhere within the key definition was used as the
  157. first choice for link text, even if that keyword was located within <xmlelement>linktext</xmlelement>.
  158. As defined by the DITA specification, the replacement keyword is taken only from within
  159. <xmlelement>keywords</xmlelement>.</li>
  160. <li>Previously, the <xmlatt>navtitle</xmlatt> attribute was used as fallback text in some cases, while
  161. <xmlelement>navtitle</xmlelement> was ignored. The <xmlelement>navtitle</xmlelement> element is now
  162. used before checking the deprecated <xmlatt>navtitle</xmlatt> value for all cases.</li>
  163. <li>Previously, <xmlatt>navtitle</xmlatt> was used as link text even for local DITA topics where that
  164. value was ignored in favor of a navigation title in the topic. Now <xmlatt>navtitle</xmlatt> and
  165. <xmlelement>navtitle</xmlelement> are only used when locked or when the topic is not local
  166. DITA.</li>
  167. </ul>
  168. </p>
  169. </li>
  170. <li id="2701">In some cases, invalid DITA content resulted in build crashes from PDF, XHTML, or HTML5
  171. processing modules that expect required elements to be present. For example, this could happen when an
  172. element such as <xmlelement>ol</xmlelement> (which requires at least one list item) used DITAVAL filtering
  173. to exclude all items from the list. The code has been updated to more gracefully handle elements that are
  174. missing required children.
  175. <xref href="https://github.com/dita-ot/dita-ot/issues/2701" format="html" scope="external">#2701</xref>,
  176. <xref href="https://github.com/dita-ot/dita-ot/pull/2712" format="html" scope="external">#2712</xref>
  177. </li>
  178. <li id="2705">One DITA 1.3 RNG module in the grammar files for the
  179. <xref keyref="dita13-spec"/> contained a typo in a default attribute value. The typo will be corrected in
  180. the next DITA 1.3 errata, and is now fixed in the DITA-OT copy.
  181. <xref href="https://github.com/dita-ot/dita-ot/issues/2705" format="html" scope="external">#2705</xref>
  182. </li>
  183. <li id="2706">On Windows only, chunking a DITA document using the "by-topic" method would lose the root chunk
  184. and result in processing errors. The chunking process has been updated to handle Windows file paths
  185. correctly; the chunking process now produces the same results on all systems.
  186. <xref href="https://github.com/dita-ot/dita-ot/issues/2706" format="html" scope="external">#2706</xref>,
  187. <xref href="https://github.com/dita-ot/dita-ot/pull/2728" format="html" scope="external">#2728</xref>
  188. </li>
  189. <li id="2714">HTML5 output restores support for the <xmlatt>spectitle</xmlatt> attribute on
  190. <xmlelement>simpletable</xmlelement> elements and for the <xmlatt>specentry</xmlatt> attribute on
  191. <xmlelement>stentry</xmlelement> elements. Support for those attributes was missing after the HTML5 and
  192. XHTML code bases split in release 2.4.
  193. <xref href="https://github.com/dita-ot/dita-ot/pull/2714" format="html" scope="external">#2714</xref>
  194. </li>
  195. <li id="2716">In the original 2.5 release, a <xmlelement>topicref</xmlelement> that included a reference to a
  196. local topic ID (such as <codeph>href="file.dita#root"</codeph>) could cause build failures when another
  197. element in the document used the same ID. The reference is now handled properly.
  198. <xref href="https://github.com/dita-ot/dita-ot/pull/2716" format="html" scope="external">#2716</xref>
  199. </li>
  200. <li>
  201. <p>The documentation includes minor
  202. <xref href="https://github.com/dita-ot/docs/compare/2.5...2.5.1" format="html" scope="external">
  203. changes</xref> with
  204. <xref href="https://github.com/dita-ot/docs/milestone/25?closed=1" format="html" scope="external"
  205. >corrections and improvements</xref> to existing topics.</p>
  206. </li>
  207. </ul>
  208. <p>For the complete list of changes since the previous release, see the
  209. <xref href="https://github.com/dita-ot/dita-ot/compare/2.5...2.5.1" format="html" scope="external">
  210. changelog</xref> on GitHub.</p>
  211. </section>
  212. </refbody>
  213. </reference>
  214. <reference id="requirements">
  215. <title>Requirements</title>
  216. <refbody>
  217. <section>
  218. <draft-comment author="Roger">Add info on new minimum Java version or any other requirements that have changed
  219. since previous release.</draft-comment>
  220. <p>DITA Open Toolkit Release 2.5 requires the Java Runtime Environment (JRE) version
  221. <keyword keyref="tool.java.version"/> or later.</p>
  222. </section>
  223. </refbody>
  224. </reference>
  225. <reference id="highlights">
  226. <title>Release Highlights</title>
  227. <shortdesc>DITA-OT 2.5 includes <ph id="summary">a basic Java API, an experimental map-first
  228. preprocessing option, better support for DITA composite documents, publishing with multiple DITAVAL files, and
  229. more consistent styling for default PDF output</ph>.</shortdesc>
  230. <refbody>
  231. <section id="2604">
  232. <title>Java Application Programming Interface</title>
  233. <p>DITA-OT 2.5 includes a new
  234. <xref keyref="java-api"/> to allow developers to embed DITA-OT more easily into other Java programs.
  235. <xref href="https://github.com/dita-ot/dita-ot/issues/2604" format="html" scope="external">#2604</xref></p>
  236. <note type="tip">See the <cite>DITA-OT Java API documentation</cite> in the <filepath>doc/api/</filepath> folder
  237. of the DITA-OT distribution package for information on the packages, classes, interfaces and methods provided
  238. by the Java API.</note>
  239. </section>
  240. <section id="2497">
  241. <title>Map-first preprocessing</title>
  242. <p><ph conref="../reference/map-first-preprocessing.dita#ID/map-first-preproc-desc"/></p>
  243. <p conref="../reference/map-first-preprocessing.dita#ID/map-first-preproc-gain"/>
  244. <note conref="../reference/map-first-preprocessing.dita#ID/map-first-preproc-note"/>
  245. <p>See
  246. <xref keyref="map-first-preproc"/>,
  247. <xref href="https://github.com/dita-ot/dita-ot/pull/2497" format="html" scope="external">#2497</xref></p>
  248. </section>
  249. <section id="1077">
  250. <title>Improved PDF support for DITA composite documents</title>
  251. <p>When publishing PDF output from a DITA composite document (a DITA document with a root
  252. <xmlelement>dita</xmlelement> element), earlier versions of DITA-OT included only the first topic, and links
  253. to topics within <xmlelement>dita</xmlelement> elements were broken. The PDF output now includes the full
  254. content of the referenced document, and links to any element within the document are correct.
  255. <xref href="https://github.com/dita-ot/dita-ot/issues/1077" format="html" scope="external">#1077</xref>,
  256. <xref href="https://github.com/dita-ot/dita-ot/issues/1904" format="html" scope="external">#1904</xref>,
  257. <xref href="https://github.com/dita-ot/dita-ot/pull/2679" format="html" scope="external">#2679</xref></p>
  258. <p id="2698">Attributes from the <xmlelement>dita</xmlelement> element are now preserved when merging topics. In
  259. previous releases, attributes like <xmlatt>xml:lang</xmlatt> set on the <xmlelement>dita</xmlelement> element
  260. were lost during the PDF "topic merge" process.
  261. <xref href="https://github.com/dita-ot/dita-ot/issues/1298" format="html" scope="external">#1298</xref>,
  262. <xref href="https://github.com/dita-ot/dita-ot/pull/2698" format="html" scope="external">#2698</xref></p>
  263. </section>
  264. <section id="2637">
  265. <title>Publishing with multiple DITAVAL filter files</title>
  266. <p>The <codeph>args.filter</codeph> parameter, which previously allowed you to specify a single DITAVAL file for
  267. filtering or flagging, now accepts a list of URIs. The system path separator character is used to delimit
  268. individual file paths in the list of values (semicolon ‘<codeph>;</codeph>’ on Windows, and colon
  269. ‘<codeph>:</codeph>’ on macOS and Linux). DITAVAL files are evaluated in the order specified, so conditions
  270. specified in the first file take precedence over matching conditions specified in later files, just as
  271. conditions at the start of a DITAVAL document take precedence over matching conditions later in the same
  272. document.
  273. <xref href="https://github.com/dita-ot/dita-ot/issues/2637" format="html" scope="external">#2637</xref></p>
  274. <p>This feature allows you to manage your conditions independently or combine conditions from multiple sources.
  275. For example, you can now manage your filter conditions (that might change rarely) separately from revisions,
  276. or easily combine flagging conditions from different products when those products are published together.</p>
  277. <p>You can then pass the filenames to the <cmdname>dita</cmdname> command as follows:</p>
  278. <p>
  279. <codeblock><cmdname>dita</cmdname> <parmname>--input</parmname>=<filepath>userguide.ditamap</filepath> <parmname>--format</parmname>=<option>pdf</option> <parmname>--filter</parmname>=<filepath>filters.ditaval:flags.ditaval</filepath></codeblock>
  280. </p>
  281. <p id="2681"> DITAVAL properties are now more flexible so that plug-ins can provide a common set of DITAVAL
  282. conditions and override the <parmname>args.filter</parmname> parameter. Initialization code has been cleaned
  283. up so that it does not set unnecessary properties.
  284. <xref href="https://github.com/dita-ot/dita-ot/pull/2681" format="html" scope="external">#2681</xref></p>
  285. </section>
  286. <section id="2519" conref="../reference/migrating-to-2.5.dita#migrating-to-2.5/25-pdf-changes"/>
  287. <section>
  288. <p>A separate <codeph>org.dita.pdf2.legacy</codeph> plug-in can be used to restore the original settings. See
  289. <xref keyref="migrating-to-2-5">Migrating to release 2.5</xref>,
  290. <xref href="https://github.com/dita-ot/dita-ot/pull/2519" format="html" scope="external">#2519</xref>.</p>
  291. </section>
  292. </refbody>
  293. </reference>
  294. <reference id="issues">
  295. <title>Resolved issues</title>
  296. <shortdesc>In addition to the highlights mentioned above, DITA Open Toolkit Release 2.5
  297. includes the following changes.</shortdesc>
  298. <refbody>
  299. <section id="features">
  300. <title>Features</title>
  301. <p>DITA Open Toolkit Release 2.5 includes the following new features:</p>
  302. <ul>
  303. <li id="1134">The PDF transformation now uses variables to control ordered list numbering and unordered list
  304. bullets. This allows list styles to be more easily configured in overrides or by locale.
  305. <xref href="https://github.com/dita-ot/dita-ot/issues/1134" format="html" scope="external">#1134</xref>
  306. </li>
  307. <li id="1230">In PDF output, monospaced elements now inherit the font size from their parent elements. In
  308. earlier versions, the <codeph>base-font</codeph> attribute-set caused monospaced elements to reset font
  309. sizes unnecessarily. Removing these extra calls to <codeph>base-font</codeph> allows monospace elements to
  310. retain the current font size.
  311. <xref href="https://github.com/dita-ot/dita-ot/issues/1230" format="html" scope="external">#1230</xref>
  312. </li>
  313. <li id="1431">A new property named <codeph>remove-broken-links</codeph> is available to automatically remove
  314. any unresolved links. Setting the parameter to <codeph>true</codeph> will remove map-based links that do not
  315. resolve, as well as links coded within <xmlelement>related-links</xmlelement>. The default value is
  316. <codeph>false</codeph>.
  317. <xref href="https://github.com/dita-ot/dita-ot/issues/1431" format="html" scope="external">#1431</xref>
  318. </li>
  319. <li id="1964">The <codeph>copy-html</codeph> step in the pre-processing stage has been updated to work like
  320. <codeph>copy-image</codeph>, with a parameter for the destination directory. This allows more flexibility
  321. for extended transformation types that use these targets.
  322. <xref href="https://github.com/dita-ot/dita-ot/issues/1964" format="html" scope="external">#1964</xref>
  323. </li>
  324. <li id="2569">DITA-OT now processes DITA elements nested within <xmlelement>foreign</xmlelement> and
  325. <xmlelement>unknown</xmlelement> elements. Previously these elements were ignored and treated as part of
  326. the <xmlelement>foreign</xmlelement> or <xmlelement>unknown</xmlelement> content, so that (for example)
  327. <xmlatt>conref</xmlatt> targets were not retrieved and links were not properly handled.
  328. <xref href="https://github.com/dita-ot/dita-ot/issues/2569" format="html" scope="external">#2569</xref>
  329. </li>
  330. <li id="2670">A new internal parameter named <codeph>temp.output.dir.name</codeph> allows plugin developers to
  331. direct output to a location within the existing temporary directory, which allows for additional
  332. post-processing before files are placed in the output directory.
  333. <xref href="https://github.com/dita-ot/dita-ot/pull/2670" format="html" scope="external">#2670</xref>
  334. </li>
  335. <li id="2684">Eclipse Help output can now be created as a JAR file. When the
  336. <codeph>args.eclipsehelp.jar.name</codeph> property is specified for an Eclipse build, the generated
  337. content will all be zipped in a JAR file with the name taken from that property.
  338. <xref href="https://github.com/dita-ot/dita-ot/issues/2684" format="html" scope="external">#2684</xref>
  339. </li>
  340. <li id="2707">A new <codeph>path2rootmap</codeph> processing instruction is now added to topics in the
  341. temporary directory that includes a relative path to the root map. This helps to preserve links when
  342. generating output for content that is not located in or beneath the directory containing the DITA map file.
  343. <xref href="https://github.com/dita-ot/dita-ot/pull/2707" format="html" scope="external">#2707</xref>
  344. </li>
  345. </ul>
  346. </section>
  347. <section id="enhancements">
  348. <title>Enhancements and changes</title>
  349. <p>DITA Open Toolkit Release 2.5 includes the following enhancements and changes to
  350. existing features:</p>
  351. <ul>
  352. <li id="1238">DITA-OT now works with Saxon-HE (home edition) 9.4.0.3. Some XSLT modules in earlier versions
  353. relied on Java extensions that are not available in Saxon-HE; those dependencies have all been removed.
  354. <xref href="https://github.com/dita-ot/dita-ot/issues/1238" format="html" scope="external">#1238</xref>,
  355. <xref href="https://github.com/dita-ot/dita-ot/issues/2668" format="html" scope="external">#2668</xref>
  356. </li>
  357. <li id="2293">Product name processing has been revised to better support overrides in PDF customizations. The
  358. existing <codeph>text-only</codeph> mode is now used to enable customizations to support elements that add
  359. text (such as trademark symbols).
  360. <xref href="https://github.com/dita-ot/dita-ot/issues/2293" format="html" scope="external">#2293</xref>,
  361. <xref href="https://github.com/dita-ot/dita-ot/issues/2693" format="html" scope="external">#2693</xref>
  362. </li>
  363. <li id="2419">Earlier versions of DITA-OT created empty and unnecessary <xmlelement>fo:inline</xmlelement>
  364. elements for some elements when generating PDF output; those empty elements have been removed.
  365. <xref href="https://github.com/dita-ot/dita-ot/pull/2419" format="html" scope="external">#2419</xref>
  366. </li>
  367. <li id="2446">An <xmlelement>abbr</xmlelement> abbreviation wrapper has been added to
  368. <xmlelement>menucascade</xmlelement> output for improved HTML5 and XHTML accessibility. This allows screen
  369. readers to detect and read the right angle bracket <codeph>></codeph> submenu separator that appears between
  370. menu items as accessible text. In English, for example, this will be read as “and then”.
  371. <xref href="https://github.com/dita-ot/dita-ot/issues/2446" format="html" scope="external">#2446</xref>,
  372. <xref href="https://github.com/dita-ot/dita-ot/pull/2516" format="html" scope="external">#2516</xref>
  373. </li>
  374. <li id="2459">PDF output did not properly evaluate DITAVAL flagging conditions for
  375. <xmlelement>step</xmlelement> and <xmlelement>choice</xmlelement> elements within tasks, or for root topic
  376. elements. In addition, topics in sub-directories did not render image flags properly for any elements. These
  377. issues are all resolved.
  378. <xref href="https://github.com/dita-ot/dita-ot/issues/2459" format="html" scope="external">#2459</xref>,
  379. <xref href="https://github.com/dita-ot/dita-ot/pull/2674" format="html" scope="external">#2674</xref>
  380. </li>
  381. <li id="2552">Error messages in <cmdname>dita</cmdname> command output now appear in red on terminals that
  382. support
  383. <xref href="https://en.wikipedia.org/wiki/ANSI_escape_code" format="html" scope="external">ANSI escape
  384. codes</xref>, such as on Linux or macOS. The new property <codeph>cli.color</codeph> can be set to
  385. <codeph>false</codeph> to disable the color. (Colored output is not supported on Windows consoles such as
  386. <cmdname>cmd.exe</cmdname> or PowerShell).
  387. <xref href="https://github.com/dita-ot/dita-ot/pull/2552" format="html" scope="external">#2552</xref>
  388. </li>
  389. <li id="2579">The <codeph>args.logdir</codeph> and <codeph>args.debug</codeph> properties have been
  390. deprecated. To write the log to a file, use <cmdname>dita</cmdname>
  391. <parmname>--logfile</parmname>=<varname>file</varname> or <cmdname>ant</cmdname>
  392. <parmname>-l</parmname>
  393. <varname>file</varname> to set the path to the log.
  394. <xref href="https://github.com/dita-ot/dita-ot/issues/2579" format="html" scope="external">#2579</xref>
  395. </li>
  396. <li id="2594">Plug-in configuration has been extended to support configuration of parser features. For
  397. example, you can now toggle XInclude processing or change error recovery options. <!-- FIXME: How? -->
  398. <xref href="https://github.com/dita-ot/dita-ot/pull/2594" format="html" scope="external">#2594</xref>
  399. </li>
  400. <li id="2601">The file info filter configuration has been generalized to allow all modules to be configured
  401. via Ant.
  402. <xref href="https://github.com/dita-ot/dita-ot/issues/2601" format="html" scope="external">#2601</xref>
  403. </li>
  404. <li id="2657">In earlier versions, invalid IDs in a topic could break the build with a Null Pointer Exception
  405. if the topic was used twice in a map. Processing for topics that appear more than once has been improved to
  406. avoid this condition.
  407. <xref href="https://github.com/dita-ot/dita-ot/issues/2657" format="html" scope="external">#2657</xref>
  408. </li>
  409. <li id="2664">DITA-OT now uses Saxon functionality to write XSLT messages to a logger instead of to standard
  410. output. This provides a more consistent approach to logging messages across all modules.
  411. <xref href="https://github.com/dita-ot/dita-ot/pull/2664" format="html" scope="external">#2664</xref>
  412. </li>
  413. <li id="2672">Earlier processing for branch filtering could place <xmlelement>ditavalref</xmlelement> elements
  414. ahead of <xmlelement>topicmeta</xmlelement>, which would not be valid in a source map. Pre-processing has
  415. been revised to ensure the map remains valid after the branch filtering process.
  416. <xref href="https://github.com/dita-ot/dita-ot/pull/2672" format="html" scope="external">#2672</xref>
  417. </li>
  418. <li id="2677">The bundled Ant version has been updated to 1.10.1.
  419. <xref href="https://github.com/dita-ot/dita-ot/issues/2677" format="html" scope="external">#2677</xref>
  420. </li>
  421. <li id="2703">A common set of string variables is now used for the localized quotation marks that are used to
  422. wrap quotations in <xmlelement>q</xmlelement> elements; previous versions had one set of variables for PDF
  423. and another for other transformation types.
  424. <xref href="https://github.com/dita-ot/dita-ot/pull/2703" format="html" scope="external">#2703</xref>
  425. </li>
  426. </ul>
  427. </section>
  428. <section id="bugs">
  429. <title>Bugs</title>
  430. <p>DITA Open Toolkit Release 2.5 provides fixes for the following bugs:</p>
  431. <ul>
  432. <li id="1210">In previous releases, when a child map specified the <xmlatt>chunk</xmlatt> attribute on the
  433. <xmlelement>map</xmlelement> element, the resulting generated map in the temp directory no longer had the
  434. <xmlatt>chunk</xmlatt> attribute. The attribute is now preserved.
  435. <xref href="https://github.com/dita-ot/dita-ot/issues/1210" format="html" scope="external">#1210</xref>
  436. </li>
  437. <li id="1734">In earlier releases, resource-only topics would generate HTML5 and XHTML topics when they were
  438. used as the target of a content reference; topics referenced from resource-only topics also generated output
  439. even when the parameter <parmname>onlytopic.in.map</parmname> was set to override this behavior. Processing
  440. has been modified to ensure these extra files are no longer generated.
  441. <xref href="https://github.com/dita-ot/dita-ot/issues/1734" format="html" scope="external">#1734</xref>,
  442. <xref href="https://github.com/dita-ot/dita-ot/issues/2077" format="html" scope="external">#2077</xref>,
  443. <xref href="https://github.com/dita-ot/dita-ot/pull/2694" format="html" scope="external">#2694</xref>
  444. </li>
  445. <li id="1848">In previous releases, root level containers in a bookmap were dropped from PDF if they did not
  446. have a title or reference a topic. This occurred with <xmlelement>preface</xmlelement>,
  447. <xmlelement>chapter</xmlelement>, <xmlelement>appendices</xmlelement>, <xmlelement>appendix</xmlelement>,
  448. and any grouping element in the front or back matter. In addition, PDF builds would fail if a grouping
  449. element without title or <xmlatt>href</xmlatt> was the only child of a map. These are all fixed by letting
  450. processing fall through to topics within the group.
  451. <xref href="https://github.com/dita-ot/dita-ot/issues/1848" format="html" scope="external">#1848</xref>,
  452. <xref href="https://github.com/dita-ot/dita-ot/issues/2092" format="html" scope="external">#2092</xref>,
  453. <xref href="https://github.com/dita-ot/dita-ot/issues/2614" format="html" scope="external">#2614</xref>,
  454. <xref href="https://github.com/dita-ot/dita-ot/issues/2648" format="html" scope="external">#2648</xref>,
  455. <xref href="https://github.com/dita-ot/dita-ot/pull/2683" format="html" scope="external">#2683</xref>
  456. </li>
  457. <li id="2443">Links directly to nested topics in HTML5 were broken; HTML5 output now generates the correct
  458. links.
  459. <xref href="https://github.com/dita-ot/dita-ot/issues/2443" format="html" scope="external">#2443</xref>,
  460. <xref href="https://github.com/dita-ot/dita-ot/issues/2685" format="html" scope="external">#2685</xref>,
  461. <xref href="https://github.com/dita-ot/dita-ot/pull/2686" format="html" scope="external">#2686</xref>,
  462. <xref href="https://github.com/dita-ot/dita-ot/issues/2702" format="html" scope="external">#2702</xref>
  463. </li>
  464. <li id="2491">When a <xmlatt>copy-to</xmlatt> attribute is used to copy a topic to a new directory, earlier
  465. versions generated CSS paths based on the original location. CSS paths are now generated based on the new
  466. location.
  467. <xref href="https://github.com/dita-ot/dita-ot/issues/2491" format="html" scope="external">#2491</xref>
  468. </li>
  469. <li id="2541">Using the same name in two different key scopes is now supported as defined in the
  470. <xref keyref="dita13-spec"/>.
  471. <xref href="https://github.com/dita-ot/dita-ot/issues/2541" format="html" scope="external">#2541</xref>
  472. </li>
  473. <li id="2550">In earlier releases, when maps referenced content outside of the map directory and
  474. <parmname>generate.copy.outer</parmname>=<option>1</option> was used, HTML5 or XHTML output would copy
  475. images to the wrong location outside of the output directory. The images are now copied to the proper
  476. location.
  477. <xref href="https://github.com/dita-ot/dita-ot/issues/2550" format="html" scope="external">#2550</xref>,
  478. <xref href="https://github.com/dita-ot/dita-ot/pull/2682" format="html" scope="external">#2682</xref>
  479. </li>
  480. <li id="2646">The <msgnum>DOTX010E</msgnum> error included extra spacing around the <xmlatt>conref</xmlatt>
  481. attribute value. The extra spaces have been removed.
  482. <xref href="https://github.com/dita-ot/dita-ot/issues/2646" format="html" scope="external">#2646</xref>
  483. </li>
  484. <li id="2653">In earlier releases, key definitions for some images were marked as
  485. <codeph>format="html"</codeph> in the <filepath>.job.xml</filepath> file, limiting their use with later
  486. image processing. These now use <codeph>format="image"</codeph> as intended.
  487. <xref href="https://github.com/dita-ot/dita-ot/issues/2653" format="html" scope="external">#2653</xref>
  488. </li>
  489. <li id="2659">In DITA-OT 2.4, when new topics were generated by the Branch Filtering process, the generated
  490. topics were not added to the <filepath>.job.xml</filepath> configuration file. They are now added properly.
  491. <xref href="https://github.com/dita-ot/dita-ot/issues/2659" format="html" scope="external">#2659</xref>
  492. </li>
  493. <li id="2665">When setting link text, some link targets caused <filepath>topicpullImpl.xsl</filepath> to
  494. generate the following message <msgph>XPTY0004: A sequence of more than one item is not allowed as the first
  495. argument of normalize-space()</msgph>. The XSLT data type has been corrected to prevent this.
  496. <xref href="https://github.com/dita-ot/dita-ot/issues/2665" format="html" scope="external">#2665</xref>
  497. </li>
  498. <li id="2667">When key definitions reference files outside the map scope, key references to images could be
  499. resolved with the wrong path. The key definitions are now processed correctly.
  500. <xref href="https://github.com/dita-ot/dita-ot/issues/2568" format="html" scope="external">#2568</xref>,
  501. <xref href="https://github.com/dita-ot/dita-ot/issues/2667" format="html" scope="external">#2667</xref>
  502. </li>
  503. <li id="2669">If maps contained <xmlelement>ditavalref</xmlelement> elements and key definitions pointing to
  504. non-DITA files (such as images), earlier versions attempted to filter the non-DITA files and returned
  505. errors. The branch filtering process has been corrected to apply only to DITA files.
  506. <xref href="https://github.com/dita-ot/dita-ot/pull/2669" format="html" scope="external">#2669</xref>
  507. </li>
  508. <li id="2676">In previous releases, HTML5 builds failed when processing <xmlelement>table</xmlelement>
  509. elements that contained multiple <xmlelement>tgroup</xmlelement> elements. This is resolved by retrieving
  510. column definitions from the <xmlelement>tgroup</xmlelement> element.
  511. <xref href="https://github.com/dita-ot/dita-ot/issues/2676" format="html" scope="external">#2676</xref>
  512. </li>
  513. <li id="2678">When chunking a document, earlier releases dropped the <xmlatt>xml:lang</xmlatt> attribute from
  514. the root topic. The correct <xmlatt>xml:lang</xmlatt> attribute is now preserved on any chunked topics.
  515. <xref href="https://github.com/dita-ot/dita-ot/issues/2022" format="html" scope="external">#2022</xref>,
  516. <xref href="https://github.com/dita-ot/dita-ot/pull/2678" format="html" scope="external">#2678</xref>
  517. </li>
  518. <li id="2688">In HTML5 tables, some required table classes were missing when
  519. <codeph>args.html5.classattr=no</codeph> was specified for the build.
  520. <xref href="https://github.com/dita-ot/dita-ot/issues/2688" format="html" scope="external">#2688</xref>,
  521. <xref href="https://github.com/dita-ot/dita-ot/pull/2689" format="html" scope="external">#2689</xref>
  522. </li>
  523. <li id="2690">When a DITA topic that is used in the map is referenced using <xmlelement>coderef</xmlelement>,
  524. code references would embed the normalized file from the temporary directory. The original copy is now read
  525. from the source URI so that the original source appears in the code block.
  526. <xref href="https://github.com/dita-ot/dita-ot/issues/2690" format="html" scope="external">#2690</xref>
  527. </li>
  528. <li id="2691">In earlier releases, keys that referred to nested topics were not properly resolved. Key
  529. references to nested topics are now correctly resolved as a reference to the nested topic.
  530. <xref href="https://github.com/dita-ot/dita-ot/issues/2691" format="html" scope="external">#2691</xref>
  531. </li>
  532. <li id="2695">In PDF output from previous releases, the table of contents inserted a generated “<cite>Chapter
  533. :</cite>” prefix in front of the navigation title for the <xmlelement>appendices</xmlelement> element.
  534. This prefix has been removed.
  535. <xref href="https://github.com/dita-ot/dita-ot/issues/2695" format="html" scope="external">#2695</xref>
  536. </li>
  537. </ul>
  538. </section>
  539. <section id="contrib">
  540. <title>Contributors</title>
  541. <p>DITA Open Toolkit Release 2.5 includes
  542. <xref keyref="contributions"/> by the following people:</p>
  543. <!-- https://github.com/tj/git-extras/blob/master/Commands.md#git-summary – `git summary 2.4..` -->
  544. <draft-comment author="Roger">NOTE: This lists contributions to the core toolkit, not docs.</draft-comment>
  545. <ol>
  546. <li>Jarno Elovirta</li>
  547. <li>Robert D. Anderson</li>
  548. <li>Alexey Mironov</li>
  549. <li>Roger Sheen</li>
  550. <li>Shane Taylor</li>
  551. <li>Bob Thomas</li>
  552. <li>Vitaliy Danylyuk</li>
  553. <li>Lionel Moizeau </li>
  554. <li>Eliot Kimber</li>
  555. <li>Holger Voormann</li>
  556. </ol>
  557. <p>For the complete list of changes since the previous release, see the
  558. <xref href="https://github.com/dita-ot/dita-ot/compare/2.4...2.5" format="html" scope="external">
  559. changelog</xref> on GitHub.</p>
  560. </section>
  561. <section id="docs">
  562. <title>Documentation updates</title>
  563. <p>The documentation for DITA Open Toolkit Release 2.5 provides corrections and
  564. improvements to existing topics, along with new information:</p>
  565. <ul>
  566. <li>
  567. <xref keyref="java-api">New Java API</xref>
  568. </li>
  569. <li>
  570. <xref keyref="map-first-preproc"/></li>
  571. <li>
  572. <xref keyref="migrating-to-2-5">Migrating to release 2.5</xref>
  573. </li>
  574. </ul>
  575. <p>For additional information on documentation issues resolved in DITA Open Toolkit Release <keyword
  576. keyref="release"/>, see the
  577. <xref href="https://github.com/dita-ot/docs/issues?q=milestone%3A2.5+is%3Aclosed" format="html"
  578. scope="external">
  579. 2.5 milestone</xref> in the documentation repository.</p>
  580. <p>DITA Open Toolkit Release 2.5 includes
  581. <xref keyref="docs-contributions"/> by the following people:</p>
  582. <draft-comment author="Roger">NOTE: This lists contributions to docs, not to the core toolkit.</draft-comment>
  583. <ol>
  584. <li>Roger Sheen</li>
  585. <li>Robert D. Anderson</li>
  586. <li>Jarno Elovirta</li>
  587. <li>Shane Taylor</li>
  588. <li>Ed Porter</li>
  589. <li>Eero Helenius</li>
  590. <li>Lionel Moizeau</li>
  591. <li>George Bina</li>
  592. <li>Rene Mjartan</li>
  593. </ol>
  594. <p>For the complete list of documentation changes since the previous release, see the
  595. <xref href="https://github.com/dita-ot/docs/compare/2.4...2.5" format="html" scope="external">
  596. changelog</xref>.</p>
  597. </section>
  598. </refbody>
  599. </reference>
  600. </reference>