Releases: suurt8ll/open_webui_functions
Release gemini_manifold_companion v2.1.0
Release gemini_manifold v2.1.0
🗒️ Summary
- Automatic fallback to paid API if free API is overloaded or fails. This feature is off by default and needs to be enabled in valve options.
- Improved Gemini 3 lineup compatibility.
NB: having the latest companion filter installed is now mandatory. Features in this release and future ones will depend on it.
NB: restart your OWUI instance after everything is installed. Skipping this can cause bugs and issues.
If you have any issues or questions then open a GitHub issue / discussion (after checking that your problem is not already being discussed) and you'll get help.
👀 What's Changed
- chore(gemini):
2.1.0(e36ef68 by suurt8ll) - feat(gemini): adjust the token usage payload so it's compadible with OWUI's analytics dashboard (d23788c by suurt8ll)
- fix(gemini): filter out assistant thoughts from assistant messages in
body(42eb3cb by suurt8ll) - chore(submodules): bump OWUI to v0.8.8 (70ba4fe by suurt8ll)
- chore(gemini): bump
google-genaito1.65.0(c6727f4 by suurt8ll) - feat(gemini): opt-in valve option to enable free -> paid fallback logic (5eda16a by suurt8ll)
- fix(gemini): integrate paid and vertex toggle straight into the execution order decision (115bcaf by suurt8ll)
- fix(gemini): broaden what gets rerun when reroute happens (5677c45 by suurt8ll)
- feat(gemini): catch and reroute when error happens 503 too (2b5c9f1 by suurt8ll)
- feat(gemini): try free API and automatically retry with paid key if free fails. (0f15c2d by suurt8ll)
- feat: Update user valve descriptions with possible values for clarity (125f28a by warshanks)
- feat: Add aspect ratio valves (b8aa1ea by warshanks)
- feat: Add image resolution setting for Gemini 3 Pro Image and force non-streaming for higher resolutions. (5e91462 by warshanks)
- feat(gemini): use OWUI's
reasoning_effortparameter to set thinking budget or level (381f31a by suurt8ll) - chore(gemini): bump
google-genaito1.52.0(566e3ba by suurt8ll)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold v2.1.0!
🚀 Contributors
I appreciate all your hard work!
Release gemini_manifold_companion v2.0.0
👀 What's Changed
- chore(companion):
2.0.0(eca15ff by suurt8ll) - fix(gemini): 2 final minor fixes before merging (d91922b by suurt8ll)
- fix(gemini): change default URL to suurt8ll's repo (a414175 by suurt8ll)
- fix(gemini): centralize model name parsing logic to avoid double parsing mistakes (84d1a39 by suurt8ll)
- Move YAML loading to Companion and check for capabilities there (b4a0209 by Torgal)
- Remove forced non-streaming for image generation models (7c6891c by Torgal)
- fix(gemini): put the processed assistant response into database too (b49b923 by suurt8ll)
- feat(gemini): put response
type.Parts into the backend database (f11401d by suurt8ll) - feat(gemini): Add support for
gemini-3-pro-image-preview(#221) (35e486b by Shanks) - Add Gemini 3 Pro Preview support (#219) (be6340e by torgal-dog)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold_companion v1.7.0!
🚀 Contributors
I appreciate all your hard work!
Release gemini_manifold v2.0.0
🗒️ Summary
- Support for the new Gemini 3 lineup.
- Moved model capacity configuration into a separate YAML file.
- Emit thought chunk titles as status messages when the model is reasoning.
- Created optional filter toggles (
gemini_paid_api.pyandgemini_vertex_ai_toggle.py) to switch between free-, paid Developer API and Vertex AI. - Include cost info in the token usage hover box.
NB: having the latest companion filter installed is now mandatory. Features in this release and future ones will depend on it.
NB: restart your OWUI instance after everything is installed. Skipping this can cause bugs and issues.
If you have any issues or questions then open a GitHub issue / discussion (after checking that your problem is not already being discussed) and you'll get help.
👀 What's Changed
- chore(gemini):
2.0.0(d33ff53 by suurt8ll) - feat(gemini): cumulative tokens and cost (e1141c5 by suurt8ll)
- fix(gemini): set cost to 0 if free API is used (4b4dbfb by suurt8ll)
- refactor(gemini): improve the structure of displayed usage data (84f9cd1 by suurt8ll)
- refactor(gemini): pass
__metadata__down the streaming call stack (d1b2c49 by suurt8ll) - Implement separate image tokens cost count (a4778c0 by Torgal)
- Add total cost and cost breakdown to the usage data (text only) (1e0faf5 by Torgal)
- fix(gemini): change default URL to suurt8ll's repo (a414175 by suurt8ll)
- fix(gemini): centralize model name parsing logic to avoid double parsing mistakes (84d1a39 by suurt8ll)
- Move UrlContext tool handling to YAML (d2c0fea by Torgal)
- Move YAML loading to Companion and check for capabilities there (b4a0209 by Torgal)
- Fix YAML URL handling (b211ffe by Torgal)
- Read and use model capabilities from the specified YAML file (352c670 by Torgal)
- refactor(gemini): reorder private methods in
GeminiContentBuilder(fb2d3ec by suurt8ll) - fix(gemini): don't use Files API to cache assistant generated images (1e32cd2 by suurt8ll)
- fix(gemini): rehydrate image parts correctly (#231) (3531cb0 by suurt8ll)
- fix(gemini): support thought parts of any type, not just text (665d421 by suurt8ll)
- refactor(gemini): remove param.
is_streamfromPipe._process_part(0e1c5cd by suurt8ll) - fix(gemini): remove citation markers before comparing current and original assistant response contents (b2bec8d by suurt8ll)
- fix(gemini): don't store raw image data in
gemini_partscustom DB field (9cf7089 by suurt8ll) - feat(gemini): use the full DB stored assistant response if possible (3cb561c by suurt8ll)
- fix(gemini): put the processed assistant response into database too (b49b923 by suurt8ll)
- feat(gemini): put response
type.Parts into the backend database (f11401d by suurt8ll) - refactor(gemini): turn
_add_grounding_data_to_stateinto a more general_store_data_in_stateprivate method (325c10b by suurt8ll) - fix(gemini): remove
SHOW_THOUGHT_TITLEScheck inpipe._unified_response_processor(feb39d5 by suurt8ll) - fix(gemini): remove
Pipe.UserValves.SHOW_THOUGHT_TITLES(3ab340d by suurt8ll) - refactor(gemini): handle status message's indentation inside
EventEmitter(a2aa112 by suurt8ll) - fix(gemini): hide timestamps in companion filter if user does not want them (166490a by suurt8ll)
- feat(gemini):
STATUS_EMISSION_BEHAVIORvalve for fine grained control over status emissions (8c0ac26 by suurt8ll) - fix(gemini): use correct API name in the status emission (77b0b96 by suurt8ll)
- feat(gemini): optional filter toggle for switching to Vertex AI (223c0ae by suurt8ll)
- feat(gemini): Add support for
gemini-3-pro-image-preview(#221) (35e486b by Shanks) - Add Gemini 3 Pro Preview support (#219) (be6340e by torgal-dog)
- Add SHOW_THOUGHT_TITLES configuration option (#218) (d4c5d91 by Axel)
- fix(gemini): ensure robust file handling when switching API keys (c4415ad by suurt8ll)
- feat(gemini): use a filter toggle to decide between using a free vs paid API (71fdb30 by suurt8ll)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold v2.0.0!
🎉 New Contributors
Welcome and thank you to the first-time contributors to this plugin:
🚀 Returning Contributors
And a huge thanks to the returning contributors:
I appreciate all your hard work!
Release gemini_manifold_companion v1.7.0
👀 What's Changed
- chore(companion):
1.7.0(12f29cb by suurt8ll) - fix(companion): bug where temporary chat mode made
Filter.inletexit early (#209) (8ec87c2 by suurt8ll) - feat(companion): include additional info about a source in it's "Content" section. (471e8b5 by suurt8ll)
- fix(companion): more general query emission message (89e5a5e by suurt8ll)
- fix(companion): don't resolve maps URIs (6254c20 by suurt8ll)
- fix(companion): get the source URI from
GroundingChunkMapscorrectly (af47183 by suurt8ll) - feat(companion): url resolution status messages (59a1ad4 by suurt8ll)
- fix(gemini): improve finish reason logging and toast (#205) (1bae4de by suurt8ll)
- Refactor "IMAGE" response_modalities into a list. Add gemini-2.5-flash-image. (2613473 by warshanks)
- Add gemini-flash-latest & gemini-flash-lite-latest (d8822ff by Shanks)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold_companion v1.7.0!
🚀 Contributors
I appreciate all your hard work!
Release gemini_manifold v1.26.0
🗒️ Summary
- Nano Banana image generation improved.
- More status emissions to take advantage of OWUI's new feature that allows to click on the final status message to see it's history.
- Grounding with Google Maps (docs) support. You need to install this new toggle filter: Google Maps Grounding and enable it for Gemini models that support this tool. Make sure it's id matches the id that is in the frontmatter of the filter, it must be
gemini_maps_grounding_toggle.
NB: restart your OWUI instance after everything is installed. Skipping this can cause bugs and issues.
If you have any issues or questions then open a GitHub issue / discussion (after checking that your problem is not already being discussed) and you'll get help.
Expandable status messages:
Grounding with Google Maps:
👀 What's Changed
- chore(gemini):
1.26.0(44733f0 by suurt8ll) - chore: bump deps (#216) (39a3773 by suurt8ll)
- fix(gemini): emit
data: [DONE]stream terminator for quick action compatibility (#214) (c10cc13 by Evan) - fix(gemini): Update default
THINKING_MODEL_PATTERNto catch "latest" models (#215) (a462659 by Shanks) - chore(gemini): log out even more info when checking toggleable filter status to pin down the issue #211 (8e2a5fe by suurt8ll)
- fix(gemini): log a warning when maps grounding toggle filter is not detected (44aad0a by suurt8ll)
- fix(gemini): more clear logs when handling the thinking options (91fa5a5 by suurt8ll)
- fix(gemini): improve logs in
Pipe._build_gen_content_configto debug #211 (098534d by suurt8ll) - fix(gemini): don't include
[STOP]in the final status emission (#213) (85cd177 by suurt8ll) - fix(gemini): bump
google-genaito1.46.0(3bc65e4 by suurt8ll) - feat(gemini): enable
GoogleMapstool when required (7645d03 by suurt8ll) - feat(gemini):
MAPS_GROUNDING_COORDINATESvalves option (1bdec57 by suurt8ll) - refactor(gemini): move
types.GenerateContentConfigbuilding logic into it's own methodPipe._build_gen_content_config(c1a26f9 by suurt8ll) - feat(gemini): add valves option to hide the final status message if everything finished normally (0b64237 by suurt8ll)
- refactor(gemini): move usage data emission to
EventEmitterclass (78eee44 by suurt8ll) - chore(gemini): improve event emission logs (4f9a8ed by suurt8ll)
- perf(gemini): fire-and-forget toast notification events (e9d16a7 by suurt8ll)
- refactor(gemini): move the module level emission helper functions into a new
EventEmitterclass (141a0a9 by suurt8ll) - feat(companion): url resolution status messages (59a1ad4 by suurt8ll)
- feat(gemini): add
completion_timeto the usage data (2d4e53b by suurt8ll) - feat(gemini): include the finish reason in the response completion status message (6ee5081 by suurt8ll)
- fix(gemini): improve finish reason logging and toast (#205) (1bae4de by suurt8ll)
- feat(gemini): add elapsed time to the status messages emitted by the pipe plugin (0b19a6f by suurt8ll)
- fix(gemini): refactor status message emission logic and make all messages shown to avoid empty lines in the status message history (5a40f14 by suurt8ll)
- chore(gemini): bump deps (#203) (ad07fb6 by suurt8ll)
- Refactor "IMAGE" response_modalities into a list. Add gemini-2.5-flash-image. (2613473 by warshanks)
- Add gemini-flash-latest & gemini-flash-lite-latest (b6607db by Shanks)
- feat(gemini): Add an optional separate API key for image generation models (5164763 by Torgal)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold v1.26.0!
🚀 Contributors
I appreciate all your hard work!
Release gemini_manifold_companion v1.6.0
👀 What's Changed
- chore(companion):
1.6.0(b2f709c by suurt8ll) - feat(companion): option to use non-streaming mode automatically for native image gen models (27362a5 by suurt8ll)
- refactor(gemini):
Pipe._unified_response_processormethod that can process both streams=ing and non-streaming responses. (f7cc1e1 by suurt8ll) - chore(deps): bump versions (#191) (ecda8fe by suurt8ll)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold_companion v1.6.0!
🚀 Contributors
I appreciate all your hard work!
Release gemini_manifold v1.24.0
🗒️ Summary
This release contains changes that add support for the Google's new Nano Banana (Gemini 2.5 Flash Image) model. Please go through the following steps to ensure everything works correctly:
Admin Panel->Functions-> click on the "Gemini Manifold google_genai" function's gear icon -> find the "Thinking Model Pattern" option and set it to "Default" -> "Save". This activates the new regex that does not incorrectly label the new image model as a reasoning one.- Install Gemini Manifold Companion 1.6.0. This is required.
- The new filter automatically forces non-streaming mode for image models to avoid weird "Chunk too big" errors. If you don't want this or want to try if streaming works for you then go to the Companion filter valve settings and toggle the "Force Non Streaming For Image Models" option off.
- Restart your Open WebUI instance.
- Done! If you have any issues or questions then open a GitHub issue / discussion (after checking that your problem is not already being discussed) and you'll get help.
👀 What's Changed
- chore(gemini):
1.24.0(9e483dc by suurt8ll) - refactor(gemini):
Pipe._unified_response_processormethod that can process both streams=ing and non-streaming responses. (f7cc1e1 by suurt8ll) - refac (c8a255d by suurt8ll)
- feat(gemini): use
Pipe._process_partto process non-streaming response. (d0a1d19 by suurt8ll) - refactor(gemini): turn
Pipe._process_parts_to_structured_stream()into more modular and genericPipe._process_part()(0484a61 by suurt8ll) - fix(gemini): code blocks and outputs not appearing (3475eac by suurt8ll)
- Add Nano Banana support (#193) (ecb9846 by torgal-dog)
- refactor(gemini): use
types.GenerateContentResponse.partswhere applicable (f558cdb by suurt8ll) - chore(gemini): bump
google-genaito1.32.0(a50a6b8 by suurt8ll) - chore(deps): bump versions (#191) (ecda8fe by suurt8ll)
- fix(gemini): exclude non-thinking 2.5 models (#190) (7d84d00 by suurt8ll)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold v1.24.0!
🚀 Contributors
I appreciate all your hard work!
Release gemini_manifold_companion v1.5.3
👀 What's Changed
- chore(companion):
1.5.3(0f621f6 by suurt8ll) - chore(gemini): bump
google-genaito1.29.0(#184) (84b85fd by suurt8ll) - chore: bump deps (#178) (221df2d by suurt8ll)
- Add Gemini 2.5 Flash Lite (5942883 by warshanks)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold_companion v1.5.3!
🚀 Contributors
I appreciate all your hard work!
Release gemini_manifold v1.23.0
🗒️ Summary
The main highlight of this update is an option to use Google Files API (Gemini Developer API only) to speed up multi turn conversations with multiple files. If enabled then the file get's uploaded to Google's servers and later turns simply refer to it, saving upload bandwidth and time. More info can be found here: https://ai.google.dev/gemini-api/docs/files.
There are some other improvements / changes too, visible in the changelog below. If anything here is confusing then open a new discussion and I'll happily help when I have time.
👀 What's Changed
- chore(gemini):
1.23.0(a9a9631 by suurt8ll) - fix(gemini): better
finish_reasonhandling (#185) (0593e1e by suurt8ll) - chore(gemini): bump
google-genaito1.29.0(#184) (84b85fd by suurt8ll) - fix(gemini): don't emit messages if
pipeis run by an OWUI task model (#183) (1d1dd76 by suurt8ll) - feat(gemini): support dynamic thinking budget (#180) (40ab794 by Evan)
- feat(gemini): support YouTube Live URLs (#179) (f76ea28 by suurt8ll)
- chore: bump deps (#178) (221df2d by suurt8ll)
- feat(gemini): support
music.youtube.com/URLs (89ec3f0 by suurt8ll) - feat(gemini): support
#interval=<value>inside given YouTube URL (1f7ca52 by suurt8ll) - feat(gemini): Allow defining FPS, start time and end time for YouTube videos. (e96499a by suurt8ll)
- feat(gemini):
PARSE_YOUTUBE_URLSValvesandUserValvesoption to optionally toggle YouTube link parsing off. (fc8d0c6 by suurt8ll) - Add Gemini 2.5 Flash Lite (5942883 by warshanks)
- fix(gemini): conditional Files API usage (9c14b9e by suurt8ll)
- perf(gemini): concurrent
bodypayload processing (0d68ba1 by suurt8ll) - perf(gemini): skip polling for already active files (fd8cbfa by suurt8ll)
- feat(gemini): emit status messages to the front-end that infrom about file uploads and first-token wait phase (c87339b by suurt8ll)
- refactor(gemini): move methods around (672162e by suurt8ll)
- perf(gemini): make
Pipe._process_image_partasync(1838257 by suurt8ll) - feat(gemini): remove
Valves.USE_FILES_APIandUserValves.USE_FILES_APIoption (b32dd29 by suurt8ll) - feat(gemini): Use Files API for uploaded documents (793a062 by suurt8ll)
- refactor(gemini): centralize handling of all URIs to a single
GeminiContentBuildermethod (a7a8064 by suurt8ll) - feat(gemini): Use Google's Files API for uploaded images (f67038c by suurt8ll)
- perf(gemini):
asyncGeminiContentBuilder._get_file_data(86b8ecf by suurt8ll) - fix(gemini): prevent
FilesAPIManager.get_or_upload_filerace condition. (6c96dd1 by suurt8ll) - feat(gemini): use file's hash as key in
file_cache, switch toxxhash.xxh64(3a23614 by suurt8ll) - feat(gemini): front-end toast messages for Files API related errors (24029d3 by suurt8ll)
- perf(gemini): calculate and set TTL for cache (6e96ed3 by suurt8ll)
- refactor(gemini): switch
aiocachefromStringSerializertoNullSerializer(2be87be by suurt8ll) - refactor(gemini): make Pylance happy (a45ac8c by suurt8ll)
- feat(gemini):
FilesAPIManagerhelper class (a445343 by suurt8ll) - fix(gemini): show user a toast message when custom text is injected to the payload in special cases (0ecd15d by suurt8ll)
- fix(gemini): allow non-text prompts for Gemini Developer API and handle fully empty messages differently (bbf9a01 by suurt8ll)
- feature(gemini): URL Context is added as the last tool. Added the ability to use Enterprise Search instead of Google Search if using Vertex AI. (e978e7a by Jan.Kudelka)
- feature(gemini): Added URL context tool to Vertex AI, if no other tool is used. Vertex AI currently support URLcontext if it is the only tool selected. (d9c4406 by Jan.Kudelka)
- feature(gemini): Added support for files saved on the GCS (6599d6a by Jan.Kudelka)
- fix(gemini): Fixed error that happens if user only send a document without any text. The Gemini API always expects some text parts. A default prompt is added to the parts. (a2e81ea by Jan.Kudelka)
💖 Contributors
A big thank you to everyone who contributed to gemini_manifold v1.23.0!
🎉 New Contributors
Welcome and thank you to the first-time contributors to this repo:
🚀 Returning Contributors
And a huge thanks to the returning contributors:
I appreciate all your hard work!