Changelog

Unreleased

Rules

Enhancements

  • Use JSONPath-like syntax for specifying locations in output reports.

API Changes

  • The Diagnosis.fix field now accepts dict types in addition to str. Use dict when suggesting fixes that involve multiple fields or complex object replacements, while str remain suitable for simple value corrections.

  • Refactor tugboat.constraints to provide more flexible validation functions:

    • Diagnostic messages have been improved for clarity.

    • The loc parameter is now optional and defaults automatically.

    • mutually_exclusive() now supports exact-one validation.

    • require_all() accepts an accept_empty parameter.

    • require_non_empty and require_exactly_one have been removed in favor of the expanded functions above.

  • Remove tugboat.utils.pydantic module

Fixes

  • Fix the output crash when the diagnosis source location is at the end of a file.

0.6.2

Enhancements

  • Redesign the validator for Artifact and Parameter to improve clarity and maintainability.

Fixes

  • Prevent crashes when resolving source locations where the recorded path is empty.

0.6.1

Rules

  • Enforce path on input artifacts for container/script templates and flag it on incompatible templates.

  • Restrict output parameter valueFrom fields by template type.

  • Require output artifacts to source data correctly, enforcing path usage for container/script templates and forbidding it on others.

Enhancements

0.6.0

New

  • Support Model Context Protocol (MCP) for better integration with IDEs and coding agents.

  • Parse Helm’s leading # Source: comments to provide more context in reports.

Enhancements

  • Redesign the outputs, including:

    • Improve the looks of the console output.

    • Tweak the attribute name in JUnit XML reports to be more compatible with various tools.

    • Add GitHub Actions output format for better integration with GitHub workflows.

  • Support FORCE_COLOR and NO_COLOR environment variables to control color output.

Prior to 0.6

Everything before 0.6 has turned to cosmic dust - lost to time and memory.