github cooklang/cookcli v0.36.0

6 hours ago

0.36.0 (2026-09-18)

Features

  • cli: add cook completions <shell> for shell completion scripts (56c5376)
  • cli: add cook completions <shell> for shell completion scripts (a1fc3f0), closes #467
  • doctor: show which recipes use each reported ingredient (dca25c1)
  • doctor: show which recipes use each reported ingredient (35471a3), closes #485
  • packaging: add Fedora RPM packaging (97447ab)
  • server: add --cors-origin and --cors-allow-credentials (979addf), closes #465
  • server: build the CORS layer from the validated config (26f7bf0)
  • server: make CORS configuration configurable (282eaaa)
  • server: refuse cross-origin writes under the wildcard default (d314e78)
  • server: validate CORS origin and credential flags (85d3f95)
  • ui: add token layer and component vocabulary (2901588)
  • ui: token foundation and Cooklang palette, existing layout kept (a83a5a8)

Bug Fixes

  • build: emit search index as a script so file:// search works (0234e89)
  • build: emit search index as a script so file:// search works (792338f), closes #471
  • build: harden search index load and scope the file:// claim (091a916)
  • build: ship only compiled stylesheets and scripts in the static site (b28ba40), closes #493
  • build: wire resolved --lang to <html lang> attribute (1c13d44), closes #470
  • doctor: compare reported recipe paths without assuming a separator (1abbab4)
  • editor: do not show Saved before any save (cb93179), closes #491
  • editor: syntax colours from tokens instead of hex (cb4f830), closes #490
  • format: stop hard wrapping markdown output (831eec8)
  • format: stop hard wrapping markdown output (b86976c), closes #497
  • i18n: translate icon-button labels (d874c04), closes #488
  • packaging: attach the built RPMs to the release (d70964f)
  • packaging: give the build root the toolchain the spec asks for (c52da27)
  • packaging: keep the packaged binary stripped (253bf34)
  • packaging: make the RPM workflow build again (641f530)
  • search: decode recipe files lossily instead of failing on invalid UTF-8 (ae3b33e)
  • search: decode recipe files lossily instead of failing on invalid UTF-8 (3c8072a)
  • search: pick up cooklang-find 0.7.1 for invalid UTF-8 in front matter (2f0de89), closes #498
  • server: accept bracketed IPv6 CORS origins (8172463)
  • server: read the write guard's host from the Host header only (abe2976)
  • server: reject CORS origins that could never match (0e76be4)
  • server: reject CORS origins with an empty host (b32ac93)
  • server: report tags as an array whatever the frontmatter spelled (cab61d8)
  • server: report tags as an array whatever the frontmatter spelled (fc2c8a1)
  • server: stop deriving the new-recipe host from a forgeable header (ea9138b)
  • server: take the API docs host from Host, not X-Forwarded-Host (76826a8)
  • server: take the API docs host from Host, not X-Forwarded-Host (57b0e3d)
  • shopping-list: cap reference depth, and cover the yield branch (c73c1da)
  • shopping-list: follow recipe references all the way down (6034ee1)
  • shopping-list: follow recipe references all the way down (a69b461), closes #509
  • ui: build the scale URL safely and guard bad scale values (108359b)
  • ui: keep icon-only actions below lg, tidy print rules and docs (c5aa9c2)
  • ui: keep overflow menu highlight and brand mark legible (efb561d)
  • ui: pantry stock colour, compact inline buttons, smaller row icons (3ca61d1)
  • ui: recipes index review fixes (af83ef6)
  • ui: safe scale navigation on menus, aria-pressed on preference toggles (944972c)
  • ui: show the new-recipe error border, ring its input, compact API chips (1d310a4)
  • ui: tighten token foundation after review (b1b64df)
  • ui: white text on filled buttons via a darker accent fill (16293bb)
  • web: align the pantry page with the header width (f0f7c24)
  • web: close the UI follow-ups from #456 (9b19857)
  • web: escape recipe names in server-mode search results (1b578c9), closes #487
  • web: keep the served order on the default sort (8f4f144), closes #486
  • web: no skipped heading levels on API docs and sectioned recipes (227d09e), closes #492
  • web: show the shopping list empty state after clearing (89c0696), closes #489
  • web: sort the recipes index naturally on the server (feaedb4), closes #486

Don't miss a new cookcli release

NewReleases is sending notifications on new releases.