Releases: css4j/css4j-dom4j
5.0
Highlights
Major version bumped to 5
To emphasize that it is compatible with css4j 5.0, major version was bumped to 5.
Detail of changes
- Override
createElement(String, String)
inXHTMLDocumentFactory
. - Tests: add selector matcher tests.
- Upgrade to actions/setup-java v4.
- Default to Linux line endings for source files.
- Set up CodeQL analysis.
- Upgrade JUnit to version 5.11.1.
- Upgrade Gradle wrapper to 8.10.2.
- Upgrade to extra-java-module-info version 1.9.
- Bump copyright year to 2024.
4.2
Release Highlights
Align with css4j 4.2.2
Implements a method required by css4j 4.2.2.
Detail of changes
- Handle also embedded sheets when setting and enabling sets by title.
- Several code simplifications.
- Tests: add a test for
getDoctype()
. - Tests: add another (disabled) upstream test.
- Add scm section to Maven POM data.
- Upgrade to css4j 4.2.2.
- Upgrade to SLF4J 2.0.9.
- Upgrade to JUnit 5.10.1.
- Upgrade Gradle wrapper to 8.4.
- Upgrade to extra-java-module-info 1.6.
- Upgrade to actions/checkout@v4.
- Enable dependabot for Github actions.
Version 4.0
Release Highlights
Override several deprecated methods
Several deprecated DOM methods were triggering exceptions, now they just do nothing or return null
.
Detail of changes
- Override several deprecated methods.
- Tests: convert the tests to JUnit 5.
- Upgrade to css4j 4.1.
- Upgrade to JUnit 5.10.0.
- Upgrade to slf4j 2.0.7.
- Upgrade to extra-java-module-info 1.4.1.
- Upgrade Gradle wrapper to 8.3.
- changes.sh: add a dot at the end of each item.
- Add a RELEASE_HOWTO.
Version 3.9.1
Release Highlights
Use org.dom4j
as DOM4J's module name
DOM4J version 2.1.4 was released which uses the org.dom4j
module name, and this project was upgraded accordingly.
Detail of changes
- Invalidate computed style after the removal of a default-style
http-equiv
attribute. - Speed up the computation of base URI, make it more reliable.
- Tests: add a few styling error checks.
- Tests: remove an unnecessary cast.
- Gradle: use a different line conversion procedure to avoid Git glitches
- Bump year to 2023 in copyright notices.
- Upgrade to slf4j-api 2.0.6
- Upgrade to css4j 3.9.1
- Upgrade to css4j-agent 3.7.1
- Upgrade to dom4j 2.1.4
- Upgrade Gradle wrapper to 7.6
- Upgrade to extra-java-module-info 1.2
Version 3.9.0
Release Highlights
Add rebuildCascade()
to XHTMLDocument
Gives a native, more efficient implementation to css4j's CSSDocument.rebuildCascade()
default method.
Detail of changes
- Get on pair with css4j 3.9.0 and provide a non-default implementation for
rebuildCascade()
. - Check for read-only in
setAttributeNode()
. - Prevent NPE in
setTargetMedium(String)
. - Upgrade to
extra-java-module-info
1.0 - Gradle: prefer version 2.0.3 of
slf4j-api
.
Version 3.8.0
Release Highlights
Use <style>
elements from any namespace for computing styles
In style computation, inline styles that were in a non-HTML namespace were not being used. This is what some browsers did in the past but that is no longer the case.
Now it uses style elements having any namespace, which matches the current behaviour of web browsers and makes it easier to support inlined SVG.
Detail of changes
- Use
<style>
elements from any namespace for computing styles. - Javadoc: add a module description.
- Fix javadoc warning.
- Gradle: upgrade wrapper to 7.5.1.
- Upgrade
extra-java-module-info
plugin to 0.15. - Actions: switch from 'adopt' distribution to 'temurin', setup-java@v2 to 3.
- Actions: upgrade actions/checkout to v3.
Version 3.7.1
Fixes a bug in positional selector matching.
Version 3.7.0
Release Highlights
-
getSheet()
now returnsnull
if the sheet's Content-Type is invalid. -
css4j-dom4j now requires css4j 3.7.1 or later.
Version 1.3.0
Although the 1-stable
branch is nowhere near the level of features of master, it is still the easiest upgrade path for people that use other SAC implementations, or that are stuck with Java 7.
This maintenance release backports a few master
fixes to 1-stable
, for people that cannot upgrade to 3.x. By all means please use css4j-dom4j 3.x or later, instead of this release.
Release Highlights
Support the :dir()
pseudo-class
The :dir()
pseudo-class is now partially supported in computed styles.
Full support could not be implemented due to dom4j's limited DOM support. Users are advised to switch to css4j's native DOM if they need a full :dir
implementation.
Build
The build system was switched from Maven to Gradle.
Version 3.6.1
Release Highlights
DOM conformance.
-
XHTMLDocument
has gainedgetCompatMode()
. -
XHTMLDocument
now returns sane default values forDocument.inputEncoding
,xmlEncoding
,xmlStandalone
andxmlVersion
attributes (instead of throwing an exception). Thanks to that, css4j-dom4j documents can now be used with a wider XML infrastructure likejavax.xml.transform.Transformer
.
Build & CI.
-
Miscellaneous build improvements.
-
Added a CI workflow.
-
New workflow to automatically publish in Github packages on release.