RA.Aid/CHANGELOG.md

12 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.15.0] - 2025-02-27

Added

  • Added database infrastructure with models, connections, and migrations
  • Added agent context system for improved context management
  • Added aider-free mode with command line option to disable aider-related functionality
  • Added database-related dependencies

Changed

  • Improved file editing tools with enhanced functionality
  • Enhanced agent implementation tools with modified return values and logic
  • Improved agent tool prompts for better clarity and effectiveness
  • Fixed langgraph prebuilt dependency

Fixed

  • Fixed project state detection logic with added tests

[0.14.9] - 2025-02-25

Added

  • Added binary file detection and filtering to prevent binary files from being added to related files
  • Added python-magic dependency for improved binary file detection
  • Added support for "thinking" budget parameter for Claude 3.7 Sonnet

Changed

  • Updated dependencies:
    • langchain-anthropic from 0.3.7 to 0.3.8
    • langchain-google-genai from 2.0.10 to 2.0.11
  • Improved shell command tool description to recommend keeping commands under 300 words
  • Enhanced binary file filtering to include detailed reporting of skipped files
  • Updated test assertions to be more flexible with parameter checking

[0.14.8] - 2025-02-25

Changed

  • Improved programmer.py tool prompts for better clarity on related files visibility
  • Enhanced programmer tool to remind users to call emit_related_files on any new files created
  • Updated README.md to use media queries for showing different logos based on color scheme preference

[0.14.7] - 2025-02-25

Added

  • Windows compatibility improvements
    • Add error handling for Windows-specific modules
    • Add Windows-specific tests for compatibility

Changed

  • Improve cross-platform support in interactive.py
  • WebUI improvements
    • Improve message display
    • Add syntax highlighting
    • Add animations
  • Expert tool prompt improvements

Fixed

  • WebUI improvements
    • Fix WebSocket communication
  • Interactive command handling improvements
    • Fix interactive history capture
    • Fix command capture bugs
    • Multiple fixes for interactive command execution on both Linux and Windows
    • Enhance error handling for interactive processes

[0.14.6] - 2025-02-25

Added

  • Added --no-git flag to aider commands to prevent git operations

Changed

  • Updated aider-chat dependency from 0.75 to 0.75.1
  • Improved prompts for better tool effectiveness
  • Enhanced emit_key_snippet documentation to focus on upcoming work relevance

[0.14.5] - 2025-02-24

Changed

  • Optimized prompts

[0.14.4] - 2025-02-24

Changed

  • Updated aider-chat dependency from 0.74.2 to 0.75
  • Improved tool calling performance by minimizing tool return values
  • Replaced emit_key_snippets with emit_key_snippet for simpler code snippet management
  • Simplified return values for multiple tools to improve tool calling accuracy
  • Updated tool prompts to remove unnecessary context cleanup references
  • Reorganized order of tools in read-only tools list

Fixed

  • Fixed tests to align with updated tool return values
  • Updated test assertions to match new simplified tool outputs

[0.14.3] - 2025-02-24

Added

  • Added support for Claude 3.7 Sonnet model
  • Added version display in startup configuration panel

Changed

  • Updated language library dependencies (langgraph, langchain-core, langchain, langchain-openai, langchain-google-genai)
  • Changed default Anthropic model from Claude 3.5 Sonnet to Claude 3.7 Sonnet

Fixed

  • Fixed f-string syntax error in write_file.py
  • Fixed bug where model selection on Anthropic was always using default instead of respecting user selection
  • Fixed Anthropic key error message to reference the correct variable
  • Added test for user-specified Anthropic model selection

[0.14.2] - 2025-02-19

Added

  • Added automatic fallback mechanism to alternative LLM models on consecutive failures
  • Added FallbackHandler class to manage tool failures and fallback logic
  • Added console notification for tool fallback activation
  • Added detailed fallback configuration options in command line arguments
  • Added validation for required environment variables for LLM providers

Changed

  • Enhanced CiaynAgent to handle chat history and improve context management
  • Improved error handling and logging in fallback mechanism
  • Streamlined fallback model selection and invocation process
  • Refactored agent stream handling for better clarity
  • Reduced maximum tool failures from 3 to 2

Fixed

  • Fixed tool execution error handling and retry logic
  • Enhanced error resilience and user experience with fallback handler
  • Improved error message formatting and logging
  • Updated error handling to include base message for better debugging

[0.14.1] - 2025-02-13

