Co-authored-by: Sébastien Chopin <seb@nuxtjs.com>
This commit is contained in:
pooya parsa 2022-11-16 15:56:11 +01:00 committed by GitHub
parent 32044dc8a5
commit d991a55ec3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 118 additions and 36 deletions

View File

@ -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) - [Rendering Optimizations: Today and Tomorrow](https://github.com/nuxt/framework/discussions/5856)
- [Nuxt Image: Performance and Status](https://github.com/nuxt/image/discussions/563) - [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 ### 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 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 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 | [`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) 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)

50
docs/content/v3.md Normal file
View File

@ -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 wouldnt 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 💚
::

View File

@ -10,7 +10,7 @@
"devDependencies": { "devDependencies": {
"jiti": "^1.16.0", "jiti": "^1.16.0",
"nuxt": "npm:nuxt3@latest", "nuxt": "npm:nuxt3@latest",
"nuxt-website-theme": "^0.1.2", "nuxt-website-theme": "^0.1.3",
"pathe": "^1.0.0", "pathe": "^1.0.0",
"scule": "^1.0.0", "scule": "^1.0.0",
"untyped": "^1.0.0" "untyped": "^1.0.0"

View File

@ -4166,7 +4166,7 @@ __metadata:
dependencies: dependencies:
jiti: ^1.16.0 jiti: ^1.16.0
nuxt: "npm:nuxt3@latest" nuxt: "npm:nuxt3@latest"
nuxt-website-theme: ^0.1.2 nuxt-website-theme: ^0.1.3
pathe: ^1.0.0 pathe: ^1.0.0
scule: ^1.0.0 scule: ^1.0.0
untyped: ^1.0.0 untyped: ^1.0.0
@ -8960,9 +8960,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"nuxt-website-theme@npm:^0.1.2": "nuxt-website-theme@npm:^0.1.3":
version: 0.1.2 version: 0.1.3
resolution: "nuxt-website-theme@npm:0.1.2" resolution: "nuxt-website-theme@npm:0.1.3"
dependencies: dependencies:
"@docsearch/css": ^3.3.0 "@docsearch/css": ^3.3.0
"@docsearch/js": ^3.3.0 "@docsearch/js": ^3.3.0
@ -8985,7 +8985,7 @@ __metadata:
tailwindcss-border-gradient-radius: ^3.0.1 tailwindcss-border-gradient-radius: ^3.0.1
three: ^0.146.0 three: ^0.146.0
vue-lite-youtube-embed: ^1.0.4 vue-lite-youtube-embed: ^1.0.4
checksum: 02843250a4fd929b79b104ffe34bf7378fc76e8e8e716a5f0bd9f7f8d838cdf7b3bdf2ea997ba3efd9f9a4e2347d57aa655a07d95836ddff3fbe3d74fadaf0a0 checksum: bae2eacf4b6488625a881527015b052c14d1d40982a72283443b05afef2b33c281f4ba4bebb868f6dcc48ff2c4e329564aabe26b4a343c6850c404cabd954ed6
languageName: node languageName: node
linkType: hard linkType: hard

View File

@ -1,6 +1,6 @@
{ {
"name": "@nuxt/kit", "name": "@nuxt/kit",
"version": "3.0.0-rc.14", "version": "3.0.0",
"repository": "nuxt/framework", "repository": "nuxt/framework",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
@ -13,7 +13,7 @@
"prepack": "unbuild" "prepack": "unbuild"
}, },
"dependencies": { "dependencies": {
"@nuxt/schema": "3.0.0-rc.14", "@nuxt/schema": "3.0.0",
"c12": "^1.0.1", "c12": "^1.0.1",
"consola": "^2.15.3", "consola": "^2.15.3",
"defu": "^6.1.1", "defu": "^6.1.1",

View File

@ -1,6 +1,6 @@
{ {
"name": "nuxi", "name": "nuxi",
"version": "3.0.0-rc.14", "version": "3.0.0",
"repository": "nuxt/framework", "repository": "nuxt/framework",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
@ -18,8 +18,8 @@
"prepack": "unbuild" "prepack": "unbuild"
}, },
"devDependencies": { "devDependencies": {
"@nuxt/kit": "3.0.0-rc.14", "@nuxt/kit": "3.0.0",
"@nuxt/schema": "3.0.0-rc.14", "@nuxt/schema": "3.0.0",
"@types/clear": "^0", "@types/clear": "^0",
"@types/flat": "^5.0.2", "@types/flat": "^5.0.2",
"@types/mri": "^1.1.1", "@types/mri": "^1.1.1",

View File

@ -1,6 +1,6 @@
{ {
"name": "nuxt", "name": "nuxt",
"version": "3.0.0-rc.14", "version": "3.0.0",
"repository": "nuxt/framework", "repository": "nuxt/framework",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
@ -37,11 +37,11 @@
}, },
"dependencies": { "dependencies": {
"@nuxt/devalue": "^2.0.0", "@nuxt/devalue": "^2.0.0",
"@nuxt/kit": "3.0.0-rc.14", "@nuxt/kit": "3.0.0",
"@nuxt/schema": "3.0.0-rc.14", "@nuxt/schema": "3.0.0",
"@nuxt/telemetry": "^2.1.8", "@nuxt/telemetry": "^2.1.8",
"@nuxt/ui-templates": "^1.0.0", "@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/reactivity": "^3.2.45",
"@vue/shared": "^3.2.45", "@vue/shared": "^3.2.45",
"@vueuse/head": "^1.0.15", "@vueuse/head": "^1.0.15",
@ -62,7 +62,7 @@
"magic-string": "^0.26.7", "magic-string": "^0.26.7",
"mlly": "^1.0.0", "mlly": "^1.0.0",
"nitropack": "^1.0.0", "nitropack": "^1.0.0",
"nuxi": "3.0.0-rc.14", "nuxi": "3.0.0",
"ohash": "^1.0.0", "ohash": "^1.0.0",
"ofetch": "^1.0.0", "ofetch": "^1.0.0",
"pathe": "^1.0.0", "pathe": "^1.0.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "@nuxt/schema", "name": "@nuxt/schema",
"version": "3.0.0-rc.14", "version": "3.0.0",
"repository": "nuxt/framework", "repository": "nuxt/framework",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",

View File

@ -1,6 +1,6 @@
{ {
"name": "@nuxt/test-utils", "name": "@nuxt/test-utils",
"version": "3.0.0-rc.14", "version": "3.0.0",
"repository": "nuxt/framework", "repository": "nuxt/framework",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
@ -13,8 +13,8 @@
"prepack": "unbuild" "prepack": "unbuild"
}, },
"dependencies": { "dependencies": {
"@nuxt/kit": "3.0.0-rc.14", "@nuxt/kit": "3.0.0",
"@nuxt/schema": "3.0.0-rc.14", "@nuxt/schema": "3.0.0",
"consola": "^2.15.3", "consola": "^2.15.3",
"defu": "^6.1.1", "defu": "^6.1.1",
"execa": "^6.1.0", "execa": "^6.1.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "@nuxt/vite-builder", "name": "@nuxt/vite-builder",
"version": "3.0.0-rc.14", "version": "3.0.0",
"repository": "nuxt/framework", "repository": "nuxt/framework",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
@ -13,13 +13,13 @@
"prepack": "unbuild" "prepack": "unbuild"
}, },
"devDependencies": { "devDependencies": {
"@nuxt/schema": "3.0.0-rc.14", "@nuxt/schema": "3.0.0",
"@types/cssnano": "^5", "@types/cssnano": "^5",
"unbuild": "latest", "unbuild": "latest",
"vue": "3.2.45" "vue": "3.2.45"
}, },
"dependencies": { "dependencies": {
"@nuxt/kit": "3.0.0-rc.14", "@nuxt/kit": "3.0.0",
"@rollup/plugin-replace": "^5.0.1", "@rollup/plugin-replace": "^5.0.1",
"@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue": "^3.2.0",
"@vitejs/plugin-vue-jsx": "^2.1.1", "@vitejs/plugin-vue-jsx": "^2.1.1",

View File

@ -1,6 +1,6 @@
{ {
"name": "@nuxt/webpack-builder", "name": "@nuxt/webpack-builder",
"version": "3.0.0-rc.14", "version": "3.0.0",
"repository": "nuxt/framework", "repository": "nuxt/framework",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
@ -18,7 +18,7 @@
"dependencies": { "dependencies": {
"@babel/core": "^7.20.2", "@babel/core": "^7.20.2",
"@nuxt/friendly-errors-webpack-plugin": "^2.5.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", "autoprefixer": "^10.4.13",
"css-loader": "^6.7.2", "css-loader": "^6.7.2",
"css-minimizer-webpack-plugin": "^4.2.2", "css-minimizer-webpack-plugin": "^4.2.2",
@ -57,7 +57,7 @@
"webpackbar": "^5.0.2" "webpackbar": "^5.0.2"
}, },
"devDependencies": { "devDependencies": {
"@nuxt/schema": "3.0.0-rc.14", "@nuxt/schema": "3.0.0",
"@types/lodash-es": "^4.17.6", "@types/lodash-es": "^4.17.6",
"@types/pify": "^5.0.1", "@types/pify": "^5.0.1",
"@types/webpack-bundle-analyzer": "^4.6.0", "@types/webpack-bundle-analyzer": "^4.6.0",

21
scripts/bump.ts Normal file
View File

@ -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
scripts/release.sh Executable file
View File

@ -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