Skip to content

Releases: simonkowallik/irulescan

Version 3.0 - for the age of AI

02 Jul 22:05
ee78073
Compare
Choose a tag to compare

iRulescan v3.0.0 Release Notes

🎉 Major Features

New MCP Server Integration

  • Added MCP (Model Context Protocol) server support with mcpserver command
  • Seamless integration with VS Code Copilot for AI-assisted iRule scanning
  • HTTP stream transport for real-time code analysis

Enhanced API Server

  • Upgraded from Swagger to OpenAPI v3 specification
  • Improved web interface for interactive iRule scanning
  • Better support for single file and multi-file scanning

🔧 Enhanced Output Format

Structured Finding Reports

Replaced simple string messages with detailed structured output providing better context and precise error location tracking.

Before:

"warning": ["Unquoted expr at `1` in `expr 1 + $one`"]

After:

"warning": [{
  "message": "unsafe expression, use braces `{ .. }`",
  "issue_location": "$one", 
  "context": "expr 1 + $one",
  "line": 2
}]

New fields include:

  • message: Clear description of the issue
  • issue_location: Exact problematic code segment
  • context: Full expression context
  • line: Line number where issue occurs

⚙️ Configuration & Environment Variables

New Environment Variables

  • IRULESCAN_FILE_EXTENSIONS: Customize file extensions to scan (default: .tcl,.irul,.irule)
  • IRULESCAN_LISTEN: Configure server listen address (default: 0.0.0.0:8000)
  • IRULESCAN_LOG: Set logging level (trace, debug, info, warn, error)

🚀 Improved CLI Experience

Enhanced Command Structure

  • Added mcpserver and apiserver commands
  • Support for stdin input with - parameter
  • Better help documentation and usage examples

Container Improvements

  • New specialized container tags: :apiserver and :mcpserver
  • Flexible file extension scanning via environment variables
  • Enhanced CI/CD pipeline integration capabilities

📝 Breaking Changes

⚠️ Important: The output format has changed from simple strings to structured objects with detailed metadata. This may affect existing scripts that parse irulescan output. Please update your integration scripts accordingly.

Migration Guide

If you're parsing the old format, update your scripts to handle the new structured format:

  • Access message field for the main issue description
  • Use line field for line number information
  • Utilize issue_location for precise code targeting
  • Reference context for full expression details

🐳 Container Updates

  • Latest: General purpose scanning with new CLI features
  • API Server: simonkowallik/irulescan:apiserver - OpenAPI v3 web interface
  • MCP Server: simonkowallik/irulescan:mcpserver - VS Code Copilot integration

Version 2.0

29 Dec 12:33
Compare
Choose a tag to compare

Version 2.0 of irulescan brings:

  • better CLI interface
  • native JSON output
  • bugfixes
  • Native reference check of previous scan results

Full Changelog: 1.1.1...2.0.0

version 1.1.1

01 Jul 10:42
080e4ea
Compare
Choose a tag to compare

version 1.1.1 (#4)

  • fix: add expected test outcome for table command

  • refactor: move from debian to ubuntu fixing build dependency issues

  • fix: move Makefile to repo root

  • fix: class command false positives removed

  • refactor: move from debian to ubuntu for apiserver

  • feat: version 1.1.1

  • feat: README updates, docs improved

Feature and Bugfix release

21 Jan 21:45
Compare
Choose a tag to compare
  • preprocess irules to support laxer syntax (compared to tcl)
  • add table command support
  • fixed typo
  • support rand() in expressions - avoid crashes

1.0.0

31 Dec 10:17
Compare
Choose a tag to compare
  • Add support for tcl switch command

First Release

18 Dec 11:42
Compare
Choose a tag to compare
0.9.0

ci tests, remove diff