Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
3402b15
chore: prettier scripting usage for faq
Aug 5, 2025
1af0e59
Merge pull request #4410 from liam61/main
paul-gauthier Aug 5, 2025
3c9e180
bump deps
paul-gauthier Aug 7, 2025
8904e29
Merge branch 'main' of github.com:Aider-AI/aider
paul-gauthier Aug 7, 2025
ad39fdb
bump deps
paul-gauthier Aug 7, 2025
ece9803
bump deps without llama-index-core==0.12.26
paul-gauthier Aug 7, 2025
6c7870d
copy
paul-gauthier Aug 7, 2025
70f2bbb
copy
paul-gauthier Aug 7, 2025
9d778bf
version bump to 0.85.3
paul-gauthier Aug 7, 2025
c23ebfe
set version to 0.85.4.dev
paul-gauthier Aug 7, 2025
ac7e274
fix: Adapt to new PostHog SDK capture method signature
paul-gauthier Aug 7, 2025
8c982f8
feat: Disable temperature for GPT-5 models
paul-gauthier Aug 7, 2025
d9d13f2
copy
paul-gauthier Aug 7, 2025
0b13b27
version bump to 0.85.4
paul-gauthier Aug 7, 2025
53c1432
set version to 0.85.5.dev
paul-gauthier Aug 7, 2025
ad49e56
fix: Accurately match gpt-5 and gpt-5-2025-08-07 models
paul-gauthier Aug 7, 2025
ceb8136
feat: Enforce diff edit format for GPT-5 models
paul-gauthier Aug 7, 2025
3a6f217
feat: Add reasoning_effort setting support for GPT-5 models
paul-gauthier Aug 7, 2025
7440a01
copy
paul-gauthier Aug 7, 2025
9702b1c
version bump to 0.85.5
paul-gauthier Aug 7, 2025
3b91964
set version to 0.85.6.dev
paul-gauthier Aug 7, 2025
a14cb22
feat: Add GPT-5 model family settings
paul-gauthier Aug 8, 2025
4e7c9f2
fix: Remove editor settings from models using gpt-5 nano weak model
paul-gauthier Aug 8, 2025
071d177
feat: Add OpenAI and OpenRouter GPT-5 model settings
paul-gauthier Aug 9, 2025
f57c0f6
feat: blame: Detect aider commits using co-authored-by
paul-gauthier Aug 9, 2025
f3d5f20
blame
paul-gauthier Aug 9, 2025
b782437
copy
paul-gauthier Aug 9, 2025
3d8290c
copy
paul-gauthier Aug 9, 2025
4cd71ac
copy
paul-gauthier Aug 9, 2025
a4be6cc
version bump to 0.86.0
paul-gauthier Aug 9, 2025
01a9b88
set version to 0.86.1.dev
paul-gauthier Aug 9, 2025
0862128
copy
paul-gauthier Aug 9, 2025
a7d3fdc
copy
paul-gauthier Aug 9, 2025
5a3b2f3
feat: Add flash-lite model alias
paul-gauthier Aug 9, 2025
05919ea
Bump Version
dwash96 Aug 10, 2025
41e8488
Fixes #7:
dwash96 Aug 10, 2025
2d6add6
Merge remote-tracking branch 'main/main' into v0.87.0
dwash96 Aug 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# Release history

### Aider v0.86.0

- Expanded GPT-5 model support across family variants and providers (OpenAI, Azure, OpenRouter), including dated and chat/mini/nano variants.
- Aider wrote 88% of the code in this release.

### Aider v0.85.5

- Enforced diff edit format for GPT-5 models.
- Added support for the reasoning_effort setting for GPT-5 models.
- Fixed model detection to correctly apply GPT-5 settings to versioned names (gpt-5 and gpt-5-2025-08-07).

### Aider v0.85.4

- Added support for openai/gpt-5
- Fixed analytics to support the latest PostHog SDK event-capture API.
- Disabled temperature when using GPT-5 models for more deterministic outputs.

### Aider v0.85.3

- Bumped dependencies to pick up latest litellm==1.75.0.

### Aider v0.85.2

- Added support for Grok-4 via `xai/grok-4` and `openrouter/x-ai/grok-4` model names.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ cog.out(text)
<a href="https://github.com/Aider-AI/aider/stargazers"><img alt="GitHub Stars" title="Total number of GitHub stars the Aider project has received"
src="https://img.shields.io/github/stars/Aider-AI/aider?style=flat-square&logo=github&color=f1c40f&labelColor=555555"/></a>
<a href="https://pypi.org/project/aider-chat/"><img alt="PyPI Downloads" title="Total number of installations via pip from PyPI"
src="https://img.shields.io/badge/📦%20Installs-2.8M-2ecc71?style=flat-square&labelColor=555555"/></a>
src="https://img.shields.io/badge/📦%20Installs-3.0M-2ecc71?style=flat-square&labelColor=555555"/></a>
<img alt="Tokens per week" title="Number of tokens processed weekly by Aider users"
src="https://img.shields.io/badge/📈%20Tokens%2Fweek-15B-3498db?style=flat-square&labelColor=555555"/>
<a href="https://openrouter.ai/#options-menu"><img alt="OpenRouter Ranking" title="Aider's ranking among applications on the OpenRouter platform"
src="https://img.shields.io/badge/🏆%20OpenRouter-Top%2020-9b59b6?style=flat-square&labelColor=555555"/></a>
<a href="https://aider.chat/HISTORY.html"><img alt="Singularity" title="Percentage of the new code in Aider's last release written by Aider itself"
src="https://img.shields.io/badge/🔄%20Singularity-21%25-e74c3c?style=flat-square&labelColor=555555"/></a>
src="https://img.shields.io/badge/🔄%20Singularity-88%25-e74c3c?style=flat-square&labelColor=555555"/></a>
<!--[[[end]]]-->
</p>

