[ANNOUNCEMENT] CSS4J 3.6.1

14 views
Skip to first unread message

admin

unread,
Aug 29, 2021, 9:28:24 AM8/29/21
to css4j
New version 3.6.1 is available from the usual places:



All users are encouraged to upgrade.


Highlights

Deprecations
  Interface RGBColorValue is now deprecated for removal (see issue #4 for context).

  Method ErrorHandler.ruleIOError() is deprecated for removal.

User agent
 The http.agent system property is now used to set the user agent string (issue #8).

Bug fixes
  A couple NSAC fixes (#6), and also stricter sanity checks for missing operands in calc() (#7).


Changes
- NSAC: Allow custom properties that contain a top-level asterisk (regression introduced in 3.5.2).
- NSAC: large integers are now being parsed as REAL instead of producing an
  error.
- Agent: use the http.agent system property to set the user agent string.
- CSSOM: interface RGBColorValue deprecation is now 'for removal'.
- CSSOM: set ErrorHandler.ruleIOError() deprecation for removal.
- CSSOM: stricter sanity checks for missing operands in calc().
- Tests: add two tests for high control chars.
- Tests: add gradient test with hsla() color.
- Gradle: add a buildSrc cleaner task.
- Gradle: copy licensing files to META-INF directory of archive files.
- Gradle: line-ending conversion task now warns if file does not exits.
- Gradle: merge dependency versions from gradle.properties into build.gradle.
- Gradle: other cleanups.
- Gradle: update wrapper to version 7.2.

Vincent Massol

unread,
Aug 30, 2021, 4:09:25 AM8/30/21
to css4j
Thanks for the release! I'm trying to upgrade but I can't find v3.6.1 of https://github.com/css4j/css4j-dom4j/releases

Does it mean you're now separating releases of css4j (main artifact) from css4j-dom4j?

We used to have only:

<!-- Carte CSS4J -->
<dependency>
<groupId>io.sf.carte</groupId>
<artifactId>css4j-dom4j</artifactId>
<version>${css4j.version}</version>
</dependency>

Note that from a usage POV it was much simpler to have a single version (and we don't care at all if all artifacts had changes or not). This way we're sure to have the right artifacts, that work well together. Otherwise it's a pain.

Thx
-Vincent

admin

unread,
Aug 30, 2021, 7:13:35 AM8/30/21
to css4j
El lunes, 30 de agosto de 2021 a las 10:09:25 UTC+2, ****@****.com escribió:
Thanks for the release! I'm trying to upgrade but I can't find v3.6.1 of https://github.com/css4j/css4j-dom4j/releases

Does it mean you're now separating releases of css4j (main artifact) from css4j-dom4j?

Yes, that was the outcome of issue 5. Quoting from there:

> The basic idea is that, starting with 3.6.0, any module with a 3.x major version can be combined, same with 4.x once it comes out etc. For example, you'll be able to combine css4j-dom4j 3.6.0 with css4j 3.7.0 and css4j-agent 3.6.1, but not with css4j 4.0.0.

If you download the full-distribution zip for 3.6.1, you'll see that the jar directory still contains all the artifacts, but the versions of css4j-dom4j, css4j-agent etc are 3.6.0 instead of 3.6.1.

We used to have only:

<!-- Carte CSS4J -->
<dependency>
<groupId>io.sf.carte</groupId>
<artifactId>css4j-dom4j</artifactId>
<version>${css4j.version}</version>
</dependency>

Now you need two dependencies, one for core css4j and another for css4j-dom4j.
 
Note that from a usage POV it was much simpler to have a single version (and we don't care at all if all artifacts had changes or not). This way we're sure to have the right artifacts, that work well together. Otherwise it's a pain.

As long as the artifacts have the same major version number, you are fine.

I believe that I misunderstood your comments at issue #5, did not know that you were strongly against independent artifacts. However, I do not think that you'll need to upgrade the css4j-dom4j version very often (the Java code hasn't changed since 3.4.0 —except for an additional test— and I have no plans to further change it).

The only reason to upgrade to css4j-dom4j 3.6.0 is that it has a range dependency on css4j, which should be more friendly to the Maven enforcer plugin that you use.
 
Sorry for the annoyance.

Vincent Massol

unread,
Aug 30, 2021, 7:21:43 AM8/30/21
to css4j
Thanks for the reply and details! Don't worry we'll manager even if it's a bit less convenient :) It's a small detail compared to the nice benefits of having a supported CSS4J lib with bug fixes and improvements regularly, and we thank you for that.
-Vincent

Reply all
Reply to author
Forward
0 new messages