Skip to content
This repository has been archived by the owner on Apr 6, 2023. It is now read-only.

Commit

Permalink
v3.0.0 (#9051)
Browse files Browse the repository at this point in the history
Co-authored-by: Sébastien Chopin <seb@nuxtjs.com>
  • Loading branch information
pi0 and Atinux committed Nov 16, 2022
1 parent 32044dc commit d991a55
Show file tree
Hide file tree
Showing 13 changed files with 118 additions and 36 deletions.
13 changes: 3 additions & 10 deletions docs/content/1.docs/5.community/5.roadmap.md
Expand Up @@ -20,22 +20,15 @@ This page lists the current status and schedule of our planned releases.
- [Rendering Optimizations: Today and Tomorrow](https://github.com/nuxt/framework/discussions/5856)
- [Nuxt Image: Performance and Status](https://github.com/nuxt/image/discussions/563)

## 📅 Release Schedule

Release | Expected date | Description
--------------------|------------------------|---------------------------------------------------
`nuxt@2.16` | Autumn, 2022 | Nuxt v2 cumulative updates for future compatibility with Bridge
`nuxt@3.0.0` | 16th November, 2022 | Nuxt v3 final release

### Current Releases

[Nuxt 3](https://v3.nuxtjs.org) is **in release candidate stage** and available as the `nuxt@rc` npm tag.
[Nuxt 3](https://v3.nuxtjs.org) is *stable** and available as the `nuxt` npm tag with `latest` tag.

The latest updates on Nuxt 2.x are available via the `nuxt-edge` npm package and are expected to be released soon for forward compatibility.
The latest updates on Nuxt 2.x are available via the `nuxt-edge` npm package and are expected to be released soon for forward compatibility. A minor version is expected during Autumn, 2022 as `nuxt@2.16` with cumulative updates for future compatibility with Bridge.

Release | npm | Status | Last Release | Docs | Repository
---------|----|---------|--------------|------|-----------------
Nuxt 3.x | [`nuxt`](https://npmjs.com/package/nuxt) | Release Candidate | <a href="https://npmjs.com/package/nuxt"><img src="https://flat.badgen.net/npm/v/nuxt/rc"></a> | [3.x docs](https://v3.nuxtjs.org/) | [nuxt/framework](https://github.com/nuxt/framework)
Nuxt 3.x | [`nuxt`](https://npmjs.com/package/nuxt) | Stable | <a href="https://npmjs.com/package/nuxt"><img src="https://flat.badgen.net/npm/v/nuxt/rc"></a> | [3.x docs](https://v3.nuxtjs.org/) | [nuxt/framework](https://github.com/nuxt/framework)
Nuxt 3.x (edge*) | [`nuxt3`](https://npmjs.com/package/nuxt3) | Development | <a href="https://npmjs.com/package/nuxt3"><img src="https://flat.badgen.net/npm/v/nuxt3"></a> | [3.x docs](https://v3.nuxtjs.org/) | [nuxt/framework](https://github.com/nuxt/framework)
Nuxt 2.x | [`nuxt`](https://npmjs.com/package/nuxt) | Maintenance | <a href="https://npmjs.com/package/nuxt"><img src="https://flat.badgen.net/npm/v/nuxt"></a> | [2.x docs](https://nuxtjs.org/docs) | [nuxt/nuxt.js#2.x](https://github.com/nuxt/nuxt.js/tree/2.x)
Nuxt 2.x (edge*) | [`nuxt-edge`](https://npmjs.com/package/nuxt) | Maintenance | <a href="https://npmjs.com/package/nuxt-edge"><img src="https://flat.badgen.net/npm/v/nuxt-edge"></a> | [2.x docs](https://nuxtjs.org/docs) | [nuxt/nuxt.js](https://github.com/nuxt/nuxt.js)
Expand Down
50 changes: 50 additions & 0 deletions docs/content/v3.md
@@ -0,0 +1,50 @@
---
title: Announcing 3.0
description: 'We are thrilled to announce the first stable version of Nuxt 3.0.0'
navigation: false
---

::blog-article
---
authors:
- name: Pooya Parsa
avatarUrl: https://github.com/pi0.png
link: https://twitter.com/_pi0_
date: "Nov 16, 2022"
---
#title
# Announcing Nuxt 3.0 stable
#description
We are thrilled to announce the first stable version of Nuxt 3.0.0 :sparkles:
#body

Nuxt 3 is a modern rewrite of the Nuxt framework based on [Vite](https://vitejs.dev/), [Vue3](https://vuejs.org/), and [Nitro](https://nitro.unjs.io/) with first-class Typescript support and the result of more than two years of research, community feedback, innovation, and experiment to make a pleasant full-stack Developer Experience for Vue development to everyone.

[[Read More In the Documentation]](/docs)

## API Stability

Nuxt 3.0.0 comes with a stable, production-ready API and 50+ [supported modules](.com/modules) built using [Nuxt Kit](/docs/guide/going-further/modules) by the community and Nuxt team.

All composables, filesystem conventions, and configurations are guaranteed to be backward compatible with Nuxt 3.0.0. Due to the nature of the meta-frameworks, some changes happen when we upgrade the underlying dependencies (vite, rollup, and nitropack). Thanks to the new Nuxt Kit and Schema tools, such upgrades will be backward compatible as long as you are using documented features. Kit and Schema also guarantee better future compatibility. This makes it faster for us to iterate and plan the next major versions of Nuxt.

## The browser and Node.js support

Nuxt 3 officially supports evergreen browsers only. The "core browser set" is what we (And [web.dev](http://web.dev) team) believe most developers need to support most of the time in the absence of specific constraints. It takes into account [usage numbers](https://caniuse.com/usage-table), developer expectations, and [existing support in](https://make.wordpress.org/core/handbook/best-practices/browser-support/) [the ecosystem](https://angular.io/guide/browser-support). The core browser set targets the **2 most recent major versions** of Chrome, Firefox, and Edge on a monthly basis and Safari on a yearly basis.

On the server side, Nuxt 3 supports Node.js 14, 16, 18, and 19 at the moment. We encourage everyone to use the latest LTS releases of Node.js, we push them once **widely adopted by major deployment platforms**. This means we keep supporting Node.js versions as long as they are supported by the Node.js team on a rolling basis in non-major releases of Nuxt. Since 14.x is being end-of-life soon, we highly encourage you to update to the latest 18.x whenever possible.

## We Love Community

Nuxt wouldn’t be possible today without an amazing community making amazing modules, feedback, and contributions every day. Check our [Community Documentation](https://nuxt.com/docs/community/getting-help) to be involved!

## To the Future

Releasing Nuxt 3 is a big milestone for us and opens a future-proof basis for new ideas and trust for the users to build their enterprise projects with Nuxt 3.

Server Component Islands, Websocket layer, new Deployment presets, improved CLI and Devtools and Testing infra are a few to mention. Keep an eye on the [roadmap page](https://nuxt.com/docs/community/roadmap) and [GitHub discussions](https://github.com/nuxt/framework/discussions) for updates.

NuxtLabs is working on [new product](https://nuxt.studio) and solutions on top of Nuxt 3 at the time of writing this article.

Stay tuned for more exciting news and Happy Nuxting 💚
::
2 changes: 1 addition & 1 deletion docs/package.json
Expand Up @@ -10,7 +10,7 @@
"devDependencies": {
"jiti": "^1.16.0",
"nuxt": "npm:nuxt3@latest",
"nuxt-website-theme": "^0.1.2",
"nuxt-website-theme": "^0.1.3",
"pathe": "^1.0.0",
"scule": "^1.0.0",
"untyped": "^1.0.0"
Expand Down
10 changes: 5 additions & 5 deletions docs/yarn.lock
Expand Up @@ -4166,7 +4166,7 @@ __metadata:
dependencies:
jiti: ^1.16.0
nuxt: "npm:nuxt3@latest"
nuxt-website-theme: ^0.1.2
nuxt-website-theme: ^0.1.3
pathe: ^1.0.0
scule: ^1.0.0
untyped: ^1.0.0
Expand Down Expand Up @@ -8960,9 +8960,9 @@ __metadata:
languageName: node
linkType: hard

"nuxt-website-theme@npm:^0.1.2":
version: 0.1.2
resolution: "nuxt-website-theme@npm:0.1.2"
"nuxt-website-theme@npm:^0.1.3":
version: 0.1.3
resolution: "nuxt-website-theme@npm:0.1.3"
dependencies:
"@docsearch/css": ^3.3.0
"@docsearch/js": ^3.3.0
Expand All @@ -8985,7 +8985,7 @@ __metadata:
tailwindcss-border-gradient-radius: ^3.0.1
three: ^0.146.0
vue-lite-youtube-embed: ^1.0.4
checksum: 02843250a4fd929b79b104ffe34bf7378fc76e8e8e716a5f0bd9f7f8d838cdf7b3bdf2ea997ba3efd9f9a4e2347d57aa655a07d95836ddff3fbe3d74fadaf0a0
checksum: bae2eacf4b6488625a881527015b052c14d1d40982a72283443b05afef2b33c281f4ba4bebb868f6dcc48ff2c4e329564aabe26b4a343c6850c404cabd954ed6
languageName: node
linkType: hard

Expand Down
4 changes: 2 additions & 2 deletions packages/kit/package.json
@@ -1,6 +1,6 @@
{
"name": "@nuxt/kit",
"version": "3.0.0-rc.14",
"version": "3.0.0",
"repository": "nuxt/framework",
"license": "MIT",
"type": "module",
Expand All @@ -13,7 +13,7 @@
"prepack": "unbuild"
},
"dependencies": {
"@nuxt/schema": "3.0.0-rc.14",
"@nuxt/schema": "3.0.0",
"c12": "^1.0.1",
"consola": "^2.15.3",
"defu": "^6.1.1",
Expand Down
6 changes: 3 additions & 3 deletions packages/nuxi/package.json
@@ -1,6 +1,6 @@
{
"name": "nuxi",
"version": "3.0.0-rc.14",
"version": "3.0.0",
"repository": "nuxt/framework",
"license": "MIT",
"type": "module",
Expand All @@ -18,8 +18,8 @@
"prepack": "unbuild"
},
"devDependencies": {
"@nuxt/kit": "3.0.0-rc.14",
"@nuxt/schema": "3.0.0-rc.14",
"@nuxt/kit": "3.0.0",
"@nuxt/schema": "3.0.0",
"@types/clear": "^0",
"@types/flat": "^5.0.2",
"@types/mri": "^1.1.1",
Expand Down
10 changes: 5 additions & 5 deletions packages/nuxt/package.json
@@ -1,6 +1,6 @@
{
"name": "nuxt",
"version": "3.0.0-rc.14",
"version": "3.0.0",
"repository": "nuxt/framework",
"license": "MIT",
"type": "module",
Expand Down Expand Up @@ -37,11 +37,11 @@
},
"dependencies": {
"@nuxt/devalue": "^2.0.0",
"@nuxt/kit": "3.0.0-rc.14",
"@nuxt/schema": "3.0.0-rc.14",
"@nuxt/kit": "3.0.0",
"@nuxt/schema": "3.0.0",
"@nuxt/telemetry": "^2.1.8",
"@nuxt/ui-templates": "^1.0.0",
"@nuxt/vite-builder": "3.0.0-rc.14",
"@nuxt/vite-builder": "3.0.0",
"@vue/reactivity": "^3.2.45",
"@vue/shared": "^3.2.45",
"@vueuse/head": "^1.0.15",
Expand All @@ -62,7 +62,7 @@
"magic-string": "^0.26.7",
"mlly": "^1.0.0",
"nitropack": "^1.0.0",
"nuxi": "3.0.0-rc.14",
"nuxi": "3.0.0",
"ohash": "^1.0.0",
"ofetch": "^1.0.0",
"pathe": "^1.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/schema/package.json
@@ -1,6 +1,6 @@
{
"name": "@nuxt/schema",
"version": "3.0.0-rc.14",
"version": "3.0.0",
"repository": "nuxt/framework",
"license": "MIT",
"type": "module",
Expand Down
6 changes: 3 additions & 3 deletions packages/test-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@nuxt/test-utils",
"version": "3.0.0-rc.14",
"version": "3.0.0",
"repository": "nuxt/framework",
"license": "MIT",
"type": "module",
Expand All @@ -13,8 +13,8 @@
"prepack": "unbuild"
},
"dependencies": {
"@nuxt/kit": "3.0.0-rc.14",
"@nuxt/schema": "3.0.0-rc.14",
"@nuxt/kit": "3.0.0",
"@nuxt/schema": "3.0.0",
"consola": "^2.15.3",
"defu": "^6.1.1",
"execa": "^6.1.0",
Expand Down
6 changes: 3 additions & 3 deletions packages/vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@nuxt/vite-builder",
"version": "3.0.0-rc.14",
"version": "3.0.0",
"repository": "nuxt/framework",
"license": "MIT",
"type": "module",
Expand All @@ -13,13 +13,13 @@
"prepack": "unbuild"
},
"devDependencies": {
"@nuxt/schema": "3.0.0-rc.14",
"@nuxt/schema": "3.0.0",
"@types/cssnano": "^5",
"unbuild": "latest",
"vue": "3.2.45"
},
"dependencies": {
"@nuxt/kit": "3.0.0-rc.14",
"@nuxt/kit": "3.0.0",
"@rollup/plugin-replace": "^5.0.1",
"@vitejs/plugin-vue": "^3.2.0",
"@vitejs/plugin-vue-jsx": "^2.1.1",
Expand Down
6 changes: 3 additions & 3 deletions packages/webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@nuxt/webpack-builder",
"version": "3.0.0-rc.14",
"version": "3.0.0",
"repository": "nuxt/framework",
"license": "MIT",
"type": "module",
Expand All @@ -18,7 +18,7 @@
"dependencies": {
"@babel/core": "^7.20.2",
"@nuxt/friendly-errors-webpack-plugin": "^2.5.2",
"@nuxt/kit": "3.0.0-rc.14",
"@nuxt/kit": "3.0.0",
"autoprefixer": "^10.4.13",
"css-loader": "^6.7.2",
"css-minimizer-webpack-plugin": "^4.2.2",
Expand Down Expand Up @@ -57,7 +57,7 @@
"webpackbar": "^5.0.2"
},
"devDependencies": {
"@nuxt/schema": "3.0.0-rc.14",
"@nuxt/schema": "3.0.0",
"@types/lodash-es": "^4.17.6",
"@types/pify": "^5.0.1",
"@types/webpack-bundle-analyzer": "^4.6.0",
Expand Down
21 changes: 21 additions & 0 deletions scripts/bump.ts
@@ -0,0 +1,21 @@
import { loadWorkspace } from './_utils'

async function main () {
const workspace = await loadWorkspace(process.cwd())

const newVersion = process.argv[2]
if (!newVersion) {
throw new Error('Please provide version!')
}

for (const pkg of workspace.packages.filter(p => !p.data.private)) {
workspace.setVersion(pkg.data.name, newVersion!)
}

await workspace.save()
}

main().catch((err) => {
console.error(err)
process.exit(1)
})
18 changes: 18 additions & 0 deletions scripts/release.sh
@@ -0,0 +1,18 @@
#!/bin/bash

set -e

# Restore all git changes
git restore -s@ -SW -- packages examples

# Build all once to ensure things are nice
pnpm build

# Release packages
for PKG in packages/* ; do
pushd $PKG
TAG="latest"
echo "⚡ Publishing $PKG with tag $TAG"
pnpm publish --access public --no-git-checks --tag $TAG
popd > /dev/null
done

0 comments on commit d991a55

Please sign in to comment.