New Features
* Support for multiple simultaneous ControlNet models with timestep offsetting via ``--control-nets``, and new supporting syntax for specifying control images with ``--image-seeds`` that is backwards compatible with 1.0.0.
* Batch enumeration capability over all advanced SDXL parameters in SDXL mode. Such as **second-prompt**, **target-size**, **original-size**, **crop-coords**, **aesthetic-score**, Etc. for both the main model and the refiner independently, see new ``--sdxl-*`` and ``--sdxl-refiner-*`` args in ``--help`` output and README.
* Batch enumeration of **guidance-rescale** on supported pipelines, see: ``--guidance-rescales``.
* Extensible image preprocessor system and chainable image preprocessing, new associated options ``--plugin-modules``, ``--image-preprocessor-help``, ``--seed-image-preprocessors``, ``--mask-image-preprocessors``, ``--control-image-preprocessors``.
* Canny edge detect preprocessor (name: **canny**) with configurability, includes auto thresholding algorithms: **otsu**, **triangle**, and **median** via OpenCV.
* OpenPose human character rig generation image preprocessor (name: **openpose**) with configurabilty via controlnet-aux.
* PIL ImageOps preprocessors (flip, mirror, grayscale, invert, posterize, solarize).
* New ``--model-types`` values: ("torch-pix2pix", "torch-sdxl-pix2pix"), Pix2Pix support for torch and torch-sdxl and new supporting option: ``--image-guidance-scales``.
* Improved memory efficiency of media input during ``--image-seeds`` use. All video data is now read sequentially from disk without the whole of it ever existing in memory all at once.
* Configurable temporary on disk caching for ``--image-seeds`` files downloaded from a URL by degenerate (at: ``~/.cache/dgenerate/web`` by default). Repeat usage of a URL during bach process results in a cache read.
* VAE tiling and slicing capability through ``--vae-tiling`` and ``--vae-slicing``, helps with GPU memory use during the generation of huge images.
* Improved in memory model caching behavior during batch input, fine-grained caching of main / refiner models, VAE's, and ControlNet models.
* GPU Memory optimizations for batch process, force not in-use models back to CPU.
* Somewhat extensive debugging output via ``-v/--verbose`` option, includes information about diffusion pipeline wrapper and underlying pipeline call parameters, caching behaviors, image preprocessor operations and a few other things.
* Argument injection into batch process configurations IE: ``dgenerate -v --output-configs < my-config.txt`` is now possible and will add those arguments to the end of every invocation in the config.
* More extensive upfront arguments validation.
* Code maintainability overhaul.