chore(deps): update dependency solid-js to v1.9.4 [security] - #66
renovate[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Visit the preview URL for this PR (updated for commit d60ae98): https://autonomy-tegata-dev--pr66-renovate-npm-solid-j-77gvue7e.web.app (expires Tue, 04 Mar 2025 22:57:53 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 372cb972329a2dd7e3813bc6bde2f0d317d6488e |
d60ae98 to
282a206
Compare
282a206 to
26434a1
Compare
26434a1 to
f9ca2d8
Compare
f9ca2d8 to
c909539
Compare
c909539 to
69a7c97
Compare
69a7c97 to
c41e17d
Compare
c41e17d to
1d364da
Compare
1d364da to
b76554a
Compare
b76554a to
59e60f3
Compare
59e60f3 to
c1d10c1
Compare
c1d10c1 to
7de748c
Compare
7de748c to
118febd
Compare
118febd to
8bcd40e
Compare
8bcd40e to
62b207e
Compare
62b207e to
8604323
Compare
8604323 to
a8b2624
Compare
a8b2624 to
af11c58
Compare
4ae51ec to
f4edc10
Compare
f4edc10 to
b08de37
Compare
This PR contains the following updates:
1.8.18→1.9.4Solid Lacks Escaping of HTML in JSX Fragments allows for Cross-Site Scripting (XSS)
CVE-2025-27109 / GHSA-3qxh-p7jc-5xh6
More information
Details
Inserts/JSX expressions inside illegal inlined JSX fragments lacked escaping, allowing user input to be rendered as HTML when put directly inside JSX fragments.
For instance,
?text=<svg/onload=alert(1)>would trigger XSS here.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
solidjs/solid (solid-js)
v1.9.4Compare Source
v1.9.3Compare Source
v1.9.2v1.9.0: - LGTM!Compare Source
This release like the last is focusing on small quality of life improvements and adjustments that will help us move towards 2.0. So while not the most exciting release to everyone it provides some really important features and fixes to some developers.
And unlike many previous releases the vast majority of the work and features came from PRs from the community. So really all I can say is Looks Good to Me!
Better JSX Validation
While still incomplete across templates we've added JSDOM to the compiler to better detect invalid HTML at build time by comparing what we expect the template to be with what a browser would output. This now includes things that are nested we didn't detect before like putting
<a>inside other<a>tags which will lead to the browser "correcting" it in less than intuitive ways.Improved Exports
While each environment in
solid-js/webhas its own methods to be used in the compiler. We are now exporting the client methods from the server to prevent weird import errors. Now these methods will throw if used in this environment but shouldn't break your build.Additionally we have seen some issues in bundlers that incorrectly feed our ESM exports back through the browser field. While this is a known issue they all pointed issues at each other and with no intention of fixing it. We have removed the browser field in this release, meaning some legacy packages may have issues resolving browser if they don't support export conditions.
This is regretful but this blocked deployments on several platforms and since this was the only fix at our disposal after two years of attempting to push this issue to the bundlers to no avail, we've moved forward with it.
Custom Element improvements
We have a few improvements to our custom element support in this release. First off we now detect elements with the
isattribute as custom elements which means all the special behavior is afforded to them.We've also improved our event handler delegating retargetting to better handle shadow DOM events. There were cases where we skipped over part of the tree.
Finally we've added the
bool:attribute namespace to handle explicitly setting certain attributes according to boolean attribute rules. While this isn't necessary for built-in booleans currently we handle most attributes as properties and we lacked a specific override. But now we have it:Support for handleEvent Syntax in Non-Delegated Events
A little known thing is that events actually also support objects instead of functions (See: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener)
We(thanks @titoBouzout) realized we can use this mechanism as a way to set advanced rules like
passiveorcaptureon this object as way to handle all current and future event attributes that browsers might add. This way we don't need specific mechanisms likeoncapture:(which is now deprecated).Instead using
on:you can set the event properties you wish.Other Updates
We've fixed an issue with lazy images. Apparently, cloneNode doesn't handle them properly so we've updated our heuristic to treat templates with lazy images to be handled with
importNode.We've improved our Hydration Mismatch Error to output the template of that it can't find the matching ID for. This should make it easier to track down where the hydration errors are occurring. There have been several hydration improvements over the later 1.8 releases so upgrading will likely improve the situation for those who have been facing issues.
Finally, we've improved some of the types in the JSX and Signal Setter in this release.
Big thanks to those who contributed to this release: @wkelly17, @olivercoad, @titoBouzout, @trusktr, @Huliiiiii. And thanks to all of you who gave feedback on the Metadata/Head Tag RFC. While it didn't make it in this time around you've definitely given us stuff to consider for its future design.
Best,
@ryansolid
v1.8.23Compare Source
v1.8.22Compare Source
v1.8.21Compare Source
v1.8.20Compare Source
v1.8.19Compare Source
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.