Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion pages/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,14 @@
"index": "Overview",
"aws": "AWS",
"cloudflare": "Cloudflare",
"netlify": "Netlify"
"netlify": "Netlify",
"---": {
"type": "separator"
},
"news": {
"title": "News",
"theme": {
"collapsed": false
}
}
}
6 changes: 5 additions & 1 deletion pages/aws/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ We need your help keeping it up to date and feature complete. Make sure to [**jo

---

OpenNext aims to support all Next.js 15 features. Some features are work in progress. Please open a [new issue](https://github.com/opennextjs/opennextjs-aws/issues/new) to let us know!
OpenNext aims to support all Next.js 15 features and is widely deployed in production across multiple platforms.

[NHS England](https://github.com/nhs-england-tools/terraform-aws-opennext), [Udacity](https://engineering.udacity.com/deploying-next-js-on-the-edge-with-sst-is-sst-the-game-changer-its-claimed-to-be-1f05a0abc27c), [Gymshark UK](https://uk.gymshark.com), [SST](https://sst.dev), [Cloudflare](https://www.cloudflare.com)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I moved this from the homepage as it seems to be pretty AWS specific? except for the Cloudflare link...? 🤷🏼

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yeah it's from the original docs.
Cloudflare uses this adapter and has contributed to the aws codebase, so I guess it make sense to add them


Some features are work in progress. Please open a [new issue](https://github.com/opennextjs/opennextjs-aws/issues/new) to let us know!

- [x] App & Pages Router
- [x] API routes
Expand Down
22 changes: 8 additions & 14 deletions pages/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,22 @@ import { SITE } from "../config";

# OpenNext

Next.js, unlike Remix, Astro, or the other modern frontends, doesn't have a way to self-host across different platforms. You can run it as a Node.js application, but this doesn't work the same way as it does on Vercel.
OpenNext started in 2023 as an open-source initiative to make Next.js truly portable — deployable on any platform, not just Vercel. What began as a serverless adapter for AWS Lambda by the [SST](https://sst.dev) community has grown into a multi-platform effort backed by [Cloudflare](https://developers.cloudflare.com/), [Netlify](https://www.netlify.com/), and a broader community of contributors.

---
## Where we are today

There have been several attempts to fix this over the years, broadly falling into two categories: open source framework specific implementations, or closed source product specific implementations.
In collaboration with Vercel, OpenNext helped establish the Deployment Adapters Working Group, alongside Cloudflare, Netlify, Google, AWS Amplify, and others, to design a standard [Deployment Adapters API](https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath) for Next.js. That API is now **stable in Next.js 16.2**, meaning platforms no longer need to reverse-engineer the build output.

These can be really hard to maintain separately because Next.js is constantly being updated.
New adapters for AWS, Cloudflare, and Netlify are in active development, built on this official API. [Read the full story →](/news/2026-03-25-3-years-of-opennext).

OpenNext is an initiative to bring all these efforts together.
As of March 2026, OpenNext members are now part of the [Next.js Ecosystem Working Group](https://nextjs.org/ecosystem-working-group), where they continue to collaborate with the Next.js team and other partners.

---

OpenNext is currently backed by:
## Adapters

1. [SST](https://sst.dev) community, maintains the [AWS](aws) adapter
2. [Cloudflare](https://developers.cloudflare.com/) team, maintains the [Cloudflare](cloudflare) adapter
3. [Netlify](https://www.netlify.com/) team, maintains the [Netlify](netlify) adapter

If you'd like to join the effort, connect with us on [Discord](https://discord.gg/opennextjs).

---
## Get involved

OpenNext aims to support all Next.js features and is widely deployed in production across multiple platforms.

[NHS England](https://github.com/nhs-england-tools/terraform-aws-opennext), [Udacity](https://engineering.udacity.com/deploying-next-js-on-the-edge-with-sst-is-sst-the-game-changer-its-claimed-to-be-1f05a0abc27c), [Gymshark UK](https://uk.gymshark.com), [SST](https://sst.dev), [Cloudflare](https://www.cloudflare.com)
If you'd like to join the effort, connect with us on [Discord](https://discord.gg/opennextjs).
61 changes: 61 additions & 0 deletions pages/news/2026-03-25-3-years-of-opennext.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
description: From an AWS-focused serverless adapter to a universal Next.js portability initiative backed by Cloudflare, Netlify, and the broader community. Today, an important milestone in the OpenNext story was achieved. More still to come.
---

import { Callout } from "nextra/components";

import styles from "../../styles/News.module.css";

# 3 Years of OpenNext

<time dateTime="2026-03-25" className={styles.date}>
March 25, 2026
</time>

## Origin of OpenNext

OpenNext began as a serverless adapter created by [SST](https://sst.dev) specifically for AWS Lambda, addressing the challenge of deploying Next.js applications on serverless platforms outside of Vercel's ecosystem.

## OpenNext V3 and Community Expansion

The launch of [OpenNext V3 in May 2024](https://github.com/opennextjs/opennextjs-aws/releases/tag/v3.0.0) marked a pivotal shift, transforming the project from an AWS-focused tool into a more universal solution for Next.js portability. This version opened the door for other platforms to build their own adapters on top of OpenNext, with Cloudflare notably leveraging OpenNext's AWS adapter as a foundation for their own implementation. The expansion of OpenNext into a multi-platform initiative backed by contributions from Cloudflare, Netlify, and the broader community demonstrated the power of open-source collaboration in overcoming technical silos and making Next.js as platform-agnostic as possible.

## Collaboration with Vercel

What started as an independent open-source project was later joined by Netlify and Cloudflare. Soon after, we started communicating with Vercel via unofficial channels. This collaboration grew even further with the creation of the Deployment Adapters Working Group, with others such as Google and AWS Amplify joining in. This group, in collaboration with Vercel, helped design what is today the [Deployment Adapters API](https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath).

## The Adapters API: Building the Future

It all started with an RFC, shared privately in December 2024, and then [publicly in April 2025](https://github.com/vercel/next.js/discussions/77740). The RFC was met with a lot of positive feedback, and the Working Group was formed.

The Adapters API helps alleviate one of the biggest challenges OpenNext had to solve: the build output. The Adapters API allows us to avoid reverse-engineering features, as the build output now follows a clear contract that every platform can follow.

In Next.js 16 in October 2025, the Adapter API was released as an alpha. This was a major milestone, as it allowed us to start developing our new adapters in earnest.

And now, in March 2026, **the Adapter API is stable in Next.js 16.2.** [Read more about this incredible milestone in the official Next.js announcement](https://nextjs.org/blog/nextjs-across-platforms).

AWS and Cloudflare adapters are currently being built in a shared monorepo. The Netlify adapter is also in active development. We expect all three to be released by the end of 2026.

<Callout>
Don't worry, the current OpenNext adapters are not going anywhere. They will still be supported and
maintained by the OpenNext community. In the case of Netlify, transition to the new adapter will be seamless
for users.
</Callout>

## What's Next?

![Vertical timeline diagram showing the OpenNext and Next.js Adapter API roadmap from April 2023 to a future endpoint. A blue progress line marks completed milestones: SST ships OpenNext 1.0 for serverless self-hosting in April 2023; OpenNext expands as Netlify and Cloudflare join in October 2024; collaboration begins on an Adapter API spec in December 2024; the first Adapter API RFC draft is published in March 2025; and the Adapter API alpha lands in next@16 in October 2025, marked with a pulsing ring. Two milestones are labeled "TODAY": the Adapter API going stable in next@16.2 in March 2026, and portability being achieved with full fidelity specs for all features. Future milestones in gray show GA adapters for Netlify, Cloudflare, and AWS targeted for 2026; a level playing field where Working Group member platforms have information and time to support changes; and finally, "OpenNext disbands?" as the aspirational endpoint.](/opennext-timeline-202603.png)

Over the last three years, OpenNext has played a crucial role in pushing Next.js toward true portability. Now, the introduction of the Adapters API signals a new era. And [as announced today by the Next.js team](https://nextjs.org/blog/nextjs-across-platforms), OpenNext along with Netlify and Cloudflare are founding members of the new [Next.js Ecosystem Working Group](https://nextjs.org/ecosystem-working-group), along with Google, AWS Amplify, and others. This initiative and Vercel's associated commitments give us great confidence that Next.js will remain a flexible, open framework for years to come. For developers, this means more choices, fewer limitations, and a stronger, more inclusive web development community.

The aims of OpenNext may evolve in the near future as we explore this new terrain together. Stay tuned.

The future of Next.js is not just open, it's everywhere.

## Read more

Next.js, OpenNext, Netlify, and Google Firebase have published simultaneous companion posts:

- Read about the stable Adapter API, verified adapters, and the new working group in the [Next.js blog post](https://nextjs.org/blog/nextjs-across-platforms)
- Read about remaining architectural challenges in the [Netlify blog post](https://www.netlify.com/blog/the-next-js-adapter-api-just-shipped-here-s-what-comes-next)
- Read about the Google Cloud perspective in the [Firebase blog post](https://firebase.blog/posts/2026/03/nextjs-adapters)
4 changes: 4 additions & 0 deletions pages/news/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"index": "All Posts",
"2026-03-25-3-years-of-opennext": "3 Years of OpenNext"
}
11 changes: 11 additions & 0 deletions pages/news/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
description: Latest news and updates from the OpenNext project.
---

# News

Updates and announcements from the OpenNext community.

---

- [**3 Years of OpenNext**](/news/2026-03-25-3-years-of-opennext) — _March 25, 2026_ — From an AWS-focused serverless adapter to a universal Next.js portability initiative backed by Cloudflare, Netlify, and the broader community. Today, an important milestone in the OpenNext story was achieved. And more still to come.
Binary file added public/opennext-timeline-202603.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions styles/News.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
.date {
display: block;
color: var(--shiki-token-comment, #6b7280);
font-size: 0.875rem;
margin-top: -0.5rem;
margin-bottom: 1.5rem;
}

.figure {
margin: 2rem 0;
}

.figure img {
display: block;
width: 100%;
border-radius: 0.5rem;
border: 1px solid rgba(128, 128, 128, 0.2);
}

.figure figcaption {
margin-top: 0.5rem;
font-size: 0.875rem;
color: var(--shiki-token-comment, #6b7280);
text-align: center;
}
Loading