Repository navigation
v1.57.0
What's Changed
- feat: cancel cloud asset downloads by @christian-byrne in #19281
- ci: prototype prerequisite gates for expensive PR tests by @DrJKL in #18760
- feat(website): add installer dropdown to the download button by @benceruleanlu in #19364
- feat(website): name the installer on the download button by @benceruleanlu in #19505
- fix: isolate API workflow widget callback failures by @christian-byrne in #19721
- fix(agent): ensure API errors have messages by @christian-byrne in #18374
- FE-3019 feat(billing-web): render server-reported subtotal, list price, discount duration, balance and receipts by @dante01yoon in #19672
- FE-3137 fix(billing-web): don't show a decline for a payment Stripe says is already done by @dante01yoon in #19678
- FE-3111 feat(billing): stamp billing_surface and billing_client where the emitter knows its rail by @dante01yoon in #19685
- FE-3131 fix(billing): report blocked tabs, portal plan changes, resubscribes and success timing on the legacy personal rail by @dante01yoon in #19686
- fix(subscription): label TEAM and ENTERPRISE tiers correctly by @wei-hai in #19651
- fix(agent): preserve transport response failures by @christian-byrne in #19740
- test(agent): target visible close button by @christian-byrne in #19714
- fix(litegraph): recover graph ID allocation safely by @christian-byrne in #19239
- test(build): exercise comfyAPIPlugin through its public transform by @christian-byrne in #19754
- FE-3072 feat(billing-web): credit top-up on the full-page checkout by @dante01yoon in #19673
- FE-2893 docs(website): describe how the website signs in on the shared web session by @dante01yoon in #19756
- FE-2900 fix(cloud): a workspace token never outlives the scope it was minted for by @dante01yoon in #19755
- FE-3104 feat(cloud): prompt a session-only tab to sign in again before a password change by @dante01yoon in #19759
- FE-3138 feat(billing): align billing banners with the design reference by @dante01yoon in #19680
- FE-2900 feat(cloud): billing works on a tab that arrived by web session by @dante01yoon in #19753
- FE-3109 feat(billing-web): bootstrap Datadog RUM by @dante01yoon in #19688
- FE-3116 feat(billing): carry source and journey id through the billing handoff by @dante01yoon in #19687
- fix(agent): make op sender teardown failure-safe by @christian-byrne in #19698
- fix(website): fix agent page cursor pill artifacts by @claude[bot] in #19785
- test(agent): pin remote edit undo loss by @christian-byrne in #18830
- FE-3136 feat(billing): plan ended banner on every workspace tab by @dante01yoon in #19682
- FE-2900 feat(cloud): the billing SDK rails authorize on the web session by @dante01yoon in #19757
- FE-3156 feat(billing-web): set an opaque RUM user id for the signed-in user by @dante01yoon in #19794
- ingest-types 1.1.0 by @comfy-pr-bot in #19796
- account-core 1.0.0-alpha.1 by @comfy-pr-bot in #19795
- fix(website): restore carousel pagination track by @claude[bot] in #19793
- FE-3146 feat(account-core): close the web-session gaps platform worked around by @dante01yoon in #19797
- feat(website): add CTA to agent page featured video by @claude[bot] in #19800
- Fix workspace auth race during unified token mint by @christian-byrne in #19787
- [chore] Update Ingest API types from cloud@2e53e9f by @comfy-pr-bot in #19526
- account-core 1.0.0-alpha.2 by @comfy-pr-bot in #19812
- FE-3019 fix(billing-web): render server-reported display prices and charge breakdown by @dante01yoon in #19814
- fix(website): classify free-tier exhaustion as no credits by @benjcooley in #19801
- feat(agent): run the free-use messaging placement experiment (FE-3142 / DES-1221) by @christian-byrne in #19712
- fix(agent): reconcile a hydrated streaming turn from REST after a refresh by @christian-byrne in #18154
- PM-1559: hide duplicate PREVIEW badge at compact widths by @christian-byrne in #18425
- Remove obsolete nightly PREVIEW badge by @christian-byrne in #18416
- fix(agent): preserve admission order during sender recovery by @christian-byrne in #19841
- FE-3140 refactor(billing): move the billing telemetry event contract to a shared package by @dante01yoon in #19798
- feat(load3d): read the 3D save and preview nodes' standard 3d output … by @jtydhr88 in #17245
- fix(agent): finalize empty terminal recovery by @christian-byrne in #19850
- fix(agent): contain reentrant sender recovery by @christian-byrne in #19852
- fix(agent): contain reentrant seal serialization by @christian-byrne in #19859
- fix(agent): preserve seal ordering under reentry by @christian-byrne in #19860
- fix(agent): drain deferred sender work by @christian-byrne in #19866
- test(agent): correct op sender seal expectations that never held by @huang47 in #19874
- fix(agent): project a link onto a dynamic input slot the host grew by @christian-byrne in #19715
- refactor(canvas): centralize viewport lifecycle and framing by @christian-byrne in #11420
- fix: use adapter-aware bounds for 3D thumbnail camera framing by @claude[bot] in #15383
- FE-3118 feat(billing-web): report the checkout entry and quote preview in the cloud journey phases by @dante01yoon in #19819
- FE-3117 feat(billing-web): report the resubscribe lifecycle by @dante01yoon in #19811
- test(agent): clarify absent and unknown placement flags by @christian-byrne in #19839
- FE-3155 fix(billing-web): say the result page is still checking while the server settles a payment by @dante01yoon in #19784
- feat(website): a workflow card shows its whole name, over two rows by @mariana953 in #19891
- fix(widgets): read a ControlAfterGenerate mode as a mode, not a widget name by @christian-byrne in #19867
- fix: accept the Stripe custom billing portal domain by @christian-byrne in #19894
- fix(website): a hub tab keeps the tab bar where it was clicked by @mariana953 in #19895
- test(agent): cover the attachment basket surviving a failed send by @christian-byrne in #19908
- chore(ingest-types): sync Ingest API types from cloud@4b1fa05 by @dante01yoon in #19877
- fix(website): correct Agent story CTA link by @christian-byrne in #19813
- FE-3019 fix(billing-web): render the server-reported discount term by @dante01yoon in #19878
- [Test] Prove Agent consent uses the web session by @christian-byrne in #19483
- fix(billing): handle paused status for personal workspaces by @wei-hai in #19880
- fix(billing): don't render an unknown subscription duration as monthly by @wei-hai in #19885
- feat(load3d): draw quad and n-gon edges in wireframe mode by @jtydhr88 in #18451
- fix(billing): personal-workspace wording for paused and payment-failed banners by @wei-hai in #19881
- fix(website): give a hub category back its own header by @mariana953 in #19911
- fix(load3d): apply workspace inset to every viewer by @christian-byrne in #19729
- feat(website): fold the A-to-Z model index and group it by provider by @mariana953 in #19912
- [chore] Update Ingest API types from cloud@cab756d by @comfy-pr-bot in #19924
- perf: scope ESLint to Vue/Astro and lint the whole workspace with oxlint by @DrJKL in #18563
- feat(sidebar): add a close button to the core left sidebar panels (DES-1219) by @shrimbly in #19466
- test: distinguish agent outage from paywall by @christian-byrne in #18939
- test: correct stale and false cross-references on disabled-test markers by @christian-byrne in #19927
- Frontend implementation for a 'Branch' node by @AustinMroz in #17948
- test(telemetry): fail loudly when a trackAgent* dispatch case is dropped by @christian-byrne in #18999
- FE-3174 fix(cloud): read the login free-runs offer from the server by @dante01yoon in #19925
- FE-3158 fix(billing-web): retry shared session creation after it fails by @dante01yoon in #19941
- FE-3111 fix(billing): stamp billing_surface on cloud checkout journey events by @dante01yoon in #19943
- FE-3178 fix(cloud): subscription status read waits for the web-session workspace by @dante01yoon in #19932
- FE-3179 refactor(cloud): re-read the session through identity.refresh on csrf_invalid by @dante01yoon in #19934
- FE-3180 feat(telemetry): report session_bootstrap and session_signed_out_remotely by @dante01yoon in #19936
- FE-3162 test(billing): move the billing payload-helper suites into account-core by @dante01yoon in #19940
- FE-3122 fix(billing-web): send queued billing events after PostHog loads feature flags by @dante01yoon in #19942
- fix(agent-crdt): skip non-value widget graph intents by @christian-byrne in #19738
- ci: open comfyui-ci-container update PRs from this repo by @DrJKL in #19692
- FE-3181 feat(cloud): sign out of all devices on the web session by @dante01yoon in #19935
- feat(website): move copy to JSON catalogs rendered with vue-i18n by @benceruleanlu in #18013
- chore: scope root format to main app, add per-package format scripts by @DrJKL in #19957
- fix(billing): wait for the workspace type instead of falling back to legacy billing by @wei-hai in #19921
- fix(agent): preserve skill names across edge cases by @christian-byrne in #19726
- test(agent): pin sender telemetry routing and label wire-object cases by @christian-byrne in #19865
- FE-3177 feat(billing-web): itemize a prorated plan change on the checkout summary by @dante01yoon in #19931
- FE-3119 feat(billing): report 3DS challenges and retryable declines inside a billing operation by @dante01yoon in #19946
- FE-3176 feat(billing-web): cancel a payment while its 3DS challenge is pending by @dante01yoon in #19933
- FE-3115 feat(billing): report cloud entry points, entry source, top-up amount and the cancel flow as billing events by @dante01yoon in #19815
- fix: preserve explicit browser test URL by @christian-byrne in #19676
- docs: point unit-test reviewers at shared test utilities by @DrJKL in #19916
- test: remove 108 duplicate and vacuous tests by @huang47 in #19033
- FE-3119 feat(billing): report the hosted redirect and the return from it by @dante01yoon in #19947
- FE-3121 feat(billing): report the payment recovery portal's opens, failures and returns by @dante01yoon in #19973
- FE-3119 feat(billing): report where a cloud checkout dialog left a journey with no operation by @dante01yoon in #19975
- fix(agent): name the producer of a malformed document node (PM-1913) by @christian-byrne in #19915
- feat: download node outputs and asset selections as one zip (CORE-454) by @jtydhr88 in #18944
- FE-3119 feat(billing-web): report abandons and ending screens on the embedded checkout by @dante01yoon in #19974
- feat(telemetry): send client_message_id on the turn POST so the activation funnel joins by @christian-byrne in #18970
- chore(knip): drop the dead @iconify/json ignoreDependencies entry by @christian-byrne in #19929
- fix(ui): keep toast controls clickable above Reka modal dialogs by @dante01yoon in #14640
- fix: preserve billing RUM lifecycle pairing by @dante01yoon in #15205
- FE-746 refactor(missingMedia): match asset file_path and verify via asset listing by @dante01yoon in #12398
- test: fix rebind assertion in follower_replaced CRDT test by @claude[bot] in #19584
- refactor: share billing rail classification between billing routing and cancellation by @wei-hai in #20013
- Announce releases in Slack as a short headline with the changelog in thread replies by @christian-byrne in #19928
- FE-3119 fix(billing): keep the hosted redirect marker when a presentation switch rewrites the operation pointer by @dante01yoon in #20004
- fix: keep the partner nodes education card closed after the user dismisses it by @MaanilVerma in #20012
- FE-3076 fix(cloud): pick the consent 403 message by the refusal code by @dante01yoon in #20017
- FE-3188 fix(billing): a failed legacy cancellation no longer shows the success toast by @dante01yoon in #20018
- feat(website): update /launches with Comfy Router, Events, and Comfy CLI by @claude[bot] in #19716
- feat(website): add Oct 2026 Build Night events by @claude[bot] in #19930
- FE-3182 feat(account-core): revoke all web sessions with the session cookie alone by @dante01yoon in #19966
- fix(website): hide download desktop nav button on /download page by @claude[bot] in #19428
- feat(website): track Workshop's untracked interactions by @claude[bot] in #19652
- fix(i18n): add missing locale keys and correct the menu label lookup by @christian-byrne in #19938
- FE-3176 test(billing-web): a cancel that throws still lets the held Pay finish by @dante01yoon in #20015
- fix: harden task cancellation reconciliation by @christian-byrne in #20031
- test(agent): retain settled outcome during retry by @christian-byrne in #20042
- test(agent): cover two-client graph convergence by @christian-byrne in #20016
- feat(billing): surface the next-invoice amount in a Plan & Credits Invoices tab by @dante01yoon in #18477
- FE-3194 fix(billing): a blocked billing portal tab no longer shows legacy cancel success by @dante01yoon in #20036
- FE-3193 fix(billing): cancel and resubscribe no longer claim success when the workspace never loads by @dante01yoon in #20039
- test: keep a human-added node across a tab switch while its op is in flight by @claude[bot] in #20051
- test(website): schedule router provider drift checks by @christian-byrne in #19713
- test(agent): pin queued node across tab switch by @christian-byrne in #20053
- Template model requirements (FE-1491): feat(templates): add dependency detail view by @ryan-di in #15874
- FE-1491: Template model requirements by @ryan-di in #15876
- Template model requirements (FE-1491): feat(templates): resolve model readiness by @ryan-di in #15872
- FE-3196 fix(billing): cancel and resubscribe no longer claim success when the workspace changes during the wait by @dante01yoon in #20060
- test(cloud): pin remote widget web-session workspace by @christian-byrne in #19484
- fix(agent): release minimap graph-activity layer reliably on unmount by @claude[bot] in #20071
- fix: treat node error
detailsas optional, matching the backend contract by @christian-byrne in #20073 - fix(assets): resolve hierarchical model categories by @christian-byrne in #20070
- feat(i18n): enable @intlify/vue-i18n/no-missing-keys by @christian-byrne in #19939
- fix(agent): report route, status and auth scheme on agent API auth rejections by @christian-byrne in #20046
- fix(agent): make agent panel teardown total by @christian-byrne in #20078
- feat: support DynamicGroup widget inputs by @jaeone94 in #17441
- test: pin backend fallback widget name restoration by @christian-byrne in #20103
- fix(agent-crdt): fall through to stored serialize when the live widget leaves it undefined by @christian-byrne in #20027
- FE-3201 fix(workspace): keep Delete locked until a cancelled plan ends by @dante01yoon in #20108
- test: cover cloud node errors without details in E2E by @jaeone94 in #20083
- test(agent-crdt): pin subgraph-interior refusal behavior by @christian-byrne in #19898
- fix(dialog): keep modal size independent of the docked Agent panel by @christian-byrne in #20002
- FE-3207 fix(billing-web): a 3DS top-up verifies on the page and ends on its success screen by @dante01yoon in #20117
- FE-3204 fix(billing-web): no Cancel payment under Stripe's 3DS window, and closing it cancels the payment by @dante01yoon in #20119
- FE-3203 fix(billing-web): land a finished checkout on Already completed and show coded quote refusals by @dante01yoon in #20115
- FE-3206 fix(billing-web): show the card a plan change or top-up charges, and confirm a change instead of Pay and subscribe by @dante01yoon in #20118
- fix(billing): show Pay invoice to past-due legacy subscribers by @wei-hai in #20106
- FE-3208 fix(billing-web): a scheduled plan change ends on its start date and the plan kept until then by @dante01yoon in #20116
- FE-3205 fix(billing-web): the checkout summary counts the credits the receipt will report by @dante01yoon in #20120
- fix(agent): keep bulk attachment send path visible by @christian-byrne in #20110
- fix(agent): left-align workflow selector text by @christian-byrne in #18368
- test(agent): cover account switch for the scoped onboarding flag by @christian-byrne in #18566
- fix(agent): guard subgraph host widget drift on the document load path by @christian-byrne in #19711
- test(agent): apply the review cleanups to the failed-send attachment spec by @christian-byrne in #19919
- fix: derive Create Bounding Boxes sources from stores by @jtydhr88 in #19331
- FE-3213 fix(billing-web): the plan row shows the price before the promo code, so the summary adds up by @dante01yoon in #20149
- Fix stale chat title in agent history list by @claude[bot] in #19681
- fix(agent): focus a chat's open draft tab instead of calling it unavailable by @christian-byrne in #19873
- perf(telemetry): split extension loading bootstrap timings by @christian-byrne in #19888
- fix: close cancellation reconciliation review gaps by @christian-byrne in #20133
- Template model requirements (FE-1491): feat(templates): track desktop model downloads by @ryan-di in #15873
- Template model requirements (FE-1491): feat(templates): route desktop template setup by @ryan-di in #15875
- fix: hide shared reroute links from either context menu by @jaeone94 in #17426
- refactor(website): replace relative parent imports with tsconfig path aliases by @DrJKL in #20058
- fix: run merge-queue checks for every combined candidate by @DrJKL in #20163
- ci: add comfy-standard-approver to website workshop and agent CODEOWNERS, agent_devs to agent paths by @claude[bot] in #20165
- test(agent): preserve named input bindings after follower catch-up by @christian-byrne in #20019
- fix: preserve retry and dismissal reconciliation by @christian-byrne in #20166
- FE-3211 fix(cloud): keep a session tab's workspace when unified_cloud_auth is on by @dante01yoon in #20151
- account-core 1.0.0-alpha.3 by @comfy-pr-bot in #20193
- feat(deploy): Deploy to Comfy API entry and card by @shrimbly in #17964
- FE-3226 fix(cloud): a tab whose web session is revoked elsewhere goes to sign-in by @dante01yoon in #20206
- fix(agent): don't attribute a late node materialization to the wrong turn by @christian-byrne in #20211
- fix(billing): open Stripe's cancel confirmation for legacy cancel and stop claiming success by @wei-hai in #20167
- FE-3205 chore(types): update Ingest API types from cloud@0dc5adb and read the preview's credit counts from them by @dante01yoon in #20182
- fix(assets): resolve hierarchical legacy model categories by @christian-byrne in #19982
- fix(billing): capitalize Team as a plan name in billing copy by @comfydesigner in #20212
- fix(workflow): give each serialized widget register its own key and clone by @christian-byrne in #20088
- fix: silence browser extension errors in Sentry by @claude[bot] in #20170
- FE-3235 fix(billing): don't report a finished operation again when billing web's checkout is revisited by @dante01yoon in #20214
- ci: isolate and shard Playwright video recordings by @DrJKL in #20222
- feat(website): customers page search, tabs, and date sort; add Hakoniwa YUI story by @june-bump in #19964
- Branch node followups by @AustinMroz in #20213
- ci: scope frontend agent approvals to frontend repo by @christian-byrne in #20232
- 1.57.0 by @comfy-pr-bot in #20255
Full Changelog: v1.56.2...v1.57.0