Repository navigation
v7.0.0 - #523
v7.0.0#523colbyfayock wants to merge 57 commits into
Conversation
This is a small internal improvement that I think is worth taking. This makes sure that the repository is using only a single package manager and switches away from using relative paths to reach out across workspace boundaries cc @colbyfayock --------- Co-authored-by: Colby Fayock <fayock@gmail.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
# Description This PR switches away from tsup to preconstruct - a lesser-known but more capable tool. The benefits are: - better cjs & esm setup - and types for the above (this should pass https://arethetypeswrong.github.io/ checks) - `'use client'` directive support. With this you just can just add the directive to any of your files and Preconstruct takes care of isolating that in its own chunk - `package.json#exports` flexibility: - it should be possible to add extra entrypoints with ease if you ever need that (like `next-cloudinary/something`) - it's also easy to use differential bundling with this, if you ever need to ship different code for dev/prov bundles, or for node/browser/webworker/vercel's edge-light/younameit (or perhaps for `react-server` condition) ## Issue Ticket Number Related to #435 ## Type of change - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Fix or improve the documentation - [ ] This change requires a documentation update # Checklist - [x] I have followed the contributing guidelines of this project as mentioned in [CONTRIBUTING.md](/CONTRIBUTING.md) - [x] I have created an [issue](https://github.com/cloudinary-community/next-cloudinary/issues) ticket for this PR - [x] I have checked to ensure there aren't other open [Pull Requests](https://github.com/cloudinary-community/next-cloudinary/pulls) for the same update/change? - [x] I have performed a self-review of my own code - [x] I have run tests locally to ensure they all pass - [x] I have commented my code, particularly in hard-to-understand areas - [x] I have made corresponding changes needed to the documentation BREAKING CHANGE: New build tool, no longer requires `use client` directive, marking as breaking for safety
# [7.0.0-beta.1](v6.13.0...v7.0.0-beta.1) (2024-09-27) ### Features * Switch to Preconstruct for library building ([#520](#520)) ([a35a928](a35a928)) ### BREAKING CHANGES * New build tool, no longer requires `use client` directive, marking as breaking for safety
# [7.0.0-beta.2](v7.0.0-beta.1...v7.0.0-beta.2) (2024-10-03) ### Bug Fixes * make sure to publish types ([#528](#528)) ([b1d1f61](b1d1f61))
# [7.0.0-beta.3](v7.0.0-beta.2...v7.0.0-beta.3) (2024-10-14) ### Bug Fixes * removed ts-ignore ([#535](#535)) ([32931c9](32931c9)), closes [#426](#426) * use more proper type to derive `CldVideoPlayerProps` ([#537](#537)) ([65c3dd1](65c3dd1)) ### Features * added unique id generation using React's `useId()` hook ([#529](#529)) ([682f4c2](682f4c2)), closes [#493](#493)
…rops are exported
…how props are exported
# [7.0.0-beta.5](v7.0.0-beta.4...v7.0.0-beta.5) (2024-10-25) ### Bug Fixes * upgrading util packages to beta which refactors type system and how props are exported ([08a60de](08a60de))
onUpload has been deprecated in favor of onSuccess since #424 and only duplicated the success event. Remove the prop from CldUploadWidget and CldUploadButton, and update docs examples to use onSuccess. BREAKING CHANGE: The `onUpload` prop has been removed from CldUploadWidget and CldUploadButton. Use `onSuccess` instead. Note that the second argument is now an options object: `onUpload={(result, widget) => ...}` becomes `onSuccess={(result, { widget }) => ...}`.
…ad errors The build downloaded dist/fonts/cloudinary_icon_for_*.svg from unpkg, but those files don't exist for any player version, so the 404 response body was written to disk as the SVGs. The package exports also pointed to dist/cloudinary_icon_*.svg, which never existed (4 publint errors). Remove the icon downloads and their export paths (the icons are inlined in the player CSS), and make copy-assets fail when a download returns a non-200 response instead of writing the error page as the asset.
|
Hi @eportis-cloudinary, a follow-up to my scope comment above, now that testing is done on my side. Ready for your review
Both target Asset-Saved Settings (#663)I tested this with a video that has a custom poster saved in the Video Player Studio. With player v4 (#665), Breaking changes for the 7.0.0 release notesI compared every public type between 6.19.3 and
New options (such as Still waiting on you
Once these are settled, I can prepare the release notes from the list above. |
Unstack it and merge! Sorry for stacking when it didn't really make sense.
I think this is already in the latest shipped version of url-loader? cloudinary-community/cloudinary-util@c595c99
Are there performance implications to creating it lazily? If not, it seems like a cleaner solution than a prop/option, and a breaking/major release seems like the perfect time to ship it.
It looks like you asked @SK1965 a couple weeks ago, and they haven't responded. Could you perhaps try to rebase? And if we are able to merge this for v7 still give them credit of course.
Very happy to raise floors to any still-supported versions of these dependencies. |
feat: upgrade Cloudinary video player from v1 to v4
# [7.0.0-beta.13](v7.0.0-beta.12...v7.0.0-beta.13) (2026-10-02) ### Features * upgrade Cloudinary video player from v1 to v4 ([8c2e700](8c2e700)), closes [cloudinary/cloudinary-video-player#1087](cloudinary/cloudinary-video-player#1087) ### BREAKING CHANGES * the video player's default appearance changes.
…player-icons fix: remove missing video player icon assets and fail build on downlo…
# [7.0.0-beta.14](v7.0.0-beta.13...v7.0.0-beta.14) (2026-10-03) ### Bug Fixes * remove missing video player icon assets and fail build on download errors ([9eb75a3](9eb75a3))
feat!: remove deprecated onUpload callback from CldUploadWidget
# [7.0.0-beta.15](v7.0.0-beta.14...v7.0.0-beta.15) (2026-10-03) * feat!: remove deprecated onUpload callback from CldUploadWidget ([0d08df9](0d08df9)), closes [#424](#424) ### BREAKING CHANGES * The `onUpload` prop has been removed from CldUploadWidget and CldUploadButton. Use `onSuccess` instead. Note that the second argument is now an options object: `onUpload={(result, widget) => ...}` becomes `onSuccess={(result, { widget }) => ...}`.
The player was never fully disposed on unmount (only the Cloudinary plugin was), so it stayed registered with video.js. With an `id` prop, remounting reused that stale player and the new <video> element was never initialized; without one, every remount leaked a player. Next.js also doesn't fire onLoad again for a script id it already loaded. Dispose the player on unmount (skipping React Strict Mode's simulated unmount, which reuses the same element), add onReady alongside onLoad so remounts initialize again, and guard initialization with the player ref instead of possibly stale state.
|
hi @eportis-cloudinary, following up on supported versions for v7, here's a proposal based on the official support status as of today:
These are breaking changes, so I'll add them to the release notes list. One follow-up outside v7: the docs site still runs Next.js 14 and React 18, so it should be upgraded separately. It still builds, so it doesn't block the release. If this looks right, I'll make these changes in one PR against |
Next.js 15 and earlier, and Node.js 20 and earlier, are end-of-life or about to be. Require the versions that are still supported, matching what CI tests. BREAKING CHANGE: next-cloudinary now requires Next.js 16, React 18.2 or 19, and Node.js 22 or later. Projects on older versions can stay on v6.
…mount fix: re-initialize CldVideoPlayer after unmount and remount
# [7.0.0-beta.16](v7.0.0-beta.15...v7.0.0-beta.16) (2026-10-12) ### Bug Fixes * re-initialize CldVideoPlayer after unmount and remount ([4b37a24](4b37a24))
…-floors chore: raise minimum supported Next.js, React and Node.js versions
# [7.0.0-beta.17](v7.0.0-beta.16...v7.0.0-beta.17) (2026-10-12) ### chore * raise minimum supported Next.js, React and Node.js versions ([bc96fc6](bc96fc6)) ### BREAKING CHANGES * next-cloudinary now requires Next.js 16, React 18.2 or 19, and Node.js 22 or later. Projects on older versions can stay on v6.
Includes
@tsconfig/recommendedto devDeps #522Resolves
Fixes #441 - v7
Fixes #137 - "use client"
Fixes #519 - Bundle Size