v0.4 - Gemini driver, streaming, fallback provider and more!
Highlights:
- Docs and Workflows: Documentation and GitHub workflows were updated for clarity and improved automation.
- Dependency Update: Upgraded the
peter-evans/create-pull-request
GitHub Action from version 5 to 7. - IDE Helper Fix: Fixed an issue related to the IDE helper and added notes to the documentation.
- Documentation Overhaul: The README and other docs now point to a new official documentation site (https://docs.laragent.ai/), with improved structure and clearer guides for both Laravel and standalone PHP usage.
- Configuration Improvements:
- Config files now support more flexible provider and driver settings, with better separation between OpenAI, Gemini, and custom providers.
- New fallback provider logic for handling API failures.
- Expanded support for additional configuration options and improved defaults.
- Streaming & Structured Output:
- Added support for streaming AI responses in both core code and documentation/examples.
- New agent methods for streaming responses and more flexible output handling.
- Tooling Enhancements:
- Tools can now be added/removed using class references or objects.
- Improved schema handling for structured output and tool calls.
- Internal Refactoring:
- Major refactoring for better extensibility and maintainability.
- New base driver classes, cleaner separation of driver logic.
- Improved event hooks and error handling.
- New Example Files: Several new example scripts covering streaming, structured output, and advanced agent patterns.
- Tests: Added and updated tests for streaming, tool handling, and agent configuration.
See the full changelog and code diff
What's Changed
- Streaming support by @MaestroError in #21
- Documentation links added by @MaestroError in #23
- TOC update by @MaestroError in #24
- Fix: Tools with no properties enabled, removed workaround by @MaestroError in #25
- Made withTool and removeTool methods more flexible by @MaestroError in #28
- feat: add configurable agent namespaces by @johalternate in #26
- Added Gemini driver, API key & URL properties to Agent class by @MaestroError in #29
New Contributors
- @johalternate made their first contribution in #26
Full Changelog: 0.3.1...0.4.0