Skip to content

Version Packages#1292

Merged
james-elicx merged 1 commit into
mainfrom
changeset-release/main
Jun 25, 2026
Merged

Version Packages#1292
james-elicx merged 1 commit into
mainfrom
changeset-release/main

Conversation

@workers-frameworks

@workers-frameworks workers-frameworks commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@opennextjs/cloudflare@1.20.0

Minor Changes

  • #1290 46c50fc Thanks @james-elicx! - feature: add opt-in batch upload via rclone for fast R2 cache population.

    Key Changes:

    1. Optional rclone Upload: Install the optional rclone.js peer dependency and pass --rclone to opt in to rclone based batch uploads.

      • R2_ACCESS_KEY_ID
      • R2_SECRET_ACCESS_KEY
      • CF_ACCOUNT_ID
    2. Explicit Opt-in: The existing worker-based population path remains the default. rclone is only loaded when --rclone is used for a remote cache.

    3. Clear Errors: The CLI reports missing credentials or a missing rclone.js installation when the option is used.

    Usage:

    Install rclone.js, then add the secrets in a .env/.dev.vars file in your project root:

    pnpm add rclone.js
    pnpm approve-builds # select rclone.js
    pnpm rebuild rclone.js
    R2_ACCESS_KEY_ID=your_key
    R2_SECRET_ACCESS_KEY=your_secret
    CF_ACCOUNT_ID=your_account
    
    opennextjs-cloudflare deploy --rclone

    You can also set the environment variables for CI builds.

    Notes:

Patch Changes

  • #1289 eef243f Thanks @thatssoheil! - fix: spread SQLite bindings in BucketCachePurge alarm so tag purges run

    BucketCachePurge.alarm() passed its tag bindings to SqlStorage.exec as a
    single array. exec(query, ...bindings) is variadic over its bindings, so for a
    multi-tag DELETE ... WHERE tag IN (?, ?, …) the binding count (1) disagreed
    with the placeholder count (N) and exec threw "Wrong number of parameter
    bindings" on every flush. On-demand revalidateTag purges therefore never
    reached the Cloudflare cache, and with bypassTagCacheOnCacheHit enabled pages
    served stale until the ISR TTL expired.

    Spread the bindings, normalise the INSERT to the same variadic form, and
    tighten the drain loop's guard from while (tags.length >= 0) (which never
    exits via the condition) to while (tags.length > 0).

  • #1291 51439b1 Thanks @james-elicx! - fix: disable response compression when provisioning R2 cache buckets

    Avoid truncated compressed Cloudflare API responses causing R2 cache bucket provisioning to fail.

@pkg-pr-new

pkg-pr-new Bot commented Jun 24, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@opennextjs/cloudflare@1292

commit: a5cb658

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@james-elicx james-elicx merged commit 127942d into main Jun 25, 2026
7 checks passed
@james-elicx james-elicx deleted the changeset-release/main branch June 25, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants