Last updated: 2025/06/19 09:21
Drawing CSS Shapes using corner-shape
After you've got a `border-radius`, you can control the shape of the corner with `corner-shape`, which unlocks a simpler and more powerful way to make shapes compared to `clip-path()`.

JSON module scripts are now Baseline Newly available
Thanks to JSON module scripts and import attributes, you can now directly import JSON in JavaScript modules. Both features are now Baseline Newly available.

An open source tool to speed up iOS app launch
Order files re-order your binary to improve how symbols are loaded into memory. Generate an optimized order file faster with our new open-source tool FaultOrdering.
Scope in CSS
We've got @scope in CSS now, and it's got it's uses. But the concept of scope in CSS is a wider idea.

Frontend test coverage with Storybook 9
Stories give you free test coverage

Seer, Sentry’s AI Debugger, is Generally Available
Debug smarter with Seer, Sentry's AI Debugger. Find root causes, get merge-ready fixes, and save development time with automated issue scans & fixes.
You’re not a front-end developer until you’ve…
A fun list post from Nic Chan where you check off the funny/sad/proud/weird things we do as front-end developers. I don’t know if a higher score is better, but it certainly means you’ve been around the block. I doubt you’ll be able to resist poking around Nic’s site, it’s really fun.

Tray.ai cut build times from a day to minutes with Vercel
Tray.ai cut build times from a full day to just two minutes after migrating to Vercel. By consolidating infrastructure and updating their tech stack, they now deliver over a million monthly page views with a faster, more resilient site.

Introducing the Dubai Vercel region (dxb1)
Dubai (dxb1) is now part of Vercel’s global edge network, improving latency for users in the Middle East, Africa, and Central Asia.
Grainy Gradients
This is about reducing banding effects in gradients by introducing noise. A nice approach is a displacement map using SVG filters.

Building a Privacy-First Feedback Widget
A lightweight, privacy-focused widget to gather your feedback on Nuxt documentation, built with Drizzle, NuxtHub database and Motion Vue.

From REST to GraphQL in minutes with prebuilt Connectors
Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.

ESLint v9.29.0 released
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.
React Native 0.80 - React 19.1, JS API Changes, Freezing Legacy Arch and much more
Today we are excited to release React Native 0.80!
Moving Towards a Stable JavaScript API (New Changes in 0.80)
In React Native 0.80, we
Jake Archibald on Native HTML Includes
There was a lot of interest in our Why Can’t HTML Alone Do Includes? article. I’d like to point you to my ShopTalk Show conversation where we really get into things more with Jake Archibald.

Building efficient MCP servers
MCP is becoming the standard for building AI model integrations. See how you can use Vercel's open-source MCP adapter to quickly build your own MCP server, like the teams at Zapier, Composio, and Solana.

Improved team overview page
The Vercel team overview now sorts by your activity, can be filtered by repository, and shows a window into your usage.
Improved unhandled Node.js errors in Fluid compute
Fluid compute now gracefully handles Node.js uncaught exceptions and unhandled rejections to provide better isolation between requests.

HTML spec change: escaping < and > in attributes
What you need to know about this change to how attributes are escaped.

Using the Sentry Unity SDK for Error and Crash Reporting
Production game development needs advanced error and crash reporting. Here are some examples of how to use Sentry with Unity to identify and fix problems in your Unity games.
Release Notes for Safari Technology Preview 221
Safari Technology Preview Release 221 is now available for download for macOS Tahoe and macOS Sequoia.
1fr 1fr vs auto auto vs 50% 50%
There are several different ways to do equal width columns. But some are, uh, more equal than others.

Designing and building the Vercel Ship conference platform
Here's how we designed and built our Vercel Ship conference platform. We generated 15,000+ images and videos with tools like Flux, Veo 2, Runway, and Ideogram. Then, we moved to v0 for prototyping. See our iterations, examples, tech stack, and more.

A new way to style gaps in CSS
Say goodbye to border and pseudo-element hacks.

How ESLint language plugins enhance DSL usability
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.

How to Configure Lightweight Browser Tracing for Debugging at Scale
Tracing at scale can get noisy. Learn how to fine-tune your sample rate and span collection to keep your traces focused, readable, and actually useful.
Cursed Knowledge
Fun idea from the team at Immich: Cursed knowledge we have learned as a result of building Immich that we wish we never knew. Stuff like: Fetch requests in Cloudflare Workers use http by default, even if you explicitly specify https, which can often cause redirect loops.

How we’re adapting SEO for LLMs and AI search
AI is changing how content gets discovered. Now, SEO ranking ≠ LLM visibility. No one has all the answers, but here's how we're adapting our approach to SEO for LLMs and AI search.

Filter runtime logs for fatal function errors
You can now filter your runtime logs to identify fatal function errors, such as Node.js crashes, in the Vercel Logs UI.

Oxlint v1.0 Stable
A collection of high-performance JavaScript tools written in Rust

Yes, Sentry has an MCP Server (...and it’s pretty good)
Sentry's MCP server is a great tool for LLMs to get further context into your Sentry projects. Check out how the MCP works when integrated to your IDE or LLM of choice.

Announcing Oxlint 1.0
The first stable version of Oxlint, a fast & easy-to-use Rust-powered linter for JavaScript and TypeScript, is out. Learn about its 50~100x speed advantage over ESLint, support for 500+ rules, real-world adoption by major companies, and easy migration.
Scroll-Driven Letter Grid
scroll-timelines go from 0 to 100. Many variable fonts axis have similar ranges, like 100 to 900. Surely that's begging for interplay.
Node v24.2.0 (Current)
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

News from WWDC25: WebKit in Safari 26 beta
Welcome to WWDC25!

Observability added to AI Gateway alpha
Vercel Observability now includes a dedicated AI section to surface metrics related to the AI Gateway.

Web technology videos at WWDC25
It’s time for WWDC25!

Support foldable devices with the Viewport Segments API
The Viewport Segments API has shipped with minor changes to the origin trial covered in this blog post.

New permission prompt for Local Network Access
Learn about the new permission prompt for sites that connect to local networks.
Claude Code and Cursor Agent no longer require a team seat
Claude Code and Cursor Agent can now trigger builds on Vercel without a team seat, as a part of our bot detection policies.
Beware of End-of-Life Node.js Versions - Upgrade or Seek Post-EOL Support
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
The Height Enigma
You might as well really understand height and Josh Comeau has your back here. It’s really quite different than width and perhaps less intuitive. Plus when grid and flexbox get involved, things change.

What's happening in Chrome Extensions, June 2025
An overview of the recent changes in Chrome Extensions, plus exciting upcoming extensions features developers can look forward to.

Chrome achieves highest score ever on Speedometer 3.1, saving users millions of hours
Update (6/10/2025): This blog was updated to reflect that testing was done using the Speedometer 3.1 benchmark, and resulted in a 22% perf...
Pre-generate SSL certs, now in the Domains dashboard
The Domains Dashboard now enables zero-downtime migration by allowing SSL certificates to be pre-provisioned before migrating domains.

Bot Protection is now generally available
Vercel's Bot Protection managed ruleset allows users to mitigate unwanted bot activity on their projects in a single click
firstChild can be white space
Just a tiny gotcha.

Astro 5.9
Astro 5.9 has got your site on lockdown, with experimental support for Content Security Policy, rendering Markdown in content loaders, and more!

React Router Open Governance
React Router is moving to an Open Governance Model

The no-nonsense approach to AI agent development
Learn how to build reliable, domain-specific AI agents by simulating tasks manually, structuring logic with code, and optimizing with real-world feedback. A clear, hands-on approach to practical automation.
SVG to shape()
We’ve been trying to make the point around here that the new shape() in CSS is awesome. It’s the powerful <path> in SVG ported to CSS so it can use actual units. It’s probably how path() should have ported to begin with, but c’est la vie. I’ll make the point in this demo. Resize those […]

