diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d377fc4d..61345ca84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Change Log for SD.Next -## Update for 2026-04-20 +## Update for 2026-04-21 -### Highlights for 2026-04-20 +### Highlights for 2026-04-21 *What's New?* - New models! **Zeta-Chroma**, **ERNIE**, **Nucleus**, **Bria-FIBO**, **Anima-v3**, **SDXS-1B**, **LTX 2.3 v1.1** @@ -17,7 +17,7 @@ For full details, see [ChangeLog](https://github.com/vladmandic/automatic/blob/m [ReadMe](https://github.com/vladmandic/automatic/blob/master/README.md) | [ChangeLog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) | [Docs](https://vladmandic.github.io/sdnext-docs/) | [WiKi](https://github.com/vladmandic/automatic/wiki) | [Discord](https://discord.com/invite/sd-next-federal-batch-inspectors-1101998836328697867) | [Sponsor](https://github.com/sponsors/vladmandic) -### Details for 2026-04-20 +### Details for 2026-04-21 - **Models** - [Zeta-Chroma](https://huggingface.co/lodestones/Zeta-Chroma) pixel-space diffusion transformer image model @@ -104,6 +104,7 @@ For full details, see [ChangeLog](https://github.com/vladmandic/automatic/blob/m - **Obsoleted** - removed *system-info* from *extensions-builtin* - **Internal** + - sync `kanvas` branch with core branch - `history` accepts both latent and pixel entries - wrap `hf-download` methods - additional *typing* and *typechecks*, thanks @awsr diff --git a/installer.py b/installer.py index a7742ccfa..1d559822f 100644 --- a/installer.py +++ b/installer.py @@ -1363,12 +1363,14 @@ def get_version(force=False): subprocess.run('git config log.showsignature false', capture_output=True, shell=True, check=True) except Exception: pass + try: ver = run('git', 'log --pretty=format:"%h %ad" -1 --date=short', check=True)[0].stdout or ' ' commit, updated = ver.split(' ') version['commit'], version['updated'] = commit, updated except Exception as e: log.warning(f'Version: where=commit {e}') + try: origin = run('git', 'remote get-url origin', check=True)[0].stdout branch_name = run('git', 'rev-parse --abbrev-ref HEAD', check=True)[0].stdout @@ -1378,6 +1380,7 @@ def get_version(force=False): log.warning('Version: detached state detected') except Exception as e: log.warning(f'Version: where=branch {e}') + try: if os.path.exists('extensions-builtin/sdnext-modernui'): branch_ui = run('git', 'rev-parse --abbrev-ref HEAD', check=True, cwd='extensions-builtin/sdnext-modernui')[0].stdout @@ -1387,6 +1390,7 @@ def get_version(force=False): except Exception as e: log.warning(f'Version: where=modernui {e}') version['ui'] = 'unknown' + try: if os.environ.get('SD_KANVAS_DISABLE', None) is not None: version['kanvas'] = 'disabled' @@ -1398,6 +1402,7 @@ def get_version(force=False): except Exception as e: log.warning(f'Version: where=kanvas {e}') version['kanvas'] = 'unknown' + ts('version', t_start) return version @@ -1429,6 +1434,33 @@ def check_ui(ver): ts('ui', t_start) +def check_kanvas(ver): + def same(ver): + core = ver['branch'] if ver is not None and 'branch' in ver else 'unknown' + kanvas = ver['kanvas'] if ver is not None and 'kanvas' in ver else 'unknown' + return (core == kanvas) or (core == 'master' and kanvas == 'main') or (core == 'dev' and kanvas == 'dev') or (core == 'HEAD') + + if 'vladmandic/sdnext' not in ver.get('url', ''): + return + t_start = time.time() + if not same(ver): + log.debug(f'Branch mismatch: {ver}') + try: + if 'dev' in ver['branch']: + target = 'dev' + elif 'main' in ver['branch'] or 'master' in ver['branch']: + target = 'main' + else: + target =None + if target: + git('checkout ' + target, folder='extensions-builtin/sdnext-kanvas', ignore=True, optional=True) + ver = get_version(force=True) + log.debug(f'Branch sync: {ver}') + except Exception as e: + log.debug(f'Branch switch: {e}') + ts('kanvas', t_start) + + def check_venv(): def try_relpath(p): try: @@ -1480,6 +1512,7 @@ def check_version(reset=True): # pylint: disable=unused-argument if args.version or args.skip_git: return check_ui(ver) + check_kanvas(ver) commit = git('rev-parse HEAD') global git_commit # pylint: disable=global-statement git_commit = commit[:7]