Workers Logs: Persistent Observability for Every Worker

Starting today in open beta, every Worker can automatically retain logs with full search, query, and filtering capabilities available directly in the Cloudflare dashboard. All newly created Workers will have this setting enabled by default. This is the first piece of an observability platform that follows Cloudflare’s acquisition of Baselime.

Enabling Workers Logs requires adding two lines to your Worker’s wrangler.toml and redeploying:

[observability]
enabled = true

Once enabled, each console.log message, error, and exception is published as a separate event. Every Worker invocation — requests, alarms, RPC, and so on — also produces an enriched execution log containing invocation metadata. You can view logs under the Logs tab of your Worker in the dashboard, where filtering is available on any event field, including time, error code, message, or your own custom fields.

The goal is to help you correlate telemetry without the usual silos between metrics, traces, and logs. Workers Logs structures your data so you have full context to ask the right questions about application behavior. Distributed traces from Workers are already in development, and real-time errors and high-dimensionality events will follow.

BLOG-2517 2

Workers Logs pricing starts November 1, 2024: $0.60 per million log lines written after the included volume, as shown below. Querying your logs is free.

BLOG-2517 3
Workers Free Workers Paid
Included Volume 200,000 logs per day 20,000,000 logs per month
Additional Events N/A $0.60 per million logs
Retention 3 days 7 days

Hyperdrive Reaches Private Databases via Tunnels

Hyperdrive, Cloudflare Tunnels, and Access now work together to let you securely connect to databases isolated in a private network. Hyperdrive accelerates queries to existing regional databases by caching data close to end users and pooling connections near the database — but until now, network isolation has been a blocker for many workloads.

Most databases are not publicly reachable; placing them in a virtual private cloud (VPC) keeps sensitive data safe, but also effectively locked it inside a single cloud provider. With a Cloudflare Tunnel running inside your private network, Hyperdrive can connect to your database through it while Access handles authentication.

BLOG-2517 4

This opens up full-stack development on Workers against Amazon RDS, Amazon Aurora, Google Cloud SQL, Azure Database, and any other database that can be reached via Tunnel.

Node.js Compatibility Goes GA

Earlier this month, Cloudflare overhauled Node.js API support in the Workers runtime. With twice as many Node APIs now available, a much broader set of NPM packages works on Workers. That improved Node.js compatibility is now generally available.

To enable it, turn on the nodejs_compat compatibility flag and set your compatibility date to 2024-09-23 or later:

compatibility_flags = ["nodejs_compat"]
compatibility_date = "2024-09-23"

You can find the list of supported APIs and opt-in instructions in the developer documentation. Bugs can be reported as issues in the workers-sdk GitHub repository.

Static Asset Hosting Brings Frontend Apps to Workers

In open beta as of today, you can upload and serve HTML, CSS, and client-side JavaScript directly from your Worker. That makes it possible to build dynamic, server-side rendered applications on Workers using Astro, Remix, Next.js, Svelte, and other frameworks (full list in the framework docs), with more integration coming.

Applications that previously required Cloudflare Pages can now deploy to Workers while using features Pages does not yet support, such as Logpush, Hyperdrive, Cron Triggers, Queue Consumers, and Gradual Deployments.

Creating a new project is done with create-cloudflare. For instance, to start an Astro project:

npm create cloudflare@latest -- my-astro-app --framework=astro --experimental

Static assets are not limited to JavaScript Workers — you can also serve them from Workers written in Python or deploy a Leptos app using workers-rs.

Pages remains fully supported. Cloudflare acknowledges that having assets hosting, CI/CD, and Preview URLs split between two products made the choice confusing, so this year’s Birthday Week is bringing those capabilities to Workers. A compatibility matrix documents where Workers and Pages currently stand; the remaining gaps are slated to close with migration paths from Pages to Workers to follow.

OpenNext adapter brings Next.js to Workers

Cloudflare is joining the OpenNext project with an early developer preview of a new adapter for deploying Next.js applications to Workers. The @opennextjs/cloudflare npm package enables the Node.js runtime in Next.js on Workers, powered by Cloudflare's Node.js compatibility layer, new Static Assets support, and faster Workers KV.

This adapter supports features that the previous @cloudflare/next-on-pages adapter could not handle, including Incremental Static Regeneration and custom error pages, since that earlier tool was limited to Next.js's Edge runtime. The goal is to keep open source frameworks portable across cloud providers, so Next.js apps can run on any platform — whether AWS or Cloudflare — without lock-in.

Developers can get started with the OpenNext docs, report issues or contribute via the opennextjs-cloudflare GitHub repository, and discuss with the community on the OpenNext Discord.

npm create cloudflare@latest -- my-next-app --framework=next --experimental

Workers Builds streamlines CI/CD

Workers Builds is now in open beta. Connecting a GitHub or GitLab repository to a Worker lets Cloudflare automatically build and deploy changes on every commit. The integrated CI/CD workflow handles full-stack applications built on popular frameworks as well as static websites — just specify a build command.

