ChatGPT CLI v1.10.7
New Features
- Patch and Replace File Operations: Introduced
PatchFileandReplaceBytesInFilemethods on theFilesinterface to allow more efficient in-place file modifications without needing to read the entire content.PatchFileMethod: Applies a unified diff to a file.ReplaceBytesInFileMethod: Replaces byte patterns with new data in a file, supporting controlled occurrences.
Improvements
- Unified Diff Parsing: Enhanced diff parsing capability with robust handling of edge cases and strict adherence to unified diff standards.
- Error Handling in Operations: Improved error messages and handling, particularly in
PatchFileandReplaceBytesInFile, making the operations more resilient and informative when issues are encountered. - Logging Improvements: Adjustments to log file creation and opening process to truncate files instead of appending to existing ones, leading to cleaner log management.
Bug Fixes
- Policy Enforcement Adjustments: Correct handling of file operation permissions in policies, fixing issues where certain operations could be allowed or denied incorrectly based on configuration.
- OutcomeError Handling: Modified behavior to surface errors within the system through
OutcomeError, allowing agents to notice and react to changes or anomalies during execution.
Other Changes
- Integration and Unit Test Expansions: Added comprehensive tests for newly implemented file operations ensuring reliability and correctness through various scenarios.
- Refactorings in
react_agent.go: Cleaned up the logic for running actions, ensuring better readability and maintainability. - Runtime Enhancements: Minor runtime structures and logic updates for more efficient running of agent goals and budget management.
Upgrade Notes
To upgrade to v1.10.7, you can use Brew or directly download binaries:
- Via Homebrew: Execute
brew upgrade chatgpt-cliin your terminal. - For a direct download, obtain the binaries specific to your operating system from the official release page.
Ensure your configuration settings in config.yaml are updated according to any newly introduced options if applicable.