Skip to content

Commit

Permalink
Merge pull request #679 from LykosAI/main
Browse files Browse the repository at this point in the history
v2.11.0
  • Loading branch information
mohnjiles authored Jun 12, 2024
2 parents 75cb257 + 6be741f commit f900c1a
Show file tree
Hide file tree
Showing 243 changed files with 12,244 additions and 5,913 deletions.
70 changes: 68 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,78 @@ root = true

[*.cs]
max_line_length = 120
csharp_style_var_for_built_in_types = true
csharp_style_var_for_built_in_types = true:suggestion
dotnet_sort_system_directives_first = true

# ReSharper properties
resharper_csharp_max_line_length = 120
resharper_place_field_attribute_on_same_line = false

# dotnet code quality
# noinspection EditorConfigKeyCorrectness
dotnet_code_quality.CA1826.exclude_ordefault_methods = true
dotnet_code_quality.ca1826.exclude_ordefault_methods = true

# Microsoft .NET properties
csharp_new_line_before_members_in_object_initializers = false
csharp_preferred_modifier_order = public, private, protected, internal, file, static, new, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion
csharp_style_prefer_utf8_string_literals = true:suggestion
csharp_style_var_elsewhere = true:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
dotnet_naming_rule.private_constants_rule.import_to_resharper = True
dotnet_naming_rule.private_constants_rule.resharper_description = Constant fields (private)
dotnet_naming_rule.private_constants_rule.resharper_guid = 236f7aa5-7b06-43ca-bf2a-9b31bfcff09a
dotnet_naming_rule.private_constants_rule.severity = warning
dotnet_naming_rule.private_constants_rule.style = upper_camel_case_style
dotnet_naming_rule.private_constants_rule.symbols = private_constants_symbols
dotnet_naming_rule.private_instance_fields_rule.import_to_resharper = True
dotnet_naming_rule.private_instance_fields_rule.resharper_description = Instance fields (private)
dotnet_naming_rule.private_instance_fields_rule.resharper_guid = 4a98fdf6-7d98-4f5a-afeb-ea44ad98c70c
dotnet_naming_rule.private_instance_fields_rule.resharper_style = aaBb, _ + aaBb
dotnet_naming_rule.private_instance_fields_rule.severity = warning
dotnet_naming_rule.private_instance_fields_rule.style = lower_camel_case_style_1
dotnet_naming_rule.private_instance_fields_rule.symbols = private_instance_fields_symbols
dotnet_naming_rule.private_static_fields_rule.import_to_resharper = True
dotnet_naming_rule.private_static_fields_rule.resharper_description = Static fields (private)
dotnet_naming_rule.private_static_fields_rule.resharper_guid = f9fce829-e6f4-4cb2-80f1-5497c44f51df
dotnet_naming_rule.private_static_fields_rule.severity = warning
dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style
dotnet_naming_rule.private_static_fields_rule.symbols = private_static_fields_symbols
dotnet_naming_rule.private_static_readonly_rule.import_to_resharper = True
dotnet_naming_rule.private_static_readonly_rule.resharper_description = Static readonly fields (private)
dotnet_naming_rule.private_static_readonly_rule.resharper_guid = 15b5b1f1-457c-4ca6-b278-5615aedc07d3
dotnet_naming_rule.private_static_readonly_rule.severity = warning
dotnet_naming_rule.private_static_readonly_rule.style = upper_camel_case_style
dotnet_naming_rule.private_static_readonly_rule.symbols = private_static_readonly_symbols
dotnet_naming_style.lower_camel_case_style.capitalization = camel_case
dotnet_naming_style.lower_camel_case_style.required_prefix = _
dotnet_naming_style.lower_camel_case_style_1.capitalization = camel_case
dotnet_naming_style.upper_camel_case_style.capitalization = pascal_case
dotnet_naming_symbols.private_constants_symbols.applicable_accessibilities = private
dotnet_naming_symbols.private_constants_symbols.applicable_kinds = field
dotnet_naming_symbols.private_constants_symbols.required_modifiers = const
dotnet_naming_symbols.private_constants_symbols.resharper_applicable_kinds = constant_field
dotnet_naming_symbols.private_constants_symbols.resharper_required_modifiers = any
dotnet_naming_symbols.private_instance_fields_symbols.applicable_accessibilities = private
dotnet_naming_symbols.private_instance_fields_symbols.applicable_kinds = field
dotnet_naming_symbols.private_instance_fields_symbols.resharper_applicable_kinds = field,readonly_field
dotnet_naming_symbols.private_instance_fields_symbols.resharper_required_modifiers = instance
dotnet_naming_symbols.private_static_fields_symbols.applicable_accessibilities = private
dotnet_naming_symbols.private_static_fields_symbols.applicable_kinds = field
dotnet_naming_symbols.private_static_fields_symbols.required_modifiers = static
dotnet_naming_symbols.private_static_fields_symbols.resharper_applicable_kinds = field
dotnet_naming_symbols.private_static_fields_symbols.resharper_required_modifiers = static
dotnet_naming_symbols.private_static_readonly_symbols.applicable_accessibilities = private
dotnet_naming_symbols.private_static_readonly_symbols.applicable_kinds = field
dotnet_naming_symbols.private_static_readonly_symbols.required_modifiers = readonly,static
dotnet_naming_symbols.private_static_readonly_symbols.resharper_applicable_kinds = readonly_field
dotnet_naming_symbols.private_static_readonly_symbols.resharper_required_modifiers = static
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:none
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:none
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
dotnet_style_qualification_for_event = false:suggestion
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
151 changes: 151 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,157 @@ All notable changes to Stability Matrix will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning 2.0](https://semver.org/spec/v2.0.0.html).

## v2.11.0
### Added
#### Packages
- Added new package: [SDFX](https://github.com/sdfxai/sdfx/) by sdfxai
- Added ZLUDA option for SD.Next
- Added more launch options for Forge - [#618](https://github.com/LykosAI/StabilityMatrix/issues/618)
- Added search bar to the Python Packages dialog
#### Inference
- Added Inpainting support for Image To Image projects using the new image mask canvas editor
- Added alternate Lora / LyCORIS drop-down model selection, can be toggled via the model settings button. Allows choosing both CLIP and Model Weights. The existing prompt-based `<lora:model:1.0>` method is still available.
- Added optional Recycle Bin mode when deleting images in the Inference image browser, can be disabled in settings (Currently available on Windows and macOS)
#### Model Browsers
- Added PixArt, SDXL Hyper, and SD3 options to the CivitAI Model Browser
- Added XL ControlNets section to HuggingFace model browser
- Added download speed indicator to model downloads in the Downloads tab
#### Output Browser
- Added support for indexing and displaying jpg/jpeg & gif images (in additional to png and webp / animated webp), with metadata parsing and search for compatible formats
#### Settings
- Added setting for locale specific or invariant number formatting
- Added setting for toggling model browser auto-search on load
- Added option in Settings to choose whether to Copy or Move files when dragging and dropping files into the Checkpoint Manager
- Added folder shortcuts in Settings for opening common app and system folders, such as Data Directory and Logs
#### Translations
- Added Brazilian Portuguese language option, thanks to jbostroski for the translation!
### Changed
- Maximized state is now stored on exit and restored on launch
- Drag & drop imports now move files by default instead of copying
- Clicking outside the Select Model Version dialog will now close it
- Changed Package card buttons to better indicate that they are buttons
- Log file storage has been moved from `%AppData%/StabilityMatrix` to a subfolder: `%AppData%/StabilityMatrix/Logs`
- Archived log files now have an increased rolling limit of 9 files, from 2 files previously. Their file names will now be in the format `app.{yyyy-MM-dd HH_mm_ss}.log`. The current session log file remains named `app.log`.
- Updated image controls on Recommended Models dialog to match the rest of the app
- Improved app shutdown clean-up process reliability and speed
- Improved ProcessTracker speed and clean-up safety for faster subprocess and package launching performance
- Updated HuggingFace page so the command bar stays fixed at the top
- Revamped Checkpoints page now shows available model updates and has better drag & drop functionality
- Revamped file deletion confirmation dialog with affected file paths display and recycle bin / permanent delete options (Checkpoint and Output Browsers) (Currently available on Windows and macOS)
### Fixed
- Fixed crash when parsing invalid generated images in Output Browser and Inference image viewer, errors will be logged instead and the image will be skipped
- Fixed missing progress text during package updates
- (Windows) Fixed "Open in Explorer" buttons across the app not opening the correct path on ReFS partitions
- (macOS, Linux) Fixed Subprocesses of packages sometimes not being closed when the app is closed
- Fixed Inference tabs sometimes not being restored from previous sessions
- Fixed multiple log files being archived in a single session, and losing some log entries
- Fixed error when installing certain packages with comments in the requirements file
- Fixed error when deleting Inference browser images in a nested project path with recycle bin mode
- Fixed extra text in positive prompt when loading image parameters in Inference with empty negative prompt value
- Fixed NullReferenceException that sometimes occurred when closing Inference tabs with images due to Avalonia.Bitmap.Size accessor issue
- Fixed [#598](https://github.com/LykosAI/StabilityMatrix/issues/598) - program not exiting after printing help or version text
- Fixed [#630](https://github.com/LykosAI/StabilityMatrix/issues/630) - InvokeAI update hangs forever waiting for input
- Fixed issue where the "installed" state on HuggingFace model browser was not always correct
- Fixed model folders not being created on startup

### Supporters
#### Visionaries
- Shoutout to our Visionary-tier supporters on Patreon, **Scopp Mcdee** and **Waterclouds**! Your generous support is appreciated and helps us continue to make Stability Matrix better for everyone!
#### Pioneers
- A big thank you to our Pioneer-tier supporters on Patreon, **tankfox** and **tanangular**! Your support helps us continue to improve Stability Matrix!

## v2.11.0-pre.2
### Added
- Added folder shortcuts in Settings for opening common app and system folders, such as Data Directory and Logs.
### Changed
- Log file storage have been moved from `%AppData%/StabilityMatrix` to a subfolder: `%AppData%/StabilityMatrix/Logs`
- Archived log files now have an increased rolling limit of 9 files, from 2 files previously. Their file names will now be in the format `app.{yyyy-MM-dd HH_mm_ss}.log`. The current session log file remains named `app.log`.
- Updated image controls on Recommended Models dialog to match the rest of the app
- Improved app shutdown clean-up process reliability and speed
- Improved ProcessTracker speed and clean-up safety for faster subprocess and package launching performance
### Fixed
- Fixed crash when parsing invalid generated images in Output Browser and Inference image viewer, errors will be logged instead and the image will be skipped
- Fixed issue where blue and red color channels were swapped in the mask editor dialog
- Fixed missing progress text during package updates
- Fixed "Git and Node.js are required" error during SDFX install
- (Windows) Fixed "Open in Explorer" buttons across the app not opening the correct path on ReFS partitions
- (Windows) Fixed Sdfx electron window not closing when stopping the package
- (macOS, Linux) Fixed Subprocesses of packages sometimes not being closed when the app is closed
- Fixed Inference tabs sometimes not being restored from previous sessions
- Fixed multiple log files being archived in a single session, and losing some log entries
- Fixed error when installing certain packages with comments in the requirements file
- Fixed some more missing progress texts during various activities
### Supporters
#### Visionaries
- A heartfelt thank you to our Visionary-tier Patreon supporters, **Scopp Mcdee** and **Waterclouds**! Your generous contributions enable us to keep enhancing Stability Matrix!

## v2.11.0-pre.1
### Added
- Added new package: [SDFX](https://github.com/sdfxai/sdfx/) by sdfxai
- Added "Show Nested Models" toggle for new Checkpoints page, allowing users to show or hide models in subfolders of the selected folder
- Added ZLUDA option for SD.Next
- Added PixArt & SDXL Hyper options to the Civitai model browser
- Added release date to model update notification card on the Checkpoints page
- Added option in Settings to choose whether to Copy or Move files when dragging and dropping files into the Checkpoint Manager
- Added more launch options for Forge - [#618](https://github.com/LykosAI/StabilityMatrix/issues/618)
#### Inference
- Added Inpainting support for Image To Image projects using the new image mask canvas editor
### Changed
- Maximized state is now stored on exit and restored on launch
- Clicking outside the Select Model Version dialog will now close it
- Changed Package card buttons to better indicate that they are buttons
### Fixed
- Fixed error when deleting Inference browser images in a nested project path with recycle bin mode
- Fixed extra text in positive prompt when loading image parameters in Inference with empty negative prompt value
- Fixed NullReferenceException that sometimes occured when closing Inference tabs with images due to Avalonia.Bitmap.Size accessor issue
- Fixed package installs not showing any progress messages
- Fixed crash when viewing model details for Unknown model types in the Checkpoint Manager
- Fixed [#598](https://github.com/LykosAI/StabilityMatrix/issues/598) - program not exiting after printing help or version text
- Fixed [#630](https://github.com/LykosAI/StabilityMatrix/issues/630) - InvokeAI update hangs forever waiting for input
### Supporters
#### Visionaries
- Many thanks to our Visionary-tier supporters on Patreon, **Scopp Mcdee** and **Waterclouds**! Your generous support helps us continue to improve Stability Matrix!

## v2.11.0-dev.3
### Added
- Added download speed indicator to model downloads in the Downloads tab
- Added XL ControlNets section to HuggingFace model browser
- Added toggle in Settings for model browser auto-search on load
- Added optional Recycle Bin mode when deleting images in the Inference image browser, can be disabled in settings (Currently on Windows only)
### Changed
- Revamped Checkpoints page now shows available model updates and has better drag & drop functionality
- Updated HuggingFace page so the command bar stays fixed at the top
- Revamped file deletion confirmation dialog with affected file paths display and recycle bin / permanent delete options (Checkpoint and Output Browsers) (Currently on Windows only)
### Fixed
- Fixed issue where the "installed" state on HuggingFace model browser was not always correct
### Supporters
#### Visionaries
- Special shoutout to our first two Visionaries on Patreon, **Scopp Mcdee** and **Waterclouds**! Thank you for your generous support!

## v2.11.0-dev.2
### Added
- Added Brazilian Portuguese language option, thanks to jbostroski for the translation!
- Added setting for locale specific or invariant number formatting
- Added support for jpg/jpeg & gif images in the Output Browser
### Changed
- Centered OpenArt browser cards
### Fixed
- Fixed MPS install on macOS for ComfyUI, A1111, SDWebUI Forge, and SDWebUI UX causing torch to be upgraded to dev nightly versions and causing incompatibilities with dependencies.
- Fixed "Auto Scroll to End" not working in some scenarios
- Fixed "Auto Scroll to End" toggle button not scrolling to the end when toggled on
- Fixed/reverted output folder name changes for Automatic1111
- Fixed xformers being uninstalled with every ComfyUI update
- Fixed Inference Lora menu strength resetting to default if out of slider range (0 to 1)
- Fixed missing progress text during package installs

## v2.11.0-dev.1
### Added
- Added search bar to the Python Packages dialog
#### Inference
- Alternate Lora / LyCORIS drop-down model selection, can be toggled via the model settings button. The existing prompt-based Lora / LyCORIS method is still available.
### Fixed
- Fixed crash when failing to parse Python package details

## v2.10.3
### Changed
- Centered OpenArt browser cards
Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

[![Build](https://github.com/LykosAI/StabilityMatrix/actions/workflows/build.yml/badge.svg)](https://github.com/LykosAI/StabilityMatrix/actions/workflows/build.yml)
[![Discord Server](https://img.shields.io/discord/1115555685476868168?logo=discord&logoColor=white&label=Discord%20Server)](https://discord.com/invite/TUrgfECxHz)
[![Release](https://img.shields.io/github/v/release/LykosAI/StabilityMatrix?label=Latest%20Release&link=https%3A%2F%2Fgithub.com%2FLykosAI%2FStabilityMatrix%2Freleases%2Flatest)][release]

[![Latest Stable](https://img.shields.io/github/v/release/LykosAI/StabilityMatrix?label=Latest%20Stable&link=https%3A%2F%2Fgithub.com%2FLykosAI%2FStabilityMatrix%2Freleases%2Flatest)][release]
[![Latest Preview](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fcdn.lykos.ai%2Fupdate-v3.json&query=%24.updates.preview%5B%22win-x64%22%5D.version&prefix=v&label=Latest%20Preview&color=b57400&cacheSeconds=60&link=https%3A%2F%2Flykos.ai%2Fdownloads)](https://lykos.ai/downloads)
[![Latest Dev](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fcdn.lykos.ai%2Fupdate-v3.json&query=%24.updates.development%5B%22win-x64%22%5D.version&prefix=v&label=Latest%20Dev&color=880c21&cacheSeconds=60&link=https%3A%2F%2Flykos.ai%2Fdownloads)](https://lykos.ai/downloads)

[release]: https://github.com/LykosAI/StabilityMatrix/releases/latest
[download-win-x64]: https://github.com/LykosAI/StabilityMatrix/releases/latest/download/StabilityMatrix-win-x64.zip
Expand All @@ -11,7 +14,7 @@
[download-macos-arm64]: https://github.com/LykosAI/StabilityMatrix/releases/latest/download/StabilityMatrix-macos-arm64.dmg

[auto1111]: https://github.com/AUTOMATIC1111/stable-diffusion-webui
[sdwebui-directml]: https://github.com/lshqqytiger/stable-diffusion-webui-directml
[auto1111-directml]: https://github.com/lshqqytiger/stable-diffusion-webui-directml
[webui-ux]: https://github.com/anapnoe/stable-diffusion-webui-ux
[comfy]: https://github.com/comfyanonymous/ComfyUI
[sdnext]: https://github.com/vladmandic/automatic
Expand All @@ -25,6 +28,7 @@
[onetrainer]: https://github.com/Nerogar/OneTrainer
[forge]: https://github.com/lllyasviel/stable-diffusion-webui-forge
[stable-swarm]: https://github.com/Stability-AI/StableSwarmUI
[sdfx]: https://github.com/sdfxai/sdfx

[civitai]: https://civitai.com/
[huggingface]: https://huggingface.co/
Expand All @@ -46,6 +50,7 @@ Multi-Platform Package Manager and Inference UI for Stable Diffusion
- [StableSwarmUI][stable-swarm]
- [VoltaML][voltaml]
- [InvokeAI][invokeai]
- [SDFX][sdfx]
- [Kohya's GUI][kohya-ss]
- [OneTrainer][onetrainer]
- Manage plugins / extensions for supported packages ([Automatic1111][auto1111], [Comfy UI][comfy], [SD Web UI-UX][webui-ux], and [SD.Next][sdnext])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" />
<PackageReference Include="NLog" Version="5.2.8" />
<PackageReference Include="NLog" Version="5.3.2" />
</ItemGroup>

<ItemGroup>
Expand Down
Loading

0 comments on commit f900c1a

Please sign in to comment.