Repository navigation
What's Changed
- refactor: drop the free_tier_job_allowance_enabled flag read (BE-17903) by @deepme987 in #20465
- fix(widgets): restore numeric and boolean strings as typed widget values (PM-2173) by @christian-byrne in #21246
- refactor: establish declaration-backed frontend package leaves by @DrJKL in #21224
- FE-3450 feat(billing): prefill the server-suggested top-up for a negative balance by @dante01yoon in #21360
- FE-3434 fix(billing): lock Run for payment recovery on payment_recovery_available by @dante01yoon in #21362
- refactor(billing): retire legacy routing override by @wei-hai in #21374
- FE-1908 fix(billing): open blocked checkout and card pages from a real link by @dante01yoon in #21388
- ci: publish CI container from the monorepo by @DrJKL in #20650
- fix: keep hidden links visible during slot drags by @jaeone94 in #19690
- fix: refresh balance when the profile menu opens by @benceruleanlu in #21392
- feat: add Spooky, Skeleton, Witch, Zombie and Fennec Girl color palettes by @DrJKL in #21207
- fix(litegraph): stop external writes from replacing a group's geometry buffers by @DrJKL in #20260
- fix(cloud): let a stored API key finish cloud bootstrap by @christian-byrne in #21380
- FE-1908 feat(billing): hand off to an open checkout instead of closing the Add credits dialog by @dante01yoon in #21395
- chore: upgrade Reka UI to 2.11.0 by @DrJKL in #21389
- fix: skip unnecessary CI container candidate builds by @DrJKL in #21405
- fix(agent): withhold stale bound canvas drafts by @christian-byrne in #21268
- docs: document running Playwright E2E in remote agent containers by @DrJKL in #20457
- test: move E2E to the CI container 0.0.28 (ComfyUI v0.42.1) by @jaeone94 in #21371
- FE-1908 fix(billing): mint a fresh checkout when reopening a blocked top-up tab by @dante01yoon in #21408
- fix: refuse remote DynamicGroup row counts above max by @jaeone94 in #21264
- fix: resolve the multiline widget store id from its current name by @jaeone94 in #21293
- test: cover remote DynamicGroup catch-up, promoted rows and shared definitions by @jaeone94 in #21098
- build: extend declaration-backed workspace package references by @DrJKL in #21390
- Fix agnix identified errors by @AustinMroz in #21384
- fix: ask a session-only tab to sign in again before accepting an invite by @MaanilVerma in #21363
- fix: build the E2E fallback image from this repo's container tag by @jaeone94 in #21415
- fix: clear the drag link reveal on connector reset and polish its tests by @jaeone94 in #21397
- refactor: extensionless package-local import specifiers by @DrJKL in #21423
- [chore] Update Ingest API types from cloud@c5d79c08 by @comfy-pr-bot in #21351
- fix(agent): load every page of Chat history by @ryan-di in #20827
- test(agent): pin Note/MarkdownNote materialization from agent add_node ops by @christian-byrne in #18363
- fix(agent): scope tool completion to canvas ops (PM-1637) by @christian-byrne in #21369
- test(agent): cover restart node refresh in browser by @christian-byrne in #21044
- test(agent): open a template mid agent turn without load-failure toast (PM-2126) by @christian-byrne in #21243
- fix: withhold a stale architecture verdict and tidy CLI tests by @DrJKL in #21328
- test(agent): assert restart reload keeps saved widget values by @christian-byrne in #21458
- feat(agent): send this tab's ComfyUI client id with each turn (PM-1875) by @christian-byrne in #20090
- fix: clarify credit purchases before payment by @wei-hai in #21426
- feat(agent): report the submitting frontend build as client_version on a turn by @christian-byrne in #20798
- feat(canvas): click a socket to hide or delete its links (DES-1238) by @shrimbly in #20838
- feat(canvas): a hidden link snaps back like an elastic band (DES-1239) by @shrimbly in #20861
- feat: Track item clicks in the Comfy menu and workflow actions dropdown by @PabloWiedemann in #21042
- fix: preserve agent undo tracking while a subgraph is open by @DrJKL in #20876
- test(agent): retain upload-gating browser coverage by @christian-byrne in #20820
- feat(website): show the live Openjutsu app card on open-source-higgsfield by @june-bump in #21466
- [chore] Update Ingest API types from cloud@453e791d by @comfy-pr-bot in #21450
- Copy to clipboard even when localStorage fails by @AustinMroz in #21465
- refactor: move shared UI translations to app callers by @DrJKL in #21420
- fix(agent): hold a promoted widget write during a re-subscribe instead of refusing it (PM-2003) by @christian-byrne in #21335
- feat: node-level undo/redo for the image crop, video edit and colors widgets by @jtydhr88 in #21407
- refactor: extract the Load3D engine and camera/light viewports into @comfyorg/viewport3d by @DrJKL in #21404
- feat(website): add VFX V3 workflow showcase by @bertfy in #21401
- feat(website): sunset /cloud/supported-nodes behind redirects by @claude[bot] in #21406
- feat(oauth): mark dynamically registered clients as unverified on consent by @mattmillerai in #20618
- FE-1908 fix(billing): retry a hosted top-up checkout refused with a retryable 409 by @dante01yoon in #21463
- fix: release subscribe busy once the SDK rail parks the checkout on the customer by @dante01yoon in #21472
- FE-1908 fix(workspace): reopen a reloaded tab on its own workspace by @dante01yoon in #21464
- ingest-types 1.3.0 by @dante01yoon in #21474
- fix: use one overlay tier with reopen-aware portal ordering by @DrJKL in #21396
- fix(agent): declare every node's widget form at the Agent boundary by @DrJKL in #21479
- fix: publish litegraph augmentations and named litegraph types in
@comfyorg/comfyui-frontend-typesby @mcmerdith in #20311 - feat(canvas): stack hidden link labels from one socket (DES-1237) by @shrimbly in #20836
- test: validate native LoRA stack assets and execution by @jaeone94 in #20307
- fix: create restored above-max DynamicGroups on followers by @jaeone94 in #21280
- test: verify DynamicGroup against the real backend by @jaeone94 in #17510
- fix(website): send retired /cloud/supported-nodes to the custom nodes support article by @claude[bot] in #21489
- FE-3449 fix(billing): apply confirmed M4 copy for auto top-up, billing portal, member past-due and sales-managed ending by @dante01yoon in #21467
- PM-1236: defer the run permissions notice until composer focus by @christian-byrne in #18426
- feat(website): add Krea 3 to footer Models column by @claude[bot] in #21498
- feat(agent): validate operational replay bundles by @christian-byrne in #20778
- feat(website): complete VFX campaign media and signup flow by @bertfy in #21486
- refactor: delete components only imported by their own tests and stories by @DrJKL in #21509
- fix(agent): remember a refused consent card for the account (PM-1910) by @christian-byrne in #19869
- chore: drop leftover references to components deleted in #21509 by @DrJKL in #21516
- test: pin agent wire identity across a /ws reconnect by @christian-byrne in #21497
- fix: ship only the package name and version from account-core's manifest by @DrJKL in #21428
- feat(website): polish VFX v3 CTAs, Studio playback and enterprise details by @june-bump in #21518
- fix: stop reactive proxies from breaking workflow loads (DataCloneError) by @christian-byrne in #20747
- FE-3526 feat(billing): show Activating on the plan row by @dante01yoon in #21511
- fix(agent): recheck funds after an admitted send before showing the out-of-credits card by @christian-byrne in #21538
- fix(website): make the Developer Platform optional in the challenge rules by @deepme987 in #21505
- fix(execution): scope execution frames to the workflow that queued the job by @DrJKL in #21300
- lint: enforce agent platform utility boundaries (carry #20893 onto main) by @christian-byrne in #21491
- PM-1236: point the run notice at the Run permissions control by @christian-byrne in #21496
- feat(deploy): open installation deployment from the run bar by @shrimbly in #21202
- refactor: remove ImperativePopover in favor of declarative Reka popovers by @DrJKL in #21411
- Fix highlighting of links on a just selected node by @AustinMroz in #21525
- Use renderingSize to arrange nodes by @AustinMroz in #21586
- Fix the 'Align Selected To' icons by @AustinMroz in #21594
- fix: harvest partial snapshot updates and skip non-screenshot E2E jobs by @DrJKL in #21583
- test: focus E2E screenshot assertions with screenshotRegion by @DrJKL in #21430
- test: remove canvasOps.resetView by @DrJKL in #21500
- test(agent): type bound-canvas refusal fixture by @christian-byrne in #21375
- fix(agent): define a hand-added subgraph host's definitions in the bound document by @christian-byrne in #21576
- ci: wait for CI Tests E2E before recording Playwright videos by @DrJKL in #21577
- FE-3555 feat(billing): record auto top-up card views and platform handoffs by @dante01yoon in #21596
- ci: fold native LoRA tests into existing cloud shards by @DrJKL in #21585
- fix(agent): restore a completed turn's thinking on reload and chat switch (PM-717) by @christian-byrne in #21600
- feat(website): lower RTX PRO 6000 Comfy API rate to $3.49/hr by @claude[bot] in #21379
- fix(agent): move an agent-inserted workflow clear of the nodes it lands on by @christian-byrne in #21527
- feat: complete Desktop Agent consent and locked panel startup by @ryan-di in #21532
- FE-1618 fix(billing): show the served credit balance when a workspace has no plan by @dante01yoon in #21611
- fix: name legacy error dialogs by their visible title by @jaeone94 in #21449
- fix(manager): retry a failed later search page without dropping loaded packs by @jaeone94 in #21448
- feat(workspace): Running on moves to an engine button in the Run bar by @shrimbly in #21148
- fix: keep Shift+Home/End text selection in search autocomplete by @jaeone94 in #21447
- feat: fullscreen editor for Create Bounding Boxes by @jtydhr88 in #21526
- chore(website): freeze the monorepo copy and switch off its deploys by @benceruleanlu in #21573
- refactor: size resource timing buffer during Sentry init by @DrJKL in #21619
- refactor: create conflict acknowledgment storage lazily on first use by @DrJKL in #21620
- refactor: give ContextMenu its own DOMPurify instance by @DrJKL in #21617
- refactor: give media cache instance ownership of its unload listener by @DrJKL in #21618
- refactor: read browser state lazily instead of at module import by @DrJKL in #21621
- feat(agent): attach .exr in the composer with its stored preview by @heymemie in #21203
- refactor: start cloud badge canvas watcher in extension init by @DrJKL in #21623
- fix: keep the top menu rendering after the run bar is re-docked by @christian-byrne in #21631
- refactor: express draggableList item styles as Tailwind utilities by @DrJKL in #21626
- fix: show a retryable error when the agent panel content fails to mount by @christian-byrne in #21524
- fix(agent): authenticate the local agent with the active workspace's token by @skishore23 in #21575
- refactor: resolve import-time translations when they are read by @DrJKL in #21624
- FE-3447 fix(billing): open plan actions on Cloud by @dante01yoon in #21613
- refactor: register the Electron adapter from an awaited core extension step by @DrJKL in #21625
- fix(agent): keep a saved custom-node workflow's output node and values when the Agent opens it (PM-2018) by @christian-byrne in #21584
- fix: restore a run's outputs when it finished while the socket was down (PM-2123) by @christian-byrne in #21282
- refactor: create node templates manager on first use by @DrJKL in #21622
- refactor: create SubgraphNode workflow badge bitmap on first draw by @DrJKL in #21646
- fix: recover when session storage denies client id access by @DrJKL in #21647
- refactor: give extension auth hooks an owner with a disposer by @DrJKL in #21648
- refactor: resolve HTTP client base URLs at request time by @DrJKL in #21649
- refactor: fold shared draggable item utilities into draggableItemClass by @DrJKL in #21650
- refactor: create persisted remote-config flag cache lazily by @DrJKL in #21651
- refactor: own vue node resize tracking resources by @DrJKL in #21652
- refactor: install error-node widgets and touch pointer guards once, from explicit owners by @DrJKL in #21653
- refactor: choose run button at render time and retry failed 3D lazy load by @DrJKL in #21655
- fix(agent): refresh node definitions when ComfyUI reconnects after an agent restart by @christian-byrne in #21644
- test(agent): cover switching away from an unsaved tab mid-turn and back by @skishore23 in #21657
- refactor: give CRDT debug gate and doc nonce explicit owners by @DrJKL in #21654
- fix: read persisted remote-config flags back as booleans by @DrJKL in #21656
- fix: report lost agent edits through platform telemetry by @DrJKL in #20883
- refactor: construct router and i18n inside an explicit main.ts bootstrap by @DrJKL in #21671
- docs: give the layout store's Y.Doc an explicit owner (ADR-CRDT-LAYOUT-0046) by @DrJKL in #21667
- fix: dismiss group context menu on canvas click by @DrJKL in #21668
- FE-3434 fix(billing): keep Add credits available when payment is past due by @dante01yoon in #21546
- FE-3434 fix(billing): keep payment recovery and run capability through the SDK rail by @dante01yoon in #21547
- FE-1908 fix(billing): retry a hosted checkout refused with 503 unavailable by @dante01yoon in #21540
- FE-3434 fix(billing): show the out-of-credits banner on a past-due workspace by @dante01yoon in #21548
- fix(workspace): the editor's first load never waits long on the deployments check by @vqt123 in #21607
- FE-3523 feat(billing): show credit banners on the local Billing tab by @dante01yoon in #21514
- [chore] Update Ingest API types from cloud@2d86ea8c by @comfy-pr-bot in #21508
- docs: scope ADR-CRDT-LAYOUT-0046 claims to main and the test by @DrJKL in #21675
- docs: ADR for provide*/Access late-bound accessors by @DrJKL in #21669
- refactor: tidy main.ts bootstrap follow-ups from review by @DrJKL in #21674
- Highlight canvas nodes while browsing agent references by @christian-byrne in #18397
- refactor: construct ComfyApp legacy UI and ComfyApi page context from bootstrap by @DrJKL in #21672
- FE-3159 fix(billing): show one ended banner on the Members tab by @dante01yoon in #21696
- FE-3525 fix(billing): open Plans from can_open_plans by @dante01yoon in #21699
- fix: keep node templates when saving after a failed load by @DrJKL in #21645
- fix(billing): check pendingServerFact bridges written with type arguments by @dante01yoon in #21473
- perf: drop the vendor-other catch-all chunk from the eager startup closure by @DrJKL in #21714
- Fix workspace switcher on mobile by @AustinMroz in #21610
- feat(billing): end the Credits plan line with the refill date by @dante01yoon in #21710
- test(agent): pin tagged-node selection payload by @christian-byrne in #21591
- FE-3527 feat(billing): show plan checkout banners from checkout_state by @dante01yoon in #21708
- test(agent): cover PM-655 canvas edits between turns by @christian-byrne in #17542
- fix(agent): don't report a 409 with no selection as another answer winning by @christian-byrne in #21320
- test(agent): pin a mid-turn colour and shape edit reverting on an agent rename by @christian-byrne in #21711
- FE-1908 fix(billing): retry top-up Pay after setting a default card by @dante01yoon in #21694
- test(agent): keep canvas adds out of the composer by @christian-byrne in #18773
- test(agent): preserve promoted host writes through serialization by @christian-byrne in #17412
- fix(agent): show the server-assigned chat title in the open chat header (PM-2098) by @christian-byrne in #21697
- Move Workspace Switcher to Popover by @AustinMroz in #21721
- perf: warm up the Vite dev entry and GraphView route on server start by @DrJKL in #21735
- FE-3571 feat(billing): auto top-up failed and turned off banners on the Billing tab by @dante01yoon in #21718
- perf: trace every bootstrap window and report untraced time by @DrJKL in #21739
- fix(agent): catalog-mismatch toast says the next message rebuilds the workflow (FE-3493) by @christian-byrne in #21677
- test: add coverage floor for agent panel + CRDT follower dirs by @christian-byrne in #16688
- fix(agent): gate canvas-affecting claims on observed canvas state (PM-1343, PM-1996, PM-1586) by @christian-byrne in #20741
- fix: silence self-inflicted startup console warnings by @DrJKL in #21738
- refactor(billing): colocate billing and subscription under platform/billing (FE-3573) by @DrJKL in #21741
- refactor: colocate template UI under platform/workflow/templates by @DrJKL in #21722
- refactor: register core extensions from an explicit ordered list by @DrJKL in #21673
- refactor: colocate keybinding UI under platform/keybindings by @DrJKL in #21725
- ci: reuse Playwright video recordings for unchanged specs by @DrJKL in #21582
- refactor: replace imperative ContextMenu API with Reka primitives by @DrJKL in #21670
- perf: cut node definition startup work and prefetch object_info by @DrJKL in #21755
- refactor: colocate error catalog and missing-resource modules under platform/workflowErrors by @DrJKL in #21727
- DESK2-183 fix(auth): tell Desktop users to finish sign-in in the browser, not that it was blocked by @dante01yoon in #21715
- refactor: colocate the mask editor and extract its stroke/GPU engine into @comfyorg/mask-editor by @DrJKL in #21730
- FE-3571 fix(billing): say payment method in the auto top-up turned off banner by @dante01yoon in #21747
- chore(codeowners): own the Agent test-harness paths that sit outside the agent/ dirs by @christian-byrne in #21758
- fix: open the link context menu only from its centre marker by @jaeone94 in #21759
- refactor: colocate the Load3D, camera and light host in src/extensions/core/load3d by @DrJKL in #21728
- test(agent): pin the ask_kinds advertisement to what the panel renders by @christian-byrne in #21716
- chore(deps): override @grpc/grpc-js to ^1.13.6 (BE-22504) by @luke-mino-altherr in #21700
- fix(auth): stop session-only Desktop sign-in redirect loop by @benceruleanlu in #21768
- chore(deps): bump astro to 7.2.8 (BE-22503) by @luke-mino-altherr in #21693
- fix(agent): keep dynamic-combo writes on the catalog path with comfy-multi-player 0.3.12 by @christian-byrne in #21535
- test(agent): run the standalone harness on the shared-document path by @christian-byrne in #21239
- refactor: restore saved widget values through widgetValueStore by @DrJKL in #21378
- fix(onboarding): keep the first-run nudge clear of the docked Agent panel by @christian-byrne in #20146
- fix(agent): send human links into dynamic-combo inputs the bound doc lacks (PM-2080) by @christian-byrne in #21686
- [chore] Update Ingest API types from cloud@99f52fc1 by @dante01yoon in #21746
- FE-3212 fix: stop the Parameters panel crashing on a widget with no type by @christian-byrne in #20131
- FE-3587 fix(billing): show the yearly Team price the server bills by @dante01yoon in #21748
- fix(execution): report when execution_start rejects a job with no known owner by @christian-byrne in #21761
- test: ratchet expected-failure inventory by @christian-byrne in #20140
- test: record minimap change-cadence performance baselines by @christian-byrne in #16140
- fix(agent-crdt): bind the session to the workflow a reload restored (FE-1969) by @christian-byrne in #21147
- test: repair the expected-failure baseline drift reddening every PR by @christian-byrne in #21803
- FE-3557 feat(billing): say a Cloud plan is required to run workflows by @dante01yoon in #21766
- ci: make expected-failure check informational by @DrJKL in #21815
- feat(billing): gate Cloud credit banners on is_active by @dante01yoon in #21709
- billing-contract 1.0.0-alpha.1 by @comfy-pr-bot in #21816
- docs: ground test guidance in observable behavior by @DrJKL in #21807
- fix: remove SVG flex warnings and lint icon assets by @DrJKL in #21809
- fix(litegraph): report direct selection changes by @christian-byrne in #20098
- perf: load the ComfyHub publish dialog on open by @DrJKL in #21772
- feat(ingest-types): add the public catalog creator operations by @MaanilVerma in #21678
- fix(workspace): a failed deployment check never slows the editor for someone who has not picked one by @vqt123 in #21806
- 1.59.1 by @comfy-pr-bot in #21403
- fix(agent): report array element shapes for malformed slot types by @christian-byrne in #21801
- feat(test-recorder): forward a Cloudflare Access service token to the backend by @christian-byrne in #17623
- fix(agent): report a free-text-only answer that won elsewhere by @christian-byrne in #21829
- feat(workspace): the deployment switcher marks which deployments can run the open workflow (BE-19373) by @vqt123 in #20372
- FE-3593 fix(billing): show the plan-required Add credits line only when it applies by @dante01yoon in #21835
- ci(website): block committed images and video under apps/website by @claude[bot] in #21109
- fix: guard touch handlers against a missing canvas and report why by @claude[bot] in #21321
- feat: track loaded theme in Datadog by @DrJKL in #21823
- test(agent): cover out-of-order subgraph definitions by @christian-byrne in #18831
- perf: load the mask editor dialog components on open by @DrJKL in #21770
- perf: keep the Datadog RUM SDK off the local startup path by @DrJKL in #21771
- fix(agent): refresh model warnings after catalog updates by @christian-byrne in #21841
- fix: skip object_info prefetch on cloud and refetch after a failed prefetch by @DrJKL in #21849
- Fix graph selection box visual by @AustinMroz in #21733
- perf: load the markdown widget editor on first use by @DrJKL in #21769
- feat(workspace): ask to save unsaved workflows before a deployment switch by @shrimbly in #21183
- feat(architecture): enforce webcam capture boundary by @christian-byrne in #21830
- fix(billing): render the served Team stop price instead of a rounded-percent rebuild by @dante01yoon in #21863
- perf: load three.js only when a 3D node is used by @DrJKL in #21767
- test(agent): user-story specs — stop survives, output surfaces, failure/stall surfaced, finished-generation preview by @christian-byrne in #18803
- fix(agent): name Comfy Agent in the workflow run approval card by @christian-byrne in #21865
- fix(agent): keep an Agent run's outputs on the tab it ran for (PM-2275) by @christian-byrne in #21666
- fix: report unit coverage for every main push, measured against its own ancestor by @christian-byrne in #19551
- test: record the reopened-workflow pin in the expected-failure baseline by @christian-byrne in #21883
- test(load3d): pin docked viewer workspace bounds by @christian-byrne in #20136
- refactor(workflow): report user-initiated tab activations by @christian-byrne in #21791
- feat(workspace): the missing-nodes message offers deployments that can run the workflow (BE-19374) by @vqt123 in #20373
- fix(workspace): a compatibility answer only counts for the check that asked for it (BE-19373) by @vqt123 in #21897
- test(agent): pin the flag-off gate and the streaming shimmer by @christian-byrne in #21898
- fix(agent): remove canvas groups a remote clear drops from the document by @christian-byrne in #21572
- test(agent): adapt PM-1875 local-run canvas pin by @christian-byrne in #21886
- test(agent): pin 30-chat history pagination by @christian-byrne in #21900
- FE-3470 fix(agent): prove the widget form against the post-hook values by @christian-byrne in #21790
- PM-855: fix(agent): reorder add-menu so assets entry precedes add-nodes by @christian-byrne in #17326
- fix(agent): make the coach-tour hold on the first send visible and always releasable by @mattmillerai in #21285
- fix(agent-crdt): tell the person when the page is ahead of the doc host by @mattmillerai in #21286
- test(agent): assert the 30 chat identities, not only the count by @christian-byrne in #21901
- test(agent): make completed-turn approval action test deterministic by @mattmillerai in #21249
- test(agent): pin a human link severance surviving save and reload (PM-1410) by @christian-byrne in #21888
- fix(agent): report rejected node id/class on doc-host rejection telemetry by @christian-byrne in #21902
- test(agent): pin that agent-built and hand-drawn links are painted on the canvas by @christian-byrne in #21903
- fix(agent): preserve links in ask-user answers by @christian-byrne in #21856
- fix(agent): keep accepted turns live after storage failures by @christian-byrne in #21912
- test(agent): name the two Agent CRDT fixtures after the convention by @christian-byrne in #21887
- fix: package E2E coverage against tested revision by @christian-byrne in #21904
- fix: play hashed Cloud video and audio assets through /view by @claude[bot] in #20359
- feat(agent): carry workflow chat follow onto current main by @christian-byrne in #21512
- fix(agent): identify opaque API failures by @christian-byrne in #21919
- fix(queue): enable the toolbar stop control for an Agent-started run (PM-2219) by @christian-byrne in #21889
- fix(agent): let Back out of chat history when the chat cannot be opened by @christian-byrne in #21926
- fix(agent): surface terminal workflow sync failure by @christian-byrne in #18273
- fix(litegraph): report each selection operation once by @christian-byrne in #21698
- test(agent): pin the canvas a continuing unbound-tab turn drops (PM-1410) by @christian-byrne in #21931
- feat: the editor opens while custom nodes start, and turns them on when they arrive by @vqt123 in #21915
- feat: the editor says custom nodes are starting, and when they are ready by @vqt123 in #21935
- feat: a custom node script that could not be fetched is tried once more, then Reload is offered by @vqt123 in #21936
- test(agent): cover terminal approval expiry (BE-17612) by @christian-byrne in #21943
- feat: nodes of custom node packs still starting show as waiting, not missing by @vqt123 in #21937
- Test Agent reuse of a subgraph definition by @christian-byrne in #21944
- feat: the editor can follow which step the deployment's CPU server is on by @vqt123 in #21938
- FE-3562 feat(billing): pay for a top-up with a new card or a chosen saved card by @dante01yoon in #21800
- FE-3530 feat(billing): align the Billing tab with the settings visual spec by @dante01yoon in #21515
- FE-3522 feat(billing): show the parked payment banner by @dante01yoon in #21702
- feat: the starting toast says which step the CPU server is on by @vqt123 in #21939
- fix: keep local node colour, shape and properties when an agent frame edits other fields by @christian-byrne in #21947
- Defer agent onboarding coach while a global dialog is open by @christian-byrne in #21928
- test(agent): prove silent follower recovery by @christian-byrne in #21942
- FE-3524 feat(billing): replace Manage with Contact sales by @dante01yoon in #21519
- FE-3467 feat(billing): show a processing top-up in the credits flyout by @dante01yoon in #21536
- FE-3467 feat(billing): show hosted top-up payment progress on the Billing tab by @dante01yoon in #21468
- [FE-1968] Guard agent follower invariants on the graph-API seam by @christian-byrne in #21852
- test(agent): wait for consent state before coach assertion by @christian-byrne in #21948
- test(agent): prove host updates resume across an Agent panel remount (FE-2247) by @christian-byrne in #21962
- fix(agent): isolate workflow draft restore state by @christian-byrne in #21945
- fix(agent): record the status and route of a failed thread/history load (FE-3200) by @christian-byrne in #20089
- fix: harden workflow load against null initial state and report occurrences by @claude[bot] in #21326
- test(e2e): check restored numeric widget values on the canvas, not only in the queued prompt (PM-2173) by @christian-byrne in #21247
- fix: let the document own DynamicGroup row counts above max by @christian-byrne in #21788
- chore(website): remove the migrated website from the frontend by @benceruleanlu in #21861
- perf: build slot default tables once after node registration by @DrJKL in #21859
- FE-3620 fix(billing): show the Team plan card's final price without a count-up by @dante01yoon in #21980
- chore: remove leftover references to the removed website by @benceruleanlu in #21987
- fix(architecture): declare webcam capture consumer by @christian-byrne in #21996
- fix: bound PostHog pre-init event queue by @christian-byrne in #21991
- Add black-box proof for core-only Agent workflows by @christian-byrne in #21979
- feat(extensions): mark agent-created extensions in the Extensions panel by @christian-byrne in #21950
- feat(billing): show an outstanding-payment notice in the pricing table footer by @wei-hai in #21978
- 1.60.0 by @comfy-pr-bot in #22006
New Contributors
Full Changelog: v1.59.0...v1.60.0