Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .changeset/c3-frameworks-update-14209.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"create-cloudflare": patch
---

Update dependencies of "create-cloudflare"

The following dependency versions have been updated:

| Dependency | From | To |
| --------------- | ------- | ------ |
| @angular/create | 21.2.13 | 22.0.0 |
12 changes: 12 additions & 0 deletions .changeset/dependabot-update-14217.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"miniflare": patch
"wrangler": patch
---

Update dependencies of "miniflare", "wrangler"

The following dependency versions have been updated:

| Dependency | From | To |
| ---------- | ------------ | ------------ |
| workerd | 1.20260605.1 | 1.20260608.1 |
30 changes: 30 additions & 0 deletions .changeset/gentle-cougars-build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
"wrangler": minor
---

Introduce `createTestHarness()` for integration testing Workers

It runs Workers in a local preview environment using production build output and works with both Wrangler projects and Workers built by the Cloudflare Vite plugin.

Use it from any Node.js test runner to send requests to individual Workers, trigger scheduled events, reset the server between tests, and mock outbound requests with libraries that intercept `globalThis.fetch()`, such as MSW:

```ts
import { createTestHarness } from "wrangler";

const server = createTestHarness({
workers: [
{ configPath: "./dist/web_worker/wrangler.json" },
{ configPath: "./dist/api_worker/wrangler.json" },
],
});

await server.listen();
await server.fetch("http://example.com");

const apiWorker = server.getWorker("api-worker");
await apiWorker.fetch("http://example.com/users/123");
await apiWorker.scheduled({ cron: "0 0 * * *" });

await server.reset();
await server.close();
```
11 changes: 11 additions & 0 deletions .changeset/versions-deploy-by-tag.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"wrangler": minor
---

Add `--version-tag` support to `wrangler versions deploy` to deploy a version by its tag

You can now roll out or roll back a version by the tag it was uploaded with (e.g. a commit SHA passed to `--tag` at upload time) instead of first looking up its Version ID:

`wrangler versions deploy --version-tag <sha>@100%`

The tag is resolved to a Version ID against the worker's deployable versions, and the `<version-tag>@<percentage>` shorthand works just like the existing `<version-id>@<percentage>` notation, including splitting traffic across multiple `--version-tag` values. If a tag matches no deployable version, or matches more than one, the command errors and asks you to deploy by Version ID directly. Note that tags can only be resolved against recent (deployable) versions — older versions that have aged out of that window must still be deployed by Version ID.
2 changes: 1 addition & 1 deletion packages/create-cloudflare/src/frameworks/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "frameworks_clis_info",
"dependencies": {
"@angular/create": "21.2.13",
"@angular/create": "22.0.0",
"@tanstack/cli": "0.69.1",
"create-analog": "2.6.0",
"create-astro": "5.0.6",
Expand Down
2 changes: 1 addition & 1 deletion packages/create-cloudflare/templates/angular/pages/c3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ function updateAngularJson(ctx: C3Context) {
const architectSection = angularJson.projects[ctx.project.name].architect;
architectSection.build.options.outputPath = "dist";
architectSection.build.options.outputMode = "server";
architectSection.build.options.ssr.experimentalPlatform = "neutral";
architectSection.build.options.ssr.platform = "neutral";
architectSection.build.options.assets.push("src/_routes.json");

writeFile(resolve("angular.json"), JSON.stringify(angularJson, null, 2));
Expand Down
2 changes: 1 addition & 1 deletion packages/create-cloudflare/templates/angular/workers/c3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ function updateAngularJson(ctx: C3Context) {
const architectSection = angularJson.projects[ctx.project.name].architect;
architectSection.build.options.outputPath = "dist";
architectSection.build.options.outputMode = "server";
architectSection.build.options.ssr.experimentalPlatform = "neutral";
architectSection.build.options.ssr.platform = "neutral";

writeFile(resolve("angular.json"), JSON.stringify(angularJson, null, 2));
s.stop(`${brandColor(`updated`)} ${dim(`\`angular.json\``)}`);
Expand Down
2 changes: 1 addition & 1 deletion packages/miniflare/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
"@cspotcode/source-map-support": "0.8.1",
"sharp": "0.34.5",
"undici": "catalog:default",
"workerd": "1.20260605.1",
"workerd": "1.20260608.1",
"ws": "catalog:default",
"youch": "4.1.0-beta.10"
},
Expand Down
Loading
Loading