Vigia

next upgraden van 14.x naar 15.x

Vergelijking van de publieke API van next 14.2.35 en 15.5.27, automatisch berekend uit hun TypeScript-types. Een gewijzigde signatuur is een mogelijke brekende wijziging, geen zekerheid.

Samenvatting

Verwijderde importpaden0
Verwijderde exports4
Gewijzigde signaturen10
Verwijderde leden van klassen of interfaces6
Gewijzigde leden van klassen of interfaces10
Nieuw als verouderd gemarkeerd5
Gewijzigde vereisten (engines, peer-afhankelijkheden)5
Nieuwe exports25

Verwijderde exports

importexportkindVoor
next/constantsGOOGLE_FONT_PROVIDERvariable"https://fonts.googleapis.com/"
next/constantsDEV_MIDDLEWARE_MANIFESTvariable"_devMiddlewareManifest.json"
next/constantsOPTIMIZED_FONT_PROVIDERSvariable{ url: string; preconnect: string; }[]
next/constantsAUTOMATIC_FONT_OPTIMIZATION_MANIFESTvariable"font-manifest.json"

Gewijzigde signaturen

exportVoorNa
next · default(options: NextServerOptions): NextServer(options: Omit<Options | Options, "conf"> & Partial<Pick<Options | Options, "conf">> & { turbo?: boolean | undefined; turbopack?: boolean | undefined; }): NextWrapperServer
next · PageConfig{ amp?: boolean | "hybrid" | undefined; api?: { responseLimit?: ResponseLimit | undefined; bodyParser?: false | { sizeLimit?: SizeLimit | undefined; } | undefined; externalResolver?: true | undefined; } | undefined; env?: string[] | undefined; maxDuration?: number | undefined; runtime?: ServerRuntime; unstable_runtimeJS?: false | undefined; unstable_JsPreload?: false | undefined; unstable_includeFiles?: string[] | undefined; unstable_excludeFiles?: string[] | undefined; }{ amp?: boolean | "hybrid" | undefined; api?: { responseLimit?: ResponseLimit | undefined; bodyParser?: false | { sizeLimit?: SizeLimit | undefined; } | undefined; externalResolver?: true | undefined; } | undefined; env?: string[] | undefined; maxDuration?: number | undefined; runtime?: ServerRuntime; unstable_runtimeJS?: false | undefined; unstable_JsPreload?: false | undefined; }
next · GetStaticPathsResult{ paths: (string | { params: Params; locale?: string | undefined; })[]; fallback: boolean | "blocking"; }{ paths: (string | { params: Params; locale?: string | undefined; })[]; fallback: GetStaticPathsFallback; }
next/link · LinkProps{ href: any; as?: any; replace?: boolean | undefined; scroll?: boolean | undefined; shallow?: boolean | undefined; passHref?: boolean | undefined; prefetch?: boolean | null | undefined; locale?: string | false | undefined; legacyBehavior?: boolean | undefined; onMouseEnter?: any; onTouchStart?: any; onClick?: any; }interface
next/error · ErrorProps{ statusCode: number; title?: string | undefined; withDarkMode?: boolean | undefined; }{ statusCode: number; hostname?: string | undefined; title?: string | undefined; withDarkMode?: boolean | undefined; }
next/dynamic · DynamicOptionsLoadableGeneratedOptions & { loading?: ((loadingProps: DynamicOptionsLoadingProps) => any) | undefined; loader?: LoaderMap | Loader<P> | undefined; loadableGenerated?: LoadableGeneratedOptions | undefined; ssr?: boolean | undefined; suspense?: boolean | undefined; }LoadableGeneratedOptions & { loading?: ((loadingProps: DynamicOptionsLoadingProps) => React.ReactNode) | undefined; loader?: LoaderMap | Loader<P> | undefined; loadableGenerated?: LoadableGeneratedOptions | undefined; ssr?: boolean | undefined; }
next/dynamic · LoadableOptionsLoadableGeneratedOptions & { loading?: ((loadingProps: DynamicOptionsLoadingProps) => any) | undefined; loader?: LoaderMap | Loader<P> | undefined; loadableGenerated?: LoadableGeneratedOptions | undefined; ssr?: boolean | undefined; suspense?: boolean | undefined; }LoadableGeneratedOptions & { loading?: ((loadingProps: DynamicOptionsLoadingProps) => React.ReactNode) | undefined; loader?: LoaderMap | Loader<P> | undefined; loadableGenerated?: LoadableGeneratedOptions | undefined; ssr?: boolean | undefined; }
next/headers · cookies(): ReadonlyRequestCookies(): Promise<ReadonlyRequestCookies>
next/headers · headers(): ReadonlyHeaders(): Promise<ReadonlyHeaders>
next/headers · draftMode(): DraftMode(): Promise<DraftMode>

Verwijderde leden van klassen of interfaces

