Skip to content

Release v3.120.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 20:46
4446bc9

Added

  • cratis chronicle diagnose --require-observer <ID> makes a diagnosis fail when a named observer is missing or not running. Repeat it for several observers. It requires explicit --event-store and --namespace, and any unsatisfied requirement exits 3. (#536)

Changed

  • cratis init now writes the Copilot diagnose prompt to .github/prompts, the folder VS Code discovers by default. Existing prompts under .github/copilot/prompts are kept unchanged, and a prompt folder linked into the managed AI corpus is never written to. (#539)
  • Update workflow actions to their Node24 releases. (part of #540)

Security

  • Templates can no longer read, write, change permissions on or run commands outside the folder they render into. A rendered file, solution, project reference, chmod target, JSON property file or script working directory is refused when its path is absolute, uses .. to leave the output folder, or reaches outside it through a symbolic link. Rendering stops with an invalid-manifest error, and a post-action skips that path or fails rather than touching it. (#530)
  • Harden template package acquisition and installation. Every package entry is checked before anything is written, linked store paths are refused, an interrupted install recovers on the next acquisition, and a committed install stays in place when cleaning up the previous one fails. Local feeds and cached packages prefer stable versions, and ordinary local package file names are accepted. (#543)
  • cratis ai install, update and uninstall validate the complete install plan before applying changes. Supported harness layouts, including those written by earlier CLI versions, and dry-run behavior are preserved. (#544)