Expand Down
2 changes: 1 addition & 1 deletion aider/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from packaging import version

__version__ = "0.86.2.dev"
__version__ = "0.87.0.dev"
safe_version = __version__

try:
Expand Down
2 changes: 1 addition & 1 deletion aider/analytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ def event(self, event_name, main_model=None, **kwargs):
self.mp = None # Disable mixpanel on connection errors

if self.ph:
self.ph.capture(self.user_id, event_name, dict(properties))
self.ph.capture(event_name, distinct_id=self.user_id, properties=dict(properties))

if self.logfile:
log_entry = {
Expand Down
12 changes: 5 additions & 7 deletions aider/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,14 +196,11 @@ def cmd_chat_mode(self, args):
elif ef == "ask":
summarize_from_coder = False

try:
raise SwitchCoder(
edit_format=edit_format,
summarize_from_coder=summarize_from_coder,
)

except Exception as e:
raise e.with_traceback(None)
raise SwitchCoder(
edit_format=edit_format,
summarize_from_coder=summarize_from_coder,
)

def completions_model(self):
models = litellm.model_cost.keys()
Expand Down Expand Up @@ -1395,6 +1392,7 @@ def _generic_chat_command(self, args, edit_format, placeholder=None):
from_coder=self.coder,
edit_format=edit_format,
summarize_from_coder=False,
num_cache_warming_pings=0,
)

user_msg = args
Expand Down
3 changes: 3 additions & 0 deletions aider/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -1184,6 +1184,9 @@ def get_io(pretty):
if "show_announcements" in kwargs:
del kwargs["show_announcements"]

# Disable cache warming for the new coder
kwargs["num_cache_warming_pings"] = 0

coder = Coder.create(**kwargs)

if switch.kwargs.get("show_announcements") is not False:
Expand Down
19 changes: 18 additions & 1 deletion aider/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
# Other models
"deepseek": "deepseek/deepseek-chat",
"flash": "gemini/gemini-2.5-flash",
"flash-lite": "gemini/gemini-2.5-flash-lite",
"quasar": "openrouter/openrouter/quasar-alpha",
"r1": "deepseek/deepseek-reasoner",
"gemini-2.5-pro": "gemini/gemini-2.5-pro",
Expand Down Expand Up @@ -436,6 +437,14 @@ def apply_generic_model_settings(self, model):
self.examples_as_sys_msg = False
return # <--

last_segment = model.split("/")[-1]
if last_segment in ("gpt-5", "gpt-5-2025-08-07"):
self.use_temperature = False
self.edit_format = "diff"
if "reasoning_effort" not in self.accepts_settings:
self.accepts_settings.append("reasoning_effort")
return # <--

if "/o1-mini" in model:
self.use_repo_map = True
self.use_temperature = False
Expand Down Expand Up @@ -1012,7 +1021,15 @@ def send_completion(self, messages, functions, stream, temperature=None, tools=N

self.github_copilot_token_to_open_ai_key(kwargs["extra_headers"])

res = litellm.completion(**kwargs)

try:
res = litellm.completion(**kwargs)
except Exception as err:
res = "Model API Response Error. Please retry the previous request"

if self.verbose:
print(f"LiteLLM API Error: {str(err)}")

return hash_object, res

def simple_send_with_retries(self, messages):
Expand Down
193 changes: 193 additions & 0 deletions aider/resources/model-settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1819,3 +1819,196 @@
editor_edit_format: editor-diff
accepts_settings: ["thinking_tokens"]

# GPT-5 family
- name: gpt-5
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false

- name: gpt-5-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: gpt-5-mini
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false

- name: gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: gpt-5-nano
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false

- name: gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: gpt-5-chat
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false

- name: gpt-5-chat-latest
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false

- name: azure/gpt-5
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: azure/gpt-5-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: azure/gpt-5-mini
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: azure/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: azure/gpt-5-nano
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: azure/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: azure/gpt-5-chat
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: azure/gpt-5-chat-latest
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openai/gpt-5
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openai/gpt-5-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: openai/gpt-5-mini
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openai/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: openai/gpt-5-nano
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openai/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: openai/gpt-5-chat
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openai/gpt-5-chat-latest
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openrouter/openai/gpt-5
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openrouter/openai/gpt-5-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: openrouter/openai/gpt-5-mini
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openrouter/openai/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: openrouter/openai/gpt-5-nano
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openrouter/openai/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false

- name: openrouter/openai/gpt-5-chat
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false

- name: openrouter/openai/gpt-5-chat-latest
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false

21 changes: 21 additions & 0 deletions aider/website/HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,27 @@ cog.out(text)
]]]-->


### Aider v0.86.0

- Expanded GPT-5 model support across family variants and providers (OpenAI, Azure, OpenRouter), including dated and chat/mini/nano variants.
- Aider wrote 88% of the code in this release.

### Aider v0.85.5

- Enforced diff edit format for GPT-5 models.
- Added support for the reasoning_effort setting for GPT-5 models.
- Fixed model detection to correctly apply GPT-5 settings to versioned names (gpt-5 and gpt-5-2025-08-07).

### Aider v0.85.4

- Added support for openai/gpt-5
- Fixed analytics to support the latest PostHog SDK event-capture API.
- Disabled temperature when using GPT-5 models for more deterministic outputs.

### Aider v0.85.3

- Bumped dependencies to pick up latest litellm==1.75.0.

### Aider v0.85.2

- Added support for Grok-4 via `xai/grok-4` and `openrouter/x-ai/grok-4` model names.
Expand Down
Loading
Loading