0.0.2-alpha.71
Before you upgrade2
- 1
Security: upgrade to pick up zod 4.6.7 and DOMPurify 3.4.17 #2765
zod before 4.6.6 could run out of memory validating a very large array against an array schema without a length limit (GHSA-mrhx-c7xc-m3w5). DOMPurify's advisories (GHSA-cg2g-xh64-v4q7, GHSA-mrv2-3pqr-j5jr) affect modes Nextly's SVG sanitizer does not use, but the floor rises so no install resolves an affected version. Nothing to change in your project.
- 2
Local uploads under
next startneed one route file #2756New projects don't ship it yet. To have a production server serve files uploaded after it started, add
src/app/uploads/[...path]/route.ts(orapp/uploads/[...path]/route.tswithout asrc/folder) exportingGETandHEADfromcreateUploadsHandlers({ config })innextly/api/uploads, as Media & Storage shows. Without it, behaviour is as before, and the server logs a warning the first time an upload would be unreachable. Cloud storage (S3, Vercel Blob, UploadThing) is unaffected.
What's changed2
Released 21 packages at 0.0.2-alpha.71 in lockstep. Every package below ships at this version.
Patch Changes
- A production server (
next buildandnext start) now serves a file uploaded to Nextly's default local-disk storage as soon as the upload finishes, at the same/uploads/...URLnext devgives it.More
Before, Next.js answered 404 for it until the server restarted, because
next startserves only the filespublic/held when it started. A route atsrc/app/uploads/[...path]/route.ts, built on the newnextly/api/uploadsexport, serves the rest: it streams files, answersRangerequests for video and audio, sendsETagand caching headers, setsnosniffand a script-blocking policy on SVGs, and answers 404 for any path outside the storage folder and whenever cloud storage holds media. The local adapter's check that a path stays inside its folder no longer accepts a sibling folder whose name starts with the folder's own, such aspublic/uploads-privatebesidepublic/uploads.Before you upgrade: projects don't ship the uploads route yet, so an app keeps the old behaviour until it has one. Add
src/app/uploads/[...path]/route.ts(orapp/uploads/[...path]/route.tswithout asrc/folder) exportingGETandHEADfromcreateUploadsHandlers({ config })innextly/api/uploads, as shown in Media & Storage. Until then, a production server logs a warning naming the file the first time an upload would be unreachable. - Security: zod moves to 4.6.7 and DOMPurify to 3.4.17. - zod before 4.6.6 could run out of memory validating a very large array against an array schema without a length limit (GHSA-mrhx-c7xc-m3w5).
More
Every package that validates input with zod gets the fixed version. - DOMPurify before 3.4.17 had sanitizer bypasses in its
SAFE_FOR_TEMPLATES, DOM-output andIN_PLACEmodes (GHSA-cg2g-xh64-v4q7, GHSA-mrv2-3pqr-j5jr). Nextly's SVG upload sanitizer uses none of those modes, so it was not affected; the floor still rises, so no install can resolve an affected version.
Packages
@nextlyhq/adapter-drizzle@nextlyhq/adapter-mysql@nextlyhq/adapter-postgres@nextlyhq/adapter-sqlite@nextlyhq/admin@nextlyhq/admin-css@nextlyhq/blocks-engine@nextlyhq/blocks-react@nextlyhq/builder@nextlyhq/eslint-plugin@nextlyhq/plugin-form-builder@nextlyhq/plugin-mcp@nextlyhq/plugin-page-builder@nextlyhq/plugin-sdk@nextlyhq/plugin-seo@nextlyhq/storage-s3@nextlyhq/storage-uploadthing@nextlyhq/storage-vercel-blob@nextlyhq/uicreate-nextly-appnextly
Earlier releases
Releases before 0.0.2-alpha.66 are listed in Nextly's changelog on GitHub.