chore(libraries): deprecate multi-library support ahead of removal

Warn at startup (log + dismissible startup message) when settings.json
contains more than one library, marking the feature as deprecated while
keeping it fully functional. Removal is planned for one of the next
releases, at which point all libraries' folder paths will be merged into
a single library. Multiple folder roots within one library remain fully
supported and unaffected.

- SettingsManager: add _warn_if_multi_library() invoked from
  _migrate_to_library_registry
- Settings UI: label the Active Library selector as deprecated and note
  the removal plan in its help text (en.json)
- Docs: add deprecation banners to multi_library_design.md and
  library-switching.md
- Remove dead code: SettingsManager.update_active_library_paths had no
  call sites
This commit is contained in:
Will Miao
2026-10-09 11:10:04 +08:00
parent 18f3208468
commit 1a6b0f78a3
5 changed files with 98 additions and 30 deletions
@@ -1,5 +1,10 @@
# Multi-Library Management for Standalone Mode
> **Deprecated:** Multi-library support is deprecated and will be removed in an
> upcoming release. Multiple folder roots within a single library
> (`folder_paths` / `extra_folder_paths`) remain fully supported. This document
> is kept for historical reference only.
## Requirements Summary
- **Independent libraries**: In standalone mode, users can maintain multiple libraries, where each library represents a distinct set of model folders (LoRAs, checkpoints, embeddings, etc.). Only one library is active at any given time, but users need a fast way to switch between them.
- **Library-specific settings**: The fields that vary per library are `folder_paths`, `default_lora_root`, `default_checkpoint_root`, and `default_embedding_root` inside `settings.json`.
+5
View File
@@ -1,5 +1,10 @@
# Library Switching and Preview Routes
> **Deprecated:** Multi-library support (and therefore library switching) is
> deprecated and will be removed in an upcoming release. The dynamic preview
> route described here will remain — it also serves single-library
> installations.
Library switching no longer requires restarting the backend. The preview
thumbnails shown in the UI are now served through a dynamic endpoint that
resolves files against the folders registered for the active library at request