|
1 |
| -# css4j version 5.3 Release Notes |
| 1 | +# css4j version 5.3.1 Release Notes |
2 | 2 |
|
3 |
| -### March 31, 2025 |
| 3 | +### April 1, 2025 |
4 | 4 |
|
5 | 5 | <br/>
|
6 | 6 |
|
7 | 7 | ## Highlights
|
8 | 8 |
|
9 |
| -### Improved CSS function management |
| 9 | +### Regression fix |
10 | 10 |
|
11 |
| -- Function names are now converted to a canonical form (mostly lowercase, except for names like `rotateX` or `skewY`). |
12 |
| -- New type identifiers for many functions. |
13 |
| -- New `<easing-function>` syntax. |
14 |
| -- Add `LexicalUnit.shallowMatch(CSSValueSyntax)`, use in shorthand decompositions. |
15 |
| -- Prefixed functions are processed separately and no longer used in style computations. |
16 |
| -- Allow trailing comma in function arguments, see CSSWG issue 4968. |
17 |
| -- Added method `getContextIndex()` to `LexicalUnit`. |
18 |
| -- Undeprecate `CSSMathFunctionValue.MathFunction`, keep backwards compatibility broken by 5.2. |
| 11 | +This release fixes a DOM regression introduced in 5.3. All users of 5.3 should |
| 12 | +upgrade to 5.3.1. |
19 | 13 |
|
20 |
| -### `CSSEnvVariableValue` values |
| 14 | +### XML entities in pseudo-attributes |
21 | 15 |
|
22 |
| -`CSSEnvVariableValue` was updated to the latest specification which allows indices. |
| 16 | +The library now replaces XML predefined entities in the pseudo-attributes of |
| 17 | +Processing Instructions, for example `title="1&2"`. |
23 | 18 |
|
24 |
| -In web browsers, `env()` is substituted at parse time. But given the multiplicity |
25 |
| -of use cases for this library, the substitution is done at computed-value time |
26 |
| -and this requires a CSSOM value interface. |
| 19 | +For details about the syntax, see |
27 | 20 |
|
28 |
| -### DOM wrapper |
29 |
| - |
30 |
| -A few improvements. For example, insert/remove/replace/append child operations |
31 |
| -are now allowed in elements. |
| 21 | +https://www.w3.org/TR/xml-stylesheet/xml-stylesheet.xml#NT-PseudoAtt |
32 | 22 |
|
33 | 23 | <br/>
|
34 | 24 |
|
35 | 25 | ## Detail of changes
|
36 | 26 |
|
37 |
| -- Undeprecate `CSSMathFunctionValue.MathFunction`, keep backwards compatibility broken by 5.2. |
38 |
| -- agent: deprecate archaic cookie management code for removal. |
39 |
| -- NSAC: convert function names to a canonical form (mostly lowercase, except for names like `rotateX` or `skewY`). |
40 |
| -- NSAC: allow trailing comma in function arguments, see CSSWG issue 4968. |
41 |
| -- NSAC: add method `getContextIndex()` to `LexicalUnit`. It may be useful to implementations. |
42 |
| -- NSAC: add `LexicalUnit.shallowMatch(CSSValueSyntax)`, use in shorthand decompositions. |
43 |
| -- NSAC,CSSOM: new type identifiers for many functions, including the `circle`, `ellipse`, `inset`, `path`, `polygon`, `shape` and `xywh` functions from CSS Shapes Module. |
44 |
| -- NSAC,CSSOM: new `<easing-function>` syntax. |
45 |
| -- NSAC,CSSOM: prefixed functions are processed separately and no longer used in style computations. |
46 |
| -- CSSOM: `CSSEnvVariableValue` update. |
47 |
| -- CSSOM: use the syntax match infrastructure in shorthand decomposition and gradients. |
48 |
| -- CSSOM: stop using `StyleDatabase.getWidthSize()` in `SimpleBoxModel`. |
49 |
| -- CSSOM: use the `BaseCSSStyleSheetFactory` class to load the default UA sheets. This avoids potential classloader issues when the factory is subclassed. |
50 |
| -- CSSOM: clamp RGB conversion in `HSLColorValue` (HSL colors belong to the sRGB color space, so in principle it is not needed to clamp. But clamp for safety anyway, in case that some numeric inaccuracy causes out-of-gamut mappings). |
51 |
| -- DOM wrapper: a few improvements, especially to element child handling. |
52 |
| -- DOM: stricter hierarchy checks in the native DOM. |
53 |
| -- Deprecation clean-up: Do not use java.net.URL() constructors. |
54 |
| -- Tests: add a couple of no-EntityResolver tests to `XMLDocumentBuilderTest`. |
55 |
| -- Tests: more URI management tests in the DOM & wrapper. |
56 |
| -- Code clean-up & formatting. |
57 |
| -- Gradle: move dependency versions to a separate properties file. |
58 |
| -- Add a SECURITY.md. |
59 |
| -- Upgrade to JUnit 5.12.1. |
60 |
| -- Upgrade to TokenProducer 3.1. |
61 |
| -- Upgrade to checkstyle 10.22.0. |
62 |
| -- Upgrade Gradle wrapper to 8.13. |
| 27 | +- Fix DOM regression introduced in be35ef9cea4. |
| 28 | +- Support XML entities in PI pseudo-attributes. |
0 commit comments