projectdoc Toolbox 4.13.6 Release Notes

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. 

Release Notes Overview

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 Improvement Blocker (migrated)

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 Improvement Blocker (migrated)

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 Bug Blocker (migrated)

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 Improvement Minor (migrated)

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 Improvement Minor (migrated)

Allow to copy styles attached to the table cells to the rendered.

PDAC-1543 Documents Parameter of Display Property Reference Macro Bug Minor (migrated)

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.