Dynamic params
params and searchParams are plain synchronous objects you read directly without awaiting.
Before Next.js 15 params and searchParams were plain objects. You read a route value like params.id directly with no await. This was correct through Next.js 14. It throws on Next.js 15 and later where these props are async.