Skip to content

v1.0.0-alpha.13

Pre-release
Pre-release

Choose a tag to compare

@justinvdm justinvdm released this 25 Sep 11:08
· 812 commits to main since this release

What's Changed

  • chore: Remove deprecated requestInfo.headers API by @justinvdm in #756

BREAKING CHANGE: requestInfo.headers removal

The headers property on the RequestInfo object has been removed. All response header modifications should now be done through the response.headers object.

Migration Guide

To update your code, replace any usage of requestInfo.headers with requestInfo.response.headers.

Before:

const myMiddleware = (requestInfo) => {
  requestInfo.headers.set('X-Custom-Header', 'my-value');
};

After:

const myMiddleware = (requestInfo) => {
  requestInfo.response.headers.set('X-Custom-Header', 'my-value');
};

BREAKING CHANGE: resolveSSRValue removal

The resolveSSRValue helper function has been removed. SSR-only functions can now be imported and called directly within worker code without this wrapper.

Migration Guide

Remove the resolveSSRValue wrapper and call the SSR function directly.

Before:

import { env } from "cloudflare:workers";
import { resolveSSRValue } from "rwsdk/worker";

// this is a "use client" module
import { ssrSendWelcomeEmail } from "@/app/email/ssrSendWelcomeEmail";

export async function sendWelcomeEmail(formData: FormData) {
  const doSendWelcomeEmail = await resolveSSRValue(ssrSendWelcomeEmail);

  const email = formData.get("email") as string;

  if (!email) {
    console.error("❌ Email is required");
    return { error: "Email is required", success: false };
  }

  const { data, error } = await doSendWelcomeEmail(env.RESEND_API, email);

  if (error) {
    console.error("❌ Error sending email", error);
    return { error: error.message, success: false };
  }

  console.log("📥 Email sent successfully", data);
  return { success: true, error: null };
}

After:

import { env } from "cloudflare:workers";

// this is a "use client" module
import { ssrSendWelcomeEmail } from "@/app/email/ssrSendWelcomeEmail";

export async function sendWelcomeEmail(formData: FormData) {
  const email = formData.get("email") as string;

  if (!email) {
    console.error("❌ Email is required");
    return { error: "Email is required", success: false };
  }

  const { data, error } = await ssrSendWelcomeEmail(env.RESEND_API, email);

  if (error) {
    console.error("❌ Error sending email", error);
    return { error: error.message, success: false };
  }

  console.log("📥 Email sent successfully", data);
  return { success: true, error: null };
}

Full Changelog: v1.0.0-alpha.12...v1.0.0-alpha.13