Skip to content

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 20 Mar 16:21
· 5 commits to main since this release

Added

  • Enhanced review formatting with Coderabbit-style collapsible severity sections
    • formatReview() groups findings by severity (Critical, Major, Minor, Info)
    • Collapsible <details> sections for cleaner PR comments
    • Actionable comment count in review header
  • Outside-diff comment separation and grouping
    • separateOutsideDiffComments() identifies comments outside diff range
    • Grouped by file in collapsible section
  • Smart deduplication (cross-chunk)
    • hashString() for content-based deduplication
    • Prevents duplicate suggestions across PR review chunks
    • File:line:body deduplication logic
  • Comment threading support
    • getExistingCommentThreads() fetches existing review threads
    • findSimilarThread() with configurable similarity threshold (0.6)
    • calculateSimilarity() for thread matching
  • Custom security patterns system
    • loadCustomPatterns() reads .zai-review.yaml config file
    • Simple YAML parser for security_patterns section
    • categorizeSeverity() maps patterns to severity levels
    • Custom patterns merged with built-in checks
    • Example config file: .zai-review.yaml.example
  • Configurable thread similarity threshold
    • New input: ZAI_THREAD_SIMILARITY_THRESHOLD (default: 0.6)
    • Allows tuning of thread matching sensitivity
  • Outside-diff separation
    • separateOutsideDiffComments() identifies outside-diff markers
    • formatOutsideDiffSection() creates grouped collapsible sections
    • Groups comments by file for organization
    • Preserves full comment content
  • Resolved comment filtering
    • filterResolvedSuggestions() prevents reposting resolved issues
    • Checks comment.state === 'RESOLVED'
    • Builds file:line key set of resolved IDs
    • Graceful fallback if API call fails
  • Improved system prompt with format instructions
    • Instructs AI to use severity markers
    • Requests (outside diff) marking for appropriate comments
    • Clear structured output guidance
  • Comprehensive integration test suite
    • Tests for custom patterns loading and YAML parsing
    • Threading integration tests with similarity matching
    • Suggestion deduplication across chunks
    • Resolved comment filtering
    • Security check integration with custom patterns

Fixed

  • Wired up dead code: formatReview() and separateOutsideDiffComments() are now called in the main flow
  • Resolved comment filtering now properly integrated before posting suggestions
  • CHANGELOG v0.0.1 section: removed duplicate entries

Changed

  • Security patterns refactored into configurable system
    • Built-in patterns extracted to getBuiltInPatterns() method
    • checkSecurity() now accepts optional custom patterns array
    • Invalid regex patterns in custom config are silently skipped