Repository navigation
v0.0.2-alpha.71
Pre-releaseBefore you upgrade
- 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.
- Local uploads under
next startneed one route file (#2756). New projects don't ship it yet. To have a production server serve files uploaded after it started, addsrc/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.
Released 21 packages at 0.0.2-alpha.71 in lockstep. Every package below ships at this version.
What's changed
Patch Changes
-
#2756
709babbThanks @mobeenabdullah! - 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. Before, Next.js answered 404 for it until the server restarted, becausenext 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. -
#2765
ed1b2f1Thanks @nextly-agent! - 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). 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