Skip to content

Releases: DominikDoom/a1111-sd-webui-tagcomplete

Release 2.0.0

11 Feb 14:35
Compare
Choose a tag to compare

This release doesn't add many new features, but includes a fairly big refactoring of the code base, which is why I decided to raise the main version number for it.

I took care to test all existing features, but it is still quite possible that this could break things, so feel free to open an issue if something doesn't work for you. This will also likely break backwards compatibility for some extra files, if you use any, as well as forks due to the large change in code structure.

Added

  • New code architecture that uses global lists to execute functions added to it
    • This enabled me to move all "extended" completion, like wildcards, embeddings, and UMI support to their own files.
    • The main code is now much less monolithic and a good bit shorter and more readable.
    • This is still all intended for internal use, but will make it much easier for me (or others) to add or maintain features with only minimal changes to the main file.
  • Small "quality tags" extra file, see the next section for more info
    • This serves as an example for the new extra file system and adds the common quality tags used by most anime based models.
    • It's the new default, but if you are updating from an older version, you have to manually select it in the settings.

Changed

  • The extra file system was reworked
    • Now only for adding new custom tags.
    • This also removed this setting's dangerous ability to hang the whole page if the chosen file was too large.
    • Extra files support all values of normal tags (including aliases), except not having a count but instead a descriptive meta text in column 3.
    • Added a new setting to choose if they should be added before or after the normal tags. They can "take away spots" of normal tags if you have limited your results.
  • Added pycache folder created next to the helper script to the gitignore.

Fixed

  • Completion after < now works if another < follows directly after it or after a space
    • Since < was originally only for embeddings, they were removed after inserting them. But with the new system for hypernets and loras, the < stay in the prompt.
    • This led to a semi-common situation of autocomplete not working if we want to insert another embedding, hypernet or lora before an existing one.
    • It was possible to work around by placing a comma, but very annoying. Now it should work in almost all situations, even if no space at all is left before it.
  • Wildcard completion now allows spaces in wildcard file names.
    • This is only relevant if we want to continue browsing the selected wildcard file to choose one of its contents, but failed before due to the parser not recognizing it as a continuous piece.
    • This only works for names enclosed in __, so wildcard file will work after choosing it in the completion, but manually typing it out letter by letter will still close it on a space.
  • Extra files now no longer hang the page if they are too big.
    • The old system performed a lookup for each tag in the main file per extra tag, since it was originally used for translations.
    • This resulted in a quadratic time complexity, which froze the page or whole browser for unsuspecting users that accidentally chose a large file.

Removed

  • "Only alias extra file" option
    • With the rework to extra files, this no longer had any purpose.

Release 1.17.0 - Support for new hypernetwork & Lora notation

24 Jan 14:40
Compare
Choose a tag to compare

This release adds support for the new in-prompt hypernetwork and Lora notation used in the current webui version.

The old method of < will show Embeddings, Hypernetworks and Loras mixed together for convenience.
You can use <e:, <h: and <l: respectively as a prefix to limit completion to that type.
Filtering embeddings by version using v1/v2 as a prefix still works for both types, so <v1 or <e:v1.

Thanks to @Mulet-J for his first draft of the feature in #115!

Hotfix 1.16.2 - Support for new model hashes

14 Jan 14:03
Compare
Choose a tag to compare

The webui now uses proper sha256 hashes and has changed the way in which they are displayed. This release fixes the script to work with the new format.

Added:

  • Ability to use model name in black/whitelist setting
    • Mixing names and hashes works too

Fixed:

  • Both short (first 10 characters) and long form hash now work again in black/whitelists

Hotfix 1.16.1 - Don't show ? links for non-tags

13 Jan 18:39
Compare
Choose a tag to compare

Fixes the ? wiki links being shown for embeddings and wildcards as well, instead of just for tags like they were meant to.

Release 1.16.0 - New options

12 Jan 15:05
Compare
Choose a tag to compare

Added:

  1. New settings option for (de)activating the script based on a model hash black/whitelist. #14
  2. New settings option for showing ? links next to the tags linking to their danbooru / e621 wiki pages. #109
    • Note: This is disabled by default since it links to an external site and the wiki pages more often than not contain NSFW examples of recent posts for that tag.

Fixed:

If the prompt was only one letter long and identical to the previous completion (e.g. due to accidentally deleting the first letter or changing your mind twice in a row), completion would not show. The script now correctly resets its internal state if the last letter is deleted.

Release 1.15.0 - Various fixes & code restructures

10 Jan 14:19
Compare
Choose a tag to compare

This release includes:

  • Some more fixes and adjustments for embedding loading not included in the previous release
  • Small styling adjustments
  • More utility functions moved to separate file for better code readability
  • Results now use a proper object instead of array indices
    • This shouldn't change anything for now, but will make it easier to add more optional metadata in the future for various different completion types (if needed). Also massively helps with readability and is less error-prone.

Release 1.14.0 - Embedding version info

02 Jan 00:00
Compare
Choose a tag to compare

Displays version metadata for embeddings & allows filtering for it by prefixing the search with v1 / v2.
This makes it easy to find matching embeddings for sd-v1.x or 2.x models respectively. Implements #97.

chrome_2023-01-02_00-45-27.mp4

Note:

I wait for the webui to load the embeddings to then get their version info, but if the model doesn't load any (e.g. a v2 model, but the user has no v2 embeddings, or the same with v1), I can't test what version they are and default to v1 since it's more common.
I could theoretically check them manually, but that would mean embeddings being loaded twice which would increase startup time, so I compromised here.

1.13.0 - Support for Umi wildcards

26 Dec 12:41
Compare
Choose a tag to compare

Adds support for https://github.com/Klokinator/Umi-AI, which uses a yaml-based tagging system for dynamic wildcard template selection.
Completion takes previous Umi tags into account to only show possible candidates, which allows progressive filtering to close in on wanted templates.

See #84, #88, #90, #93.

Thanks to @ctwrs for the help.

1.12.1 - Third party support (fixed)

18 Dec 13:36
Compare
Choose a tag to compare

Adds base functionality for autocompletion support in third party text areas added by other extensions or scripts.
Includes https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor so far.
Adding new third party options is easily achieved by adding them in the thirdParty dictionary of the new _textAreas.js file, with their respective IDs or captions.
Feel free to open issues or pull requests for additional third party support.

Hotfix 1.11.2

06 Nov 13:35
Compare
Choose a tag to compare

Includes further fixes for #62 and #65.