During the open beta, Workers Builds is free with one concurrent build per account and unlimited monthly build minutes. After General Availability in early 2025, billing will be based on monthly build minutes with higher concurrency available.

BLOG-2517 5
Workers Free Workers Paid
Build minutes, open beta Unlimited Unlimited
Concurrent builds, open beta 1 1
Build minutes, general availability 3,000 minutes included per month 6,000 minutes included per month
+$0.005 per additional build minute
Concurrent builds, general availability 1 6

Preview URLs for every Worker version

Every newly uploaded version of a Worker now automatically generates a preview URL. These URLs make team collaboration easier during development and provide a way to test changes for issues before production deployment.

The Wrangler CLI displays the preview URL after a successful upload, and they also appear in the dashboard for each Worker version. Preview URLs function similarly to Pages preview deployments — they run on the Worker's workers.dev subdomain so changes can be reviewed before going live.

BLOG-2517 6

Gradual Deployments reaches GA

Gradual Deployments for Workers and Durable Objects, first launched at Developer Week, is now generally available. Cloudflare has used it internally for mission-critical Worker-based services since early 2024.

The staged rollout helps minimize downtime and surface issues early. Internally, every Worker-based service releases in stages: 0.05%, 0.5%, 3%, 10%, 25%, 50%, 75%, and 100%, with soak time between stages and rollback if problems are spotted — often instrumented with Workers Analytics Engine.

Adoption requires swapping Wrangler commands, API endpoints, or using "Save version" in the dashboard's code editor. Documentation covers getting started with the versions and deployments workflow.

BLOG-2517 7

Queues goes GA with higher limits

Cloudflare Queues is now generally available with significantly higher throughput and concurrency. Queues decouple Workers into event-driven services: producers write events to a queue, and consumer Workers act on them — such as separating an e-commerce site from email confirmation logic.

  • Throughput: each queue now processes 5,000 messages per second, up from 400.
  • Concurrency: each queue supports up to 250 concurrent consumers, up from 20.

Since the beta announcement, Queues has also gained custom batch sizes to reduce consumer invocations and cost, per-message delays for backing off against external API rate limits, and HTTP Pull consumers that work outside Workers with zero egress costs. Queues is available to all Workers Paid plan developers.

BLOG-2517 8

R2 event notifications are GA

Event notifications for Cloudflare R2, which began the year in open beta, are now generally available. The feature supports event-driven workflows such as triggering image processing on upload or syncing analytics data to an external warehouse.

When data changes in an R2 bucket, notifications go to a queue, where they can be consumed by a Worker or pulled over HTTP from outside the Workers runtime. Improvements since the beta include:

  • Reliability gains from Queues throughput, allowing thousands of writes per second.
  • Configuration directly from the Cloudflare dashboard in addition to Wrangler.
  • Support for object lifecycle delete notifications.
  • Multiple notification rules per queue on a single bucket.
BLOG-2517 9
BLOG-2517 10

No more request fees for Service Bindings and Tail Workers

Pricing changes from July 2024 removed request fees for inter-Worker calls via Service Bindings and for Tail Worker invocations. For a client request that chains through multiple Workers — previously three separate billable invocations — only the initial client request is charged now, alongside each Worker's CPU time.

This eliminates the added cost of splitting a monolithic serverless app into microservices. Combined with the earlier shift from duration-based pricing to CPU-time billing, there's no charge for time spent waiting on I/O, including I/O between Workers.

The microservices trade-off on Workers continues to shrink: Service Bindings add zero network overhead by default, include a built-in JavaScript RPC system, and offer a security model with simpler configuration. This pricing change makes the cost argument for service decomposition even stronger.

Diagram of Workers using Service Bindings and a Tail Worker

Cloudflare Images: free image optimization for all

Cloudflare is making its image optimization service available to every account at no cost. The free tier covers up to 5,000 transformations per month. The service is designed to serve images in the correct dimensions and formats for each request while storing only a single original file.

Transformation URLs are served from your zone and use parameters to specify how an image should be optimized. The format parameter, for example, lets Cloudflare automatically serve the best format for the requesting browser.

https://example.com/cdn-cgi/image/format=auto/thumbnail.png

As a result, an original PNG might be served as AVIF to one visitor and WebP to another. Transformations of images stored outside Cloudflare Images — including in R2 — are free up to 5,000 unique transformations per month. Beyond that limit, already cached transformations will continue to be served, but new transformations or storage within Images will require a paid plan.

You can enable transformations on your zone from the Images section of the Cloudflare dashboard.

BLOG-2517 12

More from Builder Day

Several companion posts go deeper into the technical details of the platform announcements made at Builder Day:

Building on Cloudflare

All of the Builder Day announcements are available to try immediately. Qualified startups can apply for $250,000 in credits to use toward the Developer Platform, and the startup program application is open now. Developers can also join the Cloudflare Developers Discord with questions or feedback.