index.dita 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  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="3.5">
  5. <title>DITA Open Toolkit <keyword keyref="release"/> Release Notes</title>
  6. <titlealts>
  7. <navtitle>Release Notes</navtitle>
  8. </titlealts>
  9. <abstract>
  10. <shortdesc>DITA Open Toolkit <keyword keyref="release"/> is a feature release that provides new features and
  11. enhancements, including <ph conref="#v3.5/summary"/>.</shortdesc>
  12. <p conkeyref="conref-task/semver-info"/>
  13. <note type="tip"><ph conkeyref="conref-task/download-ot"/></note>
  14. </abstract>
  15. <reference id="requirements">
  16. <title>Requirements</title>
  17. <refbody>
  18. <section>
  19. <draft-comment author="Roger">Add info on new minimum Java version or any other requirements that have changed
  20. since previous release.</draft-comment>
  21. <p conkeyref="reusable-components/java-clients"/>
  22. </section>
  23. </refbody>
  24. </reference>
  25. <reference id="v3.5">
  26. <title>DITA-OT <keyword keyref="release"/>
  27. <!--<ph outputclass="small text-muted">released MMM d, yyyy</ph>-->
  28. </title>
  29. <prolog>
  30. <metadata>
  31. <keywords>
  32. <indexterm/>
  33. </keywords>
  34. </metadata>
  35. </prolog>
  36. <refbody>
  37. <section>
  38. <p>DITA Open Toolkit Release <keyword keyref="release"/> includes <ph id="summary">support for additional input
  39. resources, an alternative subcommand syntax for the <cmdname>dita</cmdname> command, and an initial preview
  40. of features for the latest draft of the upcoming DITA 2.0 standard</ph>.</p>
  41. </section>
  42. <section id="dita-2-0-preview">
  43. <title>DITA 2.0 preview</title>
  44. <p id="3449">DITA-OT <keyword keyref="release"/> includes processing support for the latest DRAFT versions of
  45. the DITA 2.0 DTD and RelaxNG grammar files from OASIS (as of April 2020).
  46. <xref href="https://github.com/dita-ot/dita-ot/issues/3449" format="html" scope="external">#3449</xref>
  47. </p>
  48. <p conkeyref="dita-v2-0-support/grammar-files"/>
  49. <ul>
  50. <li id="3453">
  51. <p>
  52. <ph conkeyref="dita-v2-0-support/include"/>
  53. <xref href="https://github.com/dita-ot/dita-ot/issues/3453" format="html" scope="external">#3453</xref>
  54. </p>
  55. </li>
  56. <li id="3462">
  57. <p>
  58. <ph conkeyref="dita-v2-0-support/specializations"/>
  59. <xref href="https://github.com/dita-ot/dita-ot/issues/3440" format="html" scope="external">#3440</xref>,
  60. <xref href="https://github.com/dita-ot/dita-ot/issues/3462" format="html" scope="external">#3462</xref>
  61. </p>
  62. </li>
  63. <li id="3463">
  64. <p>
  65. <ph conkeyref="dita-v2-0-support/outputclass"/>
  66. <xref href="https://github.com/dita-ot/dita-ot/issues/3463" format="html" scope="external">#3463</xref>,
  67. <xref href="https://github.com/dita-ot/dita-ot/issues/3482" format="html" scope="external">#3482</xref>
  68. </p>
  69. </li>
  70. <li id="3464">
  71. <p>
  72. <ph conkeyref="dita-v2-0-support/simple-table-titles"/>
  73. <xref href="https://github.com/dita-ot/dita-ot/issues/3464" format="html" scope="external">#3464</xref>,
  74. <xref href="https://github.com/dita-ot/dita-ot/issues/3465" format="html" scope="external">#3465</xref>,
  75. <xref href="https://github.com/dita-ot/dita-ot/issues/3479" format="html" scope="external">#3479</xref>
  76. </p>
  77. </li>
  78. <li id="3483">
  79. <p>
  80. <ph conkeyref="dita-v2-0-support/topic-based-classes"/>
  81. <xref href="https://github.com/dita-ot/dita-ot/issues/3483" format="html" scope="external">#3483</xref>
  82. </p>
  83. </li>
  84. </ul>
  85. <note conkeyref="dita-v2-0-support/more-to-come"/>
  86. </section>
  87. <section id="features">
  88. <title>New features</title>
  89. <indexterm><parmname>--resource</parmname></indexterm>
  90. <indexterm><parmname>result.rewrite-rule.class</parmname></indexterm>
  91. <indexterm><parmname>result.rewrite-rule.xsl</parmname></indexterm>
  92. <indexterm><cmdname>deliverables</cmdname> subcommand</indexterm>
  93. <indexterm><cmdname>install</cmdname> subcommand</indexterm>
  94. <indexterm><cmdname>plugins</cmdname> subcommand</indexterm>
  95. <indexterm><cmdname>transtypes</cmdname> subcommand</indexterm>
  96. <indexterm><cmdname>uninstall</cmdname> subcommand</indexterm>
  97. <indexterm><cmdname>version</cmdname> subcommand</indexterm>
  98. <p>DITA-OT <keyword keyref="release"/> also includes the following new features:</p>
  99. <!-- https://github.com/dita-ot/dita-ot/issues?q=milestone%3A3.5+is%3Aclosed+label%3Afeature+sort%3Acreated-asc -->
  100. <ul>
  101. <li id="3412">
  102. <p>You can now pass additional input resources to the <cmdname>dita</cmdname> command with the
  103. <parmname>--resource</parmname> option.
  104. <xref href="https://github.com/dita-ot/dita-ot/issues/3412" format="html" scope="external"
  105. >#3412</xref></p>
  106. <p>For example, to process a single topic file with a map that contains key definitions, use a command like
  107. this:
  108. <codeblock><cmdname>dita</cmdname> <parmname>--input</parmname>=<filepath>topic.dita</filepath> <parmname>--resource</parmname>=<filepath>keys.ditamap</filepath> <parmname>--format</parmname>=<option>html5</option></codeblock>
  109. </p></li>
  110. <li id="3413">Two new parameters can be used to dynamically adjust the names and locations of output files in
  111. transformations that use the map-first pre-processing routine (<codeph>preprocess2</codeph>).
  112. <xref href="https://github.com/dita-ot/dita-ot/issues/3413" format="html" scope="external">#3413</xref>
  113. <ul>
  114. <li>Use <parmname>result.rewrite-rule.class</parmname> to rewrite filenames with a Java class</li>
  115. <li>Use <parmname>result.rewrite-rule.xsl</parmname> to rewrite via an XSLT stylesheet</li>
  116. </ul>
  117. </li>
  118. <li id="3437">
  119. <p>The <cmdname>dita</cmdname> command line interface has been refactored to support subcommands for common
  120. operations.
  121. <xref href="https://github.com/dita-ot/dita-ot/issues/3437" format="html" scope="external">#3437</xref>,
  122. <xref href="https://github.com/dita-ot/dita-ot/issues/3492" format="html" scope="external">#3492</xref>,
  123. <xref href="https://github.com/dita-ot/dita-ot/issues/3494" format="html" scope="external">#3494</xref>
  124. </p>
  125. <dl conkeyref="reusable-components/3.5-subcommands">
  126. <dlentry>
  127. <dt/>
  128. <dd/>
  129. </dlentry>
  130. </dl>
  131. <p>For syntax details, see
  132. <xref keyref="dita-command-arguments"/>.</p>
  133. <note>The double-hyphen option syntax has been retained for backwards compatibility, so if you use
  134. <cmdname>dita</cmdname>
  135. <parmname>--install</parmname> in scripts (or out of habit), it will still work.</note>
  136. <note type="tip">Each subcommand has its own <parmname>--help</parmname> option, so you can run
  137. <cmdname>dita install</cmdname>
  138. <parmname>--help</parmname> for details on the available arguments and options.</note>
  139. </li>
  140. <li id="3489">
  141. <p>DITAVAL <xmlatt>style</xmlatt> tokens are now also generated as CSS classes that are added to the
  142. <xmlatt>class</xmlatt> attribute values in the generated HTML.
  143. <xref href="https://github.com/dita-ot/dita-ot/issues/3489" format="html" scope="external"
  144. >#3489</xref></p>
  145. <p>Rules with corresponding class selectors have been added to the default stylesheets to implement the same
  146. appearance that previous versions of DITA-OT achieved with inline styles. You can override these flagging
  147. styles if necessary using the following classes: </p>
  148. <ul>
  149. <li><codeph>.flag__style--bold</codeph></li>
  150. <li><codeph>.flag__style--italics</codeph></li>
  151. <li><codeph>.flag__style--overline</codeph></li>
  152. <li><codeph>.flag__style--underline</codeph></li>
  153. <li><codeph>.flag__style--double-underline</codeph></li>
  154. </ul></li>
  155. </ul>
  156. </section>
  157. <section id="enhancements">
  158. <title>Enhancements and changes</title>
  159. <indexterm/>
  160. <p>DITA Open Toolkit Release <keyword keyref="release"/> includes the following enhancements and changes to
  161. existing features:</p>
  162. <!-- https://github.com/dita-ot/dita-ot/issues?q=milestone%3A3.5+is%3Aclosed+label%3Aenhancement+sort%3Acreated-asc -->
  163. <ul>
  164. <li id="3383">The Java code has been refactored to generate <codeph>xsl:message</codeph> output using methods
  165. that are compatible with Saxon Enterprise Edition.
  166. <xref href="https://github.com/dita-ot/dita-ot/issues/3383" format="html" scope="external">#3383</xref>,
  167. <xref href="https://github.com/dita-ot/dita-ot/issues/3452" format="html" scope="external">#3452</xref>
  168. </li>
  169. <li id="3395">Handling for <msgph>UncheckedXPathException</msgph> errors has been improved to provide more
  170. details on the source of the error including line and column information.
  171. <xref href="https://github.com/dita-ot/dita-ot/issues/3395" format="html" scope="external">#3395</xref>
  172. </li>
  173. <li id="3425">The integration tests for the map-first preprocessing routine (<codeph>preprocess2</codeph>)
  174. have been separated from the previous preprocessing tests, with dedicated results defined to evaluate the
  175. compliance of map-first preprocessing with the expected output.
  176. <xref href="https://github.com/dita-ot/dita-ot/issues/3425" format="html" scope="external">#3425</xref>
  177. </li>
  178. <li id="3430">The HTML5 plug-in includes new attribute sets for link lists that make it easier for custom
  179. plug-ins to add supplementary classes or other customizations without overriding entire templates. The
  180. default output includes the same CSS classes as previous versions of DITA-OT (<codeph>relconcepts</codeph>,
  181. <codeph>relinfo</codeph>, <codeph>relref</codeph>, <codeph>reltasks</codeph>), so existing customizations
  182. that rely on these classes will behave as expected.
  183. <xref href="https://github.com/dita-ot/dita-ot/issues/3430" format="html" scope="external">#3430</xref>
  184. </li>
  185. <li id="3434">Various unused and deprecated Ant properties, list files, and targets have been removed from the
  186. preprocessing configuration. Recent DITA-OT versions provide alternative mechanisms to achieve the same
  187. results, such as the <xmlelement>ditafileset</xmlelement> element to select resources in the temporary
  188. directory.
  189. <xref href="https://github.com/dita-ot/dita-ot/issues/3434" format="html" scope="external">#3434</xref>
  190. </li>
  191. <li id="3442">The <codeph>org.dita.eclipsehelp</codeph> plugin, which is still bundled with DITA-OT, is now
  192. installed from a separate repository.
  193. <xref href="https://github.com/dita-ot/dita-ot/issues/3442" format="html" scope="external">#3442</xref>
  194. </li>
  195. <li id="3471">XSLT processing has been adjusted to use Saxon’s preferred Java API for XSLT, XQuery, XPath, and
  196. XML Schema processing (S9API) directly instead of the JAXP wrapper used by previous versions of DITA-OT.
  197. <xref href="https://github.com/dita-ot/dita-ot/issues/3471" format="html" scope="external">#3471</xref>
  198. </li>
  199. <li id="3473">Java code has been refactored to use a single instance of XML utilities during processing. This
  200. approach allows other XML-related resources to be shared, including Saxon processors and name pools.
  201. <xref href="https://github.com/dita-ot/dita-ot/issues/3473" format="html" scope="external">#3473</xref>
  202. </li>
  203. </ul>
  204. </section>
  205. <section id="bugs">
  206. <title>Bugs</title>
  207. <indexterm/>
  208. <p>DITA Open Toolkit Release <keyword keyref="release"/> provides fixes for the following bugs:</p>
  209. <!-- https://github.com/dita-ot/dita-ot/issues?q=milestone%3A3.5+is%3Aclosed+label%3Abug+sort%3Acreated-asc -->
  210. <ul>
  211. <li id="1899">The DITA 1.x specification defines cascade behaviors for maps such that
  212. <xmlelement>othermeta</xmlelement> and <xmlelement>source</xmlelement> do not cascade to child
  213. <xmlelement>topicref</xmlelement> elements. In earlier releases the <codeph>mappull</codeph> stage of
  214. processing pushed these to nested elements; that behavior is now corrected to match the specification.
  215. <xref href="https://github.com/dita-ot/dita-ot/issues/1899" format="html" scope="external">#1899</xref>,
  216. <xref href="https://github.com/dita-ot/dita-ot/issues/3326" format="html" scope="external">#3326</xref></li>
  217. <li id="3232">When <xmlelement>coderef</xmlelement> elements imported code samples with key references via the
  218. <xmlatt>keyref</xmlatt> attribute, earlier versions of DITA-OT appended the (temporary) file name of the
  219. referenced code sample to the last line of the parent <xmlelement>codeblock</xmlelement> element. Processing
  220. has been corrected to ensure that code blocks contain only the referenced code samples.
  221. <xref href="https://github.com/dita-ot/dita-ot/issues/3232" format="html" scope="external">#3232</xref>,
  222. <xref href="https://github.com/dita-ot/dita-ot/issues/3496" format="html" scope="external">#3496</xref>
  223. </li>
  224. <li id="3429">To support
  225. <xref href="#v3.5/3412">additional resources</xref>, the <codeph>mapref</codeph> preprocessing stage now
  226. runs even if the input file is not a map. DITA-OT now checks whether maps with additional resources are
  227. available, even if they are not specified as input files.
  228. <xref href="https://github.com/dita-ot/dita-ot/issues/3429" format="html" scope="external">#3429</xref>
  229. </li>
  230. <li id="3484">In some earlier releases, a call to an empty stub template for table <xmlatt>summary</xmlatt>
  231. attributes was dropped. Calls to that template have been restored, making it available for easy overrides.
  232. <xref href="https://github.com/dita-ot/dita-ot/issues/3484" format="html" scope="external">#3484</xref>
  233. </li>
  234. <li id="3497">When key definitions with external scope were defined in maps in subdirectories, earlier
  235. versions treated absolute paths beginning with slashes as relative paths, and prefixed the name of the
  236. enclosing directory to the output path, resulting in broken links. Map reference processing has been
  237. corrected to ensure that absolute paths are recognized as such and passed to the output as intended.
  238. <xref href="https://github.com/dita-ot/dita-ot/issues/3497" format="html" scope="external">#3497</xref>
  239. </li>
  240. <li id="3498">If <xmlelement>term</xmlelement> elements pointed to missing topics using the
  241. <xmlatt>keyref</xmlatt> attribute, earlier versions of DITA-OT would crash during the build process. An
  242. additional check has been implemented to catch these cases, allowing the build to finish and report errors
  243. for any unresolved term references.
  244. <xref href="https://github.com/dita-ot/dita-ot/issues/3498" format="html" scope="external">#3498</xref>
  245. </li>
  246. <li id="3502">In HTML5 output, earlier versions of DITA-OT displayed the “Note” label when the
  247. <xmlatt>type</xmlatt> attribute of a <xmlelement>note</xmlelement> element was set to
  248. <codeph>notice</codeph>. Processing has been updated to ensure that the “Notice” label is correctly
  249. applied.
  250. <xref href="https://github.com/dita-ot/dita-ot/issues/3502" format="html" scope="external">#3502</xref>,
  251. <xref href="https://github.com/dita-ot/dita-ot/issues/3503" format="html" scope="external">#3503</xref>
  252. </li>
  253. <li id="3505">In previous releases, when <xmlelement>chunk</xmlelement> was used to combine a branch of
  254. content, and a file within that branch was missing or invalid, processing within the chunk module could fail
  255. with a NullPointerException. This condition has been fixed, and processing will continue without the missing
  256. file.
  257. <xref href="https://github.com/dita-ot/dita-ot/issues/3505" format="html" scope="external">#3505</xref>
  258. </li>
  259. </ul>
  260. </section>
  261. <section id="contrib">
  262. <title>Contributors</title>
  263. <p>DITA Open Toolkit Release <keyword keyref="release"/> includes
  264. <xref keyref="contributions"/> by the following people:</p>
  265. <!-- https://github.com/tj/git-extras/blob/master/Commands.md#git-summary – `git summary 3.4..` -->
  266. <draft-comment author="Roger">NOTE: This lists contributions to the core toolkit, not docs.</draft-comment>
  267. <ol>
  268. <li>Jarno Elovirta</li>
  269. <li>Robert D Anderson</li>
  270. <li>Radu Coravu</li>
  271. <li>Roger Sheen</li>
  272. <li>Lionel Moizeau</li>
  273. <li>Stefan Weil</li>
  274. </ol>
  275. <p>For the complete list of changes since the previous release, see the
  276. <xref href="https://github.com/dita-ot/dita-ot/compare/3.4...3.5" format="html" scope="external">
  277. changelog</xref> on GitHub.</p>
  278. </section>
  279. <section id="docs">
  280. <title>Documentation updates</title>
  281. <p>The documentation for DITA Open Toolkit Release <keyword keyref="release"/> provides corrections and
  282. improvements to existing topics, along with new information in the following topics:</p>
  283. <ul>
  284. <li>
  285. <xref keyref="dita-command-arguments"/></li>
  286. <li>
  287. <xref keyref="plugins-installing"/></li>
  288. <li>
  289. <xref keyref="plugins-removing"/></li>
  290. <li>
  291. <xref keyref="migrating-to-3.5"/></li>
  292. <li>
  293. <xref keyref="dita-v2-0-support"/></li>
  294. </ul>
  295. <p>The topic hierarchy has been revised to promote information on common customization scenarios, including
  296. <xref keyref="html-customization"/> and
  297. <xref keyref="pdf-customization"/>, and how to extend the toolkit by
  298. <xref keyref="adding-plugins"/> and
  299. <xref keyref="custom-plugins"/>.</p>
  300. <p>For additional information on documentation issues resolved in DITA Open Toolkit Release <keyword
  301. keyref="release"/>, see the
  302. <xref href="https://github.com/dita-ot/docs/issues?q=milestone%3A3.5+is%3Aclosed" format="html"
  303. scope="external">
  304. <keyword keyref="release"/> milestone</xref> in the documentation repository.</p>
  305. <p>DITA Open Toolkit Release <keyword keyref="release"/> includes
  306. <xref keyref="docs-contributions"/> by the following people:</p>
  307. <draft-comment author="Roger">NOTE: This lists contributions to docs, not to the core toolkit.</draft-comment>
  308. <ol>
  309. <li>Roger Sheen</li>
  310. <li>Robert D Anderson</li>
  311. <li>Jarno Elovirta</li>
  312. <li>Shane Taylor</li>
  313. <li>Lief Erickson</li>
  314. <li>Heston Hoffman</li>
  315. </ol>
  316. <p>For the complete list of documentation changes since the previous release, see the
  317. <xref href="https://github.com/dita-ot/docs/compare/3.4...3.5" format="html" scope="external">
  318. changelog</xref>.</p>
  319. </section>
  320. </refbody>
  321. </reference>
  322. </reference>