diff --git a/lerna.json b/lerna.json index f7ccf846e6ad..79a55bbe7691 100644 --- a/lerna.json +++ b/lerna.json @@ -15,5 +15,5 @@ "registry": "https://registry.npmjs.org/" } }, - "version": "16.4.0-canary.19" + "version": "16.4.0-canary.20" } \ No newline at end of file diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json index a9edbed5a5dd..93918d425654 100644 --- a/packages/create-next-app/package.json +++ b/packages/create-next-app/package.json @@ -1,6 +1,6 @@ { "name": "create-next-app", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "keywords": [ "react", "next", diff --git a/packages/devlow-bench/package.json b/packages/devlow-bench/package.json index cf934ff2954e..0b687cc56882 100644 --- a/packages/devlow-bench/package.json +++ b/packages/devlow-bench/package.json @@ -1,7 +1,7 @@ { "name": "@vercel/devlow-bench", "private": true, - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "description": "Benchmarking tool for the developer workflow", "repository": { "type": "git", diff --git a/packages/eslint-config-next/package.json b/packages/eslint-config-next/package.json index 41adf191b75a..19a94c920236 100644 --- a/packages/eslint-config-next/package.json +++ b/packages/eslint-config-next/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-next", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "description": "ESLint configuration used by Next.js.", "license": "MIT", "repository": { @@ -12,7 +12,7 @@ "dist" ], "dependencies": { - "@next/eslint-plugin-next": "16.4.0-canary.19", + "@next/eslint-plugin-next": "16.4.0-canary.20", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.32.0", diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index 281e20b52406..0255b3ec8d99 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -1,7 +1,7 @@ { "name": "@next/eslint-plugin-internal", "private": true, - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "description": "ESLint plugin for working on Next.js.", "exports": { ".": "./src/eslint-plugin-internal.js" diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json index b52a121c0537..3d171737b81d 100644 --- a/packages/eslint-plugin-next/package.json +++ b/packages/eslint-plugin-next/package.json @@ -1,6 +1,6 @@ { "name": "@next/eslint-plugin-next", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "description": "ESLint plugin for Next.js.", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/font/package.json b/packages/font/package.json index b79ffd92cc67..604f38c564d1 100644 --- a/packages/font/package.json +++ b/packages/font/package.json @@ -1,7 +1,7 @@ { "name": "@next/font", "private": true, - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "repository": { "url": "vercel/next.js", "directory": "packages/font" diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json index dea783908240..524fc9cf787e 100644 --- a/packages/next-bundle-analyzer/package.json +++ b/packages/next-bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@next/bundle-analyzer", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "main": "index.js", "types": "index.d.ts", "license": "MIT", diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json index ef0434d6434b..19bffdc4df6b 100644 --- a/packages/next-codemod/package.json +++ b/packages/next-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@next/codemod", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "license": "MIT", "repository": { "type": "git", diff --git a/packages/next-env/package.json b/packages/next-env/package.json index 73cc2e36f1ad..0dabfc98bc86 100644 --- a/packages/next-env/package.json +++ b/packages/next-env/package.json @@ -1,6 +1,6 @@ { "name": "@next/env", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "keywords": [ "react", "next", diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json index 1489a8695893..508f05122dc3 100644 --- a/packages/next-mdx/package.json +++ b/packages/next-mdx/package.json @@ -1,6 +1,6 @@ { "name": "@next/mdx", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-playwright/package.json b/packages/next-playwright/package.json index f82f44f0a80d..811da98e9844 100644 --- a/packages/next-playwright/package.json +++ b/packages/next-playwright/package.json @@ -1,6 +1,6 @@ { "name": "@next/playwright", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "repository": { "url": "vercel/next.js", "directory": "packages/next-playwright" diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json index d0e15fc82626..13699025c45e 100644 --- a/packages/next-plugin-storybook/package.json +++ b/packages/next-plugin-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-storybook", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-storybook" diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json index 856235a6fc45..6cbe257a9ba9 100644 --- a/packages/next-polyfill-module/package.json +++ b/packages/next-polyfill-module/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-module", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)", "main": "dist/polyfill-module.js", "license": "MIT", diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json index b957d434430c..2bfa6771e2b8 100644 --- a/packages/next-polyfill-nomodule/package.json +++ b/packages/next-polyfill-nomodule/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-nomodule", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "description": "A polyfill for non-dead, nomodule browsers.", "main": "dist/polyfill-nomodule.js", "license": "MIT", diff --git a/packages/next-routing/package.json b/packages/next-routing/package.json index 975675ef6631..e55c51fce394 100644 --- a/packages/next-routing/package.json +++ b/packages/next-routing/package.json @@ -1,6 +1,6 @@ { "name": "@next/routing", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "keywords": [ "react", "next", diff --git a/packages/next-rspack/package.json b/packages/next-rspack/package.json index 146e6f00d6cd..3a38edbb7e81 100644 --- a/packages/next-rspack/package.json +++ b/packages/next-rspack/package.json @@ -1,6 +1,6 @@ { "name": "next-rspack", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "repository": { "url": "vercel/next.js", "directory": "packages/next-rspack" diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index cf59b5e9252d..d96d4575e98a 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -1,6 +1,6 @@ { "name": "@next/swc", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "private": true, "files": [ "native/" diff --git a/packages/next/package.json b/packages/next/package.json index 7f455aa0ff0c..bdabc53bb1a4 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "next", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "description": "The React Framework", "main": "./dist/server/next.js", "license": "MIT", @@ -100,7 +100,7 @@ ] }, "dependencies": { - "@next/env": "16.4.0-canary.19", + "@next/env": "16.4.0-canary.20", "@swc/helpers": "0.5.23", "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", @@ -164,11 +164,11 @@ "@modelcontextprotocol/sdk": "1.18.1", "@mswjs/interceptors": "0.42.0", "@napi-rs/triples": "1.2.0", - "@next/font": "16.4.0-canary.19", - "@next/polyfill-module": "16.4.0-canary.19", - "@next/polyfill-nomodule": "16.4.0-canary.19", - "@next/react-refresh-utils": "16.4.0-canary.19", - "@next/swc": "16.4.0-canary.19", + "@next/font": "16.4.0-canary.20", + "@next/polyfill-module": "16.4.0-canary.20", + "@next/polyfill-nomodule": "16.4.0-canary.20", + "@next/react-refresh-utils": "16.4.0-canary.20", + "@next/swc": "16.4.0-canary.20", "@opentelemetry/api": "1.6.0", "@playwright/test": "1.61.0", "@rspack/core": "1.6.7", diff --git a/packages/react-refresh-utils/package.json b/packages/react-refresh-utils/package.json index d43decd1f9c0..94f8306bfee8 100644 --- a/packages/react-refresh-utils/package.json +++ b/packages/react-refresh-utils/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-refresh-utils", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "description": "An experimental package providing utilities for React Refresh.", "repository": { "url": "vercel/next.js", diff --git a/packages/third-parties/package.json b/packages/third-parties/package.json index 31a86f5b1d4e..daebe6682f37 100644 --- a/packages/third-parties/package.json +++ b/packages/third-parties/package.json @@ -1,6 +1,6 @@ { "name": "@next/third-parties", - "version": "16.4.0-canary.19", + "version": "16.4.0-canary.20", "repository": { "url": "vercel/next.js", "directory": "packages/third-parties" @@ -26,7 +26,7 @@ "third-party-capital": "1.0.20" }, "devDependencies": { - "next": "16.4.0-canary.19", + "next": "16.4.0-canary.20", "outdent": "0.8.0", "prettier": "2.5.1", "typescript": "6.0.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eaf7d3a869ad..94843233a93f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1024,7 +1024,7 @@ importers: packages/eslint-config-next: dependencies: '@next/eslint-plugin-next': - specifier: 16.4.0-canary.19 + specifier: 16.4.0-canary.20 version: link:../eslint-plugin-next eslint: specifier: '>=9.0.0' @@ -1107,7 +1107,7 @@ importers: packages/next: dependencies: '@next/env': - specifier: 16.4.0-canary.19 + specifier: 16.4.0-canary.20 version: link:../next-env '@swc/helpers': specifier: 0.5.23 @@ -1228,19 +1228,19 @@ importers: specifier: 1.2.0 version: 1.2.0 '@next/font': - specifier: 16.4.0-canary.19 + specifier: 16.4.0-canary.20 version: link:../font '@next/polyfill-module': - specifier: 16.4.0-canary.19 + specifier: 16.4.0-canary.20 version: link:../next-polyfill-module '@next/polyfill-nomodule': - specifier: 16.4.0-canary.19 + specifier: 16.4.0-canary.20 version: link:../next-polyfill-nomodule '@next/react-refresh-utils': - specifier: 16.4.0-canary.19 + specifier: 16.4.0-canary.20 version: link:../react-refresh-utils '@next/swc': - specifier: 16.4.0-canary.19 + specifier: 16.4.0-canary.20 version: link:../next-swc '@opentelemetry/api': specifier: 1.6.0 @@ -1983,7 +1983,7 @@ importers: version: 1.0.20 devDependencies: next: - specifier: 16.4.0-canary.19 + specifier: 16.4.0-canary.20 version: link:../next outdent: specifier: 0.8.0 diff --git a/turbopack/crates/turbo-tasks-backend/benches/gc.rs b/turbopack/crates/turbo-tasks-backend/benches/gc.rs index ae06bae937e2..bbb90c296318 100644 --- a/turbopack/crates/turbo-tasks-backend/benches/gc.rs +++ b/turbopack/crates/turbo-tasks-backend/benches/gc.rs @@ -12,9 +12,7 @@ use std::{sync::Arc, time::Duration}; use anyhow::Result; use criterion::{BatchSize, BenchmarkId, Criterion, Throughput}; use tokio::runtime::Runtime; -use turbo_tasks::{ - ResolvedVc, State, TurboTasks, Vc, unmark_top_level_task_may_leak_eventually_consistent_state, -}; +use turbo_tasks::{ResolvedVc, State, TurboTasks, Vc}; use turbo_tasks_backend::{ BackendOptions, BackingStorageOptions, EvictionMode, GitVersionInfo, StorageMode, TurboTasksBackend, @@ -105,7 +103,6 @@ fn setup_wide_garbage( // backend must be constructed inside the runtime context. let (tt, dir) = create_tt(); turbo_tasks::run_once(tt.clone(), async move { - unmark_top_level_task_may_leak_eventually_consistent_state(); let generation_op = create_generation(); let generation_vc = generation_op.resolve().strongly_consistent().await?; let generation = generation_op.read_strongly_consistent().await?; diff --git a/turbopack/crates/turbo-tasks-backend/tests/detached.rs b/turbopack/crates/turbo-tasks-backend/tests/detached.rs index 8ca612f1c546..6a3626993caa 100644 --- a/turbopack/crates/turbo-tasks-backend/tests/detached.rs +++ b/turbopack/crates/turbo-tasks-backend/tests/detached.rs @@ -9,7 +9,7 @@ use tokio::{ use turbo_tasks::{ State, TransientInstance, Vc, prevent_gc, trace::{TraceRawVcs, TraceRawVcsContext}, - turbo_tasks, unmark_top_level_task_may_leak_eventually_consistent_state, + turbo_tasks, }; use turbo_tasks_testing::{Registration, register, run_once}; @@ -87,7 +87,6 @@ async fn spawns_detached( #[tokio::test(flavor = "multi_thread", worker_threads = 2)] async fn test_spawns_detached_changing() -> anyhow::Result<()> { run_once(®ISTRATION, async || { - unmark_top_level_task_may_leak_eventually_consistent_state(); // HACK: The watch channel we use has an incorrect implementation of `TraceRawVcs` prevent_gc(); // timeout: prevent the test from hanging, and fail instead if this is broken diff --git a/turbopack/crates/turbo-tasks-backend/tests/eviction.rs b/turbopack/crates/turbo-tasks-backend/tests/eviction.rs index 17c347982555..b2aeda77b68e 100644 --- a/turbopack/crates/turbo-tasks-backend/tests/eviction.rs +++ b/turbopack/crates/turbo-tasks-backend/tests/eviction.rs @@ -10,9 +10,7 @@ use std::sync::{ }; use anyhow::Result; -use turbo_tasks::{ - ResolvedVc, State, Vc, unmark_top_level_task_may_leak_eventually_consistent_state, -}; +use turbo_tasks::{ResolvedVc, State, Vc}; use crate::util::{create_tt, create_tt_with_workers}; @@ -24,8 +22,6 @@ async fn eviction_recompute() { let tt2 = tt.clone(); let result = turbo_tasks::run_once(tt.clone(), async move { - unmark_top_level_task_may_leak_eventually_consistent_state(); - // Create state via operation (persistent task) let state_op = create_state(1); let state_vc = state_op.resolve().strongly_consistent().await?; @@ -66,8 +62,6 @@ async fn eviction_deep_chain() { let tt2 = tt.clone(); let result = turbo_tasks::run_once(tt.clone(), async move { - unmark_top_level_task_may_leak_eventually_consistent_state(); - let state_op = create_state(10); let state_vc = state_op.resolve().strongly_consistent().await?; let state = state_op.read_strongly_consistent().await?; @@ -123,8 +117,6 @@ async fn eviction_dependency_chain() { let tt2 = tt.clone(); let result = turbo_tasks::run_once(tt.clone(), async move { - unmark_top_level_task_may_leak_eventually_consistent_state(); - let state_op = create_state(10); let state_vc = state_op.resolve().strongly_consistent().await?; let state = state_op.read_strongly_consistent().await?; @@ -301,8 +293,6 @@ async fn eviction_session_stateful_survives() { let tt2 = tt.clone(); let result = turbo_tasks::run_once(tt.clone(), async move { - unmark_top_level_task_may_leak_eventually_consistent_state(); - // read_session_counter internally creates+resolves create_session_counter(42). // The transient run_once only reads read_session_counter, so // create_session_counter has no transient dependents and is eligible for @@ -354,8 +344,6 @@ async fn eviction_transient_reader_invalidated() { let tt2 = tt.clone(); let result = turbo_tasks::run_once(tt.clone(), async move { - unmark_top_level_task_may_leak_eventually_consistent_state(); - // Create persistent state + compute tasks let state_op = create_state(50); let state_vc = state_op.resolve().strongly_consistent().await?; @@ -466,8 +454,6 @@ async fn eviction_stress_concurrent() { }); let result = turbo_tasks::run_once(tt.clone(), async move { - unmark_top_level_task_may_leak_eventually_consistent_state(); - let state_op = create_state(1); let state_vc = state_op.resolve().strongly_consistent().await?; let state = state_op.read_strongly_consistent().await?; @@ -608,8 +594,6 @@ async fn eviction_persistable_never_preserves_live_cell() { let tt2 = tt.clone(); let result = turbo_tasks::run_once(tt.clone(), async move { - unmark_top_level_task_may_leak_eventually_consistent_state(); - let state_op = create_state(0); let state_vc = state_op.resolve().strongly_consistent().await?; let state = state_op.read_strongly_consistent().await?;