Skip to content

Commit 0856c34

Browse files
chore: release (rc)
1 parent e117d91 commit 0856c34

3 files changed

Lines changed: 46 additions & 1 deletion

File tree

.changeset/pre.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@
88
"changesets": [
99
"bright-dogs-serve",
1010
"chilly-rabbits-lie",
11+
"eighty-jars-invite",
1112
"eleven-actors-nail",
13+
"lemon-plugins-serialize",
14+
"lucky-moths-nonce",
1215
"lucky-pans-gather",
1316
"olive-apes-clap",
1417
"olive-pugs-shave",
18+
"soft-cases-repeat",
1519
"sour-knives-look",
1620
"spotty-jobs-relax",
1721
"spotty-moons-repeat",
22+
"tidy-paths-resolve",
1823
"tricky-goats-cheer",
1924
"wild-pots-repeat"
2025
]

packages/start/CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,45 @@
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+
- e117d91: Route module ids now end in the source extension, so ecosystem plugins apply inside `src/routes`.
32+
33+
Route files are imported through an id carrying the picked exports in the query (`routes/api.ts?pick=GET`), which left the id ending in the export name. Plugins whose filter is anchored on the file extension (`/\.[cm]?[jt]sx?$/`, the default for `unplugin-auto-import`, `unplugin-macros` and others) silently skipped every route file. The id now ends with a `lang.<ext>` marker, the same convention Vue SFCs use for `?vue&type=script&lang.ts`. Chunk filenames are unchanged.
34+
35+
- 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`:
36+
37+
- The client-side redirect that streaming mode emits after the shell has already flushed (`<script>window.location=...</script>`) now carries the nonce.
38+
- The SPA entry script tag now carries the nonce, matching the SSR entry script.
39+
40+
- 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.
41+
- 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.
42+
343
## 2.0.0-rc.4
444

545
### 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)