Skip to content

Choose a tag to compare

@GrantBirki GrantBirki released this 09 May 00:11
3ff7597

v5.0.0

TL;DR

v5 is a major release for json-yaml-validate: the action now runs on node24, the internals have been rewritten in TypeScript, the runtime dependency surface is much smaller, path handling is stricter, and several new validation workflows are supported.

Most users can start by changing workflow references from GrantBirki/json-yaml-validate@v4 to GrantBirki/json-yaml-validate@v5, but please review the v4 to v5 migration guide before updating protected CI jobs.

Highlights

  • Rewrote the action from JavaScript to TypeScript and moved the runtime to node24.
  • Reduced runtime dependencies by replacing several packages with native implementations for action core behavior, PR comments, file discovery, coverage badge generation, and legacy YAML schema validation.
  • Hardened validation path handling so explicit files, schemas, base directories, and schema mappings must resolve to regular files or directories inside the workspace.
  • Allowed multi-document YAML by default, matching common Kubernetes-style YAML usage. Set allow_multiple_documents: "false" to preserve the old default.
  • Added support for single-line, space-separated files input values.
  • Added schema_mappings for validating different file groups against different JSON or YAML schemas in one action step.
  • Added local-only inline schema discovery with use_inline_schema for JSON $schema references and YAML language-server schema comments when yaml_as_json is enabled.
  • Added comment_on_success and update_comment so PR comments can be less noisy while still surfacing validation status.
  • Strengthened tests, acceptance coverage, workflow hardening, package checks, and CI coverage thresholds.

Upgrade Notes

  • Self-hosted runners must support JavaScript actions that run on node24.
  • v5 intentionally rejects validation paths that escape the checked-out workspace or resolve through symlinks outside the workspace.
  • File paths in logs and PR comments now prefer workspace-relative paths.
  • JSON schema file skipping is now exact after realpath normalization, rather than substring-based.
  • update_comment only updates matching validation comments authored by github-actions[bot].

See the full migration guide for examples and compatibility notes.

What's Changed

Full Changelog: v4.0.0...v5.0.0