- Only git commit dirty files that GPT tries to edit
- Send chat history as prompt/context for Whisper voice transcription
- Added
--voice-language
switch to constrain/voice
to transcribe to a specific language - Late-bind importing
sounddevice
, as it was slowing down aider startup - Improved --foo/--no-foo switch handling for command line and yml config settings
- Voice-to-code support, which allows you to code with your voice.
- Fixed bug where /diff was causing crash.
- Improved prompting for gpt-4, refactor of editblock coder.
- Benchmarked at 63.2% for gpt-4/diff, no regression.
- Added a progress bar when initially creating a repo map.
- Fixed bad commit message when adding new file to empty repo.
- Fixed corner case of pending chat history summarization when dirty committing.
- Fixed corner case of undefined
text
when using--no-pretty
. - Fixed /commit bug from repo refactor, added test coverage.
- Benchmarked at 53.4% for gpt-3.5/whole (no regression).
- Automatically summarize chat history to avoid exhausting context window.
- More detail on dollar costs when running with
--no-stream
- Stronger GPT-3.5 prompt against skipping/eliding code in replies (51.9% benchmark, no regression)
- Defend against GPT-3.5 or non-OpenAI models suggesting filenames surrounded by asterisks.
- Refactored GitRepo code out of the Coder class.
- /add and /drop always use paths relative to the git root
- Encourage GPT to use language like "add files to the chat" to ask users for permission to edit them.
- Added
/git
command to run git from inside aider chats. - Use Meta-ENTER (Esc+ENTER in some environments) to enter multiline chat messages.
- Create a
.gitignore
with.aider*
to prevent users from accidentaly adding aider files to git. - Check pypi for newer versions and notify user.
- Updated keyboard interrupt logic so that 2 ^C in 2 seconds always forces aider to exit.
- Provide GPT with detailed error if it makes a bad edit block, ask for a retry.
- Force
--no-pretty
if aider detects it is running inside a VSCode terminal. - Benchmarked at 64.7% for gpt-4/diff (no regression)
- Support for the OpenAI models in Azure
- Added
--show-repo-map
- Improved output when retrying connections to the OpenAI API
- Redacted api key from
--verbose
output - Bugfix: recognize and add files in subdirectories mentioned by user or GPT
- Benchmarked at 53.8% for gpt-3.5-turbo/whole (no regression)
- Added
--dark-mode
and--light-mode
to select colors optimized for terminal background - Install docs link to NeoVim plugin by @joshuavial
- Reorganized the
--help
output - Bugfix/improvement to whole edit format, may improve coding editing for GPT-3.5
- Bugfix and tests around git filenames with unicode characters
- Bugfix so that aider throws an exception when OpenAI returns InvalidRequest
- Bugfix/improvement to /add and /drop to recurse selected directories
- Bugfix for live diff output when using "whole" edit format
- Disabled general availability of gpt-4 (it's rolling out, not 100% available yet)
- Ask to create a git repo if none found, to better track GPT's code changes
- Glob wildcards are now supported in
/add
and/drop
commands - Pass
--encoding
into ctags, require it to returnutf-8
- More robust handling of filepaths, to avoid 8.3 windows filenames
- Added FAQ
- Marked GPT-4 as generally available
- Bugfix for live diffs of whole coder with missing filenames
- Bugfix for chats with multiple files
- Bugfix in editblock coder prompt
- Benchmark comparing code editing in GPT-3.5 and GPT-4
- Improved Windows support:
- Fixed bugs related to path separators in Windows
- Added a CI step to run all tests on Windows
- Improved handling of Unicode encoding/decoding
- Explicitly read/write text files with utf-8 encoding by default (mainly benefits Windows)
- Added
--encoding
switch to specify another encoding - Gracefully handle decoding errors
- Added
--code-theme
switch to control the pygments styling of code blocks (by @kwmiebach) - Better status messages explaining the reason when ctags is disabled
- Fixed a bug to allow aider to edit files that contain triple backtick fences.
- Fixed a bug in the display of streaming diffs in GPT-3.5 chats
- Graceful handling of context window exhaustion, including helpful tips.
- Added
--message
to give GPT that one instruction and then exit after it replies and any edits are performed. - Added
--no-stream
to disable streaming GPT responses.- Non-streaming responses include token usage info.
- Enables display of cost info based on OpenAI advertised pricing.
- Coding competence benchmarking tool against suite of programming tasks based on Execism's python repo.
- Major refactor in preparation for supporting new function calls api.
- Initial implementation of a function based code editing backend for 3.5.
- Initial experiments show that using functions makes 3.5 less competent at coding.
- Limit automatic retries when GPT returns a malformed edit response.
- Support for
gpt-3.5-turbo-16k
, and all OpenAI chat models - Improved ability to correct when gpt-4 omits leading whitespace in code edits
- Added
--openai-api-base
to support API proxies, etc.
- Added support for
gpt-3.5-turbo
andgpt-4-32k
. - Added
--map-tokens
to set a token budget for the repo map, along with a PageRank based algorithm for prioritizing which files and identifiers to include in the map. - Added in-chat command
/tokens
to report on context window token usage. - Added in-chat command
/clear
to clear the conversation history.