Releases: ErikBjare/gptme
v0.18.2
These are the release notes for gptme version v0.18.2.
Contributors
Thanks to everyone who contributed to this release:
@brayo-pip, @ErikBjare
Changelog
Changes since v0.18.1:
📦 gptme
✨ Features (1)
- feat: major improvments to evals, can now aggregate eval_results and run rust+browser+git in Docker (passes evals) (
bfd1b25
)
🐛 Fixes (13)
Click to expand
- fix(nit): removed excessive newlines in eval output (
780c8f9
) - fix: improved tabcomplete to work well for paths with '~' (
b4ff00e
) - fix: improved code coverage, removed CMDFIX constant (
5a7c25a
) - fix: fixed typing and remove unused function (
9c88947
) - fix(eval): remove gen/run stdout/stderr file paths from results csv (
9af35be
) - fix(eval): dont use CRLF line endings in csv's (
67ae863
) - fix(eval): strip 'openrouter/' prefix when displaying aggregated results (
77e9922
) - fix: fixed lint (
2461448
) - fix: removed code from CaseResult (
9481c91
) - fix: sort models in eval output, change N/A emoji to questionmark (
ab63900
) - fix: catch exceptions in shell tool (
f42be8f
) - fix: sort eval output (
a2814a3
) - fix: made failed patch messages less verbose (
3a408d3
)
🔨 Misc (5)
- chore: bump version to 0.18.2 (
81708e6
) - tests: update models to provider/model format (#141) (
9060e15
) - docs: add "live" eval result output to docs (
03f8972
) - refactor: moved Dockerfiles into ./scripts (
46340ca
) - tests: fixed browser search (when desc element not found) (
bad47ef
)
(excluded 5 less relevant commits)
Full Changelog: v0.18.1...v0.18.2
v0.18.1
These are the release notes for gptme version v0.18.1.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.18.0:
📦 gptme
🐛 Fixes (1)
- fix: expanduser() in patch tool, output warning suggesting save tool for inefficient patches (
ca2d4e5
)
🔨 Misc (1)
- chore: bump version to 0.18.1 (
b0c2ae3
)
Full Changelog: v0.18.0...v0.18.1
v0.18.0
These are the release notes for gptme version v0.18.0.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.17.0:
📦 gptme
✨ Features (1)
- feat: added better interrupt handling, requiring two interrupts within 1 sec to exit (when not generating response or executing tools) (
7029059
)
🐛 Fixes (16)
Click to expand
- fix: nit to python tool instructions (
94b1aaf
) - fix: refactored cli params, removed special 'ask' value for name (
cbf1d12
) - fix: persist pinned and hide to jsonl, only include files, pinned, etc in toml output if set (
c54c1f2
) - fix: fixed bug in refactor (
43f912e
) - fix: fix resume after refactor (
5d1a761
) - fix: minor fixes, set Console.log_path=False, undo /exit message before exit (
711cab4
) - fix: fixes to cli, improved interrupt, refactored conversation picking to not run when piped, dont run assistant until user message present (project context fix) (
417b319
) - fix: improve rich usage, change calls to use gptme.util.console.{print,input,log} (
8cf53cb
) - fix: improved browser tool search output, if python tool had result then skip stdout in msg (
4aaf202
) - fix: updated system prompt to mention tags (
c686dab
) - fix: limit shell output (
8a62859
) - fix: limited default number of listed conversations to 20 in webui (
84ab220
) - fix: added OpenRouter url when asking for API key (
8728012
) - fix: fix conversation list order in picker, lazily load conversation metadata, add get_user_conversations(), add ?limit= to /api/conversations and use it in webui (
9c53aa0
) - fix: set gptme.version (
abcfec0
) - fix: fixed prompt chaining, added test (fixes #106) (
deac8db
)
🔨 Misc (15)
Click to expand
- chore: bump version to 0.18.0 (
4a7404f
) - refactor: separated cli/interactive stuff from chat() into main() (
9808166
) - docs: added more examples (
da88a5f
) - docs: improved docs config, fixed warnings, build in strict mode in CI (no warning allowed) (
ae45141
) - tests: fixed browser search test (
a106d5c
) - docs(README): added ToC (
e88d426
) - docs: added link to examples from intro (
6d1471e
) - refactor: renamed function to remove 'private' underscore prefix (
a7a5cf6
) - docs: updated README (
5983f5b
) - tests: fixed test (
d0a946b
) - docs: added TODO comment (
8ad35e1
) - docs: minor improved examples (
1158d95
) - docs: improved docs structure (User & Dev guide), improved CLI & API Reference, extracted Prompts as new page, added Examples (
e1b881a
) - format: fixed formatting and typing (
68c2552
) - docs: added external link to docs index/sidebar (
c9bc488
)
(excluded 8 less relevant commits)
Full Changelog: v0.17.0...v0.18.0
v0.17.0
These are the release notes for gptme version v0.17.0.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.16.0:
📦 gptme
✨ Features (1)
🐛 Fixes (23)
Click to expand
- fix: changed warning log to debug (
0c4c186
) - fix: minor eval refactor (improved type names), clarified python tool instructions (
e0c79a4
) - fix: disable tqdm in tests (
77ef4fa
) - fix: reduced number of decimals in eval output (
b216179
) - fix: removed spammy message when not in a git repo (
be3d023
) - fix: futher reliability improvements to evals (
622e574
) - fix: added tqdm progress bar to eval (
cd33e06
) - fix: nitpick (
11f1e7e
) - fix: improved typing in gptme.evals.run (
6d00be7
) - fix: more fixes, speed up list_chats and search_chats by lazily searching chronologically (
8c3cb77
) - fix: more fixes and store eval case results in result directory (
1e23ecb
) - fix: comment out warning for unknown codeblock types, add lru_cache to frequently called get_tool_for_langtag, added wip llm_openai.list_models (
aff213f
) - fix: refactored evals, fixed leaked semaphore warnings, read logs and naively compute tokens from output (
3bbd88b
) - fix: improved system prompt, added system prompt to docs (#123) (
62220b1
) - fix: refactored and improved evals (#122) (
e4eb81c
) - fix: improved eval stream capturing logic (
eecabac
) - fix: improved evals output capturing, don't capture by default if a single test is run, and write streams to results directory (
8e9ad4c
) - fix: process eval run futures in the order they are finished, instead of waiting in order (
5601fae
) - fix: remove the missing datascience packages warning at python tool init (
09f115f
) - fix: add ignorelist for certain known non-executable codeblock langs (
7b82b03
) - fix: lowered logging level for some spammy messages (
9a729af
) - fix: disable placeholder-aware patching if placeholders in original file, improve error message if file not found (
1a1e9fb
) - fix: dont ask for version in bump_version script if already on tag and pyproject updated (
68aae66
)
🔨 Misc (11)
Click to expand
- chore: bump version to 0.17.0 (
3044149
) - tests: fixed test_search_chats test (
56ffb5a
) - docs: updated README (
a837b32
) - tests: added particle effect integration-test example (
5aa7955
) - tests: fixed broken test in CI (
4947265
) - refactor: refactored Message into a frozen dataclass (
8887ca8
) - refactor: moved openai model metadata into seperate file, added make update-models to use gptme to update it (
11221db
) - chore: updated gitignore (
f2b8be1
) - docs: updated README (
ee87599
) - tests: fixed test_eval_cli running on models than intended, and not the tested provider (
d0ab042
) - refactor: refactored eval TypedDict types to dataclasses (
25de7f7
)
(excluded 5 less relevant commits)
Full Changelog: v0.16.0...v0.17.0
v0.16.0
These are the release notes for gptme version v0.16.0.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.15.0:
📦 gptme
✨ Features (7)
- feat: basic support for openai/o1-preview and openai/o1-mini (#117) (
cf13bae
) - feat: added youtube tool (#116) (
ad66992
) - feat: support placeholders in patches (#114) (
2e08a3a
) - feat: added read_chat function to chats tool (#115) (
527ce5a
) - feat: added list_chats to chats tool, and cleaned up/refactored non-ToolSpec-using tools (#110) (
5cb3936
) - feat: added a basic tool to search past conversation logs (#109) (
4e36109
) - feat: added terminal bell to alert the user they have been returned control (
1da7d04
)
🐛 Fixes (13)
Click to expand
- fix: support multiple patches in a single codeblock (#118) (
ae3ea89
) - fix: made eval harness more reliable, using Manager (#119) (
0787f59
) - fix: remove spammy log message when youtube tool not available (
6ab895c
) - fix: extended the patch tool prompt to not strictly forbid placeholders, mention scoping strategies and fallback to save (
7cf2119
) - fix: added ./projects and ./demos to gitignore (
ef7d9fd
) - fix: change error on unknown codeblock langtags into warning, dont warn on empty langtag (
481ab38
) - fix: minor improvements to --help output, updated --help example output in README (
78f461c
) - fix: fixed excessive whitespace in patch example prompt (
f0818c3
) - fix: fixed formatting in tools/base.py (
e3987bd
) - fix: added gptme/server/init.py (
02a3ecf
) - fix: improved how ToolUse examples are formatted (
1e6574f
) - fix: fixed bug in how examples were generated for patch tool (
c8489ec
) - fix: dont crash on unknown shell syntax (
dd6fff7
)
🔨 Misc (5)
- chore: bump version to 0.16.0 (
d7f170c
) - tests: bumped short token allowed token length (
0208e76
) - refactor: refactor tools, codeblock, and tooluse (#113) (
0cad5ca
) - tests: added minimal tests for chats tool (
d079af4
) - format: formatted codebase (
740f132
)
(excluded 3 less relevant commits)
Full Changelog: v0.15.0...v0.16.0
v0.15.0
These are the release notes for gptme version v0.15.0.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.14.2:
📦 gptme
✨ Features (4)
- feat: added
screenshot_url
function to browser tool (9cd3850
) - feat(bot): support non-change questions/answers (
de9844d
) - feat: added special prompting for --non-interactive (
9d912c3
) - feat(github-action): use Docker for gptme execution (
97f8724
)
🐛 Fixes (11)
Click to expand
- fix: minor improvement to patch tool prompt (
722b2c4
) - fix: fixed bug with extra 'Skipped hidden system messages' lines from workspace prompt (
5937cb7
) - fix(anthropic): fixed vision and other issues with preparing messages (
b9b8455
) - fix: don't include paths for slash-command arguments, dont inlude workspace prompt on resume (
4900d19
) - fix: catch rich.print() errors and fall back to builtins.print() when printing messages (
8698bef
) - fix: fixed bug checking for browser tool when not available (
f86569d
) - fix: set session size for tmux tool, fixed wrong tmux examples (terminal instead of tmux) (
1ef4587
) - fix: changed tabulate tablefmt in eval output (
4251854
) - fix: fixed docker workspace permissions in bot action (
aee7f95
) - fix: switch from timeout-minutes to using
timeout
command in bot action step (fa23c66
) - fix: add 'shell' to shell tool's block_types (
d2c4879
)
🔨 Misc (9)
Click to expand
- chore: bump version to 0.15.0 (
01c4812
) - docs: added TODO comment in python tool about which venv the repl should ideally run in (
0d8eb85
) - docs: fixed bad reference (
780b3c8
) - refactor(eval): refactored gptme.eval module, splitting gptme.eval.evals into gptme.eval.suites.{basic, init-project, browser} (
bfe5e1b
) - docs: removed Inputs section from bot.md (
e18dcb1
) - docs: renamed webui.rst to server.rst, added bot.md to index and updated instructions (
18b7268
) - docs: added example of eval run output (
c1987fa
) - tests: fixed blinking test (
c6953b3
) - tests: clarified that we're testing so that it doesnt try to show runnable examples (
8514bd3
)
(excluded 20 less relevant commits)
Full Changelog: v0.14.2...v0.15.0
v0.14.2
These are the release notes for gptme version v0.14.2.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.14.1:
📦 gptme
🐛 Fixes (4)
- fix(eval): fixed bug when writing timeout results, improved gptme-eval defaults (only 3 models + 5 evals) (
707d98c
) - fix: fixed log selector not opening when running plainly as
gptme
(5a0c2aa
) - fix: removed spammy output in docs/conf.py (
f3c02f6
) - fix: remove excessive context files in gptme.toml (
ac31e48
)
🔨 Misc (2)
(excluded 3 less relevant commits)
Full Changelog: v0.14.1...v0.14.2
v0.14.1
These are the release notes for gptme version v0.14.1.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.14.0:
📦 gptme
✨ Features (3)
- feat: add magic
@log
workspace for./logdir/workspace
, use it for evals (9b9d942
) - feat: added --workspace option, added project-level gptme.toml config file support (incl files to include in context by default) (
d914810
) - feat: added -r/--resume flag to resume last convo (
6a58900
)
🐛 Fixes (8)
Click to expand
- fix: hide project context message (
07838d6
) - fix: fix tool init order, ensuring registered functions are included in prompt (
3732df1
) - fix: fixed type error (
0b438e1
) - fix(eval): misc improvements to evals, including reading results files (
e30bd08
) - fix: made several slow imports and top-level calls lazy (#97) (
3ddaeae
) - fix(eval): cleanup evals' children processes using process group, added more evals init-react, init-rust, whois-superuserlabs-ceo (
56062ce
) - fix: added back execution of ```python blocks (
b47937a
) - fix: fixed openrouter provider, added Referer/X-Title header for openrouter requests (
c50bfda
)
🔨 Misc (4)
- chore: bump version to 0.14.1 (
0d16ea4
) - tests: loosened short prompt token limit (
789d788
) - chore: cleaned up useless stuff (
aacfb93
) - docs: added basic docs for evals (
5a0c47e
)
(excluded 2 less relevant commits)
Full Changelog: v0.14.0...v0.14.1
v0.14.0
These are the release notes for gptme version v0.14.0.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.13.2:
📦 gptme
✨ Features (2)
🐛 Fixes (25)
Click to expand
- fix: improved test flakiness (
0758c4d
) - fix: check if gitignore exists (
d664f4b
) - fix: moved vue@create example into bash tool (dont try to do it interactively) (
5ed36eb
) - fix: switch to ```ipython syntax for executing with python tool, to differentiate from code samples (see #67) (
42ee56a
) - fix: changed save format to be more explicit (
68077b6
) - fix: removed spammy warning (
90aa4a6
) - fix: removed use of NotRequired for TypedDict (not in Python 3.10) (
cfce130
) - fix: use anthropic api max_retries instead of custom retry_anthropic decorator (
008f58c
) - fix: added retry_anthropic decorator for rate limits (
d37d7fb
) - fix: fixed to evals, capture eval output on timeout/terminate (
cd0862a
) - fix: fixed spammy prints (
855a46b
) - fix: clarified return format for subagent (
e5e2a9a
) - fix: fixed bug in transform_examples_to_chat_directives (
2997aa4
) - fix: print logs dir with --version command (
1ca6127
) - fix: enabled stricter linting and fixed lints (apparently needed given a25aa7d) (
bf67b32
) - fix: fixed nasty bug with mutable argument default (
a25aa7d
) - fix: switch recommended openai model to gpt-4o (
b3582ac
) - fix: moved len_tokens and msgs2dicts from util.py to message.py (
94bade3
) - fix: support nested codeblocks, rewrote/refactored codeblock parsing/management (
3e291a4
) - fix: fixed incorrect storage format for
Message.to_dict
(07f1cbb
) - fix: added preliminary nested codeblock support (
885e544
) - fix: added openai vision support (
6bbec93
) - fix: completed basic vision support (
f184607
) - fix: correct extremely short 'Thinking...' message, now wait until first character (
b25e576
) - fix: typing for subagent tool, added --check-untypes-defs to mypy (
d94a71e
)
🔨 Misc (20)
Click to expand
- chore: bumped version to v0.14.0 (
d4c55b6
) - refactor: renamed terminal tool to tmux (
79355bc
) - tests: increase max tokens for full system prompt significantly (
c785cfe
) - tests: made test_subprocess less flaky (
3423474
) - tests: added difficult but reasonably simple integration test example (create vite project, build simple app) (
57b6feb
) - docs(README): minor improvements (
c43cc8a
) - docs(README): misc minor improvements (
c705c80
) - tests: removed uninteresting examples from test-integration.sh (
18c1afa
) - docs: added links to top of README (
b15d686
) - docs(README): added mention that vision works, 'GPTMe' -> 'gptme' for title, mention OpenRouter support (
4e39f63
) - tests: run both eval tests (cli and direct call) for better coverage somehow (
859efbe
) - tests: fixed tests failing due to new file (
706f13c
) - refactor: refactored provider-specific code into new files llm_openai.py and llm_anthropic.py (
eec8215
) - tests: fix coverage for eval tests (multiprocessing workaround) (
9ef1ec4
) - tests: added test_eval_cli and cleaned up eval code (
c0e5c87
) - tests: basic test for evals (
770ed2c
) - tests: fix --version test (
4ca5078
) - tests: remove ambiguity in subagent fib test prompt (
fe063ec
) - tests: added test for vision (
a740194
) - refactor: moved eval code into
gptme.eval
, addedgptme-eval
entrypoint, fixed typing (8a1bb09
)
(excluded 14 less relevant commits)
Full Changelog: v0.13.2...v0.14.0
v0.13.2
These are the release notes for gptme version v0.13.2.
Contributors
Thanks to everyone who contributed to this release:
Changelog
Changes since v0.13.1:
📦 gptme
✨ Features (1)
- feat: major eval revamp, openrouter support, removed
--llm
in favor of--model <provider>/<model>
(6fa8016
)
🐛 Fixes (1)
- fix: fixed server test (
5e5b1a4
)
🔨 Misc (3)
- chore: bump version to 0.13.2 (
6c78fe7
) - docs: center title and badges, split badge line into 3 lines (
80abce0
) - docs: added Discord and HN links to README (
746c733
)
(excluded 2 less relevant commits)
Full Changelog: v0.13.1...v0.13.2