memberimportVoor
NextConfig.swcMinifynextboolean | undefined
NextConfig.analyticsIdnextstring | undefined
NextConfig.optimizeFontsnextboolean | undefined
NextConfig.outputFileTracingnextboolean | undefined
Router._getFlightDatanext/router(dataHref: string): Promise<{ data: string; }>
Head.makeStylesheetInertnext/document(node: ReactNode[]): ReactNode[]

Gewijzigde leden van klassen of interfaces

memberVoorNa
NextConfig.logging{ fetches?: { fullUrl?: boolean | undefined; } | undefined; } | undefinedfalse | LoggingConfig | undefined
NextConfig.rewrites(() => Promise<Rewrite[] | { beforeFiles: Rewrite[]; afterFiles: Rewrite[]; fallback: Rewrite[]; }>) | undefined(() => Promise<Rewrite[] | { beforeFiles?: Rewrite[] | undefined; afterFiles?: Rewrite[] | undefined; fallback?: Rewrite[] | undefined; }>) | undefined
NextConfig.sassOptions{ [key: string]: any; } | undefined{ [key: string]: any; implementation?: string | undefined; } | undefined
NextConfig.devIndicators{ buildActivity?: boolean | undefined; buildActivityPosition?: "bottom-right" | "bottom-left" | "top-right" | "top-left" | undefined; } | undefinedfalse | { appIsrStatus?: boolean | undefined; buildActivity?: boolean | undefined; buildActivityPosition?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined; position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined; } | undefined
NextApiRequest.previewDataanyPreviewData
NextPageContext.localesstring[] | undefinedreadonly string[] | undefined
default.static getInitialProps({ res, err, }: NextPageContext): ErrorProps | Promise<ErrorProps>({ req, res, err, }: NextPageContext): ErrorProps | Promise<ErrorProps>
default.static origGetInitialProps({ res, err, }: NextPageContext): ErrorProps | Promise<ErrorProps>({ req, res, err, }: NextPageContext): ErrorProps | Promise<ErrorProps>
Router.localesstring[] | undefinedreadonly string[] | undefined
Router.domainLocalesDomainLocale[] | undefinedreadonly DomainLocale[] | undefined

Nieuw als verouderd gemarkeerd

export@deprecated
next · NextConfig.ampbuilt-in amp support will be removed in Next 16
next · NextConfig.publicRuntimeConfigRuntime config is deprecated and will be removed in Next.js 16.
next · NextConfig.serverRuntimeConfigRuntime config is deprecated and will be removed in Next.js 16.
next/config · defaultRuntime config is deprecated and will be removed in Next.js 16.
next/config · setConfigRuntime config is deprecated and will be removed in Next.js 16.

Gewijzigde vereisten (engines, peer-afhankelijkheden)

VoorNa
engines.node>=18.17.0^18.18.0 || ^19.8.0 || >= 20.0.0
peerDependencies.react^18.2.0^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
peerDependencies.react-dom^18.2.0^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
peerDependencies.@playwright/test^1.41.2^1.51.1
peerDependencies.babel-plugin-react-compiler—*
Nieuwe exports (25)
importexportkind
nextNextAdapterinterface
nextInstrumentationnamespace
next/linkuseLinkStatusvariable
next/cacheunstable_cacheTagvariable
next/cacheunstable_cacheLifefunction
next/cacheunstable_expireTagvariable
next/cacheunstable_expirePathvariable
next/serveraftervariable
next/serverconnectionvariable
next/serverunstable_rootParamsvariable
next/serverUnsafeUnwrappedParamsvariable
next/serverUnsafeUnwrappedSearchParamsvariable
next/headersUnsafeUnwrappedCookiestype
next/headersUnsafeUnwrappedHeaderstype
next/headersUnsafeUnwrappedDraftModetype
next/constantsWEBPACK_STATSvariable
next/constantsAdapterOutputTypeenum
next/constantsDYNAMIC_CSS_MANIFESTvariable
next/constantsDEV_CLIENT_MIDDLEWARE_MANIFESTvariable
next/constantsTURBOPACK_CLIENT_BUILD_MANIFESTvariable
next/constantsTURBOPACK_CLIENT_MIDDLEWARE_MANIFESTvariable
next/navigationforbiddenfunction
next/navigationunauthorizedfunction
next/navigationunstable_rethrowvariable
next/navigationunstable_isUnrecognizedActionErrorfunction

Veelgestelde vragen

Wat zijn de brekende wijzigingen bij het upgraden van next van 14 naar 15?

Tussen next 14.2.35 en 15.5.27 vond Vigia 4 verwijderde exports, 10 gewijzigde signaturen en 16 verwijderde of gewijzigde leden van klassen of interfaces.

Wat is verouderd in next 15?

5 exports of leden zijn in next 15.5.27 nieuw als verouderd gemarkeerd.

Voor agents

GET https://vigia.coredls.cloud/v1/packages/npm/next/upgrade?from=14.2.35&to=15.5.27