diff --git a/.changeset/afraid-dots-whisper.md b/.changeset/afraid-dots-whisper.md
new file mode 100644
index 000000000..272a1e212
--- /dev/null
+++ b/.changeset/afraid-dots-whisper.md
@@ -0,0 +1,29 @@
+---
+'@astrojs/cloudflare': major
+'@astrojs/partytown': major
+'@astrojs/tailwind': major
+'@astrojs/netlify': major
+'@astrojs/sitemap': major
+'@astrojs/preact': major
+'@astrojs/svelte': major
+'@astrojs/vercel': major
+'@astrojs/react': major
+'@astrojs/solid-js': major
+'@astrojs/deno': major
+'@astrojs/node': major
+'@astrojs/lit': major
+'@astrojs/vue': major
+'create-astro': major
+'@astrojs/prism': major
+'@astrojs/rss': major
+'@astrojs/telemetry': major
+'astro': major
+'@astrojs/alpinejs': minor
+'@astrojs/prefetch': minor
+'@astrojs/markdoc': minor
+'@astrojs/underscore-redirects': minor
+'@astrojs/mdx': minor
+'@astrojs/internal-helpers': minor
+---
+
+Remove support for Node 16. The lowest supported version by Astro and all integrations is now v18.14.1. As a reminder, Node 16 will be deprecated on the 11th September 2023.
diff --git a/.changeset/angry-dogs-shake.md b/.changeset/angry-dogs-shake.md
new file mode 100644
index 000000000..979fcf0f4
--- /dev/null
+++ b/.changeset/angry-dogs-shake.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Use `undici` for File changeset for Node 16 compatibility
diff --git a/.changeset/big-tips-whisper.md b/.changeset/big-tips-whisper.md
new file mode 100644
index 000000000..ad532760f
--- /dev/null
+++ b/.changeset/big-tips-whisper.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/internal-helpers': patch
+---
+
+Trigger re-release to fix `collapseDuplicateSlashes` export
diff --git a/.changeset/brave-cheetahs-float.md b/.changeset/brave-cheetahs-float.md
new file mode 100644
index 000000000..84825ce0f
--- /dev/null
+++ b/.changeset/brave-cheetahs-float.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Do not throw Error when users pass an object with a "type" property
diff --git a/.changeset/chilled-ducks-grin.md b/.changeset/chilled-ducks-grin.md
new file mode 100644
index 000000000..b63b1f29c
--- /dev/null
+++ b/.changeset/chilled-ducks-grin.md
@@ -0,0 +1,5 @@
+---
+'astro': major
+---
+
+Removed automatic flattening of `getStaticPaths` result. `.flatMap` and `.flat` should now be used to ensure that you're returning a flat array.
diff --git a/.changeset/clever-bats-breathe.md b/.changeset/clever-bats-breathe.md
new file mode 100644
index 000000000..2c1a6dc39
--- /dev/null
+++ b/.changeset/clever-bats-breathe.md
@@ -0,0 +1,13 @@
+---
+'astro': major
+---
+
+This import alias is no longer included by default with astro:assets. If you were using this alias with experimental assets, you must convert them to relative file paths, or create your own [import aliases](https://docs.astro.build/en/guides/aliases/).
+
+```diff
+---
+// src/pages/posts/post-1.astro
+- import rocket from '~/assets/rocket.png'
++ import rocket from '../../assets/rocket.png';
+---
+```
diff --git a/.changeset/cool-feet-rest.md b/.changeset/cool-feet-rest.md
new file mode 100644
index 000000000..c2e724d80
--- /dev/null
+++ b/.changeset/cool-feet-rest.md
@@ -0,0 +1,7 @@
+---
+'@astrojs/solid-js': major
+---
+
+New `include` and `exclude` config options
+
+The Solid integration now has new `include` and `exclude` config options. Use these if you want to use Solid alongside another JSX framework; include specifies files to be compiled for Solid and `exclude` does the opposite.
diff --git a/.changeset/cool-jokes-clap.md b/.changeset/cool-jokes-clap.md
new file mode 100644
index 000000000..74176b259
--- /dev/null
+++ b/.changeset/cool-jokes-clap.md
@@ -0,0 +1,11 @@
+---
+'astro': major
+---
+
+Fixes for the `class:list` directive
+
+- Previously, `class:list` would ocassionally not be merged the `class` prop when passed to Astro components. Now, `class:list` is always converted to a `class` prop (as a string value).
+- Previously, `class:list` diverged from [`clsx`](https://github.com/lukeed/clsx) in a few edge cases. Now, `class:list` uses [`clsx`](https://github.com/lukeed/clsx) directly.
+ - `class:list` used to deduplicate matching values, but it no longer does
+ - `class:list` used to sort individual values, but it no longer does
+ - `class:list` used to support `Set` and other iterables, but it no longer does
diff --git a/.changeset/curvy-experts-jog.md b/.changeset/curvy-experts-jog.md
new file mode 100644
index 000000000..156f7eabc
--- /dev/null
+++ b/.changeset/curvy-experts-jog.md
@@ -0,0 +1,30 @@
+---
+'@astrojs/cloudflare': major
+'@astrojs/partytown': major
+'@astrojs/tailwind': major
+'@astrojs/netlify': major
+'@astrojs/sitemap': major
+'@astrojs/preact': major
+'@astrojs/svelte': major
+'@astrojs/vercel': major
+'@astrojs/react': major
+'@astrojs/solid-js': major
+'@astrojs/deno': major
+'@astrojs/node': major
+'@astrojs/lit': major
+'@astrojs/mdx': major
+'@astrojs/vue': major
+'@astrojs/markdown-remark': major
+'create-astro': major
+'@astrojs/prism': major
+'@astrojs/rss': major
+'@astrojs/telemetry': major
+'astro': major
+'@astrojs/alpinejs': minor
+'@astrojs/prefetch': minor
+'@astrojs/markdoc': minor
+'@astrojs/underscore-redirects': minor
+'@astrojs/internal-helpers': minor
+---
+
+Astro 3.0 Release Candidate
diff --git a/.changeset/cyan-carrots-stare.md b/.changeset/cyan-carrots-stare.md
new file mode 100644
index 000000000..f7bcd4870
--- /dev/null
+++ b/.changeset/cyan-carrots-stare.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Update error message when Sharp couldn't be found (tends to happen on pnpm notably)
diff --git a/.changeset/dirty-lies-cover.md b/.changeset/dirty-lies-cover.md
new file mode 100644
index 000000000..ae74e348e
--- /dev/null
+++ b/.changeset/dirty-lies-cover.md
@@ -0,0 +1,32 @@
+---
+'@astrojs/cloudflare': minor
+'@astrojs/netlify': minor
+'@astrojs/vercel': minor
+'@astrojs/deno': minor
+'@astrojs/node': minor
+'astro': minor
+---
+
+Introduced the concept of feature map. A feature map is a list of features that are built-in in Astro, and an Adapter
+can tell Astro if it can support it.
+
+```ts
+import {AstroIntegration} from "./astro";
+
+function myIntegration(): AstroIntegration {
+ return {
+ name: 'astro-awesome-list',
+ // new feature map
+ supportedAstroFeatures: {
+ hybridOutput: 'experimental',
+ staticOutput: 'stable',
+ serverOutput: 'stable',
+ assets: {
+ supportKind: 'stable',
+ isSharpCompatible: false,
+ isSquooshCompatible: false,
+ },
+ }
+ }
+}
+```
diff --git a/.changeset/fair-emus-divide.md b/.changeset/fair-emus-divide.md
new file mode 100644
index 000000000..529760241
--- /dev/null
+++ b/.changeset/fair-emus-divide.md
@@ -0,0 +1,39 @@
+---
+'astro': major
+'@astrojs/netlify': minor
+---
+
+The `build.split` and `build.excludeMiddleware` configuration options are deprecated and have been replaced by options in the adapter config.
+
+If your config includes the `build.excludeMiddleware` option, replace it with `edgeMiddleware` in your adapter options:
+
+```diff
+import { defineConfig } from "astro/config";
+import netlify from "@astrojs/netlify/functions";
+
+export default defineConfig({
+ build: {
+- excludeMiddleware: true
+ },
+ adapter: netlify({
++ edgeMiddleware: true
+ }),
+});
+```
+
+If your config includes the `build.split` option, replace it with `functionPerRoute` in your adapter options:
+
+```diff
+import { defineConfig } from "astro/config";
+import netlify from "@astrojs/netlify/functions";
+
+export default defineConfig({
+ build: {
+- split: true
+ },
+ adapter: netlify({
++ functionPerRoute: true
+ }),
+});
+```
+
diff --git a/.changeset/fair-eyes-promise.md b/.changeset/fair-eyes-promise.md
new file mode 100644
index 000000000..c66a42d17
--- /dev/null
+++ b/.changeset/fair-eyes-promise.md
@@ -0,0 +1,7 @@
+---
+'@astrojs/mdx': major
+---
+
+Support Astro 3 JSX format
+
+This upgrades the MDX plugin to correctly work with the new JSX render API in Astro 3.
diff --git a/.changeset/famous-queens-itch.md b/.changeset/famous-queens-itch.md
new file mode 100644
index 000000000..e3538cdd6
--- /dev/null
+++ b/.changeset/famous-queens-itch.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/mdx': patch
+---
+
+Re-orders the MDX plugin to run before Astro's JSX plugin
diff --git a/.changeset/four-houses-compete.md b/.changeset/four-houses-compete.md
new file mode 100644
index 000000000..641bb1035
--- /dev/null
+++ b/.changeset/four-houses-compete.md
@@ -0,0 +1,18 @@
+---
+'astro': major
+---
+
+Sharp is now the default image service used for `astro:assets`. If you would prefer to still use Squoosh, you can update your config with the following:
+
+```ts
+import { defineConfig, squooshImageService } from "astro/config";
+
+// https://astro.build/config
+export default defineConfig({
+ image: {
+ service: squooshImageService(),
+ }
+})
+```
+
+However, not only do we recommend using Sharp as it is faster and more reliable, it is also highly likely that the Squoosh service will be removed in a future release.
diff --git a/.changeset/gentle-deers-yawn.md b/.changeset/gentle-deers-yawn.md
new file mode 100644
index 000000000..30e577c69
--- /dev/null
+++ b/.changeset/gentle-deers-yawn.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Call `astro sync` once before calling `astro check`
diff --git a/.changeset/gentle-meals-crash.md b/.changeset/gentle-meals-crash.md
new file mode 100644
index 000000000..5314442ea
--- /dev/null
+++ b/.changeset/gentle-meals-crash.md
@@ -0,0 +1,9 @@
+---
+'astro': major
+---
+
+Remove support for `Astro.__renderMarkdown` which is used by `@astrojs/markdown-component`.
+
+The `