Skip to content

Releases: OEvortex/llm4free

Release v2025.12.1

Choose a tag to compare

@github-actions github-actions released this 01 Dec 14:50

[2025.12.01] - 2025-12-01

✨ Added

  • feat: sanitize.py - Added output_formatter parameter to sanitize_stream() for custom output transformation
  • feat: sanitize.py - Users can now define custom formatter functions to transform each output item into any desired structure before yielding

🚮 Removed

  • removed: sanitize.py - Removed built-in response formatters (ResponseFormatter, OutputFormat, create_openai_response, create_openai_stream_chunk, create_anthropic_response, create_anthropic_stream_chunk, format_output) in favor of user-defined output_formatter functions
  • removed: sanitize.py - Removed output_format and format_options parameters from sanitize_stream() - use output_formatter instead

📝 Documentation

  • docs: sanitize.md - Updated documentation with output_formatter parameter and usage examples
  • docs: sanitize.md - Removed references to removed built-in formatters

Release v2025.11.30

Choose a tag to compare

@github-actions github-actions released this 30 Nov 06:11

[2025.11.30] - 2025-11-30

🔧 Maintenance

  • refactor: Added missing # type: ignore to imports for optional dependencies (trio, numpy, tiktoken, pandas) in multiple modules for better compatibility and linting
  • refactor: Improved type hints and error handling in scout/core/crawler.py and scout/core/scout.py
  • refactor: Updated oivscode.py to generate and use a unique ClientId (UUID) in headers
  • refactor: Updated CLI group import in swiftcli/core/cli.py to avoid circular dependency
  • refactor: Minor docstring and comment cleanups in AISEARCH providers
  • chore: Removed unfinished providers: Aitopia.py, VercelAIGateway.py, puterjs.py, scira_search.py, hika_search.py from Provider/UNFINISHED and Provider/AISEARCH

🐛 Fixed

  • fix: Fixed error handling in sanitize.py async stream processing (removed logger usage in extractor error branch)
  • fix: Fixed import and type hint issues in duckduckgo/base.py, search/http_client.py, Provider/cerebras.py, and others
  • fix: Fixed streaming output and test code in genspark_search.py, PERPLEXED_search.py, and iask_search.py for more robust CLI testing
  • fix: Fixed YahooSearch import for Dict type in search/yahoo_main.py

🚮 Removed

  • removed: Deleted unfinished provider files: Aitopia.py, VercelAIGateway.py, puterjs.py, scira_search.py, hika_search.py for codebase cleanup

🐛 Fixed

  • fix: TogetherAI.py - Updated API endpoint from https://chat.together.ai/api/chat-completion to https://api.together.xyz/v1/chat/completions for compatibility with the public Together API
  • fix: TogetherAI.py - Fixed payload parameters to use OpenAI-compatible format (model, max_tokens, top_p instead of modelId, maxTokens, topP)
  • fix: OPENAI/TogetherAI.py - Removed self-activation endpoint logic that auto-fetched API keys from external service

✨ Added

  • feat: TogetherAI.py - Implemented dynamic model loading from https://api.together.xyz/v1/models API, similar to Groq provider
  • feat: TogetherAI.py - Added get_models() and update_available_models() class methods for automatic model discovery
  • feat: OPENAI/TogetherAI.py - Added dynamic model loading support with automatic model list updates on initialization
  • feat: OPENAI/TogetherAI.py - Now requires user-provided API key via api_key parameter, following Groq provider pattern

🔧 Maintenance

  • refactor: TogetherAI.py - Changed AVAILABLE_MODELS from hardcoded dictionary to dynamically populated list
  • refactor: TogetherAI.py - Updated model validation to handle empty model lists gracefully when API fetch fails
  • refactor: OPENAI/TogetherAI.py - Removed activation_endpoint and get_activation_key() method for better security practices
  • refactor: OPENAI/TogetherAI.py - Updated __init__ to accept api_key parameter and conditionally update models if key is provided

Release v2025.11.22

Choose a tag to compare

@github-actions github-actions released this 22 Nov 07:39

[2025.11.22] - 2025-11-22

🐛 Fixed

  • fix: TogetherAI.py - Updated API endpoint from https://chat.together.ai/api/chat-completion to https://api.together.xyz/v1/chat/completions for compatibility with the public Together API
  • fix: TogetherAI.py - Fixed payload parameters to use OpenAI-compatible format (model, max_tokens, top_p instead of modelId, maxTokens, topP)
  • fix: OPENAI/TogetherAI.py - Removed self-activation endpoint logic that auto-fetched API keys from external service

✨ Added

  • feat: TogetherAI.py - Implemented dynamic model loading from https://api.together.xyz/v1/models API, similar to Groq provider
  • feat: TogetherAI.py - Added get_models() and update_available_models() class methods for automatic model discovery
  • feat: OPENAI/TogetherAI.py - Added dynamic model loading support with automatic model list updates on initialization
  • feat: OPENAI/TogetherAI.py - Now requires user-provided API key via api_key parameter, following Groq provider pattern

🔧 Maintenance

  • refactor: TogetherAI.py - Changed AVAILABLE_MODELS from hardcoded dictionary to dynamically populated list
  • refactor: TogetherAI.py - Updated model validation to handle empty model lists gracefully when API fetch fails
  • refactor: OPENAI/TogetherAI.py - Removed activation_endpoint and get_activation_key() method for better security practices
  • refactor: OPENAI/TogetherAI.py - Updated __init__ to accept api_key parameter and conditionally update models if key is provided

