Skip to content

@remotion/bundler: Remove legacy positional signatures in v5 - #9739

Merged
JonnyBurger merged 2 commits into
mainfrom
codex/remove-v5-legacy-bundle-signatures
Jul 27, 2026
Merged

@remotion/bundler: Remove legacy positional signatures in v5#9739
JonnyBurger merged 2 commits into
mainfrom
codex/remove-v5-legacy-bundle-signatures

Conversation

@JonnyBurger

@JonnyBurger JonnyBurger commented Jul 27, 2026

Copy link
Copy Markdown
Member

Summary

  • gate the bundle() and getCompositions() public signatures and runtime validation behind ENABLE_V5_BREAKING_CHANGES
  • preserve both positional APIs in Remotion v4 while exposing only the options-object APIs in Remotion 5.0
  • keep the bundle() return value as the output-directory string
  • migrate current callers and templates to the options-object signatures
  • document the migration and add focused coverage for both compatibility paths

Testing

  • bun run build
  • bun run stylecheck
  • bun test packages/bundler/src/test/validate-bundle.test.ts packages/renderer/src/test/get-compositions.test.ts packages/it-tests/src/rendering/get-compositions.test.ts
  • temporarily enabled ENABLE_V5_BREAKING_CHANGES and verified the generated declarations only expose the options-object signatures
  • compiled @remotion/bundler, @remotion/cli, @remotion/lambda, and template-still against the v5 declarations

Closes #9486

Preview

@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bugs Ready Ready Preview, Comment Jul 27, 2026 2:49pm
remotion Ready Ready Preview, Comment Jul 27, 2026 2:49pm

Request Review

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed changes — gates bundle() and getCompositions() positional overloads behind ENABLE_V5_BREAKING_CHANGES, migrates all internal call sites and docs to the options-object signatures, and adds tests for both v4 and v5 paths.

  • Gate positional signatures on ENABLE_V5_BREAKING_CHANGESconvertBundleArgumentsIntoOptions and convertGetCompositionsArgumentsToOptions now accept a boolean flag and throw with a migration message when v5 is active and positional args are received.
  • Rename internal typesMandatoryLegacyBundleOptionsMandatoryBundleInternalsOptions (the old name remains as a v4-only type alias that resolves to never under v5).
  • Simplify NewBundleOptions — removes redundant entryPoint field that was shadowed by explicit declarations in MandatoryBundleOptions and BundleOptions.
  • Remove twoslash from historical blog code blocks — the old positional signatures would fail typechecking against the v5-gated declaration types.
  • Migrate all call sites@remotion/cli, @remotion/lambda mock, @remotion/example, it-tests, docs render scripts, and template-still now use options-object syntax.
  • Add testsvalidate-bundle.test.ts and a new get-compositions.test.ts cover both v4 (positional still works) and v5 (positional throws) paths.

✅ No new issues found.

Pullfrog  | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) (Claude Opus not used — the program covers this model; add its provider key to run your pick) | 𝕏

@JonnyBurger
JonnyBurger merged commit 4ea5a91 into main Jul 27, 2026
19 checks passed
@JonnyBurger
JonnyBurger deleted the codex/remove-v5-legacy-bundle-signatures branch July 27, 2026 15:08
@JonnyBurger

Copy link
Copy Markdown
Member Author

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@remotion/bundler: Remove the legacy bundle() signature

1 participant