Cloudflare is now backing pkg.pr.new’s data infrastructure!
We are thrilled to announce that Cloudflare is backing pkg.pr.new’s data infrastructure, enabling us to sustainably scale preview package releases for the open source community and onboard even more projects.
New firewall challenge metrics now available
You can now monitor and query for challenge outcomes with two new metrics, available in the Firewall and Observability dashboards.

Storybook 9
The lean, mean component testing machine

Search Params Are State
Search Params Are State — Treat Them That Way Search params have been historically treated like second-class state. They're global, serializable, and shareable — but in most apps, they’re still hacked...
Shop Talk Show episode 667
Check out this week’s episode of Shop Talk Show where we appeared to talk about Declarative Web Push, the future of form control styling, color contrast algorithms, accessibility standards, enhancements in color picker functionality, typography improvements and more.

Announcing Vitest 3.2
Vitest 3.2 Release Announcement

Roadmap to v4
We have some exciting news about the roadmap to Nuxt 4, including a new timeline and what to expect in the next few weeks.

Introducing the v0 composite model family
Learn how v0's composite AI models combine RAG, frontier LLMs, and AutoFix to build accurate, up-to-date web app code with fewer errors and faster output.

What’s new in Svelte: June 2025
Attachments are the new actions, plus better snippets and classes

What's new in Astro - May 2025
May 2025 - Michelin + ApostropheCMS case study, new Astro course from James Q Quick, and more!

Fluid compute: Evolving serverless for AI workloads
Fluid, our newly announced compute model, eliminates wasted compute by maximizing resource efficiency. Instead of launching a new function for every request, it intelligently reuses available capacity, ensuring that compute isn’t sitting idle.

Faster login flow and new Google Sign-in support
We’ve improved the login experience with a new design and support for Google sign-in, including Google One Tap. Signing in with Google is now a single-click experience.
Fluid compute now supports ISR background and on-demand revalidation
Fluid compute now supports both background and on-demand revalidations across all Vercel projects. This update brings the same performance and efficiency improvements to on-demand cache updates, with no configuration changes required.

May 2025 Baseline monthly digest
Read about various happenings with Baseline during May 2025.
Announcing Babel 8 Beta
After almost two years since the first Babel 8 alpha release (8.0.0-alpha.0), we are finally ready.

ESLint v9.28.0 released
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.

Announcing Rolldown-Vite
We introduce Rolldown-Vite, a drop-in replacement for Vite that leverages the power of Rolldown for faster builds and reduced memory usage. Try it out today!

Enabling chrome.userScripts in Chrome Extensions is changing
We are making a series of changes to the chrome.userScripts API.

New to the web platform in May
Discover some of the interesting features that have landed in stable and beta web browsers during May 2025.
Release Notes for Safari Technology Preview 220
Safari Technology Preview Release 220 is now available for download for macOS Sequoia and macOS Sonoma.
Announcing Angular v20
The past couple of years have been transformative for Angular, as we’ve unleashed major advancements like reactivity with Signals and the…

Simplify Your REST API Logic in React with Connectors for REST APIs and GraphQL
Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.

AI query prompting now available in Observability Plus
AI query prompting is now available in Observability Plus, allowing users to write or edit log queries using natural language. Generate shareable, bookmarkable queries without writing syntax.
CVE-2025-48068
A low-severity vulnerability in the Next.js dev server has been addressed. It affects versions 13.0.0 through 14.2.29, and 15.0.0 through 15.2.1 when using the App Router and involves Cross-site WebSocket hijacking (CSWSH) to perform the exploit.

Chrome 138 beta
Discover what's coming to Chrome with the latest beta.

Wake up, Remix!
It's time to go wake up Remix! Here's what we're building and what it means for React Router.

Introducing Session Health in Sentry (Now In Open Beta)
Session Health (now in Open Beta) gives you a clear view of stability and user experience, so you can push a quick fix or keep rolling out with confidence.

Introducing `jsr:` Support
Introducing `jsr:` Support

New in Chrome 137
CSS reading-flow and reading-order, the if() function, JavaScript Promise Integration with WebAssembly and plenty more.

