v0.8.48
What's Changed
- Comfy UI custom changes by @huchenlei in #1
- Update package.json by @huchenlei in #2
- Only publish litegraph.core.js by @huchenlei in #4
- Change main to litegraph.core.js by @huchenlei in #5
- Make necessary type def changes for TS repo by @huchenlei in #3
- Distribute src/litegraph.js by @huchenlei in #6
- Fix zoom by @huchenlei in #7
- Update version by @huchenlei in #8
- Use ESM style export by @huchenlei in #9
- Emit searchbox triggering canvas events by @huchenlei in #10
- Revert ESM change by @huchenlei in #11
- Fix event detail by @huchenlei in #12
- 0.7.24 by @huchenlei in #13
- Update types by @huchenlei in #14
- 0.7.25 by @huchenlei in #15
- Truncate overflowing combo widget text by @christian-byrne in #17
- Sort node on serialization by @huchenlei in #21
- 0.7.26 by @huchenlei in #22
- Fix empty input not used when connecting links by @webfiltered in #24
- 0.7.27 by @huchenlei in #25
- Fix var declaration by @huchenlei in #26
- 0.7.28 by @huchenlei in #27
- 0.7.29 by @huchenlei in #28
- Fix undefined var 'cloned' by @huchenlei in #33
- 0.7.30 by @huchenlei in #34
- Make node pin option text reactive by @christian-byrne in #29
- Add ARIA attributes to contextmenu by @christian-byrne in #30
- 0.7.31 by @huchenlei in #35
- Add node disconnect shortcuts by @webfiltered in #31
- Add output multi-link move using shift-click by @webfiltered in #32
- 0.7.32 by @huchenlei in #36
- Revert "Add output multi-link move using shift-click" by @huchenlei in #37
- Revert "Add node disconnect shortcuts" by @huchenlei in #38
- Relands #31 and #32 by @huchenlei in #39
- 0.7.34 by @huchenlei in #40
- Use group font size from user by @christian-byrne in #41
- Remove extremely inefficient test code by @webfiltered in #42
- 0.7.35 by @huchenlei in #43
- Fix events not properly removed by @webfiltered in #46
- Increase node input & output slot hitboxes by @webfiltered in #45
- Add vite build by @webfiltered in #53
- 0.7.36 by @huchenlei in #54
- Fix Vite build by @huchenlei in #55
- Fix deselect delete by @webfiltered in #51
- Remove unused files by @huchenlei in #56
- Remove legacy unused files by @huchenlei in #57
- Add GitHub action CI test by @huchenlei in #59
centerOnNode
use DPI by @christian-byrne in #49- ES6 class convertion of LGraph by @huchenlei in #63
- Add npm publish action by @huchenlei in #64
- 0.7.43 by @huchenlei in #65
- Remove unnecessary compatibility layer by @huchenlei in #66
- LLink ES6 class conversion by @huchenlei in #67
- LGraphNode ES6 class conversion by @huchenlei in #68
- 0.7.44 by @huchenlei in #69
- Avoid sort nodes in place by @huchenlei in #70
- 0.7.45 by @huchenlei in #71
- Revert "LGraphNode ES6 class conversion" by @huchenlei in #72
- 0.7.46 by @huchenlei in #73
- Fix truncating non-string combo widgets by @christian-byrne in #74
- Make node id serialization optional by @huchenlei in #76
- 0.7.47 by @huchenlei in #77
- Expose zoom speed option by @christian-byrne in #19
- Close prompt dialog popup on outer canvas click by @christian-byrne in #80
- 0.7.48 by @huchenlei in #82
- Increase timeout on prompt dialog dismiss by @christian-byrne in #86
- 0.7.49 by @huchenlei in #87
- Add zoom_speed to LGraphCanvas type def by @christian-byrne in #83
- Add onNodeTitleDblClick hook by @huchenlei in #88
- 0.7.50 by @huchenlei in #89
- Fix hook on undefined by @huchenlei in #90
- 0.7.51 by @huchenlei in #91
- Fix node title click cond by @huchenlei in #92
- 0.7.52 by @huchenlei in #93
- Add LGraphGroup.addNodes by @huchenlei in #94
- 0.7.53 by @huchenlei in #95
- Fix group ref by @huchenlei in #96
- 0.7.54 by @huchenlei in #97
- Relands "LGraphNode ES6 class conversion" by @huchenlei in #98
- 0.7.55 by @huchenlei in #99
- LGraphGroup ES6 class conversion by @huchenlei in #100
- DragAndScale ES6 class conversion by @huchenlei in #101
- Convert static canvas vars to private static fields by @huchenlei in #102
- LGraphCanvas ES6 class conversion by @huchenlei in #103
- 0.7.56 by @huchenlei in #104
- Fix prompt dialog dismiss by @huchenlei in #105
- 0.7.57 by @huchenlei in #106
- Fix LGraphNode.pos serialization by @huchenlei in #107
- 0.7.58 by @huchenlei in #108
- Add litegraph:group-double-click event by @huchenlei in #109
- 0.7.59 by @huchenlei in #110
- showConnectionMenu with searchbox options by @huchenlei in #111
- 0.7.60 by @huchenlei in #112
- Refactor LGraphGroup.draw by @huchenlei in #113
- Add selected group bound highlight by @huchenlei in #114
- 0.7.61 by @huchenlei in #115
- Support group pinning and show pin icon on pinned node & group by @huchenlei in #117
- Fix group title detect by @huchenlei in #118
- 0.7.62 by @huchenlei in #119
- Add pin icon to end of title by @huchenlei in #120
- Fix collapse and resize by @huchenlei in #121
- 0.7.63 by @huchenlei in #122
- [skip ci] fix getNodeById arg type by @huchenlei in #124
- 0.7.64 by @huchenlei in #125
- Fix blurry links on HiDPI screen by @cesaryuan in #116
- Fix collapsed regression in #114 by @webfiltered in #126
- Fix legacy searchbox autofocus on Firefox by @christian-byrne in #127
- 0.7.65 by @huchenlei in #129
- Add
LGraphBadge
support on node by @huchenlei in #130 - 0.7.66 by @huchenlei in #131
- Fix badge width when invisble by @huchenlei in #132
- 0.7.67 by @huchenlei in #133
- Fix ContextMenu.root build / test fails by @webfiltered in #134
- 0.7.68 by @huchenlei in #137
- Pin/Unpin all selected nodes on context menu by @huchenlei in #136
- 0.7.69 by @huchenlei in #138
- 0.7.70 by @huchenlei in #139
- 0.7.71 by @huchenlei in #140
- Add getters to LGraph private fields by @huchenlei in #141
- 0.7.72 by @huchenlei in #142
- Fix configure trying to write to getter field by @huchenlei in #143
- 0.7.73 by @huchenlei in #144
- Add getter of nodes on LGraphGroup by @huchenlei in #145
- 0.7.74 by @huchenlei in #146
- Allow link creation from another link by shift+clicking by @pythongosssss in #148
- 0.7.75 by @huchenlei in #149
- Support hollow circle slot shape by @huchenlei in #154
- 0.7.76 by @huchenlei in #155
- Restyle hollow circle node slot by @huchenlei in #156
- 0.7.77 by @huchenlei in #157
- Allow shift+click on input to create new link from origin node by @pythongosssss in #153
- Add change events, to use instead of litegraph change methods. by @pythongosssss in #158
- Context menu ES6 class conversion by @webfiltered in #161
- CurveEditor ES6 class conversion by @webfiltered in #162
- 0.7.78 by @huchenlei in #174
- TypeScript conversion groundwork by @webfiltered in #163
- Split LGraph out to TS file by @huchenlei in #175
- Batch convert to TS files by @huchenlei in #176
- Change cursor shape to grab on dragging by @huchenlei in #177
- 0.7.79 by @huchenlei in #178
- Add event when readonly changes by @pythongosssss in #160
- 0.7.80 by @huchenlei in #179
- Fix drag-select on Mac by @christian-byrne in #182
- Clean litegraph module entry file by @webfiltered in #171
- Canvas panning mode by @huchenlei in #183
- 0.7.81 by @huchenlei in #184
- Allow panning when dragging a link by @huchenlei in #185
- 0.7.82 by @huchenlei in #186
- Support allowing links to widgets by @pythongosssss in #180
- 0.7.83 by @huchenlei in #187
- Fix adding node to selection with Ctrl+Click on Mac by @christian-byrne in #189
- Add hidden link enum by @huchenlei in #190
- 0.7.84 by @huchenlei in #191
- Don't draw badges when zoomed out by @huchenlei in #192
- Typescript conversion 0.7.84 by @huchenlei in #194
- 0.8.0 by @huchenlei in #195
- Remove unused test file by @huchenlei in #196
- Format all code with prettier by @huchenlei in #197
- Revert "Format all code with prettier" by @webfiltered in #198
- Typescript LGraph by @webfiltered in #200
- 0.8.1 by @huchenlei in #203
- Typescript LLink by @webfiltered in #199
- 0.8.2 by @huchenlei in #204
- ES2022 Output & whitespace-only minification by @webfiltered in #201
- Typescript LGraphCanvas by @webfiltered in #202
- 0.8.3 by @huchenlei in #205
- Typescript LGraphNode by @webfiltered in #207
- Typescript LGraphGroup by @webfiltered in #208
- 0.8.4 by @huchenlei in #209
- Typescript ContextMenu by @webfiltered in #206
- Typescript DragAndScale by @webfiltered in #212
- Convert CurveEditor to TypeScript by @webfiltered in #211
- Typescript LiteGraphGlobal by @webfiltered in #210
- 0.8.5 by @huchenlei in #217
- Fix circular dependency by @webfiltered in #219
- Update npm packages: TypeScript, DTS, audit fix by @webfiltered in #218
- Fix node shape change ignored by @webfiltered in #214
- Canvas refactors - standardising by @webfiltered in #221
- 0.8.6 by @huchenlei in #223
- Add multi-group select & drag by @webfiltered in #225
- 0.8.7 by @huchenlei in #227
- Add hover highlight and link dragging features by @webfiltered in #222
- 0.8.8 by @huchenlei in #228
- Fix group deselected on title click by @webfiltered in #230
- 0.8.9 by @huchenlei in #232
- Add / improve Node interfaces: Find slots & before connect callback by @webfiltered in #226
- Multi-link drag keeps links bundled properly by @webfiltered in #224
- 0.8.10 by @huchenlei in #236
- Move canvas state to plain object by @webfiltered in #233
- 0.8.11 by @huchenlei in #240
- Fix minor debug log spam when dragging link by @webfiltered in #238
- Snaps for Comfy 🫰 by @webfiltered in #239
- 0.8.12 by @huchenlei in #241
- Add / fix canvas TS strict types, doc by @webfiltered in #237
- Fix group order unexpectedly reversing by @webfiltered in #242
- Fix types not resolving through '@/imports' (.d.ts only) by @webfiltered in #215
- 0.8.13 by @huchenlei in #243
- Minor bug fixes & refactors by @webfiltered in #245
- Code clean up by @webfiltered in #244
- Hidden & advanced widgets by @pythongosssss in #250
- Convert Links to ES6 Map & LLink Serialisation by @webfiltered in #246
- Add release script by @huchenlei in #252
- 0.8.14 by @huchenlei in #253
- Add basic tests by @webfiltered in #249
- Convert Node & Group _ctor pattern to initializers by @webfiltered in #248
- Shared measure functions by @webfiltered in #254
- Update test ci action by @huchenlei in #255
- Revert branch to cb6e80a by @huchenlei in #257
- [Reland][skip ci] (add) watch to package.json scripts by @huchenlei in #258
- Reland animateToNode by @huchenlei in #259
- 0.8.15 by @huchenlei in #260
- Positionable: Common interface for canvas items by @webfiltered in #256
- Add multi select & group nesting by @webfiltered in #262
- 0.8.16 by @huchenlei in #263
- Ctrl+a select all items (Group + Node) by @huchenlei in #264
- Backspace delete selected (Nodes + Groups) by @huchenlei in #265
- Create unique branch name [skip ci] by @huchenlei in #266
- 0.8.17 by @huchenlei in #267
- Update delete selected by @webfiltered in #269
- Group update - titlebar, resize, config by @webfiltered in #270
- Replace canvas "action" magic strings by @webfiltered in #271
- 0.8.18 by @huchenlei in #272
- Serialize to node pos/size to plain array by @huchenlei in #273
- Unify pin/unpin interface between LGraphNode and LGraphGroup by @huchenlei in #274
- 0.8.19 by @huchenlei in #276
- Code cleanup, docs, TS types by @webfiltered in #278
- Remove hard-coded modifications to nodes by @webfiltered in #247
- 0.8.20 by @huchenlei in #280
- Replace test framework: jest -> vitest by @webfiltered in #281
- Improve click hitbox for group resize corner by @webfiltered in #277
- 0.8.21 by @huchenlei in #283
- Fix pin not respected by multi-select move by @webfiltered in #284
- Graph serialisation update - Links & Reroutes by @webfiltered in #279
- 0.8.22 by @huchenlei in #287
- Update tests for schema v1 by @webfiltered in #289
- Keep links connected when deleting nodes by @webfiltered in #288
- Animate view to multiple nodes by @bezo97 in #282
- Move createBounds to measure.ts by @huchenlei in #290
- 0.8.23 by @huchenlei in #291
- Add LGraphCavnas.fitViewToSelectionAnimated by @huchenlei in #292
- 0.8.24 by @huchenlei in #293
- Emit only one change when deleting nodes by @webfiltered in #296
- Fix NODE_TEXT_SIZE style option by @huchenlei in #298
- 0.8.25 by @huchenlei in #299
- Add Reroutes by @webfiltered in #301
- 0.8.26 by @huchenlei in #306
- Copy & Paste all items by @webfiltered in #302
- 0.8.27 by @huchenlei in #307
- Add canvas update events by @dmx974 in #297
- Revert "Add canvas update events" by @huchenlei in #310
- Add CanvasPointer API by @webfiltered in #308
- Add DragAndScaleState for external proxy by @huchenlei in #311
- 0.8.28 by @huchenlei in #313
- Snap everything to grid by @webfiltered in #315
- 0.8.29 by @huchenlei in #318
- Adds highlight to advanced widgets by @pythongosssss in #317
- Fix pinned group contents moving by @webfiltered in #316
- Fix widget not updating on combo click by @webfiltered in #321
- 0.8.30 by @huchenlei in #322
- Fix fast widget conversion by @webfiltered in #323
- 0.8.31 by @huchenlei in #325
- Add ESLint, pre-commit hook & format all files by @webfiltered in #319
- Disable slow jest tests by @huchenlei in #328
- Clean up JSDoc by @webfiltered in #327
- Move Snap to Grid control to LiteGraphGlobal by @webfiltered in #329
- 0.8.32 by @huchenlei in #330
- Snapsize by @webfiltered in #331
- 0.8.33 by @huchenlei in #332
- Fix custom widgets not receiving pointermove events by @webfiltered in #335
- Fix custom nodes not responding to changed widget values by @webfiltered in #333
- Use device scaling for drag-from-link checks by @webfiltered in #334
- 0.8.34 by @huchenlei in #336
- Fix custom widget mouseover by @webfiltered in #339
- 0.8.35 by @huchenlei in #340
- Fix invalid callback return value preventing canvas redraw by @webfiltered in #343
- Fix widget.mouse callback does not receive pointerup events by @webfiltered in #342
- 0.8.36 by @huchenlei in #344
- Fix slider regression caused by CanvasPointer by @webfiltered in #347
- Ensure click_time is available to custom widgets by @webfiltered in #349
- 0.8.37 by @huchenlei in #350
- Fix custom widget pointerup receives NaN pos by @webfiltered in #351
- 0.8.38 by @huchenlei in #352
- Export types for frontend repo DTS by @huchenlei in #353
- Export ISerialisedGraph for frontend repo DTS by @huchenlei in #354
- 0.8.39 by @huchenlei in #355
- Add maximum FPS option to LGraphCanvas by @webfiltered in #356
- 0.8.40 by @huchenlei in #357
- Fix canvas zoom centre not centred on pointer by @webfiltered in #135
- Redesign invalid node indicator by @webfiltered in #358
- 0.8.41 by @huchenlei in #361
- Fix cloning pinned nodes by @pythongosssss in #364
- Add CanvasPointer callback for node widgets by @webfiltered in #363
- 0.8.42 by @huchenlei in #365
- Export LGraphEventMode by @huchenlei in #369
- Prevent distortion of area select rectangle by @webfiltered in #368
- 0.8.43 by @huchenlei in #370
- Add LGraph.empty by @huchenlei in #371
- 0.8.44 by @huchenlei in #372
- Optimise positionableItems / empty getters by @webfiltered in #373
- [i18n] Add INodeSlot.localized_name field by @huchenlei in #376
- 0.8.45 by @huchenlei in #377
- Export Reroute class the same as other similar classes by @webfiltered in #378
- Fix reroutes ignore change in radius by @webfiltered in #379
- Fix slider value display when widget.label is present by @huchenlei in #381
- 0.8.46 by @huchenlei in #382
- Emit node-double-click event by @huchenlei in #383
- 0.8.47 by @huchenlei in #384
- Auto generate github release on version change by @huchenlei in #387
- Fix NODE_DEFAULT_SHAPE by @huchenlei in #389
- 0.8.48 by @huchenlei in #390
New Contributors
- @huchenlei made their first contribution in #1
- @christian-byrne made their first contribution in #17
- @webfiltered made their first contribution in #24
- @cesaryuan made their first contribution in #116
- @pythongosssss made their first contribution in #148
- @bezo97 made their first contribution in #282
- @dmx974 made their first contribution in #297
Full Changelog: https://github.com/Comfy-Org/litegraph.js/commits/v0.8.48