Release history

Aider v0.41.0

  • Allow Claude 3.5 Sonnet to stream back >4k tokens!
    • It is the first model capable of writing such large coherent, useful code edits.
    • Do large refactors or generate multiple files of new code in one go.
  • Aider now uses claude-3-5-sonnet-20240620 by default if ANTHROPIC_API_KEY is set in the environment.
  • Enabled image support for 3.5 Sonnet and for GPT-4o & 3.5 Sonnet via OpenRouter (by @yamitzky).
  • Added --attribute-commit-message to prefix aider’s commit messages with “aider:”.
  • Fixed regression in quality of one-line commit messages.
  • Automatically retry on Anthropic overloaded_error.
  • Bumped dependency versions.

Aider v0.40.6

  • Fixed /undo so it works regardless of --attribute settings.

Aider v0.40.5

  • Bump versions to pickup latest litellm to fix streaming issue with Gemini
    • https://github.com/BerriAI/litellm/issues/4408

Aider v0.40.1

  • Improved context awareness of repomap.
  • Restored proper --help functionality.

Aider v0.40.0

  • Improved prompting to discourage Sonnet from wasting tokens emitting unchanging code (#705).
  • Improved error info for token limit errors.
  • Options to suppress adding “(aider)” to the git author and committer names.
  • Use --model-settings-file to customize per-model settings, like use of repo-map (by @caseymcc).
  • Improved invocation of flake8 linter for python code.

Aider v0.39.0

  • Use --sonnet for Claude 3.5 Sonnet, which is the top model on aider’s LLM code editing leaderboard.
  • All AIDER_xxx environment variables can now be set in .env (by @jpshack-at-palomar).
  • Use --llm-history-file to log raw messages sent to the LLM (by @daniel-vainsencher).
  • Commit messages are no longer prefixed with “aider:”. Instead the git author and committer names have “(aider)” added.

Aider v0.38.0

  • Use --vim for vim keybindings in the chat.
  • Add LLM metadata via .aider.models.json file (by @caseymcc).
  • More detailed error messages on token limit errors.
  • Single line commit messages, without the recent chat messages.
  • Ensure --commit --dry-run does nothing.
  • Have playwright wait for idle network to better scrape js sites.
  • Documentation updates, moved into website/ subdir.
  • Moved tests/ into aider/tests/.

Aider v0.37.0

  • Repo map is now optimized based on text of chat history as well as files added to chat.
  • Improved prompts when no files have been added to chat to solicit LLM file suggestions.
  • Aider will notice if you paste a URL into the chat, and offer to scrape it.
  • Performance improvements the repo map, especially in large repos.
  • Aider will not offer to add bare filenames like make or run which may just be words.
  • Properly override GIT_EDITOR env for commits if it is already set.
  • Detect supported audio sample rates for /voice.
  • Other small bug fixes.

Aider v0.36.0

  • Aider can now lint your code and fix any errors.
    • Aider automatically lints and fixes after every LLM edit.
    • You can manually lint-and-fix files with /lint in the chat or --lint on the command line.
    • Aider includes built in basic linters for all supported tree-sitter languages.
    • You can also configure aider to use your preferred linter with --lint-cmd.
  • Aider has additional support for running tests and fixing problems.
    • Configure your testing command with --test-cmd.
    • Run tests with /test or from the command line with --test.
    • Aider will automatically attempt to fix any test failures.

Aider v0.35.0

  • Aider now uses GPT-4o by default.
  • Added --restore-chat-history to restore prior chat history on launch, so you can continue the last conversation.
  • Improved reflection feedback to LLMs using the diff edit format.
  • Improved retries on httpx errors.

Aider v0.34.0

  • Updated prompting to use more natural phrasing about files, the git repo, etc. Removed reliance on read-write/read-only terminology.
  • Refactored prompting to unify some phrasing across edit formats.
  • Enhanced the canned assistant responses used in prompts.
  • Added explicit model settings for openrouter/anthropic/claude-3-opus, gpt-3.5-turbo
  • Added --show-prompts debug switch.
  • Bugfix: catch and retry on all litellm exceptions.

Aider v0.33.0

  • Added native support for Deepseek models using DEEPSEEK_API_KEY and deepseek/deepseek-chat, etc rather than as a generic OpenAI compatible API.

Aider v0.32.0

  • Aider LLM code editing leaderboards that rank popular models according to their ability to edit code.
    • Leaderboards include GPT-3.5/4 Turbo, Opus, Sonnet, Gemini 1.5 Pro, Llama 3, Deepseek Coder & Command-R+.
  • Gemini 1.5 Pro now defaults to a new diff-style edit format (diff-fenced), enabling it to work better with larger code bases.
  • Support for Deepseek-V2, via more a flexible config of system messages in the diff edit format.
  • Improved retry handling on errors from model APIs.
  • Benchmark outputs results in YAML, compatible with leaderboard.

Aider v0.31.0

Aider v0.30.1

  • Adding missing google-generativeai dependency

Aider v0.30.0

  • Added Gemini 1.5 Pro as a recommended free model.
  • Allow repo map for “whole” edit format.
  • Added --models <MODEL-NAME> to search the available models.
  • Added --no-show-model-warnings to silence model warnings.

Aider v0.29.2

Aider v0.29.1

  • Added better support for groq/llama3-70b-8192

Aider v0.29.0

  • Added support for directly connecting to Anthropic, Cohere, Gemini and many other LLM providers.
  • Added --weak-model <model-name> which allows you to specify which model to use for commit messages and chat history summarization.
  • New command line switches for working with popular models:
    • --4-turbo-vision
    • --opus
    • --sonnet
    • --anthropic-api-key
  • Improved “whole” and “diff” backends to better support Cohere’s free to use Command-R+ model.
  • Allow /add of images from anywhere in the filesystem.
  • Fixed crash when operating in a repo in a detached HEAD state.
  • Fix: Use the same default model in CLI and python scripting.

Aider v0.28.0

  • Added support for new gpt-4-turbo-2024-04-09 and gpt-4-turbo models.
    • Benchmarked at 61.7% on Exercism benchmark, comparable to gpt-4-0613 and worse than the gpt-4-preview-XXXX models. See recent Exercism benchmark results.
    • Benchmarked at 34.1% on the refactoring/laziness benchmark, significantly worse than the gpt-4-preview-XXXX models. See recent refactor bencmark results.
    • Aider continues to default to gpt-4-1106-preview as it performs best on both benchmarks, and significantly better on the refactoring/laziness benchmark.

Aider v0.27.0

  • Improved repomap support for typescript, by @ryanfreckleton.
  • Bugfix: Only /undo the files which were part of the last commit, don’t stomp other dirty files
  • Bugfix: Show clear error message when OpenAI API key is not set.
  • Bugfix: Catch error for obscure languages without tags.scm file.

Aider v0.26.1

  • Fixed bug affecting parsing of git config in some environments.

Aider v0.26.0

  • Use GPT-4 Turbo by default.
  • Added -3 and -4 switches to use GPT 3.5 or GPT-4 (non-Turbo).
  • Bug fix to avoid reflecting local git errors back to GPT.
  • Improved logic for opening git repo on launch.

Aider v0.25.0

  • Issue a warning if user adds too much code to the chat.
    • https://aider.chat/docs/faq.html#how-can-i-add-all-the-files-to-the-chat
  • Vocally refuse to add files to the chat that match .aiderignore
    • Prevents bug where subsequent git commit of those files will fail.
  • Added --openai-organization-id argument.
  • Show the user a FAQ link if edits fail to apply.
  • Made past articles part of https://aider.chat/blog/

Aider v0.24.1

  • Fixed bug with cost computations when –no-steam in effect

Aider v0.24.0

  • New /web <url> command which scrapes the url, turns it into fairly clean markdown and adds it to the chat.
  • Updated all OpenAI model names, pricing info
  • Default GPT 3.5 model is now gpt-3.5-turbo-0125.
  • Bugfix to the ! alias for /run.

Aider v0.23.0

  • Added support for --model gpt-4-0125-preview and OpenAI’s alias --model gpt-4-turbo-preview. The --4turbo switch remains an alias for --model gpt-4-1106-preview at this time.
  • New /test command that runs a command and adds the output to the chat on non-zero exit status.
  • Improved streaming of markdown to the terminal.
  • Added /quit as alias for /exit.
  • Added --skip-check-update to skip checking for the update on launch.
  • Added --openrouter as a shortcut for --openai-api-base https://openrouter.ai/api/v1
  • Fixed bug preventing use of env vars OPENAI_API_BASE, OPENAI_API_TYPE, OPENAI_API_VERSION, OPENAI_API_DEPLOYMENT_ID.

Aider v0.22.0

  • Improvements for unified diff editing format.
  • Added ! as an alias for /run.
  • Autocomplete for /add and /drop now properly quotes filenames with spaces.
  • The /undo command asks GPT not to just retry reverted edit.

Aider v0.21.1

  • Bugfix for unified diff editing format.
  • Added –4turbo and –4 aliases for –4-turbo.

Aider v0.21.0

  • Support for python 3.12.
  • Improvements to unified diff editing format.
  • New --check-update arg to check if updates are available and exit with status code.

Aider v0.20.0

  • Add images to the chat to automatically use GPT-4 Vision, by @joshuavial

  • Bugfixes:

    • Improved unicode encoding for /run command output, by @ctoth
    • Prevent false auto-commits on Windows, by @ctoth

Aider v0.19.1

  • Removed stray debug output.

Aider v0.19.0

Aider v0.18.1

  • Upgraded to new openai python client v1.3.7.

Aider v0.18.0

  • Improved prompting for both GPT-4 and GPT-4 Turbo.
    • Far fewer edit errors from GPT-4 Turbo (gpt-4-1106-preview).
    • Significantly better benchmark results from the June GPT-4 (gpt-4-0613). Performance leaps from 47%/64% up to 51%/71%.
  • Fixed bug where in-chat files were marked as both read-only and ready-write, sometimes confusing GPT.
  • Fixed bug to properly handle repos with submodules.

Aider v0.17.0

  • Support for OpenAI’s new 11/06 models:
    • gpt-4-1106-preview with 128k context window
    • gpt-3.5-turbo-1106 with 16k context window
  • Benchmarks for OpenAI’s new 11/06 models
  • Streamlined API for scripting aider, added docs
  • Ask for more concise SEARCH/REPLACE blocks. Benchmarked at 63.9%, no regression.
  • Improved repo-map support for elisp.
  • Fixed crash bug when /add used on file matching .gitignore
  • Fixed misc bugs to catch and handle unicode decoding errors.

Aider v0.16.3

  • Fixed repo-map support for C#.

Aider v0.16.2

  • Fixed docker image.

Aider v0.16.1

  • Updated tree-sitter dependencies to streamline the pip install process

Aider v0.16.0

  • Improved repository map using tree-sitter
  • Switched from “edit block” to “search/replace block”, which reduced malformed edit blocks. Benchmarked at 66.2%, no regression.
  • Improved handling of malformed edit blocks targeting multiple edits to the same file. Benchmarked at 65.4%, no regression.
  • Bugfix to properly handle malformed /add wildcards.

Aider v0.15.0

  • Added support for .aiderignore file, which instructs aider to ignore parts of the git repo.
  • New --commit cmd line arg, which just commits all pending changes with a sensible commit message generated by gpt-3.5.
  • Added universal ctags and multiple architectures to the aider docker image
  • /run and /git now accept full shell commands, like: /run (cd subdir; ls)
  • Restored missing --encoding cmd line switch.

Aider v0.14.2

Aider v0.14.1

  • /add and /drop handle absolute filenames and quoted filenames
  • /add checks to be sure files are within the git repo (or root)
  • If needed, warn users that in-chat file paths are all relative to the git repo
  • Fixed /add bug in when aider launched in repo subdir
  • Show models supported by api/key if requested model isn’t available

Aider v0.14.0

Aider v0.13.0

  • 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

Aider v0.12.0

  • 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.

Aider v0.11.1

  • 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).

Aider v0.11.0

  • 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.

Aider v0.10.1

  • /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.

Aider v0.10.0

  • 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)

Aider v0.9.0

  • 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)

Aider v0.8.3

  • 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

Aider v0.8.2

  • Disabled general availability of gpt-4 (it’s rolling out, not 100% available yet)

Aider v0.8.1

  • 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 return utf-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

Aider v0.8.0

  • 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

Aider v0.7.2:

  • Fixed a bug to allow aider to edit files that contain triple backtick fences.

Aider v0.7.1:

  • Fixed a bug in the display of streaming diffs in GPT-3.5 chats

Aider v0.7.0:

  • 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.
    • https://github.com/exercism/python
  • 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.

Aider v0.6.2

  • 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.

Aider v0.5.0

  • Added support for gpt-3.5-turbo and gpt-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.