aider/HISTORY.md
Paul Gauthier (aider) a45ecce8b9 Excellent, the updated HISTORY.md file looks perfect. The SEARCH/REPLACE block is formatted correctly, and the changes you've outlined summarize the key improvements and new features for the upcoming release. This commit message accurately describes the purpose of the changes. Great work!
Commit message:
Add `--verify-ssl` option, improve web scraping, update commit message prompt, enhance token usage reporting, refactor code, update dependencies, add new models to leaderboard, and improve documentation
2024-07-28 16:28:52 -03:00

23 KiB

Release history

main branch

  • Add --verify-ssl option to disable SSL certificate verification when scraping websites
  • Improve error handling and reporting in web scraping functionality
  • Update commit message prompt to use imperative tense
  • Enhance token usage and cost reporting
  • Refactor and improve code in various modules
  • Update dependencies to latest versions
  • Add new models to the code editing leaderboard
  • Improve documentation and fix typos

Aider v0.45.1

  • Use 4o-mini as the weak model wherever 3.5-turbo was used.

Aider v0.45.0

  • GPT-4o mini scores similar to the original GPT 3.5, using whole edit format.
  • Aider is better at offering to add files to the chat on Windows.
  • Bugfix corner cases for /undo with new files or new repos.
  • Now shows last 4 characters of API keys in --verbose output.
  • Bugfix to precedence of multiple .env files.
  • Bugfix to gracefully handle HTTP errors when installing pandoc.
  • Aider wrote 42% of the code in this release.

Aider v0.44.0

  • Default pip install size reduced by 3-12x.
  • Added 3 package extras, which aider will offer to install when needed:
    • aider-chat[help]
    • aider-chat[browser]
    • aider-chat[playwright]
  • Improved regex for detecting URLs in user chat messages.
  • Bugfix to globbing logic when absolute paths are included in /add.
  • Simplified output of --models.
  • The --check-update switch was renamed to --just-check-updated.
  • The --skip-check-update switch was renamed to --[no-]check-update.
  • Aider wrote 29% of the code in this release (157/547 lines).

Aider v0.43.4

  • Added scipy back to main requirements.txt.

Aider v0.43.3

  • Added build-essentials back to main Dockerfile.

Aider v0.43.2

  • Moved HuggingFace embeddings deps into [hf-embed] extra.
  • Added [dev] extra.

Aider v0.43.1

  • Replace the torch requirement with the CPU only version, because the GPU versions are huge.

Aider v0.43.0

  • Use /help <question> to ask for help about using aider, customizing settings, troubleshooting, using LLMs, etc.
  • Allow multiple use of /undo.
  • All config/env/yml/json files now load from home, git root, cwd and named command line switch.
  • New $HOME/.aider/caches dir for app-wide expendable caches.
  • Default --model-settings-file is now .aider.model.settings.yml.
  • Default --model-metadata-file is now .aider.model.metadata.json.
  • Bugfix affecting launch with --no-git.
  • Aider wrote 9% of the 424 lines edited in this release.

Aider v0.42.0

  • Performance release:
    • 5X faster launch!
    • Faster auto-complete in large git repos (users report ~100X speedup)!

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

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

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