| Age | Commit message (Expand) | Author | Files | Lines |
| 24 hours | test: use generic skill names in fixtures | Danilo M. | 1 | -41/+41 |
| 24 hours | feat: dispatch the tool loop over web_search and load_skill | Danilo M. | 2 | -18/+259 |
| 24 hours | feat: persist loaded skills per session | Danilo M. | 2 | -0/+53 |
| 24 hours | feat: skills config keys, on by default | Danilo M. | 2 | -0/+50 |
| 24 hours | feat: skill store parsing for SKILL.md instruction files | Danilo M. | 2 | -0/+338 |
| 24 hours | docs: spec and plan for skills support | Danilo M. | 2 | -0/+1623 |
| 25 hours | feat: move model and prompt pickers to the bottom bar, add button icons | Danilo M. | 2 | -49/+145 |
| 2 days | docs: document code block wrapping and the copy button | Danilo M. | 2 | -2/+35 |
| 2 days | feat: pad code blocks, make the copy link a hover button | Danilo M. | 2 | -16/+131 |
| 2 days | feat: wrap code blocks and offer a copy link on each | Danilo M. | 2 | -6/+151 |
| 5 days | feat: make status messages dismissable | Danilo M. | 2 | -4/+73 |
| 5 days | fix: store per-turn token sums so searched turns price every round | Danilo M. | 3 | -13/+26 |
| 5 days | fix: web search on DeepSeek and other reasoning modelsfeature/external-providers | Danilo M. | 8 | -47/+584 |
| 2026-08-11 | fix: prevent cloud reasoning models from exhausting default max_tokens | Danilo M. | 5 | -8/+118 |
| 2026-08-10 | docs: document external providers, keys and cost | Danilo M. | 3 | -1/+121 |
| 2026-08-10 | feat: show conversation cost and the next send's projection | Danilo M. | 1 | -0/+57 |
| 2026-08-10 | feat: offer model settings on first use of a cloud model | Danilo M. | 1 | -1/+39 |
| 2026-08-10 | feat: list and route models through every configured provider | Danilo M. | 5 | -66/+138 |
| 2026-08-10 | feat: cost label showing spend and the next send's projection | Danilo M. | 2 | -1/+82 |
| 2026-08-10 | feat: dialog for per-model context size, vision and prices | Danilo M. | 2 | -0/+199 |
| 2026-08-10 | feat: fan model listing out across providers and route by id | Danilo M. | 2 | -28/+180 |
| 2026-08-09 | feat: send bearer auth when a provider needs a key | Danilo M. | 2 | -4/+109 |
| 2026-08-09 | docs: name the ceiling in update_message's keep-on-omit convention | Danilo M. | 2 | -2/+14 |
| 2026-08-09 | feat: record token counts and the producing model per message | Danilo M. | 2 | -13/+127 |
| 2026-08-09 | fix: reject non-finite provider prices, and read them as unpriced | Danilo M. | 4 | -11/+273 |
| 2026-08-09 | feat: resolve model metadata in layers and compute cost | Danilo M. | 2 | -0/+270 |
| 2026-08-09 | fix: reject non-finite prices and escape a model named DEFAULT | Danilo M. | 3 | -69/+266 |
| 2026-08-09 | feat: store per-model metadata in models.ini | Danilo M. | 2 | -0/+286 |
| 2026-08-09 | fix: warn when [[providers.local]] discards its fields | Danilo M. | 4 | -5/+125 |
| 2026-08-09 | fix: survive malformed provider config at startup | Danilo M. | 4 | -5/+326 |
| 2026-08-09 | feat: expose the provider table from config | Danilo M. | 2 | -0/+55 |
| 2026-08-09 | docs: stop crediting from None with secret hygiene | Danilo M. | 3 | -14/+14 |
| 2026-08-09 | fix: sharpen key resolution errors, rename KeyResolutionError | Danilo M. | 3 | -43/+257 |
| 2026-08-09 | feat: resolve provider API keys from pass, env or literal | Danilo M. | 2 | -0/+175 |
| 2026-08-09 | fix: skip unusable provider names, name the split ceiling | Danilo M. | 3 | -4/+105 |
| 2026-08-09 | feat: namespace model ids by provider and filter model lists | Danilo M. | 2 | -2/+105 |
| 2026-08-09 | fix: stop a partial [providers.local] from deleting the local provider | Danilo M. | 3 | -10/+70 |
| 2026-08-09 | feat: parse provider definitions from config | Danilo M. | 2 | -0/+148 |
| 2026-08-09 | docs: implementation plan for external cloud providers | Danilo M. | 1 | -0/+2521 |
| 2026-08-09 | docs: name the local provider "local", not "default" | Danilo M. | 1 | -13/+13 |
| 2026-08-09 | docs: spec for external cloud providers | Danilo M. | 1 | -0/+275 |
| 2026-08-01 | chore: release 0.3.0v0.3.0 | Danilo M. | 2 | -7/+44 |
| 2026-08-01 | feat: model-written titles, fix empty replies after search | Danilo M. | 6 | -39/+437 |
| 2026-07-31 | docs: correct the follow-up tool call claim | Danilo M. | 3 | -7/+22 |
| 2026-07-31 | fix: cap searches at one per turn | Danilo M. | 5 | -4/+47 |
| 2026-07-31 | feat: web search via SearXNG | Danilo M. | 9 | -41/+1302 |
| 2026-07-31 | docs: design for web search via SearXNG | Danilo M. | 1 | -0/+243 |
| 2026-07-31 | chore: release 0.2.1v0.2.1 | Danilo M. | 2 | -2/+17 |
| 2026-07-31 | fix: keep reasoning out of the reply body | Danilo M. | 3 | -3/+84 |
| 2026-07-31 | chore: release 0.2.0v0.2.0 | Danilo M. | 2 | -1/+10 |