Parent: #884 (Next.js 16 Upgrade Plan)
Context
Phase 1 of the Next 16 upgrade (#884) lands in findable-ui as a major release: peer dep pinned to next ^16, next-mdx-remote ^6, react-hooks v7 + ESLint v16, plus several breaking API changes (e.g. removal of useResetableState, removal of superseded from FilterTag / CategoryTag via #951).
This ticket tracks rolling that release out to every downstream consumer.
Consumers
Suggested upgrade order (smallest → largest; hca-atlas-tracker last because it pulls in the next-auth v4 → Auth.js v5 question):
- ucsc-brain-explorer
- hprc-data-explorer
- ncpi-dataset-catalog
- data-portal
- data-biosphere
- brc-analytics
- anvil-portal
- hca-atlas-tracker
Each gets a single PR in its own repo bundling the steps below.
Per-consumer checklist
Reference: .claude/plans/884-next-16/next-16-upgrade-plan.md §10 Phase 2 and the README "Consumer setup for Next.js 16" + "Migrating from Next.js 15 to 16" sections.
Special concerns
- hca-atlas-tracker still on
next-auth ^4. Either confirm v4 works under Next 16 or migrate to Auth.js v5 as part of this upgrade. Worth verifying upstream before scheduling the PR.
Acceptance
Notes
Parent: #884 (Next.js 16 Upgrade Plan)
Context
Phase 1 of the Next 16 upgrade (#884) lands in findable-ui as a major release: peer dep pinned to
next ^16,next-mdx-remote ^6, react-hooks v7 + ESLint v16, plus several breaking API changes (e.g. removal ofuseResetableState, removal ofsupersededfromFilterTag/CategoryTagvia #951).This ticket tracks rolling that release out to every downstream consumer.
Consumers
Suggested upgrade order (smallest → largest; hca-atlas-tracker last because it pulls in the next-auth v4 → Auth.js v5 question):
Each gets a single PR in its own repo bundling the steps below.
Per-consumer checklist
Reference:
.claude/plans/884-next-16/next-16-upgrade-plan.md§10 Phase 2 and the README "Consumer setup for Next.js 16" + "Migrating from Next.js 15 to 16" sections.next→^16eslint-config-next→^16@next/eslint-plugin-next→^16next-mdx-remote→^6(non-optional peer dep of findable-ui)@databiosphere/findable-ui→ the new major releasenpm install @mui/material-nextjs @emotion/serverpages/_app.tsx: wrap inAppCacheProviderfrom@mui/material-nextjs/v16-pagesRouterpages/_document.tsx: addDocumentHeadTags+documentGetInitialPropsnext dev/next buildscripts tonext dev --webpack/next build --webpack(tracking vercel/next.js#82607)next-mdx-remote/serializedirectly (not via findable-ui'sbuildStaticProps), passblockJS: false.eslintrc.json→eslint.config.mjs(flat config). findable-ui's owneslint.config.mjsis the reference implementation.nvmrc, CI workflows, DockerfileFROM node:...) to whatever findable-ui'spackage.jsonengines.nodeis at the time of the releasenpx @next/codemod@canary upgrade latestas a safety net for any pattern not explicitly handled aboveuseResetableState,supersededonFilterTag/CategoryTag) and update call sitesnext build --webpacksucceedsSpecial concerns
next-auth ^4. Either confirm v4 works under Next 16 or migrate to Auth.js v5 as part of this upgrade. Worth verifying upstream before scheduling the PR.Acceptance
next ^16and the new findable-ui major, with their CI green and a staging smoke-test pass logged.Notes