## invoke-ai/InvokeAI — version_0.9…vinstaller-test-delete

_8675+ commits._

### Features
- **feat(installer): do not print when aliasing python** (41ad13c)
- **feat(installer): make active venv error red instead of yellow** (e9d7e6b)
- **feat(installer): improve messages, simplify script** (49b74d1)
- **feat(create_installer): remove extraneous conditional** (179bc64)
- **feat: no frontend build in repo** (55cfb87)
- **feat(ui): add eslint unused-imports plugin** (9661fa5)
- **feat(ui): bump redux-remember** (fb39f62)
- **feat(ui): upgrade redux and RTK** (72cb8b8)
- **feat(ui): bump deps** (b271474)
- **feat(ui): disable storybook telemetry** (2272925)
- **feat(ui): add storybook** (5902a52)
- **feat(ui): migrate to pnpm** (f17b3d0)
- **feat(ui): track & indicate workflow saved status** (6d17660)
- **feat(workflow_records): do not use default_factory for workflow id** (7436aa8)
- **feat(ui): use templates for edge validation of workflows** (db4763a)
- **feat(ui): revise workflow editor buttons** (e4f6762)
- **feat(ui): improve save/as workflow hook** (283bb73)
- **feat(ui): abstract out the global menu close trigger** (61060f0)
- **feat(ui): clarify workflow building node filter** (fd8d1e1)
- **feat: workflow library (#5148)** (c42d692)
- **add middleware to handle 403 errors (#5245)** (b519b6e)
- **feat(ui): remove husky (#5235)** (7b31411)
- **feat(ui): remove husky** (bc6d411)
- **feat(nodes): add index and total to iterate output** (0fdcc0a)
- **feat(backend): move logic to clear latents to method** (fb9b471)
- **feat(backend): only log pruned queue items / db freed space if > 0** (3f0e0af)
- **feat(backend): display freed space when cleaning DB** (0228aba)
- **feat(backend): clear latents files on startup** (1fd6666)
- **Add support for SDXL textual inversion/embeddings (#5213)** (0539a64)
- **add support for SDXL textual inversion/embeddings** (0719a46)
- **feat(ui): use IndexedDB for persistence** (aadcde3)
- **Add width and height fields to TileToPropertiesInvocation output to avoid having to calculate them with math nodes.** (b19ed36)
- **(minor) Add 'Invocation' suffix to all tiling node classes.** (67540c9)
- **Tidy up tiles invocations, add documentation.** (7f816c9)
- **Add unit tests for merge_tiles_with_linear_blending(...).** (76b888d)
- **Add unit tests for tile paste(...) util function.** (1c8ff0a)
- **Add nodes for tile splitting and merging. The main motivation for these nodes is for use in tiled upscaling workflows.** (29eade4)
- **Add CFG Rescale option for supporting zero-terminal SNR models (#4335)** (0beb086)
- **Add support for IPAdapterFull models. The changes are based on this upstream PR: https://github.com/tencent-ailab/IP-Adapter/pull/139 .** (693c6cf)
- **feat(ui): enforce absolute import paths** (578c8ce)
- **feat(ui): "Polymorphic" -> "CollectionOrScalar"** (3d4874d)
- **feat(ui): update comments in field.ts** (da642b7)
- **feat(nodes,ui): add detection of custom nodes** (4af4486)
- **feat(ui): improve openapi schema types** (282a7f3)
- **feat(ui): update readme** (4c6a88a)
- **feat(ui): add links to relevant files in workflows doc** (e41d0b9)
- **feat(ui): update workflows design & implementation docs** (a02090b)
- **feat(ui): organize migrations files** (0d9a546)
- **feat(ui): organize node utils** (8d99113)
- **feat(ui): tidy node-related types** (4309f3b)
- **feat(ui): update workflows design & implementation docs (wip)** (4237093)
- **feat(ui): make buildFieldInputTemplate arg name consistent** (654591c)
- **feat(ui): move field output template builder to own file** (ad9c954)
- **feat(ui): add errors for invalid polymorphic types** (a703e1b)
- **feat(ui): update fields docstring** (e85f225)
- **feat(ui): add workflows design & implementation doc (WIP)** (8f2cf30)
- **feat(ui): update frontend README** (2967413)
- **feat(ui): constrain w/h in imageoutput schema** (5386a28)
- **feat(ui): remove `docs/` from prettierignore** (ab944bd)
- **feat(nodes): warn if node has no version specified; fall back on 1.0.0** (514c49d)
- **feat(nodes): improve docstrings in baseinvocation, disambiguate method names** (858bcdd)
- **feat(ui): improved UI for missing node field templates** (ed79980)
- **feat(ui): add support for custom field types** (86a74e9)

### Fixes
- **fix(installer): fix exit on new version** (c5c975c)
- **fix(installer): update msg in create_installer** (1feab3d)
- **fix(tests): remove test for frontend build** (0a15f3f)
- **fix(api): only attempt to serve UI build if it exists** (daf00ef)
- **fix(ui): add validation to field value reducers (#5256)** (40d4c7c)
- **fix(ui): add validation to field value reducers** (076284c)
- **fix(ui): fix workflow saving** (1af4260)
- **fix(tests): mark non-test-case classes as such** (08ef71a)
- **fix(tests): add versions to test nodes** (8f6e2c0)
- **fix(tests): fix pydantic warning about deprecated fields** (0ac33f3)
- **fix(ui): add typeguard for action.payload** (ca07449)
- **fix(ui): fix memoized selectors** (977d309)
- **fix(ui): remove `.ladle` from tsconfig** (99f14b1)
- **fix(actions): fix lint-frontend** (5140056)
- **fix(ui): fix extra attrs added to workflow payload** (fc6cebb)
- **fix(ui): disallow loading/deleting workflow if already open** (06104f3)
- **fix(ui): use translation for unnamed workflows** (6e028d6)
- **fix(ui): fix typo in uiPersistDenylist** (d75d388)
- **fix(nodes): fix mismatched invocation decorator** (13c9f8f)
- **fix(ui): do not append "(copy)" to workflow name when saving** (5b5a71d)
- **fix(ui): do not disable the metadata and workflow tabs in viewer** (3423b58)
- **fix link to xpuct/deliberate** (9ba5752)
- **Tiny grammar fix** (d0464a5)
- **fix import order** (bdb0d13)
- **fix ruff github format errors** (5a3f1f2)
- **fix ruff format check** (f95ce18)
- **fix(ui): fix types and storage prefix** (a8ef4e5)
- **Add unit tests for calc_tiles_with_overlap(...) and fix a bug in its implementation.** (65a16be)
- **fix(ui): fix missing images not handled** (909b78a)
- **fix(ui): add missing star image translation key** (2f81f9f)
- **fix(ui): fix enum parsing for optional enums** (a6d4e4e)
- **(fix) Update communityNodes.md installation instructions** (09cb407)
- **Merge branch 'main' into patch-2** (18ecfc0)
- **fix(ui): fix typing of FIELD_VALUE_FALLBACK_MAP** (5aaf2e8)
- **fix(ui): remove unused schema/type/guard** (f3fd0f6)
- **fix(nodes): remove extraneous `del`** (4468581)
- **fix(ui): fix capitalization** (b379e3d)
- **fix(tests): remove deprecated arg** (6867c79)
- **fix(nodes): fix loading node pack display** (a1705dc)
- **fix(ui): fix mis-named typeguard** (803fb39)
- **fix preselected image (#5185)** (4eca802)
- **fix a bunch of type mismatches in the logging module** (ae82df0)
- **fix(config): use public import path for JsonDict** (e28262e)
- **fix import block ordering** (b7293d6)
- **fix type mismatches in invokeai.app.services.config.config_base & config_default** (eee863e)
- **Fix attempt to deserialize on CUDA on Mac** (e509d71)

### Backend
- **translationBot(ui): update translation files** (5b9d25f)
- **translationBot(ui): update translation (Italian)** (73dbb87)
- **tidy(ui): remove unused components** (4627a7c)
- **chore)ui): typegen** (d9a0efb)
- **Update communityNodes.md with VeyDlin's nodes** (8648c2c)
- **translationBot(ui): update translation (German)** (db58efb)
- **translationBot(ui): update translation (Korean)** (e990235)
- **translationBot(ui): update translation (Chinese (Simplified))** (5f12218)
- **Ensure that fetching a logger doesn't reset its loglevel to default (#5222)** (1ca0901)
- **Merge branch 'bugfix/log-levels' of github.com:invoke-ai/InvokeAI into bugfix/log-levels** (2d7555b)
- **clean up get_logger() call** (3c7d1fc)
- **Merge branch 'main' into bugfix/log-levels** (c7fa2db)
- **dont set socketURL until socket is initialized (#5229)** (0463541)
- **if response for bulk download, dont close toast** (e457048)
- **Added full-version endpoint (#5206)** (4fc2ed7)
- **ensure that setting loglevel on one logger doesn't change others** (2d2ef5d)
- **translationBot(ui): update translation (Italian)** (cff6600)
- **Set minimum numpy version to ensure that np.testing.assert_array_equal() supports the 'strict' argument.** (04ddcf5)
- **dynamically create indexedDB store using unique store key if available** (e6fe254)
- **(minor) Tweak field ordering and field names for tiling nodes.** (984e609)
- **Change input field ordering of CropLatentsCoreInvocation to match ImageCropInvocation.** (57e70aa)
- **Re-organize merge_tiles_with_linear_blending(...) to merge rows horizontally first and then vertically. This change achieves slightly more natural blending on the corners where 4 tiles overlap.** (bfdef12)
- **Infer a tight-fitting output image size from the passed tiles in MergeTilesToImageInvocation.** (32da359)
- **Update tiling nodes to use width-before-height field ordering convention.** (e5a212b)
- **Rename CropLatentsInvocation -> CropLatentsCoreInvocation to prevent conflict with custom node. And other minor tidying.** (9b863fb)
- **Improve documentation of CropLatentsInvocation.** (7cab517)
- **Use LATENT_SCALE_FACTOR = 8 constant in CropLatentsInvocation.** (18c6ff4)
- **Copy CropLatentsInvocation from https://github.com/skunkworxdark/XYGrid_nodes/blob/74647fa9c1fa57d317a94bd43ca689af7f0aae5e/images_to_grids.py#L1117C1-L1167C80.** (843f2d7)
- **translationBot(ui): update translation files** (86fd1d5)
- **CenterPadCrop node (#3861)** (3e01c39)
- **Update prompt.py** (77933a0)
- **Update prompt.py** (2a087bf)
- **Update communityNodes.md (#5184)** (b0fe57e)
- **move toast to the bottom right** (0d52430)
- **Update communityNodes.md** (ff0a25b)
- **pin opencv-python to get required cv2.typing module** (ace0eb3)
- **remove the logging and config modules from the mypy ignore list** (d971c5f)
- **resolve which paths can be None** (250ee4b)

### Chore
- **chore(ui): lint** (95a3c89)
- **chore(deps-dev): bump vite from 4.5.0 to 4.5.1 in /invokeai/frontend/web** (eecee47)
- **chore(ui): lint** (59d932e)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/invoke-ai/InvokeAI?utm_source=github-action)._