WebStatus.dev: Now with more data, deeper insights, and a clearer path to Baseline
Announcing improvements to the Web Platform Dashboard.

From Alert to Fix in 10 minutes: How a Slow Query Took Down Placid.app
Placid.app faced an API outage from a slow query & cascading failure. See how Sentry helped them diagnose & fix the issue in 10 minutes.

What's New in WebGPU (Chrome 137)
Use texture view for externalTexture binding, buffers copy without specifying offsets and size, WGSL workgroupUniformLoad using pointer to atomic, and more.

Vercel security roundup: improved bot defenses, DoS mitigations, and insights
Since February, Vercel blocked over 148 billion attacks from 108 million IPs. This roundup highlights improvements to bot protection, DoS mitigation, and firewall tooling to help teams build securely by default.
Rate limiting now available on Hobby, with higher included usage on Pro
The first 1,000,000 allowed rate limit requests per month are now included. Hobby teams also get 1 free rate limit rule per project, up to the same included allotment.

Middleware insights now available in Vercel Observability
The Vercel Observability dashboard now includes a dedicated view for middleware, showing invocation counts and performance metrics.
Faster CDN proxying to external origins
Vercel’s upgraded CDN connection pooling speeds up proxying to external backends by up to 60%, cutting latency for both low-traffic and high-traffic apps.

The Baseline Netlify extension has shipped
The Baseline Netlify extension helps developers to understand which Baseline targets are best supported by users. Learn more in this post on how to use it!

Announcing TypeScript Native Previews
Previews of the native TypeScript port are now available on npm and for VS Code through the Visual Studio Marketplace!

A brief history of JavaScript
In 30 years, JavaScript went from being a little scripting language to one of the world

External API caching insights now in Observability
External API caching insights. are now available in Observability for external API calls using Vercel Data Cache.

Building MCP Tools with GraphQL: A Better Way to Connect LLMs to Your API
Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.

Watch our AI talks at I/O 2025
At Google I/O 2025, we shared what we've been working on, the future of AI on the web, and demonstrated how our partners are making use of client-side AI.
Trip report: Node.js collaboration summit (2025 Paris)
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Get Better Visibility Into App Hangs On Apple Devices
With these new improvements, the Cocoa SDK now detects fatal app hangs and introduces app hang rate to track the percentage of users affected.

The Power in Pragmatism
The web ecosystem moves fast. Frameworks evolve, paradigms shift, and tools get rewritten in pursuit of better ideas, or sometimes just cleaner abstractions. That kind of exploration can be valuable,...
Node v22.16.0 (LTS)
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
Node v24.1.0 (Current)
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Two lines of Cross-Document View Transitions code you can use on every website today
Arguably, the most profound thing about the web is the ability to link one page to another.

Vercel Blob is now generally available: Cost-efficient, durable storage
Vercel Blob is now generally available, providing durable object storage that's integrated with Vercel's application delivery network.

How Vapi built their MCP server on Vercel
Vapi has used Vercel's MCP Adapter to deploy and host their MCP server on Vercel, leveraging the benefits of Fluid Compute

Vercel Blob is now generally available
Vercel Blob is now generally available, bringing high-performance storage integrated with the Vercel application delivery platform.

ESLint v9.0.0: A retrospective
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.

Bringing Svelte Summit to the whole community
We’re sponsoring the release of talks from Barcelona, starting this weekend

Reports of Deno's Demise Have Been Greatly Exaggerated
Addressing recent Deno criticisms and sharing our vision for the future

Introducing the AI Gateway
With the AI Gateway, build with any model instantly. No API keys, no configuration, no vendor lock-in.

Visual Studio Code now supports Baseline
Learn about the new Baseline support in VS Code

Want AI to be better at debugging? It’s all about context
More code is being shipped today than ever before, accelerated by AI powered code gen tools. We’re in a golden age for builders. But here’s the thing: software ...

Logs in Sentry: Now in Open Beta
You’re looking at an error in Sentry—a failed payment in your Flask backend or an unexpected null in your Node API. You’ve got the stack trace. The request deta...