Skip to content

Releases: ErikBjare/gptme

v0.25.0

20 Dec 12:08
v0.25.0
Compare
Choose a tag to compare

These are the release notes for gptme version v0.25.0.

Summary

This release brings major improvements to the user experience with a new prompt_toolkit-based interface (better completion and highlighting), support for OpenAI/Anthropic tools APIs, and significant cost & performance improvements for Anthropic through better prompt caching. The release also includes improved path handling, workspace context, heredoc support, and numerous UX improvements and bug fixes.

Contributors

Thanks to everyone who contributed to this release:

@jrmi, @bjsi, @0xbrayo, @ErikBjare

Changelog

Changes since v0.24.1:

📦 gptme

✨ Features (8)

  • feat: support auto n to skip n confirmations (#346) (7d2e9e7b)
  • feat: migrate readline to prompt_toolkit, with many features and fixes (#244) (61ca0a24)
  • feat(llm): add model metadata for Deepseek, Groq, and XAI (d2109fef)
  • feat: simplify rag tool by simply calling gptme-rag via subprocess (#316) (87571086)
  • feat(anthropic): improve prompt caching and type safety (#317) (a2f06df8)
  • feat: started working on always-fresh context message (#281) (01d80524)
  • feat: support for OpenAI/Anthropic tools APIs (#300) (d83f7238)
  • feat: output costs for request and session (#293) (063624fe)

🐛 Fixes (34)

Click to expand

  • fix: return instructions to correctly playwright install if browser binaries unavailable (#358) (ebf56754)
  • fix: dont log costs by default (f65e75e6)
  • fix: stream and capture ipython output (#357) (ef424bed)
  • fix: removed spammy debug-logging message (99912f3c)
  • fix: properly handle piped input in prompts (#354) (f8321834)
  • fix: support piping stdin into gptme -r (resume) (#344) (621ffd80)
  • fix: move playwright to thread to avoid event loop conflicts (#353) (803d6e51)
  • fix: migrated to latest anthropic version v0.42 (prompt caching now stable) (#352) (0ecf0459)
  • fix: fix reading stdin after prompt-toolkit migration (#337) (b3974c15)
  • fix: fix log output during input, fix directory completion (#338) (e3874aa4)
  • fix: remove prompting to avoid the now-supported EOF/HereDoc (3950a6e7)
  • fix: support heredoc/EOF syntax in shell tool (#335) (6a1246f5)
  • fix: improved path detection in prompts, now works with more adjacent punctuation types (#333) (8e8f28ea)
  • fix: use full paths to files in workspace context prompt (#330) (a61aa284)
  • fix: fixed incorrectly always using gpt-4 model metadata when reducing (2343ab67)
  • fix: when patch failed due to bad path, include pwd in message for fast recovery (202869e6)
  • fix(llm): transform message content for Groq provider (84c83166)
  • fix: better prompt caching & less debug logging (#323) (fae65ca4)
  • fix: better anthropic cost logging (#321) (283e8b0f)
  • fix: better error output when loading locked conversation (#319) (2264cf10)
  • fix: further anthropic caching improvements (#318) (65efc3e0)
  • fix: fixed regression in syntax highlighting for saves after refactor (a40f5387)
  • fix: added conversation lock file management in LogManager (#295) (7255f255)
  • fix: improvements after execute_with_confirmation refactor (#311) (23f81cf8)
  • fix: set TOKENIZERS_PARALLELISM env var to false to get rid of warning (75b298be)
  • fix: clarify return prompt for subagent tool (29bcc473)
  • fix: skip loading subagent tool by default (37ae9c19)
  • fix(prompts): minor fixes and improvements to prompts (10108a10)
  • fix: fixed Dockerfile for computer use (9bf733a5)
  • fix: include mention of user-edited save/patch/command in system response (93e126ac)
  • fix: make the --help text for --model always use recommended models (2c872f36)
  • fix: handle exceptions if readline history fails to write (c60eb883)
  • fix: prevent command execution from triggering unnecessary response generation (7f66dbff)
  • fix: incorrect response_preference key in config (748be0b6)

🔨 Misc (26)

Click to expand

  • chore: bump version to 0.25.0 (c3edcbf9)
  • refactor: make /tokens command use log_costs function (1fd407c1)
  • docs: improved docs for playwright install, added instructions for lynx browser backend (a9bd44fa)
  • docs: list api key env variables uniformly for all providers (d598ff36)
  • perf: optimize token counting with caching and explicit model param (#325) (c05f9c69)
  • docs(providers): simplify provider docs and update API key config (c86b47cf)
  • refactor: refactored how tools are loaded, to enable loading external tools (#313) (c0eb21fa)
  • refactor: moved more core files to util module (#312) (0ee07cf6)
  • docs: moved usage rubrics from example.rst to usage.rst (4ff383aa)
  • test: disable generate primes test for gpt-4o-mini (unreliable) (696e722c)
  • test: disable subagent test for gpt-4o-mini (unreliable) (b34cee08)
  • docs: added alternatives.rst to docs index (83736d6e)
  • docs: renamed comparison.rst to alternatives.rst, reorganized it (9744d36b)
  • docs: added basic comparison docs page (fb148333)
  • refactor(tools): introduce execute_with_confirmation helper (df5c9d6e)
  • refactor: Move utility functions into dedicated modules, make tool content editable (d01b943d)
  • docs(gh-bot): fix uses: for example workflow in non-gptme repos (4d4c2b44)
  • docs: add quotes for [extras] in pi...
Read more

v0.24.1

29 Nov 11:53
v0.24.1
Compare
Choose a tag to compare

These are the release notes for gptme version v0.24.1.

Contributors

Thanks to everyone who contributed to this release:

@ErikBjare

Changelog

Changes since v0.24.0:

📦 gptme

✨ Features (1)

🐛 Fixes (4)

  • fix(vim): improved window configuration (e59cc06)
  • fix: deepseek provider and gptme-eval docker improvements (#270) (591b5be)
  • fix: model provider handling and vision support metadata (#269) (7a797cf)
  • fix: remove o1 streaming restriction (7fd6ad5)

🔨 Misc (15)

Click to expand

  • chore: bump version to 0.24.1 (5ec053f)
  • docs: added gptme.vim to projects (e3afcfd)
  • refactor: moved vim plugin into its own repo ErikBjare/gptme.vim (190fcd7)
  • docs(server): mention how to install server extras (cb561d6)
  • docs: move detailed usage to separate page (e8ec1c8)
  • docs: improve examples documentation (13e3b95)
  • docs: move automation document under examples (c2b904f)
  • docs: add projects page, more examples and 'powered by gptme' badge (602155e)
  • docs(examples): added more examples (e69551f)
  • docs: added links to changelog (releases) and X, improved examples (use of git status -vv) (37ab6b4)
  • docs(README): changed twitter/x badge to point to @gptmeorg (906bc96)
  • chore: added htmlcov to gitignore (cfd7cdf)
  • test: fixed readline completions test (bc79656)
  • docs(README): moved agent feature to done features, link to gptme-agent-template (e17ef36)
  • refactor(rag): improve RAG manager implementation (#268) (63e8d04)

(excluded 7 less relevant commits)

Full Changelog: v0.24.0...v0.24.1

v0.24.0

22 Nov 14:32
v0.24.0
990965f
Compare
Choose a tag to compare

These are the release notes for gptme version v0.24.0.

Summary

🌟 New Features

  • Added RAG (Retrieval-Augmented Generation) support for context-aware assistance (#258)
  • Added gptme-util CLI with tools and chats management commands (#261, #265)
  • Added current date & time to system prompt for better temporal awareness

🔧 Improvements & Fixes

  • Fixed patch tool to support line removal (#267)
  • Fixed path handling in patch and save tools
  • Fixed save diff preview for paths starting with ~/
  • Set PAGER and GH_PAGER in shell tool
  • Added wait-for-ci example to gh tool

🏗️ Refactoring & Developer Experience

  • Grouped all provider/model logic into llm directory (#254)
  • Simplified RAG configuration and initialization (#266)
  • Improved test coverage for patch tool
  • Added verbose logging and tools call command
  • Improved Docker build configuration
  • Added pylint duplicate-code checks

Contributors

Thanks to everyone who contributed to this release:

@ErikBjare, @jrmi

Changelog

Changes since v0.23.0:

📦 gptme

✨ Features (5)

  • feat(cli): print return values from tool function calls (c1f4c00)
  • feat(utils): add verbose logging and tools call command to gptme-util (#265) (b3955d5)
  • feat: begin work on RAG, refactoring, improved docs and tests (#258) (950c397)
  • feat: implement gptme-util CLI for utilities (#261) (128676c)
  • feat: added current date & time to system prompt (faaec3a)

🐛 Fixes (5)

  • fix: support line removal in patch tool (#267) (7c51573)
  • fix: enforce full path usage in patch tool (2ade667)
  • fix(save): fix save diff preview when path starts with ~/ (0fbafd0)
  • fix: set PAGER and GH_PAGER in shell tool, add wait-for-ci example to gh tool (e4ce6c8)
  • fix: mention paths being relative to working dir in prompt for save tool (41594c5)

🔨 Misc (8)

Click to expand

  • chore: bump version to 0.24.0 (990965f)
  • test(patch): improve test coverage for patch tool (e1e2943)
  • test(patch): improve empty patch test (a660512)
  • refactor(rag): simplify configuration and initialization (#266) (84e5ab6)
  • refactor: group all provider/model related logic into llm directory (#254) (ac3c173)
  • docs(README): added links to issues for agents and Bob (ebd700b)
  • chore: moved mypy options into pyproject.toml (ba2009a)
  • docs: moved a couple 'in progress' features to the completed features section (e9a0022)

(excluded 2 less relevant commits)

Full Changelog: v0.23.0...v0.24.0

v0.23.0

14 Nov 13:42
v0.23.0
9010fed
Compare
Choose a tag to compare

These are the release notes for gptme version v0.23.0.

Summary

  • UX improvements
    • New c option in confirmation prompt to copy to clipboard
    • New auto option in confirmation prompt (effectively the same as --no-confirm).
  • Server API now supports streaming & interruptions in the new fancy web UI at https://gptme.gptengineer.run/
  • Computer use improvements
  • gptme.vim plugin

Contributors

Thanks to everyone who contributed to this release:

@brayo-pip, @ErikBjare, @jrmi

Changelog

Changes since v0.22.0:

📦 gptme

✨ Features (6)

  • feat: improved ask_execute options interface, now supporting '?' and 'auto' (66c977c)
  • feat: copy to clipboard (#234) (7ad4c94)
  • feat(server): support interrupting stream, support slash commands (#248) (c1d136f)
  • feat: added support for streaming in API (#247) (7b62201)
  • feat: added --cors-origin cli param to gptme-server (a7190ed)
  • feat: implemented gptme.vim plugin (#241) (a04ee05)

🐛 Fixes (11)

Click to expand

  • fix: prompt to reinforce correct placement of filename parameter in patch tool (#252) (01541af)
  • fix: trigger tool detection only on complete lines, for performance and to fix nested codeblocks in tooluse (#251) (5a228d4)
  • fix: fixed prompt for python tool (64f9491)
  • fix: fixes to computer use (1de06c6)
  • fix: switch to new Claude 3.5 models in evals, improve detection of results folders (6aec231)
  • fix: switch to duckduckgo as default search engine with lynx browser (#237) (ce7afb8)
  • fix: fixed running evals in docker (5ac3914)
  • fix: added metadata for new haiku model (8564756)
  • fix: fix including files specified in gptme.toml (381dbc8)
  • fix: updated READMEs about gptme.vim (f7913bb)
  • fix: removed debug logging in gptme.vim (25c998c)

🔨 Misc (12)

Click to expand

  • chore: bump version to 0.23.0 (9010fed)
  • chore: committed caches for contributor info used in changelog generation (9dee554)
  • docs: improved server/computer use docs (501008a)
  • refactor: move get_workspace_prompt into prompts.py, add TODO comments (639e4cb)
  • docs: updated gptme --help output, fix command ordering (da90e33)
  • docs: minor improvements to server docs (f6589de)
  • docs: updated server docs with better structure and mention of gptme-webui (c32f64d)
  • docs(README): moved the use cases section above the developer/in-progress sections (0c0163d)
  • docs(README): rewrote use cases section (a517d8f)
  • docs: add link to SWE-Bench PR (970fc47)
  • docs: improved arewetiny intro text (3f5aa84)
  • docs: fixed gptme.vim docs (9ca2e08)

(excluded 3 less relevant commits)

Full Changelog: v0.22.0...v0.23.0

v0.22.0

01 Nov 15:18
v0.22.0
cdd8c6b
Compare
Choose a tag to compare

These are the release notes for gptme version v0.22.0.

Contributors

Thanks to everyone who contributed to this release:

@ErikBjare

Changelog

Changes since v0.21.0:

📦 gptme

✨ Features (5)

  • feat: implement anthropic-style computer tool (#225) (175167e)
  • feat: added /export comment to export self-contained HTML file built from webui (#235) (0ca914f)
  • feat: add platform info to the system prompt (#171) (0288d33)
  • feat: added lynx browser support (#214) (2cd9ffb)
  • feat: added deepseek support (#180) (949eaee)

🐛 Fixes (11)

Click to expand

  • fix: correct Linux distro version in systeminfo prompt (#239) (3221145)
  • fix: informative message for agent when permission isn't granted (#223) (5ee0f2f)
  • fix: fixed version looking up old package name (f8c296f)
  • fix: set <title> in export and make sure /export command doesn't get saved to log (2a5576a)
  • fix: improved chat picker (now uses full-width of terminal) (32db19d)
  • fix: add cli-provided prompts to readline history (ffaa109)
  • fix: improved reliability of llm.generate_name() (b931103)
  • fix: include conversation name in exported chat log (abc4928)
  • fix: changed all Message-generator tools to simply print/return value instead (fixes #186, fixes #187) (3dcef9f)
  • fix: fixed support for groq (and deepseek?) (#231) (cea30cf)
  • fix: fixed screenshot() not running if generator not consumed (such as when not last statement in codeblock) (65bdb8a)

🔨 Misc (8)

Click to expand

  • chore: bump version to 0.22.0 (cdd8c6b)
  • docs: removed bad computer use example (66898b2)
  • tests: fixed blinking test due to changed working dir (40d1a5d)
  • docs: add installing from source instructions to contributing guide (#236) (4665f49)
  • format: s/whitelist/allowlist (e77cd4e)
  • docs: add mention of configuration file on providers page (16f8254)
  • docs: fixed incorrect local/ollama/... provider prefix (3eb6f8f)
  • docs: improved note about outdated demos (cdce637)

(excluded 2 less relevant commits)

Full Changelog: v0.21.0...v0.22.0

v0.21.0

25 Oct 10:17
v0.21.0
852e6f4
Compare
Choose a tag to compare

These are the release notes for gptme version v0.21.0.

Contributors

Thanks to everyone who contributed to this release:

@brayo-pip, @ErikBjare

Changelog

Changes since v0.20.0:

📦 gptme

✨ Features (4)

  • feat: added support for groq provider (4299cd0)
  • feat:whitelist some commands (7f1ba2b)
  • feat: added support for xAI/grok (d7cebba)
  • feat: started working on ncurses ui (d3413ea)

🐛 Fixes (19)

Click to expand

  • fix: added 'head' to allowlisted commands in shell tool (7cc752f)
  • fix: compile cmd_regex (#222) (623a52d)
  • fix: print used model on startup (6cf4001)
  • fix: better error if attempting to run on Windows, refactor readline stuff (#221) (bd8b746)
  • fix: update to use latest Sonnet model by default, improve typing (6e70168)
  • fix: dont catch interrupts until conversation has begun (2be45a8)
  • fix: added ncgptme and gptme-nc script entrypoints for ncurses tui (7b19b76)
  • fix: fixed typing in ncurses.py (f018c6c)
  • fix: improved shell tool preview format (756e420)
  • fix: change OPENAI_API_BASE to OPENAI_BASE_URL (30e3f01)
  • fix: ensure subagent logdir unique (f735111)
  • fix: changed subagent tool param order and example (2bdb48f)
  • fix: fixed display bug in confirm prompt (b9f8cd8)
  • fix: fixed bug where user prompt not included in request (53d160e)
  • fix: fixed prompt_user returning empty string when interrupted (440aedb)
  • fix: fixed leftover call to ask_execute instead of confirm func (b7d2a3f)
  • fix: fixed incorrectly asking for confirmation when impersonating (9498343)
  • fix: more fixes/improvements to treeofthoughts.py (d54df51)
  • fix: re-raise tool use errors in tests (0ada191)

🔨 Misc (14)

Click to expand

  • chore: bump version to 0.21.0 (852e6f4)
  • docs: added more WIP features to README (2d8b602)
  • docs: added note about Windows support (b8ce040)
  • docs: added docstring to ncurses.py (5bb0024)
  • docs: add note about limitations of small local models, convert page to rst (f521c71)
  • format: fixed lints (ff2277c)
  • refactor: refactor ncurses.py and add --no-color cli argument (942996c)
  • docs: added basic docs for configuration files (fixes #173) (acd0cee)
  • docs(README): removed old ToC link (5801bbf)
  • docs: fixed docs building after refactor (52eaed9)
  • refactor: refactor how confirmation works, enabling LLM-guided confirmation and simplifying confirmation support in server (b843e88)
  • refactor: work on programmatic interface, refactored LogManager into mutable manager and immutable Log dataclass, added wip treeofthought script (d421cc8)
  • format: fixed formatting after pre-commit setup (4ee9761)
  • docs: fixed incorrect OPENAI_API_BASE url (732c5b8)

(excluded 4 less relevant commits)

Full Changelog: v0.20.0...v0.21.0

v0.20.0

10 Oct 11:34
v0.20.0
5d0b138
Compare
Choose a tag to compare

These are the release notes for gptme version v0.20.0.

Contributors

Thanks to everyone who contributed to this release:

@ErikBjare

Changelog

Changes since v0.19.2:

📦 gptme

✨ Features (1)

  • feat: updated webui style, with sidebar (bd44e5c)

🐛 Fixes (10)

Click to expand

  • fix: use importlib.util.find_spec instead of attempting costly imports at startup, reducing startup time by ~1s (7b75520)
  • fix(webui): put <thinking> tags into <details>, minor style improvements (04b3109)
  • fix(webui): switch to marked over showdown, improved styling and misc fixes (0a868ba)
  • fix: catch exceptions when executing tools (9560660)
  • fix: handle bad patches better (771734c)
  • fix: limit image size, fixes exception for large images (fixes #185) (#188) (45cfbac)
  • fix: fixed incorrectly nested string in f-string (4aa3f2d)
  • fix: made shell tool more strict, now requires exact 'shell' langtag to run (578adcc)
  • fix: use stdout/stderr as langtags in shell output, instead of as headings (c102806)
  • fix: log warning if allowlisted tool could not be found (f1864c7)

🔨 Misc (9)

Click to expand

  • chore: bump version to 0.20.0 (5d0b138)
  • docs: added startup time to 'Are we tiny?' page (cde7937)
  • refactor: extracted js part of webui into seperate file (919fe93)
  • docs: improved styling of demos (018e6ff)
  • docs: more use of rubric::, use sphinxcontrib.asciinema to embed player (fdfc658)
  • docs: improved getting started, tool docs, and docstrings (5c827eb)
  • docs: updated docs for running with ollama (litellm no longer needed) (f258602)
  • docs: updated docs for running locally with ollama/litellm (fa59310)
  • improve: enhance API key setup UX and error handling (7231aa9)

Full Changelog: v0.19.2...v0.20.0

v0.19.2

07 Oct 06:37
v0.19.2
cea928e
Compare
Choose a tag to compare

These are the release notes for gptme version v0.19.2.

Contributors

Thanks to everyone who contributed to this release:

@ErikBjare

Changelog

Changes since v0.19.1:

📦 gptme

🐛 Fixes (3)

  • fix: catch exception if history file fails to load for any reason (d832c9c)
  • fix: change openrouter default model to llama-3.1-405b-instruct (fcf69f5)
  • fix: openrouter wasn't picked up as default provider when apikey present (fixes #157) (a8dc5fd)

🔨 Misc (5)

  • chore: bump version to 0.19.2 (cea928e)
  • refactor: extracted chat and step from cli.py into new chat.py (#158) (5081c89)
  • docs(README): change pypi/pepy badges/links to use new gptme package (1a7e4ef)
  • docs(README): fix pepy.tech badge links, until the new package name doesn't 404 (8f7d272)
  • docs(README): fixed logo in PyPI readme by using full URL (cced9cc)

Full Changelog: v0.19.1...v0.19.2

v0.19.1

05 Oct 15:36
v0.19.1
eb1c17f
Compare
Choose a tag to compare

These are the release notes for gptme version v0.19.1.

Contributors

Thanks to everyone who contributed to this release:

@cshintov, @ErikBjare

Changelog

Changes since v0.19.0:

📦 gptme

✨ Features (1)

  • feat: added diff previews for save tool (9694fad)

🐛 Fixes (4)

  • fix: fixed typing (21c550c)
  • fix: hopefully fix flaky test (8a99808)
  • fix: shorten output paths by replacing home path with tilde (5d66fda)
  • fix: fixed vision issues for .jpg files and when resuming convo (548634d)

🔨 Misc (14)

Click to expand

  • chore: bump version to 0.19.1 (eb1c17f)
  • chore: changed PyPI name from gptme-python to gptme (fixes #148) (354d0c2)
  • refactor: moved ./static into ./gptme/server/static (b47a7bc)
  • docs: add local provider in provider examples (#149) (f54514b)
  • refactor: moved ./train into ./scripts (cab7a76)
  • docs: move CONTRIBUTING.md to page in docs (ea4f30a)
  • docs: moved timeline links in README into docs (69b2dea)
  • docs(README): center align intro text (945b5ce)
  • docs(README): improved intro text (50a45d1)
  • docs: fixed relative link in README (broken on site) (174eda5)
  • docs: fixed link replacement in site generation (afbb754)
  • docs: fixed the site style a bit (6339e2d)
  • docs: improved site generation from README.md through better use of pandoc styling and templating (2c41b63)
  • docs(README): updated vision as complete (c3330ac)

(excluded 3 less relevant commits)

Full Changelog: v0.19.0...v0.19.1

v0.19.0

02 Oct 17:44
v0.19.0
Compare
Choose a tag to compare

These are the release notes for gptme version v0.19.0.

Contributors

Thanks to everyone who contributed to this release:

@ErikBjare

Changelog

Changes since v0.18.2:

📦 gptme

✨ Features (3)

  • feat: added screenshot tool (#92) (f4c63c2)
  • feat: added vision tool (597c66c)
  • feat: added -t/--tools option to specify which tools to load (48d559b)

🐛 Fixes (13)

Click to expand

  • fix: fixed lint (a3bcf49)
  • fix: removed incorrect calls to register_function, removed dead code (a4fa62e)
  • fix: more patch tool refactor (9627b73)
  • fix: removed emoji from ask_execute, added secret auto answer in ask_execute (5eddc6a)
  • fix: added patch previews (dd7be0d)
  • fix: completed diff_minimal (df9d83c)
  • fix: flush stdin before asking to execute (prevent unread input from answering before asked) (6ab4dbe)
  • fix: implemented example_to_xml to support xml-ify prompt (#146) (5f37d10)
  • fix: init tools in evals (44e76ff)
  • fix: improved patch warning message on large patches (5e635b6)
  • fix: froze more dataclasses (953f801)
  • fix: improve tool init logic for tools needing it (python), added toolspec args docs (f8e5cd6)
  • fix: use prompt chaining in subagent task to improve reliability (0dd6583)

🔨 Misc (8)

Click to expand

  • chore: bump version to 0.19.0 (bbe3586)
  • docs: remove completed TODOs (337b025)
  • refactor: refactor patch tool, with plans for producing minimal diffs to replace inefficient diffs in log (e2b2d6a)
  • docs: fixed docstring for gptme.prompts (027cb06)
  • docs: keep copyright year up-to-date (1ac4aee)
  • docs: fixed automation docs (a70b5b5)
  • docs: changed erik.bjareholt.com/gptme/ links to gptme.org/ (52baf5b)
  • docs: added minimal automation docs (#144) (3902b86)

(excluded 2 less relevant commits)

Full Changelog: v0.18.2...v0.19.0