Release notes
gptme v0.31.0
These are the release notes for gptme version v0.31.0.
Contributors
Thanks to everyone who contributed to this release:
@0xbrayo, @erikbjare, @nikongo, @TimeToBuildBob
Changelog
Changes since v0.29.0:
📦 gptme
✨ Features (51)
- feat(lessons): auto-discover lessons from plugins (#944) (
ab531ad20) - feat(message): add MessageMetadata TypedDict for token/cost tracking (#943) (
684bbb6ff) - feat(cost): implement cost_awareness hook for session cost tracking (#939) (
ed409cb26) - feat(telemetry): improve trace quality with context propagation and rich metrics (#942) (
5be5a39d4) - feat(shell): add background job support for long-running commands (#902) (
c48bf9bd7) - feat(setup): validate API keys before saving (Issue #930) (#931) (
bf1bc716b) - feat(lessons): add caching and deduplication to lesson index (#928) (
3fdbf4186) - feat(hooks): add form auto-detection hook (Issue #591) (#919) (
40dc68f45) - feat(logmanager): add content-addressable file storage (Issue #150) (#913) (
86febf7de) - feat(tools): add form tool for structured user input (Issue #591) (#911) (
92c475a47) - feat: add Docker container for GitHub bot (Issue #305) (#905) (
ec1204fa9) - feat(tmux): add wait command to monitor long-running commands (#901) (
0ee75e544) - feat(prompt): add multi-line input support (#899) (
558ee3b5f) - feat(autocompact): add Phase 3 extractive compression for long messages (#886) (
cca057c63) - feat: add diagnostic logging to shell tool for Issue #408 (#890) (
750009193) - feat: support GPTME_TTS_SPEED and set exclude-newer for tts_server.py script to fix issues (
eed3a987c) - feat(llm): add constrained decoding support (#776) (
94621288d) - feat: add Cursor .mdc rules support (Issue #686 Phase 5) (#882) (
59723c493) - feat: Enhanced plugin management with smart src/ layout discovery (#873) (
0ccdfbe44) - feat: add compression analysis utilities and script (#864) (
fd3d8edc2) - feat(eval): GEPA Week 3 - HybridOptimizer with adaptive multi-stage optimization (#859) (
58cce70f8) - feat(context): implement hooks-based context compression architecture (#844) (
20435f324) - feat(context): implement Phase 3.1.1 core infrastructure (#860) (
b898c8550) - feat: implement active context discovery (#856) (
990fdca36) - feat: add restart tool (#853) (
418532ea8) - feat(context): Phase 1 - Core Context Selector Infrastructure (#831) (
71416f6ca) - feat: convert default model and hook registry to ContextVar for thread safety (#848) (
5a1ac7b95) - feat(plugins): implement Phase 3 command integration (#846) (
c7304c43b) - feat(plugins): implement Phase 2 hook integration (#845) (
e86fe8e08) - feat(plugins): implement Phase 1 plugin infrastructure (#843) (
fe8b355cc) - feat(server): add API v2 client for programmatic interaction (#841) (
dfd9f74f1) - feat: auto-enable complete tool in non-interactive mode and support multiple -t flags (#836) (
a5ccb6cd0) - feat(gepa): Phase 2 test set expansion - 7 more tasks (#833) (
7bbce0671) - feat(gepa): implement Phase 1 test set expansion (12 new tasks) (#832) (
68bd60cfc) - feat: support OPENROUTER_API_KEY for perplexity (#828) (
658c4450a) - feat(validation): add MESSAGE_POST_PROCESS hook for markdown codeblock cut-off detection (#824) (
ed01e1cb4) - feat: add support for gptme.local.toml configuration layering (#617) (
3dfcc9e5c) - feat(gepa): add PromptImprovementModule to fix InputField architecture issue (#823
…