Bugfix release for Confluence Security Advisory 2022-06-02.
Today we released version 4.13.6 of the projectdoc Toolbox.
This is release provides improvements to cope with incompatibilties of the JSoup library provided by the later Confluence versions. It allows customers to update to a Confluence version that fixes Confluence Security Advisory 2022-06-02.
A previous micro or bugfix version of Confluence did introduce a non-backwards compatible library that will result in a runtime failure of the projectdoc Toolbox. This version of the projectdoc Toolbox fixes this issue and allows to run on all supported versions of Confluence.
The projectdoc Toolbox is an add-on for Confluence supporting agile software development teams to collaborate on process, project, system, and product documentation.
If you want to learn more about the projectdoc Toolbox and how it helps to create good project documentation, please refer to the introduction video!
The following image is a link to a video on YouTube. When you click the link your browser will serve a page from youtube.com
.
Very interesting, but way too fast?
Step through at your own pace with with our Prezi Presentation (external link to prezi.com
)!
In the Online Manual you’ll find additional video material that introduces you in the concepts of the projectdoc Toolbox.
Refer to use cases and show cases for information on how to use the projectdoc Toolbox.
List of Changes
The following changes are part of the latest projectdoc Toolbox for Confluence.
Key | Summary | T | P | Description |
---|---|---|---|---|
PDAC-1642 | Support JSoup Version 1.14.3 |
|
|
A previous micro or bugfix version of Confluence did introduce a non-backwards compatible version of the JSoup library that will result in a runtime failure of the projectdoc Toolbox. This prevents the rendering of a couple of macros that rely on HTML and XML parsing with JSoup. The API change that affects the projectoc Toolbox is releated to the NodeVisitor and the TextNode classes. For instance: java.lang.NoSuchMethodError: 'void org.jsoup.select.NodeTraversor.<init>(org.jsoup.select.NodeVisitor)'
at de.smartics.projectdoc.atlassian.confluence.tools.jsoup.JSoupHtmlToText.internalToText(JSoupHtmlToText.java:94)
at de.smartics.projectdoc.atlassian.confluence.tools.jsoup.JSoupHtmlToText.toText(JSoupHtmlToText.java:89)
at de.smartics.projectdoc.atlassian.confluence.util.HtmlToText.toText(HtmlToText.java:303)
at de.smartics.projectdoc.atlassian.confluence.util.HtmlToText.toText(HtmlToText.java:307)
at de.smartics.projectdoc.atlassian.confluence.document.Utils.normalizeRenderedValue(Utils.java:392)
at de.smartics.projectdoc.atlassian.confluence.document.Utils.normalizeOriginalValue(Utils.java:461)
at de.smartics.projectdoc.atlassian.confluence.document.DocumentPropertyValue.<init>(DocumentPropertyValue.java:344)
at de.smartics.projectdoc.atlassian.confluence.document.DocumentPropertyValue.<init>(DocumentPropertyValue.java:282)
at de.smartics.projectdoc.atlassian.confluence.document.DocumentPropertyValue.createValid(DocumentPropertyValue.java:551)
at de.smartics.projectdoc.atlassian.confluence.document.DocumentPropertyValue.createValid(DocumentPropertyValue.java:532)
at de.smartics.projectdoc.atlassian.confluence.document.ProjectdocDocument.put(ProjectdocDocument.java:223)
at de.smartics.projectdoc.atlassian.confluence.document.ProjectdocDocument.put(ProjectdocDocument.java:298)
at de.smartics.projectdoc.atlassian.confluence.document.ProjectdocDocument.put(ProjectdocDocument.java:286)
at de.smartics.projectdoc.atlassian.confluence.query.PropertiesDocumentCreator.fakeDocument(PropertiesDocumentCreator.java:229)
at de.smartics.projectdoc.atlassian.confluence.query.PropertiesDocumentCreator.fetchRenderFromBodyOrFake(PropertiesDocumentCreator.java:216)
at de.smartics.projectdoc.atlassian.confluence.macros.document.AbstractDocumentPropertiesMacro.providePropertiesDocument(AbstractDocumentPropertiesMacro.java:279)
at de.smartics.projectdoc.atlassian.confluence.macros.document.AbstractDocumentPropertiesMacro.licensedExecute(AbstractDocumentPropertiesMacro.java:202)
at de.smartics.projectdoc.atlassian.confluence.macros.document.DocumentPropertiesMarkerMacro.licensedExecute(DocumentPropertiesMarkerMacro.java:89)
at de.smartics.projectdoc.atlassian.confluence.util.LicenseMacro.executeMacro(LicenseMacro.java:225)
at de.smartics.projectdoc.atlassian.confluence.util.LicenseMacro.execute(LicenseMacro.java:148)
at de.smartics.projectdoc.atlassian.confluence.macros.document.AbstractDocumentPropertiesMacro.execute(AbstractDocumentPropertiesMacro.java:152)
We need to update the code of the projectdoc Toolbox to be compatible to version 1.9.2 and 1.14.3 of JSoup. We should also remove the CDATA workaround due to JSoup issue 406, since this issue is fixed in 1.11.3. We also need to fix issues where we construct body-based HTML fragments instead of HTML documents. This seems to be valid in 1.9.2, but not in 1.14.3. |
PDAC-1641 | JSoup internal API |
|
|
The use of StringUtil of JSoup is considered internal API. Since in version 1.14.3 the class is in a different package than in 1.9.2, the projectdoc Toolbox has runtime issues. This issues have been introduced when Confluence updated the JSoup library with a bugfix update. We need to remove the dependencies to JSoup internal API. |
PDAC-1644 | JSoup Runtime Issue with Body |
|
|
Due to update of the JSoup library from 1.9.2 to 1.14.3 there was a runtime-incombatible change in the semantics when accessing the body or the head element of a HTML document. We need to update all calls to the body/head method and deal with the changed semantics accordingly. |
PDAC-1643 | Remove Dependency commons-text |
|
|
The dependency to commons-text is not needed if we still use the deprecated version of a class in commons-lang. This way we do not need to bundle commons-text with the OBR. |
PDAC-1619 | Color Support for Tour Macro |
|
|
Allow to copy styles attached to the table cells to the rendered. |
PDAC-1543 | Documents Parameter of Display Property Reference Macro |
|
|
The parameter named Documents of the Document Property Reference Macro does not support autocomplete to specify documents. |
Resources
- Release Notes for the projectdoc Toolbox
- Relevant information on changes to the projectdoc Toolbox for Confluence introduces by new versions of this app.
- Glossary
- Terms used in and defined for projectdoc.
- FAQs
- Questions and answers related to the projectdoc Toolbox and Confluence.