Skip to content

fix(pre-commit): make comment-slop runnable on Windows - #3208

Merged
superm1 merged 1 commit into
lemonade-sdk:mainfrom
blackdeathdrow:fix/comment-slop-windows
Aug 18, 2026
Merged

fix(pre-commit): make comment-slop runnable on Windows#3208
superm1 merged 1 commit into
lemonade-sdk:mainfrom
blackdeathdrow:fix/comment-slop-windows

Conversation

@blackdeathdrow

Copy link
Copy Markdown
Contributor

comment-slop uses language: script, which on Windows can't launch a .py via CreateProcess (no shebang, no assoc) → hook exits 9009. Switch to language: python so pre-commit provisions an interpreter and runs python tools/check_comment_slop.py.

language: script runs the .py entry directly via CreateProcess, which
ignores the shebang and cannot resolve a .py file on Windows (exit 9009,
ERROR_NOASSOC). The hook has been silently broken for every Windows
contributor since it landed in lemonade-sdk#2689.

Switch to language: python so pre-commit provisions an interpreter in a
hook venv on every platform and invokes the entry as
`python tools/check_comment_slop.py`. The script is stdlib-only, so no
additional_dependencies are needed. Verified: hook now runs and Passed
on Windows where it previously exited 9009; behaviour on Linux/macOS is
unchanged (pre-commit reuses the venv after the first install).
@github-actions github-actions Bot added area::ci CI / GitHub Actions / self-hosted runner infrastructure bug Something isn't working labels Aug 18, 2026
Comment thread .pre-commit-config.yaml
@superm1
superm1 requested a review from ianbmacdonald August 18, 2026 15:01
@superm1
superm1 added this pull request to the merge queue Aug 18, 2026
Merged via the queue into lemonade-sdk:main with commit 9006e02 Aug 18, 2026
72 checks passed
@blackdeathdrow
blackdeathdrow deleted the fix/comment-slop-windows branch August 18, 2026 17:41
github-actions Bot added a commit to ShobuPrime/home-assistant-apps that referenced this pull request Aug 21, 2026
## Lemonade LLM Server Update

This automated PR updates Lemonade from `11.5.1` to `11.7.0`.

### Changelog

## Headline

- A new `POST /v1/models/register` endpoint registers or updates `user.*` model definitions without downloading any files.
- New `GET/POST/DELETE /v1/models/{id}/options` endpoints save, inspect, and reset per-model recipe options without loading the model, with per-load transient overrides.
- New `GET /v1/stats` and Prometheus `/metrics` endpoints report prefix-cache effectiveness and router route-switch counters.
- The built-in catalog adds the Qwen3.8-27B and NVIDIA Nemotron 3.5 Lightning 30B-A3B GGUF models and the Z-Image-Turbo image model.
- Lemonade can now be installed on Windows with `winget` and on macOS with a Homebrew cask.

## Breaking Changes

- `POST /pull` now returns 400 and registers nothing when a model definition names an unservable or contradictory deployment mode; such labels are no longer silently normalized.
- Stored `user_models.json` entries that violate the new deployment-mode label rule are now skipped at startup with an error instead of being repaired.
- Removed the deprecated `Lite Collection` and `Ultra Collection` model registry entries.
- `/v1/audio/transcriptions` now returns raw text bodies for `text`/`srt`/`vtt` instead of a JSON `{text: ...}` wrapper, and returns 400 for unsupported `response_format` values.
- The TheNoise image backend no longer accepts per-request `upscale` and `lora_dir` recipe options; `lora_dir` is now set server-wide in `config.json` and `upscale` is only honored as a passed-through request parameter.
- `lemonade launch opencode` now emits a `limit` object (`limit.context`/`limit.output`) instead of a top-level `contextWindow` field.
- The `no_broadcast` config key is replaced by an inverted `broadcast` boolean, auto-migrated on load.
- An existing but unreadable `extra_models_dir` now returns 400 on `/internal/set` instead of being silently applied.

## Lemonade Server