Added

  • Added expected_runtime_seconds parameter for shell commands with graceful process shutdown
  • Added config printing at startup (#88)

Changed

  • Enforce byte limit in interactive commands
  • Normalize/dedupe related file paths
  • Relax aider version requirement for SWE-bench compatibility
  • Upgrade langchain/langgraph dependencies

Fixed

  • Fixed aider flags (#89)
  • Fixed write_file_tool references

[0.14.0] - 2025-02-12

Added

  • Status panel showing tool/LLM status and outputs
  • Automatic detection of OpenAI expert models
  • Timeouts on LLM clients

Changed

  • Improved interactive TTY process capture and history handling
  • Upgraded langgraph dependencies
  • Improved prompts and work logging
  • Refined token/bytes ratio handling
  • Support default temperature on per-model basis
  • Reduced tool count for more reliable tool calling
  • Updated logo and branding assets
  • Set environment variables to disable common interactive modes

Fixed

  • Various test fixes
  • Bug fixes for completion message handling and file content operations
  • Interactive command input improvements
  • Use reasoning_effort=high for OpenAI expert models
  • Do not default to o1 model (#82)
  • Make current working directory and date available to more agents

[0.13.2] - 2025-02-02

  • Fix temperature parameter error for expert tool.

[0.13.1] - 2025-01-31

Added

  • WebUI (#61)
  • Support o3-mini

Changed

  • Convert list input to string to handle create-react-agent tool calls correctly (#66)
  • Add commands for code checking and fixing using ruff (#63)

Fixed

  • Fix token estimation
  • Fix tests
  • Prevent duplicate files (#64)
  • Ensure default temperature is set correctly for different providers
  • Do not incorrectly give temp parameter to expert model
  • Correcting URLs that were referencing ai-christianson/ra-aid - should be ai-christianson/RA.Aid (#69)

Improved

  • Integrate litellm to retrieve model token limits for better flexibility (#51)
  • Handle user defined test cmd (#59)
  • Run tests during Github CICD (#58)
  • Refactor models_tokens to be models_params so we can track multiple parameters on a per-model basis.

[0.13.0] - 2025-01-22

Added

  • Added Deepseek Provider Support and Custom Deepseek Reasoner Chat Model (#50)
  • Added Aider config File Argument Support (#43)
  • Added configurable --recursion-limit argument (#46)
  • Set Default Max Token Limit with Provider/Model Dictionary (#45)

Changed

  • Updated aider-chat version from 0.69.1 to 0.72.1 (#47)

Fixed

  • Fixed Issue 42 related to Levenshtein (#44)

Improved

  • Various prompt improvements
  • Better handling of 429 errors on openrouter
  • Improved project info handling and token usage optimization
  • Extracted tool reflection functionality
  • Improved work log handling
  • Added tests for CiaynAgent._does_not_conform_to_pattern

[0.12.1] - 2025-01-08

  • Fix bug where directories are added as related files.

[0.12.0] - 2025-01-04

Added

  • Google Gemini AI provider support
  • Dependency check functionality in ra_aid/dependencies.py
  • Test coverage reporting to pytest commands

Changed

  • Updated minimum Python requirement to 3.9
  • Updated OpenAI model defaults
  • Modified test files to support new Gemini provider
  • Updated SWE-bench dataset generation script with UV package management

Fixed

  • Date-based assertions in directory listing tests

[0.11.3] - 2024-12-30

  • MacOS fixes.

[0.11.2] - 2024-12-30

  • Fix SyntaxError: f-string expression part cannot include a backslash.

[0.11.1] - 2024-12-29

  • Improve prompts.
  • Fix issue #24.

[0.11.0] - 2024-12-28

  • Add CiaynAgent to support models that do not have, or are not good at, agentic function calling.
  • Improve env var validation.
  • Add --temperature CLI parameter.

[0.10.3] - 2024-12-27

  • Fix logging on interrupt.
  • Fix web research prompt.
  • Simplify planning stage by executing tasks directly.
  • Make research notes available to more agents/tools.

[0.10.2] - 2024-12-26

  • Add logging.
  • Fix bug where anthropic is used in chat mode even if another provider is specified.

[0.10.0] - 2024-12-24

  • Added new web research agent.

[0.9.1] - 2024-12-23

  • Fix ask human multiline continuation.

[0.9.0] - 2024-12-23

  • Improve agent interruption UX by allowing user to specify feedback or exit the program entirely.
  • Do not put file ID in file paths when reading for expert context.
  • Agents log work internally, improving context information.
  • Clear task list when plan is completed.

[0.8.2] - 2024-12-23

  • Optimize first prompt in chat mode to avoid unnecessary LLM call.

[0.8.1] - 2024-12-22

  • Improved prompts.

[0.8.0] - 2024-12-22

  • Chat mode.
  • Allow agents to be interrupted.

[0.7.1] - 2024-12-20

  • Fix model parameters.

[0.7.0] - 2024-12-20

  • Make delete_tasks tool available to planning agent.
  • Get rid of implementation args as they are not used.
  • Improve ripgrep tool status output.
  • Added ask_human tool to allow human operator to answer questions asked by the agent.
  • Handle keyboard interrupt (ctrl-c.)
  • Disable PAGERs for shell commands so agent can work autonomously.
  • Reduce model temperatures to 0.
  • Update dependencies.

[0.6.4] - 2024-12-19

  • Added monorepo_detected, existing_project_detected, and ui_detected tools so the agent can take specific actions.
  • Prompt improvements for real-world projects.
  • Fix env var fallback when base key is given, expert and base provider are different, and expert key is missing.

[0.6.3] - 2024-12-18

  • Fix one shot completion signaling.
  • Clean up error outputs.
  • Update prompt for better performance on large/monorepo projects.
  • Update programmer prompt so we don't use it to delete files.

[0.6.2] - 2024-12-18

  • Allow shell commands to be run in read-only mode.
  • When asking for shell command approval, allow cowboy mode to be enabled.
  • Update prompt to suggest commands be run in non-interactive mode if possible, e.g. using --no-pager git flag.
  • Show tool errors in a panel.

[0.6.1] - 2024-12-17

Added

  • When key snippets are emitted, snippet files are auto added to related files.
  • Add base task to research subtask prompt.
  • Adjust research prompt to make sure related files are related to the base task, not just the research subtask.
  • Track tasks by ID and allow them to be deleted.
  • Make one_shot_completed tool available to research agent.
  • Make sure file modification tools are not available when research only flag is used.
  • Temporarily disable write file/str replace as they do not work as well as just using the programmer tool.

[0.6.0] - 2024-12-17

Added

  • New file_str_replace tool for performing exact string replacements in files with unique match validation
  • New write_file_tool for writing content to files with rich output formatting and comprehensive error handling