Release v2025.11.21.1

Choose a tag to compare

@github-actions github-actions released this 21 Nov 11:31

[2025.11.21.1] - 2025-11-21

📝 Changes since v2025.11.21

📦 Changes

  • 🔖 Bump version to 2025.11.21.1 (250d6dd)
  • feat: Add new providers for IBM Granite, ExaChat, Gemini Proxy, and FreeGemini, along with new test files and an updated changelog. (e7297d7)

📦 Installation

pip install --upgrade webscout==2025.11.21.1

Release v2025.11.21

Choose a tag to compare

@github-actions github-actions released this 21 Nov 10:36

[2025.11.21] - 2025-11-21

🐛 Fixed

  • fix: IBM.py - Fixed typo in refresh_identity method where s-elf.headers was incorrectly used instead of self.headers
  • fix: AIauto.py - Fixed critical bug where chat method could return a generator when stream=False, causing AssertionError in providers like AI4Chat
  • fix: AIauto.py - Added proper handling for providers that return generators even in non-streaming mode by consuming the generator to extract the return value

✨ Added

  • feat: AIauto.py - Enhanced provider failover mechanism to "peek" at the first chunk of streaming responses, allowing automatic failover to next provider if current one fails immediately
  • feat: AIauto.py - Split chat method into _chat_stream and _chat_non_stream helper methods for clearer separation of streaming vs non-streaming logic

🔧 Maintenance

  • refactor: AIauto.py - Improved robustness of AUTO provider to work seamlessly with all providers in webscout.Provider package
  • refactor: AIauto.py - Added generator type checking and handling to prevent type mismatches between streaming and non-streaming responses

Release v2025.11.20.2

Choose a tag to compare

@github-actions github-actions released this 20 Nov 10:18

[2025.11.20.2] - 2025-11-20

📝 Changes since v2025.11.20.1

📦 Changes

  • 🔖 Bump version to 2025.11.20.2 (5c5c7f7)
  • refactor: Remove legacy format converters to streamline codebase (6ce1e2a)

📦 Installation

pip install --upgrade webscout==2025.11.20.2

Release v2025.11.20.1

Choose a tag to compare

@github-actions github-actions released this 20 Nov 10:13

[2025.11.20.1] - 2025-11-20

📝 Changes since v2025.11.20

📦 Changes

  • 🔖 Bump version to 2025.11.20.1 (85cee7d)
  • fixed some bugs and planing for big update (9e4a56c)

📦 Installation

pip install --upgrade webscout==2025.11.20.1

Release v2025.11.20

Choose a tag to compare

@github-actions github-actions released this 20 Nov 05:11

[2025.11.20] - 2025-11-20

🐛 Fixed

  • fix: sanitize.py - Fixed critical async stream processing logic error where variable idx was used outside its conditional scope, causing potential UnboundLocalError
  • fix: sanitize.py - Fixed Python 3.9+ compatibility issue by replacing Pattern from typing with re.Pattern for proper isinstance() checks

🔧 Maintenance

  • refactor: sanitize.py - Reorganized imports for better structure (moved chain, functools, asyncio to top level)
  • chore: sanitize.py - Added __all__ export list for explicit public API definition
  • docs: sanitize.py - Added comprehensive module docstring
  • refactor: sanitize.py - Updated all type hints to use modern syntax with re.Pattern[str]
  • refactor: Apriel.py - Simplified raw mode streaming logic for better performance

Release v2025.11.19

Choose a tag to compare

@github-actions github-actions released this 19 Nov 13:09

[2025.11.19] - 2025-11-19

🔧 Maintenance

  • chore: Bard - added gemini-3-pro model with appropriate headers to BardModel enum
  • GEMINI - added gemini-3-pro model support in GEMINI class
  • feat: Updated search engines to use dataclass objects from results.py for better type safety and consistency
  • refactor: Updated all Providers to use raw flag of sanatize_stream for easy debugging
  • removed: Removed Cloudflare Provider

🐛 Fixed

  • fix: ChatGPT provider - Fixed OpenAI compatibility issues in webscout/Provider/OPENAI/chatgpt.py by updating streaming and non-streaming implementations to properly handle Server-Sent Events format and match OpenAI's response structure exactly
  • fix: ChatGPT provider - Enhanced error handling and parameter validation to follow OpenAI conventions
  • fix: AkashGPT provider - Fixed authentication issue in webscout/Provider/akashgpt.py by updating API key handling to use cookies for authentication

✨ Added

  • feat: ChatGPT provider - Added new models to AVAILABLE_MODELS including gpt-5-1, gpt-5-1-instant, gpt-5-1-thinking, gpt-5, gpt-5-instant, gpt-5-thinking
  • feat: New Provider: Algion with gpt-5.1and other models

Release v2025.11.18

Choose a tag to compare

@github-actions github-actions released this 18 Nov 19:54

[2025.11.18] - 2025-11-18

📝 Changes since v2025.11.17

📦 Changes

  • 🔖 Bump version to 2025.11.18 (566a02c)
  • feat: Add multiple search engine integrations (Yep, DuckDuckGo, Bing, Yahoo), Gemini and Bard AI providers, and core utilities. (82e3bf5)

📦 Installation

pip install --upgrade webscout==2025.11.18