Skip to content

Commit fd23d57

Browse files
chore: release (rc)
1 parent cd7f0da commit fd23d57

3 files changed

Lines changed: 41 additions & 1 deletion

File tree

.changeset/pre.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@
99
"bright-dogs-serve",
1010
"chilly-rabbits-lie",
1111
"eleven-actors-nail",
12+
"lemon-plugins-serialize",
13+
"lucky-moths-nonce",
1214
"lucky-pans-gather",
1315
"olive-apes-clap",
1416
"olive-pugs-shave",
17+
"soft-cases-repeat",
1518
"sour-knives-look",
1619
"spotty-jobs-relax",
1720
"spotty-moons-repeat",
21+
"tidy-paths-resolve",
1822
"tricky-goats-cheer",
1923
"wild-pots-repeat"
2024
]

packages/start/CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# @solidjs/start
22

3+
## 2.0.0-rc.5
4+
5+
### Minor Changes
6+
7+
- 4c803e5: Add `serialization.plugins` to configure custom Seroval plugins for server functions.
8+
9+
Values Seroval has no built-in support for (Mongo's `ObjectId`, Prisma's `Decimal`, `Temporal`, and other custom classes) previously threw when returned from or passed to a server function. Point the new option at a module whose default export is an array of plugins:
10+
11+
```ts
12+
// vite.config.ts
13+
solidStart({
14+
serialization: {
15+
plugins: "src/seroval-plugins.ts",
16+
},
17+
});
18+
```
19+
20+
```ts
21+
// src/seroval-plugins.ts
22+
import { createPlugin } from "@solidjs/start/serialization";
23+
```
24+
25+
The module is bundled into both the client and the server so both ends of a server function agree on the format, so it must not import server-only code. SolidStart's built-in plugins keep precedence. Only server-function and action payloads are affected; the SSR hydration payload is serialized by `solid-js/web`.
26+
27+
Also adds a `@solidjs/start/serialization` entrypoint re-exporting Seroval's `createPlugin`, `OpaqueReference`, and plugin types, so plugin authors stay on the same Seroval version SolidStart serializes with.
28+
29+
### Patch Changes
30+
31+
- d8f1ea8: Apply the configured `nonce` to the two script tags that were still missing it, so a strict `script-src` CSP no longer needs `unsafe-inline`:
32+
33+
- The client-side redirect that streaming mode emits after the shell has already flushed (`<script>window.location=...</script>`) now carries the nonce.
34+
- The SPA entry script tag now carries the nonce, matching the SSR entry script.
35+
36+
- 27fca88: Fix actions returning `json()` or `reload()` leaving no-JS form submissions stranded on the `/_server` endpoint. These responses carry a value rather than a destination, so the redirect issued for progressive-enhancement submissions had no `Location` header. It now falls back to the submitting page, and the response value is unwrapped into the flash cookie so `useSubmission().result` matches the JS path.
37+
- 75debc3: Scope the built-in `~` alias to the app package, so files in other workspace packages can map `~` to their own root through an importer-aware plugin such as `vite-tsconfig-paths`. In stylesheets and asset URLs (CSS `@import`, `url()`, `new URL(..., import.meta.url)`) `~` still always means the app root, since Vite resolves those without running plugins.
38+
339
## 2.0.0-rc.4
440

541
### Patch Changes

packages/start/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@solidjs/start",
3-
"version": "2.0.0-rc.4",
3+
"version": "2.0.0-rc.5",
44
"repository": {
55
"type": "git",
66
"url": "git+https://github.com/solidjs/solid-start.git",

0 commit comments

Comments
 (0)