Skip to content

Releases: suurt8ll/open_webui_functions

Release gemini_manifold_companion v2.1.0

10 Mar 07:44

Choose a tag to compare

👀 What's Changed

  • chore(compantion): 2.1.0 (f307ebc by suurt8ll)
  • feat(gemini): use OWUI's reasoning_effort parameter to set thinking budget or level (381f31a by suurt8ll)

Release gemini_manifold v2.1.0

10 Mar 07:50

Choose a tag to compare

🗒️ 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-genai to 1.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_effort parameter to set thinking budget or level (381f31a by suurt8ll)
  • chore(gemini): bump google-genai to 1.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

08 Dec 08:30

Choose a tag to compare

👀 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

08 Dec 08:58

Choose a tag to compare

🗒️ 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.py and gemini_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_stream from Pipe._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_parts custom 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_state into a more general _store_data_in_state private method (325c10b by suurt8ll)
  • fix(gemini): remove SHOW_THOUGHT_TITLES check in pipe._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_BEHAVIOR valve 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

07 Nov 08:24

Choose a tag to compare

👀 What's Changed

  • chore(companion): 1.7.0 (12f29cb by suurt8ll)
  • fix(companion): bug where temporary chat mode made Filter.inlet exit 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 GroundingChunkMaps correctly (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

07 Nov 08:52

Choose a tag to compare

🗒️ 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:

image

Grounding with Google Maps:

image

👀 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_PATTERN to 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_config to debug #211 (098534d by suurt8ll)
  • fix(gemini): don't include [STOP] in the final status emission (#213) (85cd177 by suurt8ll)
  • fix(gemini): bump google-genai to 1.46.0 (3bc65e4 by suurt8ll)
  • feat(gemini): enable GoogleMaps tool when required (7645d03 by suurt8ll)
  • feat(gemini): MAPS_GROUNDING_COORDINATES valves option (1bdec57 by suurt8ll)
  • refactor(gemini): move types.GenerateContentConfig building logic into it's own method Pipe._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 EventEmitter class (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 EventEmitter class (141a0a9 by suurt8ll)
  • feat(companion): url resolution status messages (59a1ad4 by suurt8ll)
  • feat(gemini): add completion_time to 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

31 Aug 10:19

Choose a tag to compare

👀 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_processor method 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

31 Aug 10:36

Choose a tag to compare

🗒️ 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:

  1. 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.
  2. Install Gemini Manifold Companion 1.6.0. This is required.
  3. 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.
  4. Restart your Open WebUI instance.
  5. 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_processor method that can process both streams=ing and non-streaming responses. (f7cc1e1 by suurt8ll)
  • refac (c8a255d by suurt8ll)
  • feat(gemini): use Pipe._process_part to process non-streaming response. (d0a1d19 by suurt8ll)
  • refactor(gemini): turn Pipe._process_parts_to_structured_stream() into more modular and generic Pipe._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.parts where applicable (f558cdb by suurt8ll)
  • chore(gemini): bump google-genai to 1.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

11 Aug 10:41

Choose a tag to compare

👀 What's Changed

  • chore(companion): 1.5.3 (0f621f6 by suurt8ll)
  • chore(gemini): bump google-genai to 1.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

11 Aug 10:39

Choose a tag to compare

🗒️ 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_reason handling (#185) (0593e1e by suurt8ll)
  • chore(gemini): bump google-genai to 1.29.0 (#184) (84b85fd by suurt8ll)
  • fix(gemini): don't emit messages if pipe is 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_URLS Valves and UserValves option 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 body payload 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_part async (1838257 by suurt8ll)
  • feat(gemini): remove Valves.USE_FILES_API and UserValves.USE_FILES_API option (b32dd29 by suurt8ll)
  • feat(gemini): Use Files API for uploaded documents (793a062 by suurt8ll)
  • refactor(gemini): centralize handling of all URIs to a single GeminiContentBuilder method (a7a8064 by suurt8ll)
  • feat(gemini): Use Google's Files API for uploaded images (f67038c by suurt8ll)
  • perf(gemini): async GeminiContentBuilder._get_file_data (86b8ecf by suurt8ll)
  • fix(gemini): prevent FilesAPIManager.get_or_upload_file race condition. (6c96dd1 by suurt8ll)
  • feat(gemini): use file's hash as key in file_cache, switch to xxhash.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 aiocache from StringSerializer to NullSerializer (2be87be by suurt8ll)
  • refactor(gemini): make Pylance happy (a45ac8c by suurt8ll)
  • feat(gemini): FilesAPIManager helper 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!