Skip to content

v1.57.0

Choose a tag to compare

@comfy-pr-bot comfy-pr-bot released this 05 Oct 23:38
· 748 commits to main since this release
cdc18a9

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 details as 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