10 KiB
10 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.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-gitflag 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_replacetool for performing exact string replacements in files with unique match validation - New
write_file_toolfor writing content to files with rich output formatting and comprehensive error handling