Merge box alignment properties into the place-content, place-items and place-self shorthands, such as align-items:center;justify-items:start into place-items:center start. This only happens when every browser in your Browserslist targets supports the shorthands, because a browser that does not would ignore both alignments. The defaults query includes browsers with unknown support, such as Opera Mini and UC Browser, so it keeps the longhands. Values that use safe, unsafe or last baseline merge only when both values use the same keywords. postcss-merge-longhand now accepts the Browserslist options overrideBrowserslist, stats, path and env.
Fixes
Write numbers in scientific notation when it is shorter, such as 1e-6px for 0.000001px and 1e6px for 1000000px. This also applies when length unit conversion is disabled. Numbers written without a decimal point, such as z-index:1000000, keep their form, because an <integer> cannot use scientific notation.
Stop merging longhands across a nested rule or at-rule. The shorthand ended up after the nested rule and overrode it, so in a{margin-top:1px;&{margin-top:2px}…} the nested margin-top was lost. This applies to margin, padding, border, border-radius and columns. Declarations on each side of a nested rule are now merged separately. An at-rule without a block, such as @apply x;, also separates them, since it may add declarations. An empty rule such as &{} does not. A border-image or all declaration before a nested rule no longer prevents merging the border longhands after it.
Stop merging rules that have an invalid selector, such as b: hover, [a b], :lang(en fr) or a||b. An invalid selector makes the whole selector list invalid, so the browser also dropped the valid rule it was merged with.
Only treat a dimension as the font size in the font shorthand when it has a length unit. An invalid value such as font:bold 1s "Arial Black" is now left unchanged.
Leave the font shorthand unchanged when it contains attr(), if(), inherit() or a custom function such as --name(), as already done for var() and env(). Their result is only known when the browser computes the value.
Remove a zero color stop position only when it has the right type for the gradient. conic-gradient() now drops 0deg and keeps an invalid 0px, while linear and radial gradients still drop 0px. -webkit-linear-gradient() keeps to bottom and other to directions as written, since the prefixed syntax measures angles differently.
Stop turning a comment inside a selector into a descendant combinator. A comment is not whitespace, so .a/**/.b selects elements with both classes, including inside :is(), and is no longer rewritten as .a .b. Invalid selectors such as div/**/span are left as written instead of becoming valid.
Leave rules with an invalid selector unchanged, including an ID selector that starts with a digit, such as #​1a, and a combinator after a pseudo-element, such as a::before b.
Shorten top center and bottom center to top and bottom, instead of 0 and 100%, which the browser reads as horizontal positions. center top and center bottom are now shortened the same way.
Leave a position unchanged when it cannot be safely rewritten:
in a background layer where another value splits the position, as in left no-repeat center, which is invalid;
when it contains a function such as attr(), if() or a custom --function(), which may return a keyword, as var() already did;
when an invalid three-value position contains a math function, such as left abs(1px) top, as calc() already did.
Keep strings unchanged when removing a line continuation (a backslash before a newline) right after an escape. In "\31 followed by a line continuation and 2", joining the lines would turn \31 into \312, so the result is now "\31 2".
Leave @charset unchanged. Browsers only recognize it with double quotes, so rewriting single quotes would make an ignored @charset take effect.
Update postcss-calc to 11.2.2. postcss-calc() now attempts to preserve fractions if the replacement would lose too much precision
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [cssnano](https://github.com/cssnano/cssnano) | [`9.1.2` → `9.2.0`](https://renovatebot.com/diffs/npm/cssnano/9.1.2/9.2.0) |  |  |
| [cssnano-preset-advanced](https://github.com/cssnano/cssnano) | [`9.1.2` → `9.1.3`](https://renovatebot.com/diffs/npm/cssnano-preset-advanced/9.1.2/9.1.3) |  |  |
| [satori](https://github.com/vercel/satori) | [`^0.33.0` → `^0.35.0`](https://renovatebot.com/diffs/npm/satori/0.33.5/0.35.0) |  |  |
| [schema-dts](https://opensource.google/projects/schema-dts) ([source](https://github.com/google/schema-dts/tree/HEAD/packages/schema-dts)) | [`2.0.0` → `2.1.0`](https://renovatebot.com/diffs/npm/schema-dts/2.0.0/2.1.0) |  |  |
---
### Release Notes
<details>
<summary>cssnano/cssnano (cssnano)</summary>
### [`v9.2.0`](https://github.com/cssnano/cssnano/releases/tag/cssnano%409.2.0): v9.2.0
[Compare Source](https://github.com/cssnano/cssnano/compare/cssnano@9.1.2...cssnano@9.2.0)
##### Features
- Merge box alignment properties into the `place-content`, `place-items` and `place-self` shorthands, such as `align-items:center;justify-items:start` into `place-items:center start`. This only happens when every browser in your Browserslist targets supports the shorthands, because a browser that does not would ignore both alignments. The `defaults` query includes browsers with unknown support, such as Opera Mini and UC Browser, so it keeps the longhands. Values that use `safe`, `unsafe` or `last baseline` merge only when both values use the same keywords. `postcss-merge-longhand` now accepts the Browserslist options `overrideBrowserslist`, `stats`, `path` and `env`.
##### Fixes
- Write numbers in scientific notation when it is shorter, such as `1e-6px` for `0.000001px` and `1e6px` for `1000000px`. This also applies when `length` unit conversion is disabled. Numbers written without a decimal point, such as `z-index:1000000`, keep their form, because an `<integer>` cannot use scientific notation.
- Stop merging longhands across a nested rule or at-rule. The shorthand ended up after the nested rule and overrode it, so in `a{margin-top:1px;&{margin-top:2px}…}` the nested `margin-top` was lost. This applies to `margin`, `padding`, `border`, `border-radius` and `columns`. Declarations on each side of a nested rule are now merged separately. An at-rule without a block, such as `@apply x;`, also separates them, since it may add declarations. An empty rule such as `&{}` does not. A `border-image` or `all` declaration before a nested rule no longer prevents merging the `border` longhands after it.
- Stop merging rules that have an invalid selector, such as `b: hover`, `[a b]`, `:lang(en fr)` or `a||b`. An invalid selector makes the whole selector list invalid, so the browser also dropped the valid rule it was merged with.
- Only treat a dimension as the font size in the `font` shorthand when it has a length unit. An invalid value such as `font:bold 1s "Arial Black"` is now left unchanged.
- Leave the `font` shorthand unchanged when it contains `attr()`, `if()`, `inherit()` or a custom function such as `--name()`, as already done for `var()` and `env()`. Their result is only known when the browser computes the value.
- Remove a zero color stop position only when it has the right type for the gradient. `conic-gradient()` now drops `0deg` and keeps an invalid `0px`, while linear and radial gradients still drop `0px`. `-webkit-linear-gradient()` keeps `to bottom` and other `to` directions as written, since the prefixed syntax measures angles differently.
- Stop turning a comment inside a selector into a descendant combinator. A comment is not whitespace, so `.a/**/.b` selects elements with both classes, including inside `:is()`, and is no longer rewritten as `.a .b`. Invalid selectors such as `div/**/span` are left as written instead of becoming valid.
- Leave rules with an invalid selector unchanged, including an ID selector that starts with a digit, such as `#​1a`, and a combinator after a pseudo-element, such as `a::before b`.
- Shorten `top center` and `bottom center` to `top` and `bottom`, instead of `0` and `100%`, which the browser reads as horizontal positions. `center top` and `center bottom` are now shortened the same way.
Leave a position unchanged when it cannot be safely rewritten:
- in a `background` layer where another value splits the position, as in `left no-repeat center`, which is invalid;
- when it contains a function such as `attr()`, `if()` or a custom `--function()`, which may return a keyword, as `var()` already did;
- when an invalid three-value position contains a math function, such as `left abs(1px) top`, as `calc()` already did.
- Keep strings unchanged when removing a line continuation (a backslash before a newline) right after an escape. In `"\31` followed by a line continuation and `2"`, joining the lines would turn `\31` into `\312`, so the result is now `"\31 2"`.
Leave `@charset` unchanged. Browsers only recognize it with double quotes, so rewriting single quotes would make an ignored `@charset` take effect.
- Update `postcss-calc` to 11.2.2. postcss-calc() now attempts to preserve fractions if the replacement would lose too much precision
</details>
<details>
<summary>vercel/satori (satori)</summary>
### [`v0.35.0`](https://github.com/vercel/satori/releases/tag/0.35.0)
[Compare Source](https://github.com/vercel/satori/compare/0.34.1...0.35.0)
##### Features
- Support 3D transforms ([#​830](https://github.com/vercel/satori/issues/830)) ([3402868](https://github.com/vercel/satori/commit/34028689b9e8184b3873eaf9758db5ccdf8f7c6e))
### [`v0.34.1`](https://github.com/vercel/satori/releases/tag/0.34.1)
[Compare Source](https://github.com/vercel/satori/compare/0.34.0...0.34.1)
##### Bug Fixes
- Keep more precision in transform matrices ([#​829](https://github.com/vercel/satori/issues/829)) ([553bd11](https://github.com/vercel/satori/commit/553bd11f03288fc172cdcf5d743c0dfcbb423702))
### [`v0.34.0`](https://github.com/vercel/satori/releases/tag/0.34.0)
[Compare Source](https://github.com/vercel/satori/compare/0.33.5...0.34.0)
##### Features
- Experimental canvas and WebGL ([#​828](https://github.com/vercel/satori/issues/828)) ([f15960f](https://github.com/vercel/satori/commit/f15960fb580cdc77e0ff4317336dcbed08a79cb8))
</details>
<details>
<summary>google/schema-dts (schema-dts)</summary>
### [`v2.1.0`](https://github.com/google/schema-dts/releases/tag/v2.1.0)
[Compare Source](https://github.com/google/schema-dts/compare/v2.0.0...v2.1.0)
#### Changes in schema-dts v2.1.0
- Supports latest Schema.org release v30.1 -- See <https://schema.org/docs/releases.html#v30.1>
- Related: Dependency schema-dts-lib is bumped from 1.0.0 to 1.1.0 and no longer requires TypeScript as a peer dependency, fixing [#​225](https://github.com/google/schema-dts/issues/225)
- Full diff: <https://www.diffchecker.com/WDtsdHHY/>
#### Changes in schema-dts-gen v2.0.1
- Address [security issue](https://github.com/google/schema-dts/security/advisories/GHSA-c4f4-pq98-f2p2) if using the generator directly with untrusted ontologies
#### New Contributors
- [@​1chooo](https://github.com/1chooo) made their first contribution in [#​221](https://github.com/google/schema-dts/pull/221)
**Full Changelog**: <https://github.com/google/schema-dts/compare/v2.0.0...v2.1.0>
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzIuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjEzMi4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImF1dG9tYXRlZCIsImRlcGVuZGVuY2llcyJdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
9.1.2→9.2.09.1.2→9.1.3^0.33.0→^0.35.02.0.0→2.1.0Release Notes
cssnano/cssnano (cssnano)
v9.2.0: v9.2.0Compare Source
Features
place-content,place-itemsandplace-selfshorthands, such asalign-items:center;justify-items:startintoplace-items:center start. This only happens when every browser in your Browserslist targets supports the shorthands, because a browser that does not would ignore both alignments. Thedefaultsquery includes browsers with unknown support, such as Opera Mini and UC Browser, so it keeps the longhands. Values that usesafe,unsafeorlast baselinemerge only when both values use the same keywords.postcss-merge-longhandnow accepts the Browserslist optionsoverrideBrowserslist,stats,pathandenv.Fixes
Write numbers in scientific notation when it is shorter, such as
1e-6pxfor0.000001pxand1e6pxfor1000000px. This also applies whenlengthunit conversion is disabled. Numbers written without a decimal point, such asz-index:1000000, keep their form, because an<integer>cannot use scientific notation.Stop merging longhands across a nested rule or at-rule. The shorthand ended up after the nested rule and overrode it, so in
a{margin-top:1px;&{margin-top:2px}…}the nestedmargin-topwas lost. This applies tomargin,padding,border,border-radiusandcolumns. Declarations on each side of a nested rule are now merged separately. An at-rule without a block, such as@apply x;, also separates them, since it may add declarations. An empty rule such as&{}does not. Aborder-imageoralldeclaration before a nested rule no longer prevents merging theborderlonghands after it.Stop merging rules that have an invalid selector, such as
b: hover,[a b],:lang(en fr)ora||b. An invalid selector makes the whole selector list invalid, so the browser also dropped the valid rule it was merged with.Only treat a dimension as the font size in the
fontshorthand when it has a length unit. An invalid value such asfont:bold 1s "Arial Black"is now left unchanged.Leave the
fontshorthand unchanged when it containsattr(),if(),inherit()or a custom function such as--name(), as already done forvar()andenv(). Their result is only known when the browser computes the value.Remove a zero color stop position only when it has the right type for the gradient.
conic-gradient()now drops0degand keeps an invalid0px, while linear and radial gradients still drop0px.-webkit-linear-gradient()keepsto bottomand othertodirections as written, since the prefixed syntax measures angles differently.Stop turning a comment inside a selector into a descendant combinator. A comment is not whitespace, so
.a/**/.bselects elements with both classes, including inside:is(), and is no longer rewritten as.a .b. Invalid selectors such asdiv/**/spanare left as written instead of becoming valid.Leave rules with an invalid selector unchanged, including an ID selector that starts with a digit, such as
#​1a, and a combinator after a pseudo-element, such asa::before b.Shorten
top centerandbottom centertotopandbottom, instead of0and100%, which the browser reads as horizontal positions.center topandcenter bottomare now shortened the same way.Leave a position unchanged when it cannot be safely rewritten:
backgroundlayer where another value splits the position, as inleft no-repeat center, which is invalid;attr(),if()or a custom--function(), which may return a keyword, asvar()already did;left abs(1px) top, ascalc()already did.Keep strings unchanged when removing a line continuation (a backslash before a newline) right after an escape. In
"\31followed by a line continuation and2", joining the lines would turn\31into\312, so the result is now"\31 2".Leave
@charsetunchanged. Browsers only recognize it with double quotes, so rewriting single quotes would make an ignored@charsettake effect.Update
postcss-calcto 11.2.2. postcss-calc() now attempts to preserve fractions if the replacement would lose too much precisionvercel/satori (satori)
v0.35.0Compare Source
Features
v0.34.1Compare Source
Bug Fixes
v0.34.0Compare Source
Features
google/schema-dts (schema-dts)
v2.1.0Compare Source
Changes in schema-dts v2.1.0
Changes in schema-dts-gen v2.0.1
New Contributors
Full Changelog: https://github.com/google/schema-dts/compare/v2.0.0...v2.1.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate CLI.