Skip to content

Releases: cqfn/refrax

v0.3.5

04 Dec 15:05
24a40cf

Choose a tag to compare

Release Notes

  • Feature Enhancements:
    • Introduced support for a custom AI provider, allowing users to specify a URL for integration. This feature includes validation to ensure the provided URL meets the required format. (Issues #136, #137)

Changelog

  • 24a40cf feat(#136): Add support for custom AI provider with URL validation (#137)

v0.3.4

23 Oct 12:28
5be27cb

Choose a tag to compare

Release Notes

This release introduces several enhancements and new features aimed at improving the functionality and performance of the software. Key updates include:

Features:

  • Added an attempts flag for configuring AI refactoring attempts, allowing for more flexible AI integration.
  • Introduced support for the Ollama AI provider, including a model parameter to enhance AI capabilities.
  • Enhanced the review process with improved defect handling and logging, facilitating better tracking and resolution of issues.

Improvements:

  • Updated logging mechanisms to retain JavaDoc comments, ensuring better documentation and traceability.
  • Changed the log level for class analysis messages to debug, optimizing log output for development and troubleshooting purposes.

Changelog

  • 5be27cb feat(#132): Add attempts flag for AI refactoring attempts configuration (#134)
  • ccbdb53 feat(#130): Add support for Ollama AI provider and model parameter (#131)
  • 861bafe feat(#121): Enhance logging and update prompts to retain JavaDoc comments (#129)
  • 6ba8650 refactor(#121): Change log level to debug for class analysis messages (#128)
  • ba53483 feat(#121): Enhance review process with improved defect handling and logging (#127)

v0.3.3

23 Sep 10:33
943282f

Choose a tag to compare

Release Notes

New Features:

  • Introduced an option to disable colored output in command line flags, enhancing user customization (#125, #126).
  • Implemented functionality to detect version and timestamp for the --version command directly from Visual Studio Code (#119, #124).

Changelog

  • 943282f feat(#125): Add option to disable colored output in command line flags (#126)
  • 0840964 feat(#119): detect version and time for '--version' command from VSC (#124)

v0.3.2

19 Sep 11:19
47ffb30

Choose a tag to compare

Release Notes

New Features:

  • Added support for the refrax --version command, allowing users to easily display version information.

Bug Fixes:

  • Updated environment variable names to use API_KEY instead of TOKEN, ensuring consistency and clarity in configuration.

Changelog

  • 47ffb30 feat(#119): Add support for refrax --version command to display version info (#123)
  • ab3fcd9 fix(#120): Update environment variable names to use API_KEY instead of TOKEN (#122)

v0.3.2

19 Sep 11:19
47ffb30

Choose a tag to compare

Release Notes

New Features:

  • Added support for the refrax --version command, allowing users to easily display version information.

Bug Fixes:

  • Updated environment variable names to use API_KEY instead of TOKEN, ensuring consistency and clarity in configuration.

Changelog

  • 47ffb30 feat(#119): Add support for refrax --version command to display version info (#123)
  • ab3fcd9 fix(#120): Update environment variable names to use API_KEY instead of TOKEN (#122)

v0.3.1

18 Sep 13:49
9c234e2

Choose a tag to compare

Release Notes

  • Bug Fixes:

    • Resolved an issue with token retrieval errors in the RefraxClient refactor method, enhancing error handling and stability (#115).
  • Code Maintenance:

    • Removed package comments from multiple files to improve code clarity and maintainability (#113).
  • User Experience:

    • Polished various messages throughout the application for improved clarity and professionalism (#114).

Changelog

v0.3.0

12 Sep 10:38
8c84b26

Choose a tag to compare

Release Notes

  • New Features:
    • Introduced a Reviewer Agent, providing automated review capabilities for implemented changes. This makes refactoring safer and more robust.
    • Added a command-line interface (CLI) option, enabling users to configure commands for the Reviewer Agent, thereby improving flexibility and usability.
  • Documentation Enhancements:
    • Added a new section outlining the Reviewer Agent and its configuration options to enhance user understanding and facilitate setup.

Changelog

  • 8c84b26 docs(#82): Add section on Reviewer Agent and its configuration options (#112)
  • a16dc6e feat(#110): Add CLI option for configurable reviewer agent commands (#111)

v0.2.2

26 Aug 12:51
22250de

Choose a tag to compare

Release Notes

We are pleased to announce the latest version of our software, which includes several enhancements and refinements aimed at improving user experience and functionality.

Features:

  • Enhanced refactoring logs and added error handling in the Critic agent to improve reliability and debugging (#82).
  • Implemented a reviewer component for validating refactoring integrity, ensuring code quality during the refactoring process (#82).
  • Introduced a reviewer agent that provides AI-based code suggestions, facilitating better coding practices and efficiency (#82).
  • Refactored agent inputs to utilize a Job structure for more effective message passing, streamlining communication between components (#82).
  • Updated the system to use class paths instead of names for uniqueness, enhancing the overall structure and organization of the codebase (#96).

Improvements:

  • Moved prompts to an internal/prompts directory and changed their extension to .md.templ for better organization and clarity.

Polishing:

  • General polish and refinement of the user interface and experience to enhance usability and performance.

Changelog

  • 22250de refactor(#108): Move prompts to internal/prompts directory with .md.templ extension (#109)
  • 52d4db9 polish
  • 5d87017 polish
  • 59cacb8 feat(#82): Enhance refactoring logs and add error handling in Critic agent (#107)
  • 06010f7 feat(#82): Implement reviewer component for validating refactoring integrity (#106)
  • 37e30b2 feat(#82): refactor agent imputs - use Job structure for message passing (#105)
  • 88bb699 feat(#82): Implement reviewer agent for AI-based code suggestions (#104)
  • 9ccffbb feat(#96): Use class paths instead of names for uniqueness (#98)

v0.2.1

05 Aug 13:28
c524a71

Choose a tag to compare

Release Notes

New Features

  • Added per-agent statistics collection and reporting (#90, #97)
  • Introduced colored logging for agents to improve readability (#84, #86)
  • Added graceful server termination with Shutdown method (#77, #78) and context support (#75, #76)
  • Added --max-size flag to limit refactoring changes (default: 200 lines) (#61, #74)
  • Refined prompts and implemented incremental refactoring strategy (#81, #85, #91)

Improvements

  • Decoupled domain logic from A2A protocol implementation (#83, #89)
  • Moved domain logic to internal/domain package and refactored client code (#83, #88)
  • Removed unused trpc A2A server implementation (#79, #80)

Bug Fixes

  • Fixed Diff method and added test cases for edge scenarios (#93, #95)

Statistics

Recent changes allowed us to count A2A interaction statistics using a simple refactoring example. Here is the CSV file:

stats.csv

The data was collected for the xnav project, which contains approximately 44 Java classes. -ai=deepseek

Changelog

  • c524a71 feat(#90): Add per-agent statistics collection and reporting (#97)
  • ea46c11 fix(#93): repair Diff method and add test cases for edge scenarios (#95)
  • c7193f9 feat(#81): refine prompts and implement incremental refactoring strategy (#91)
  • 0f4f4ff refactor(#83): Decouple domain logic from a2a protocol implementation (#89)
  • 7b5fc05 refactor(#83): Move domain logic to internal/domain package and refactor client code (#88)
  • 6cd189f feat(#83): Implement A2A refactoring agent with critic and fixer integration (#87)
  • 27f7da7 feat(#84): Add colored logging for agents to improve readability (#86)
  • 1e135fa feat(#81): refine prompts and implement incremental refactoring strategy (#85)
  • d76bb30 refactor(#79): Remove unused trpc A2A server implementation (#80)
  • f9166dc feat(#77): Replace Close with Shutdown for graceful server termination (#78)
  • 8a721e5 feat(#75): add context support for graceful server shutdown (#76)
  • 3c88ac5 feat(#61): Add --max-size flag to limit refactoring changes to 200 lines by default (#74)

v0.2.0

22 Jul 14:16
89ec2b5

Choose a tag to compare

Release Notes

New Features:

  • Added support for processing entire Java projects with nested file structures (#54, #56, #58)
  • Added parallel processing for Java class refactoring to improve performance (#69, #73)
  • Added OpenAI integration support (#37, #67)
  • Implemented --stats option for performance metrics (token counts and LLM metrics ) (#21, #32, #64, #65, #60, #63)
  • Added multiple output format options including CSV for statistics (#39, #59)
  • Implemented --output option to enable project copying instead of in-place modification (#55, #57)
  • Integrated aibolit tool with simplified implementation (#2, #38, #42)

Code Quality Improvements:

  • Consolidated client parameters and improved logging (#27, #62)
  • Enabled gosec linter and resolved security issues (#50, #53)
  • Enabled revive linter and fixed related issues (#51, #52)
  • Added golangci configuration and performed code cleanup (#43, #49)

Tests:

  • Implemented mock provider support with enhanced error handling for brain creation (#68, #70
  • Added YAML playbook support for AI integration (#16, #44)

Refactoring:

  • Simplified aibolit tool implementation and refactored critic component (#2, #42)

CI/CD:

  • Added PDD support (#33, #34)

Changelog

  • 89ec2b5 feat(#69): Parallelize Java class refactoring for improved performance (#73)
  • b123678 feat(#68): Add mock provider support and error handling for brain creation (#70)
  • dd2c2de bug(#37): add openai support (#67)
  • 6754bb3 feat(#64): Add request stats collection and improve protocol handling (#65)
  • ecba326 feat(#60): enhance stat output with token counts and LLM metrics (#63)
  • 484dd84 refactor(#27): consolidate client params and improve logging (#62)
  • 43ced08 feat(#39): Add stats format and output options with CSV support (#59)
  • 1ac0146 feat(#54): Add support for processing entire Java projects with nested files (#58)
  • 17a6329 feat(#55): Add --output option to copy project instead of modifying current one (#57)
  • 9ecf330 feat(#54): Add support for processing entire Java projects with nested files (#56)
  • b59b25b feat(#50): Enable gosec linter and fix security issues (#53)
  • f48c500 feat(#51): Enable revive linter and fix related issues (#52)
  • 3d8b7c6 refactor(#43): Add golangci config and clean up code (#49)
  • d63c3d9 feat(#16): Add YAML playbook support for AI integration (#44)
  • 0650514 refactor(#2): simplify aibolit tool implementation and refactor critic implementation (#42)
  • 2f65fcd feat(#2): aibolit integration (#38)
  • 6d1162e feat(#33): after this commit pdd should start work
  • 8557dd1 feat(#33): after this commit pdd should start work
  • 3916763 feat(#21): refrax --stats (#32)
  • bcfff7c feat(#33): PDD support (#34)