Release · gptme · gptme

gptme v0.31.0

What's new in gptme v0.31.0, released Dec 15, 2025 (). Newer: v0.36.0 (Nov 2, 2026)

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

…