| Operating System | Downloads |
|------------------|-----------|
| **Windows** | [lemonade.msi](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade.msi) |
| **Ubuntu 24.04+** | [Launchpad PPA](https://launchpad.net/~lemonade-team/+archive/ubuntu/stable) |
| **Debian 13 (x86_64)** | [lemonade-server_11.7.0-debian13_amd64.deb](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-server_11.7.0-debian13_amd64.deb) |
| **Debian 13 (ARM64)** | [lemonade-server_11.7.0-debian13_arm64.deb](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-server_11.7.0-debian13_arm64.deb) |
| **Fedora 43 (x86_64)** | [lemonade-server-11.7.0-fc43.x86_64.rpm](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-server-11.7.0-fc43.x86_64.rpm) |
| **Fedora 43 (ARM64)** | [lemonade-server-11.7.0-fc43.aarch64.rpm](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-server-11.7.0-fc43.aarch64.rpm) |
| **Fedora 44 (x86_64)** | [lemonade-server-11.7.0-fc44.x86_64.rpm](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-server-11.7.0-fc44.x86_64.rpm) |
| **Fedora 44 (ARM64)** | [lemonade-server-11.7.0-fc44.aarch64.rpm](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-server-11.7.0-fc44.aarch64.rpm) |
| **macOS** | [Lemonade-11.7.0-Darwin.pkg](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/Lemonade-11.7.0-Darwin.pkg) |

> **Other platforms?** See our [Installation Options](https://lemonade-server.ai/docs/guide/install/) for [Docker](https://lemonade-server.ai/docs/guide/install/docker/), [Snap](https://lemonade-server.ai/docs/guide/install/ubuntu/#__tabbed_2_3), [Arch](https://lemonade-server.ai/docs/guide/install/arch/), [Debian](https://lemonade-server.ai/docs/guide/install/), and more.

## Embeddable Lemonade

Portable binaries for bundling into your own installer. Run `lemond ./` as a subprocess.

| Platform | Download |
|----------|----------|
| **Ubuntu x64** | [lemonade-embeddable-11.7.0-ubuntu-x64.tar.gz](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-embeddable-11.7.0-ubuntu-x64.tar.gz) |
| **Ubuntu arm64** | [lemonade-embeddable-11.7.0-ubuntu-arm64.tar.gz](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-embeddable-11.7.0-ubuntu-arm64.tar.gz) |
| **Windows x64** | [lemonade-embeddable-11.7.0-windows-x64.zip](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-embeddable-11.7.0-windows-x64.zip) |
| **macOS arm64** | [lemonade-embeddable-11.7.0-macos-arm64.tar.gz](https://github.com/lemonade-sdk/lemonade/releases/download/v11.7.0/lemonade-embeddable-11.7.0-macos-arm64.tar.gz) |

---

## What's Changed

Thanks `SlawomirNowaczyk`, `abn`, `anditherobot`, `bitgamma`, `blackdeathdrow`, `bong-water-water-bong`, `fl0rianr`, `ianbmacdonald`, `iswaryaalex`, `jeremyfowers`, `kenvandine`, `mzyy94`, `osimarr`, `popey`, `ramkrishna2910`, `superm1`, `yelliver`, `zaneni6` for your awesome contributions to this release!

<details>
<summary>Click to expand changelog</summary>

* Bump TheNoise to version v0.1.2 by `bitgamma` in lemonade-sdk/lemonade#3079
* docs(backends): drop the model catalog tables from the backend reference by `jeremyfowers` in lemonade-sdk/lemonade#3103
* fix(alias): report the real reason for alias validation failures by `ramkrishna2910` in lemonade-sdk/lemonade#3111
* feat(server): add model registration endpoint by `fl0rianr` in lemonade-sdk/lemonade#3118
* Debian packaging improvements by `superm1` in lemonade-sdk/lemonade#3039
* docs: add winget and Homebrew install to homepage quickstart by `yelliver` in lemonade-sdk/lemonade#2970
* Trigger snap release candidate build from release branches by `kenvandine` in lemonade-sdk/lemonade#2908
* fix(server): compare artifacts, not commit SHAs, when checking for model updates by `blackdeathdrow` in lemonade-sdk/lemonade#3073
* fix(server): normalize thinking controls for llama.cpp by `fl0rianr` in lemonade-sdk/lemonade#3132
* fix: stop request during prefill now possible by `fl0rianr` in lemonade-sdk/lemonade#3133
* ci: stop building unused targets in the validate workflows by `jeremyfowers` in lemonade-sdk/lemonade#3052
* fix(server): harden extra models directory handling by `fl0rianr` in lemonade-sdk/lemonade#3105
* Fix #1833: Improve transcription response format compatibility by `anditherobot` in lemonade-sdk/lemonade#2088
* ci: stop pinning lite validation legs to the 128gb runner by `jeremyfowers` in lemonade-sdk/lemonade#3139
* feat(models): add an explicit `chat` label by `jeremyfowers` in lemonade-sdk/lemonade#3099
* feat(telemetry): capture prefix-cache effectiveness (cache_n, cached_tokens) and route-switch counts by `ramkrishna2910` in lemonade-sdk/lemonade#2968
* Update FLM version by `zaneni6` in lemonade-sdk/lemonade#3144
* Backend Battle Nightly Regression by `iswaryaalex` in lemonade-sdk/lemonade#3069
* Remove emoji from FAQ title by `jeremyfowers` in lemonade-sdk/lemonade#3154
* Manage per-model recipe options without loading by `jeremyfowers` in lemonade-sdk/lemonade#3110
* Enable % used context on opencode side panel by `osimarr` in lemonade-sdk/lemonade#1725
* feat(server,cli): add discovery and broadcast controls with config decoupling by `abn` in lemonade-sdk/lemonade#3135
* fix(packaging): add AppStream MetaInfo files for desktop entries by `superm1` in lemonade-sdk/lemonade#3123
* fix(flm): correctly report downloaded model size by `mzyy94` in lemonade-sdk/lemonade#3166
* Minor refactor of new gate code  by `SlawomirNowaczyk` in lemonade-sdk/lemonade#2971
* update TheNoise v0.2.1 by `bitgamma` in lemonade-sdk/lemonade#3171
* fix(flm): stop re-pulling already-downloaded models on every load by `mzyy94` in lemonade-sdk/lemonade#3167
* feat: flag comment slop in a pre-commit rule, and run pre-commit in CI by `ianbmacdonald` in lemonade-sdk/lemonade#2689
* add lemonade version to benchmark results by `bitgamma` in lemonade-sdk/lemonade#3173
* feat(server): support transient null overrides on load by `fl0rianr` in lemonade-sdk/lemonade#3172
* fix(macos): reduce log directory permissions to prevent privilege esc… by `superm1` in lemonade-sdk/lemonade#2625
* docs: add pull request template by `fl0rianr` in lemonade-sdk/lemonade#2551
* fix(npu): pre-reject NPU loads when auto-tune can only reserve fallback ctx (#1151) by `bong-water-water-bong` in lemonade-sdk/lemonade#3164
* models: add Qwen3.8 and Nemotron 3.5 GGUF by `yelliver` in lemonade-sdk/lemonade#3177
* Fix pre-commit JSON validation issues by `superm1` in lemonade-sdk/lemonade#3179
* docs: fix multi-file checkpoint rendering by `yelliver` in lemonade-sdk/lemonade#3174
* Remove some MTP default flags by `bitgamma` in lemonade-sdk/lemonade#3187
* ci: wire server eviction tests into CI by `fl0rianr` in lemonade-sdk/lemonade#3015
* ci: run watchdog lifecycle tests in backend CI by `fl0rianr` in lemonade-sdk/lemonade#3021
* test: replace Python system info replicas with C++ coverage by `fl0rianr` in lemonade-sdk/lemonade#3020
* fix(server): let load args override saved args by `fl0rianr` in lemonade-sdk/lemonade#3204
* refactor(server): drop load_command from the options endpoint by `jeremyfowers` in lemonade-sdk/lemonade#3199
* fix(test): new watchdog test concurrency issue by `fl0rianr` in lemonade-sdk/lemonade#3201
* fix(pre-commit): make comment-slop runnable on Windows by `blackdeathdrow` in lemonade-sdk/lemonade#3208
* Update to ROCm 7.14 by `superm1` in lemonade-sdk/lemonade#2768
* Fix stale gfx90X-dcgpu TheRock URL mapping for gfx908/gfx90a by `kenvandine` in lemonade-sdk/lemonade#3196
* test: add concurrent chat completion coverage by `fl0rianr` in lemonade-sdk/lemonade#2060
* Fail startup when one resolved address cannot bind by `popey` in lemonade-sdk/lemonade#3197
* fix(ci): resolve test flakes across C++ store, python test harness, and workflows by `abn` in lemonade-sdk/lemonade#2805

</details>

## New Contributors
* `yelliver` made their first contribution in lemonade-sdk/lemonade#2970
* `zaneni6` made their first contribution in lemonade-sdk/lemonade#3144
* `mzyy94` made their first contribution in lemonade-sdk/lemonade#3166

**Full Changelog**: lemonade-sdk/lemonade@v11.6.0...v11.7.0

---

> Windows installers are signed. Free code signing provided by [SignPath.io](https://signpath.io), certificate by [SignPath Foundation](https://signpath.org). See our [Code Signing Policy](https://github.com/lemonade-sdk/lemonade#code-signing-policy).

### Changes

- Updated `config.yaml` version
- Updated `build.yaml` LEMONADE_VERSION
- Updated `Dockerfile` LEMONADE_VERSION
- Updated documentation files
- Updated CHANGELOG.md

### Packaging check

The update script verified this release ships both
`lemonade-embeddable-<version>-ubuntu-arm64.tar.gz` and
`...-x64.tar.gz`, which are the archives this app installs.

The image bundles a glibc closure computed with `ldd` at build time.
If this release adds a new shared-library dependency, the smoke test
will surface it as `error while loading shared libraries`.

### Release Notes

Full release notes: https://github.com/lemonade-sdk/lemonade/releases/tag/v11.7.0

---

This PR was automatically generated by the Update Lemonade workflow

Auto-merged by GitHub Actions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area::ci CI / GitHub Actions / self-hosted runner infrastructure bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants