mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-30 17:24:59 +00:00

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
23 KiB
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 ifANTHROPIC_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
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
orrun
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.
- Configure your testing command with
Aider v0.35.0
- Aider now uses GPT-4o by default.
- GPT-4o tops the aider LLM code editing leaderboard at 72.9%, versus 68.4% for Opus.
- GPT-4o takes second on aider's refactoring leaderboard with 62.9%, versus Opus at 72.3%.
- 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
anddeepseek/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 is now also AI pair programming in your browser! Use the
--browser
switch to launch an experimental browser based version of aider. - Switch models during the chat with
/model <name>
and search the list of available models with/models <query>
.
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
- Improved model warnings for unknown or unfamiliar models
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
andgpt-4-turbo
models.- Benchmarked at 61.7% on Exercism benchmark, comparable to
gpt-4-0613
and worse than thegpt-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.
- Benchmarked at 61.7% on Exercism benchmark, comparable to
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.
- 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
- Improved unicode encoding for
Aider v0.19.1
- Removed stray debug output.
Aider v0.19.0
- Significantly reduced "lazy" coding from GPT-4 Turbo due to new unified diff edit format
- Score improves from 20% to 61% on new "laziness benchmark".
- Aider now uses unified diffs by default for
gpt-4-1106-preview
.
- New
--4-turbo
command line switch as a shortcut for--model gpt-4-1106-preview
.
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%.
- Far fewer edit errors from GPT-4 Turbo (
- 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
- Easily run aider from a docker image
- Fixed bug with chat history summarization.
- Fixed bug if
soundfile
package not available.
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
- Support for Claude2 and other LLMs via OpenRouter by @joshuavial
- Documentation for running the aider benchmarking suite
- Aider now requires Python >= 3.9
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 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
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
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.