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
15 changes: 4 additions & 11 deletions docs/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
import { dirname } from 'path';
import { fileURLToPath } from 'url';
import { FlatCompat } from '@eslint/eslintrc';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

const compat = new FlatCompat({
baseDirectory: __dirname,
});
import nextCoreWebVitals from 'eslint-config-next/core-web-vitals';
import nextTypescript from 'eslint-config-next/typescript';

const eslintConfig = [
...compat.extends('next/core-web-vitals', 'next/typescript'),
...nextCoreWebVitals,
...nextTypescript,
{
ignores: [
'node_modules/**',
Expand Down
19 changes: 12 additions & 7 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,31 @@
"lint": "eslint"
},
"dependencies": {
"fumadocs-core": "15.8.5",
"fumadocs-mdx": "12.0.3",
"fumadocs-ui": "15.8.5",
"fumadocs-core": "16.9.3",
"fumadocs-mdx": "15.0.11",
"fumadocs-ui": "16.9.3",
"lucide-react": "^0.544.0",
"next": "15.5.15",
"next": "16.2.9",
Comment on lines +13 to +17

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.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify Next.js 16 + React 19 + Fumadocs 16 compatibility

# Check Next.js 16.2.9 peer dependencies
echo "=== Next.js 16.2.9 peer dependencies ==="
npm view next@16.2.9 peerDependencies

# Check Fumadocs 16.9.3 peer dependencies
echo "=== Fumadocs core 16.9.3 peer dependencies ==="
npm view fumadocs-core@16.9.3 peerDependencies

echo "=== Fumadocs UI 16.9.3 peer dependencies ==="
npm view fumadocs-ui@16.9.3 peerDependencies

echo "=== Fumadocs MDX 15.0.11 peer dependencies ==="
npm view fumadocs-mdx@15.0.11 peerDependencies

# Check for any reported compatibility issues
echo "=== Searching npm for Next 16 + React 19 compatibility notes ==="
npm view next@16.2.9 | grep -i react

Repository: StrobeLabs/eth.zig

Length of output: 1505


🌐 Web query:

Next.js 16 release notes and breaking changes from Next.js 15

💡 Result:

Next.js 16, released on October 22, 2025 [1][2], introduces significant architectural changes and breaking updates compared to Next.js 15. The latest stable version as of June 10, 2026, is 16.2.7 [3][4]. Key Breaking Changes and Updates: Async Request APIs: Next.js 16 fully removes the temporary synchronous compatibility for request APIs introduced in version 15 [5][6]. Developers must now await the following APIs, which are provided as promises: cookies, headers, draftMode, and parameters (params, searchParams) in layouts, pages, and route handlers [7][8][6]. Metadata image routes (e.g., opengraph-image) and sitemap functions also receive params or id as promises [5][7][6]. Architecture and Bundling: Turbopack is now the default bundler for both development and production, replacing Webpack [9]. While an escape hatch exists for migration via --webpack flags, the long-term goal is a full transition to Turbopack [9]. Routing and Middleware: The middleware.ts file is deprecated and renamed to proxy.ts to better reflect its function at the network boundary [5][8][9]. Caching Model: The framework has evolved its caching strategy, replacing previous experimental flags (like experimental.ppr, dynamicIO, and useCache) with a consolidated Cache Components programming model [8][9]. Configuration and Removals: - Runtime configuration (publicRuntimeConfig, serverRuntimeConfig) is removed; developers should use standard.env environment variables [8]. - Several next/image defaults were changed, including minimumCacheTTL (default bumped from 1 min to 4 hours) and imageSizes [1][7]. - Maximum redirects for images are now capped at 3 by default [8]. - The next/legacy/image component and images.domains configuration are deprecated [5][8]. - ESLint flat config is now the default [1][7]. - Automatic scroll-behavior: smooth is enabled by default; users can opt out via data attributes [8]. For a full migration, consult the official Next.js 16 Upgrade Guide [7], which provides specific codemods and manual steps for handling these structural shifts.

Citations:


docs/package.json: peer-deps are compatible with Next.js 16 + React 19 + Fumadocs 16, but Next 16 migrations still need review

Peer dependency ranges match:

  • next@16.2.9 supports react/react-dom ^19.0.0
  • fumadocs-core@16.9.3 / fumadocs-ui@16.9.3 require next: 16.x.x and react/react-dom: ^19.2.0
  • fumadocs-mdx@15.0.11 supports next: ^15.3.0 || ^16.0.0 and react: ^19.2.0 (and fumadocs-core: ^16.7.0)

Still ensure the codebase handles Next.js 16 breaking changes (e.g., async request APIs needing await, and middleware.tsproxy.ts), since that’s the likely remaining source of breakage beyond peer dependency compatibility.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/package.json` around lines 13 - 17, Update the docs and codebase to
account for Next.js 16 breaking changes: review and update any middleware.ts to
proxy.ts (and adjust exports/registration), audit request handlers (e.g., any
server/edge functions, getServerSideProps-like handlers or custom
Request/Response code) to ensure async APIs are properly awaited (add missing
await where Request/Response streaming or async body parsing is used), and
verify any usages of Next-specific middleware or edge headers follow the Next 16
API surface; focus on files referencing middleware.ts, proxy.ts, server/edge
request handlers, and any functions that call fetch/Request/Response without
awaiting their async operations.

"next-themes": "^0.4.6",
"react": "^19.2.1",
"react-dom": "^19.2.1"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@tailwindcss/postcss": "^4.1.14",
"@types/mdx": "^2.0.13",
"@types/node": "24.6.2",
"@types/react": "^19.2.0",
"@types/react-dom": "^19.2.0",
"eslint": "^9",
"eslint-config-next": "15.5.7",
"postcss": "^8.5.6",
"eslint-config-next": "16.2.9",
"postcss": "^8.5.15",
"tailwindcss": "^4.1.14",
"typescript": "^5.9.3"
},
"pnpm": {
"overrides": {
"postcss@<8.5.10": ">=8.5.15",
"brace-expansion@5": ">=5.0.6"
}
}
}
Loading
Loading