Releases: LingyeSoul/MonadForge
Releases · LingyeSoul/MonadForge
Release list
beta-260625: Remove Euler Ancestral from sampling comment
Update the doc comment in do_sample to remove the mention of "Euler Ancestral" for rectified flow. The comment now lists only Euler discrete and ER-SDE, aligning the comment with the implemented sampling methods.
beta-260623: Add EasyControl/Colorize docs and i18n
Introduce EasyControl (and its Colorize variant) documentation and UI help across multiple locales. Adds guidebook entries (EN/CN/JA/KO), new webui explanation pages (easycontrol + colorize) and updated guide field metadata (_fields.json) exposing EasyControl settings (use_easycontrol, easycontrol_drop_p, easycontrol_cond_noise_max, cond_res_scale). Wire up frontend i18n by adding ja/ko language files and updating App.vue, useI18n and i18n index; also update loader.py and related build info. Also document a test-easycontrol make target for image-conditioned inference.
beta-260617: Support per-job progress JSONL & improve metrics
Ensure command-style training jobs use a daemon-owned per-job progress.jsonl instead of the shared output/logs fallback, and wire that path end-to-end. Added detection in JobManager to inject --progress_jsonl for tasks.py training commands and tuned TQDM env vars. Prevent run() from unconditionally redirecting grandchild stdout to DEVNULL when our stdout is already a regular file (avoids dropping tqdm redraws under the detached daemon). Overhauled TaskService: derive per-job JSONL paths, accept explicit --progress_jsonl, map accelerator-style JSONL keys to the dashboard fields, emit metrics per JSONL step (removed the problematic debounce), and compute timing/speed/ETA from JSONL timestamps. Updated Task dataclass to track progress timing and added helpers for formatting. Included regression tests covering command progress wiring and stdout/devnull behavior, and updated existing metrics tests to reflect the new JSONL handling and timing logic.
beta-260526: Add timm-based WD tagger and trigger_word UI
Replace ONNX Runtime tagger with a timm/PyTorch backend and add a new trigger_word setting across API, frontend and service. Key changes: - WD tagger: switch docs/comments and dependencies from onnxruntime-gpu to timm (pyproject + uv.lock), add wandb dependency and constrain httptools.<newline> - API & service: add trigger_word parameter to TagRequest, settings, and save/load flows (webui/api/tagger.py, webui/services/wd_tagger_service.py). Update config schema to expose test_prompt/test_negative_prompt. - Frontend: expose trigger_word in i18n (en/cn), DatasetBrowser UI and initial state, and include trigger_word in tag requests. - Tests: update WD tagger unit tests to remove ONNX dependence, use a torchvision/timm-compatible preprocessing stub, and assert trigger_word is saved/loaded. - Windows scripts: add portable Node.js download/use logic to setup-win.bat and ensure build-webui-win.bat uses portable node if system node missing; add tools/ and wandb to .gitignore. - Accelerator & logging: robustly handle WANDB_ENABLED when no API key, warn instead of crashing, and adjust tensorboard/wandb logic when logging_dir is unset. - Misc: remove temporary static_token_count override from sample_images (training.py), drop static_token_count from config_service ignored groups, and update lockfile (uv.lock) to reflect dependency changes and other package additions (timm, wandb, opentelemetry, platformdirs, sentry-sdk). These changes remove reliance on ONNX/CUDA runtime (avoiding CUDA 12 cuBLAS issues), add a simple trigger-word feature for tagging, improve Windows frontend build robustness, and make wandb usage safer when not configured.