Interesting new gptel v0.9.8 features and commits since v0.9.7

The latest version of gptel has some cool features and refinements! See Version v0.9.8 Latest.

Watching gptel get developed is a MASTER CLASS in software development! Observe the constant consideration and addition of user facing features, refinement the existing code, adding new code and concepts (request FSM for example). It is the work of true masters.

If you love programming elisp it is yet another perfect example of writing re-world supportable and maintainable and flexible code. Might sound trifing but here are some elisp features that are extremely useful in real-world programming so check them out if you haven’t before:

  • cl-assert
  • cl-loop
  • cl-typep
  • condition-case
  • condition-case-unless-debug
  • if-let*
  • letrec
  • pcase-let
  • plist-put
  • quasiquote
  • structs
  • when-let

Here are the commits I found cool with a reason why.

  • (#499) README: add prefix string docs for gptel-org-branching-context
    • Adds critical tip for using org-branching-context
    • 97218f8247a3772114d2e47f2ca59ec0e905a96a
  • (#506) gptel-rewrite: Simplify messaging, add iterate option
    • Grows the Rewrite (functionality) UI
    • 6df69e5c6500086cb55deb564c563c9342b98e83
  • gptel: WIP Add a template option to `gptel-menu’
    • “Templates provides easy access to one-shot, predefined tasks. A template is a combination of a system message (when applicable) and a pre-written conversation that is filled in using user input.”
    • b58b4e3de3e3ba329d64e8b41bf4b9274596e5ed
  • gptel: dry runs can be edited and continued
    • 0f4136e93b10d474eb832c85c29b68d553c0a3b2
  • gptel: Add finite state machine
    • Refactor request handling into a FSM—Cool to learn from!
    • 091065941fcba00782d264a63d06a5ed7113bfeb
  • (#438) gptel: Support adding directories to context
    • 9abff7f77c72947d27483df519fcad1c320ff724
  • gptel: Add gptel-post-request-hook
    • “Hook run after sending a gptel request”
    • 47e15bad161e69efbadb84521965aa197ac0b7cd
  • gptel-transient: Add “oneshot” scope to set vars
    • 676503e88e7d26e862a74a6f3c9c3895b7870e1f
  • gptel: Initialize gptel–system-message more robustly
    • Notable commit to help understand building user-focused supportable software
    • 5eb88bdae1752f5b527ddb7c50a684aa4114e2c4
  • gptel: Support gptel-mode in text-derived modes (#454)
    • Now you can use gptel virtually everywhere (descendeds of text-mode)
    • 4c553e41bb26c34bb13c0172833ab84737336099
  • gptel-org: Handle LLMs mixing up Markdown/Org src blocks
    • Continued conversion work: harder problem then one would guess
    • gptel-org: Handle LLMs mixing up Markdown/Org src blocks
    • 5115d441e7426287836d0e9bd39b02f69e63eb11
  • gptel: Change JSON parsing semantics
    • How to handle data brokering
    • 07ab8a5d8339e5f1874d4ddce18656aeb06175ca
  • gptel: Add tool call parsing (only) to most backends
    • Process begins of adding tool support!
    • eb96d04544b54bc5286ae809002159937ce7d89d
  • gptel: Add a diagnostic display for latest request
    • If you are curious about starting to look at how the FSM works
    • e18e4bf897fd174d41a9140338f2efff55232efe
  • gptel: Bump transient required version to 0.7.4
    • df015a47d43fd0d913cd6b035d04c323afea4414
  • gptel-openai-extras: Add gptel-perplexity backend (#581)
    • Unfamiliar with PrivateGPT and Perplexity
    • de0dedbe31703e2235278868821a3cc364061f74
  • (#564)gptel-rewrite: Add post-rewrite hook
    • “Abnormal hook run after a `gptel-rewrite’ action”
    • ff2bc1b8e94269f4a590ba34f4096e1fe58d0e93
  • (#599) gptel: Make response separator customizable
    • Nice UX setting
    • 5f616d123ac4686803ab28e88b5ce28cfa6bf38b
  • (#606) gptel: Make gptel-model definition dynamic
    • Another example of how to write supportable flexible software
    • e235f1da8cc5cd9c2db1947c64ec4fb138575de6
  • (#615) gptel-transient: Improve parsing of crowdsourced prompts CSV file
    • Crowdsource prompt refinements. Feature helpful with one-shots!
    • d57eb9896eb1d1f9dc19a420c3e88498f2898780
  • (#642) gptel-transient: Report what is being sent from kill-ring
    • Another UX bump: Help ensure user understand what is happening
    • a502ca547c22e51c9c6a21227c5744b17c4fd1c3
  • gptel-rewrite: Appease byte-compiler
    • Another developing real software
    • 5d5610dfb62d218447b210ec8c8f833c6aca262e
  • (#635) gptel: Use “model” instead of “GPT model”
    • Continues update to general LLM support vs OpenAI only
    • ce042d692a5d31bb1aadcf5ad96817547b1b3045
  • gptel-org: Always create prompt in a temp buffer
    • Another example of how to write supportable flexible software
    • d222ed823afe2648a37fef4368e4414b90205b72
  • gptel: Add support for handling reasoning blocks
    • High demand feature
    • 6af54839d08cc74c59d786a0a2364fc96d1b0381
  • gptel-openai-extras: Add support for Deepseek
    • High demand feature
    • addca990e7f3fd3555f55f1cc73332fcae944631
  • (#355) gptel-anthropic: Add prompt caching
    • Exciting to know about caching savings on Anthropic
    • gptel-cache
    • d9ce451f21812576b2a906382214cc81fce3fc45
  • NEWS: Add news file
    • Another developing real software
    • d9edbbc3d809ab9d699d08504e4385ef7724f04b
  • gptel-curl: Add gptel-curl-extra-args
    • 7de8e885c12865beb6d2ec8bf6698ce3b2ad4f7f

Leave a Reply

Your email address will not be published. Required fields are marked *