Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cloudflare/workers-rs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.8.0
Choose a base ref
...
head repository: cloudflare/workers-rs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.8.2
Choose a head ref
  • 16 commits
  • 61 files changed
  • 9 contributors

Commits on Apr 11, 2026

  1. Add prerequisites for nightly Rust toolchain setup

    Added prerequisites for configuring the nightly Rust toolchain and explained the usage of the flag.
    guybedford authored Apr 11, 2026
    Configuration menu
    Copy the full SHA
    94d7a57 View commit details
    Browse the repository at this point in the history
  2. fix typo

    guybedford authored Apr 11, 2026
    Configuration menu
    Copy the full SHA
    3dfe90e View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2026

  1. Configuration menu
    Copy the full SHA
    c6847ba View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2026

  1. Configuration menu
    Copy the full SHA
    59f5464 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2026

  1. chore: bump versions (#977)

    Co-authored-by: guybedford <598730+guybedford@users.noreply.github.com>
    github-actions[bot] and guybedford authored Apr 17, 2026
    Configuration menu
    Copy the full SHA
    7190fab View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2026

  1. Configuration menu
    Copy the full SHA
    5d7d6d3 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2026

  1. Configuration menu
    Copy the full SHA
    dd24c89 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    626954a View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2026

  1. chore(deps-dev): bump uuid from 11.1.0 to 14.0.0 (#982)

    Bumps [uuid](https://github.com/uuidjs/uuid) from 11.1.0 to 14.0.0.
    - [Release notes](https://github.com/uuidjs/uuid/releases)
    - [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
    - [Commits](uuidjs/uuid@v11.1.0...v14.0.0)
    
    ---
    updated-dependencies:
    - dependency-name: uuid
      dependency-version: 14.0.0
      dependency-type: direct:development
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Apr 28, 2026
    Configuration menu
    Copy the full SHA
    fed6900 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fd18681 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2026

  1. feat(worker): add send_email binding support (#975)

    * feat(worker): add send_email binding support
    
    Adds a `SendEmail` binding and `EmailMessage` type so workers can dispatch
    email via the Cloudflare Email Sending service configured under
    `[[send_email]]` in wrangler.toml. Includes worker-sys bindings for
    `cloudflare:email`, a runnable example under `examples/send-email`, and
    integration tests.
    
    * feat(worker): add structured Email builder for send_email binding
    
    Extend the SendEmail binding to cover the public-beta builder overload in
    addition to the raw MIME path. Adds `Email`/`EmailBuilder`, `EmailAddress`,
    `EmailAttachment` (with `AttachmentContent::{Base64, Binary}`), and
    `EmailSendResult { message_id }`. `SendEmail::send` now takes `&Email`;
    the raw MIME path moves to `SendEmail::send_mime(&EmailMessage)`.
    
    * address pr comments
    
    * remove miniflare workaround
    
    cloudflare/workers-sdk#13577 landed
    
    * cleanup comments & example readme
    
    * use ts-gen for email
    
    * Auto-gen email bindings via ts-gen anonymous interface synthesis
    
    Drops the hand-written Email/EmailBuilder/EmailAddress/EmailAttachment
    types in worker/src/send_email.rs in favour of the auto-generated
    SendEmailBuilder, EmailAddress, EmailAttachment, etc. that ts-gen now
    synthesises from the d.ts. send_email.rs is reduced to the EnvBinding
    trait impl on the auto-gen SendEmail extern type and re-exports.
    
    types/email.d.ts renames the global EmailMessage interface to
    StructuredEmailMessage to keep it unambiguously distinct from the
    cloudflare:email-imported EmailMessage constructor class. The chompfile
    prepends a `use email::EmailMessage` to the generated file so the
    top-level send(message) signature resolves cross-module — removable
    once ts-gen handles same-file module imports natively.
    
    All 133 npm tests pass; both legacy raw-MIME and modern structured
    send paths work end-to-end.
    
    * add new_with_readable_stream test
    
    * Pull cross-module qualification + new builder ergonomics from ts-gen
    
    ts-gen learned three things since the last sync that simplify the
    email surface here:
    
    * Cross-module type references emit qualified Rust paths
      (`&email::EmailMessage` from a `Global` extern block referencing the
      `cloudflare:email` class). Drops the `chompfile.toml` postprocess
      that was prepending `use email::EmailMessage;` to the generated
      file.
    
    * Built-in `web_sys` defaults — `Headers`, `Event`, `ReadableStream`,
      etc. resolve to `::web_sys::*` automatically, so those `--external`
      flags are redundant. Only the project-specific `Env` and
      `ExecutionContext` mappings remain in the chompfile.
    
    * New dictionary builder shape: required fields go through the
      constructor, `build()` is infallible, literal discriminators
      collapse into the function name. Call sites update from
      `SendEmailBuilder::builder().from(x).build()?` to
      `SendEmailBuilder::builder(from, to, subject).build()` (or
      `::new(from, to, subject)` when no optionals are needed).
    
    `types/email.d.ts` collapses to a single `class EmailMessage` inside
    `declare module "cloudflare:email"`. The previous global-interface +
    module-class split (mirroring upstream `@cloudflare/workers-types`)
    was producing two distinct Rust types that both lowered to the same JS
    object, which forced an `unchecked_ref` at the `reply()` call site.
    Collapsed to one type they're indistinguishable in Rust.
    
    `worker/src/send_email.rs` keeps the [`EnvBinding`] impl on top of
    the auto-gen `SendEmail` extern type, plus a `#[cfg(test)]` compile
    check that `SendEmail: Send` (which it is already, via the upstream
    `JsValue: Send + Sync` change — no `unsafe impl Send` needed).
    
    * Use FixedLengthStream Deref instead of unchecked_into in mime-stream test
    
    `FixedLengthStream` already has `extends = web_sys::TransformStream` in
    `worker-sys`, so wasm-bindgen auto-generates `Deref<Target = TransformStream>`
    and `fixed.readable()` resolves through it. The previous
    `fixed.unchecked_into::<web_sys::TransformStream>().readable()` was
    unnecessarily defensive — drop the cast plus the now-unused `JsCast`
    and `web_sys` imports.
    
    * Fmt + advance ts-gen submodule to PR branch HEAD
    
    CI's rustfmt --check flagged the dispatch_structured signature.
    Apply fmt and bump the ts-gen submodule pointer to the latest
    PR #8 commit (CONVENTIONS.md rationale + emit cleanup).
    
    * Pull doc-comment generation from ts-gen PR #9
    
    Each `new*` and `builder*` variant now ships with a doc block listing
    its inlined literal discriminants under `# Inlined fields` and the
    caller-supplied parameters under `# Parameters`, sourced from the
    original getter JSDoc.
    
    * Advance ts-gen submodule to merged main
    
    ts-gen PR #9 (doc comments on dictionary builder variants) merged.
    Bump the submodule pointer to the merge commit on main; the
    generated `worker/src/email.rs` is unchanged from the PR-branch
    output.
    
    * Advance ts-gen submodule to merged main
    
    ts-gen PR #10 (h2 headings + dash-separated bullets in builder docs)
    merged. Bump the submodule pointer and regenerate
    `worker/src/email.rs` with the updated doc format.
    
    ---------
    
    Co-authored-by: Guy Bedford <gbedford@cloudflare.com>
    connyay and guybedford authored Apr 29, 2026
    Configuration menu
    Copy the full SHA
    7ad7139 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2026

  1. Update .gitmodules (#990)

    use url = https://github.com/... pattern
    jccampagne authored May 4, 2026
    Configuration menu
    Copy the full SHA
    417576c View commit details
    Browse the repository at this point in the history

Commits on May 8, 2026

  1. Configuration menu
    Copy the full SHA
    36d2e37 View commit details
    Browse the repository at this point in the history
  2. Add basic abortsignal example (#992)

    Showing how to apply timeouts to fetch requests
    connyay authored May 8, 2026
    Configuration menu
    Copy the full SHA
    c4b5cc0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d137b66 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2026

  1. Release v0.8.2 (#995)

    * chore: bump versions
    
    * add back patches
    
    ---------
    
    Co-authored-by: guybedford <598730+guybedford@users.noreply.github.com>
    Co-authored-by: Guy Bedford <gbedford@cloudflare.com>
    3 people authored May 9, 2026
    Configuration menu
    Copy the full SHA
    3f53db2 View commit details
    Browse the repository at this point in the history
Loading