Releases: devlooped/xAI
v2.0.0
What's Changed
🚨Breaking Changes
Namespace Relocations
Several types have been moved from Devlooped.Extensions.AI to Devlooped.Extensions.AI.OpenAI:
| Type | Old Namespace | New Namespace |
|---|---|---|
ReasoningEffort |
Devlooped.Extensions.AI |
Devlooped.Extensions.AI.OpenAI |
Verbosity |
Devlooped.Extensions.AI |
Devlooped.Extensions.AI.OpenAI |
WebSearchTool |
Devlooped.Extensions.AI |
Devlooped.Extensions.AI.OpenAI |
Migration: Update your using statements from Devlooped.Extensions.AI to Devlooped.Extensions.AI.OpenAI for these types.
Removed Types
The following types have been removed entirely:
| Type | Replacement |
|---|---|
AzureInferenceChatClient |
Use the built-in IChatClientProvider infrastructure with AddChatClientProvider |
AzureOpenAIChatClient |
Use the built-in IChatClientProvider infrastructure with AddChatClientProvider |
OpenAIChatClient |
Use the built-in IChatClientProvider infrastructure with AddChatClientProvider |
OpenAIWebSearchToolExtensions |
Properties (City, Region, TimeZone, ContextSize) are now directly on WebSearchTool |
WebSearchTool Changes
The WebSearchTool class has been significantly simplified:
- Constructor: Now accepts an optional
countryparameter (string? country = null) instead of a required one - Properties moved inline:
City,Region, andTimeZoneare now properties directly onWebSearchTool(no longer extension properties) - New property:
AllowedDomains(string[]?) has been added - Removed: The
ContextSizeextension property has been removed as it's no longer documented on OpenAI's official documentation
ConfigurableChatClient Changes
- The
Optionsproperty has been removed fromConfigurableChatClientsince the new provider-based architecture does not require it - A new constructor signature is now available with explicit parameters
Method Signature Changes
AddChatClients
The AddChatClients extension methods now include an additional optional parameter:
// Old signature
AddChatClients(services, configuration, configurePipeline, configureClient, prefix);
// New signature
AddChatClients(services, configuration, configurePipeline, configureClient, prefix, useDefaultProviders: true);The overload allows skipping the registration of default providers when set to false.
Removed Methods
OpenAIExtensions.ApplyExtensions(ChatOptions?)has been removed since the new OpenAI-specific ChatOptions use a new mechanism based on lazy initialization of theChatOptions.RawRepresentationFactoryto apply the values.
Migration Guide
-
Update namespace imports for
ReasoningEffort,Verbosity, andWebSearchToolto useDevlooped.Extensions.AI.OpenAI -
Replace custom chat clients (
AzureInferenceChatClient,AzureOpenAIChatClient,OpenAIChatClient) with the new provider-based architecture usingIChatClientProviderandAddChatClientProvider -
WebSearchTool usage is source-compatible once you import the correct OpenAI namespace.
-
Use OpenAIChatOptions for typed and binding-friendly configuration of OpenAI-specific options.
📝 Documentation updates
🔨 Other
- Fix duplicate Sponsors section in grok package readme by @Copilot in #60
Full Changelog: v1.0.2...v2.0.0
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @kfrancis, @unoplatform, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @davidjenni, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @v-limo, @DominicSchell, @adalon, @Eule02, @henkmartijn, @torutek, @mccaffers, @cleosia.
Thanks 💜
v1.0.2
What's Changed
🐛 Fixed bugs
📝 Documentation updates
Full Changelog: v1.0.1...v1.0.2
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @kfrancis, @unoplatform, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @davidjenni, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @v-limo, @DominicSchell, @adalon, @Eule02, @henkmartijn, @torutek, @mccaffers, @cleosia.
Thanks 💜
v1.0.1
Minor SEO optimization for package descriptions.
Full Changelog: v1.0.0...v1.0.1
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @kfrancis, @unoplatform, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @davidjenni, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @v-limo, @DominicSchell, @adalon, @Eule02, @henkmartijn, @torutek, @mccaffers.
Thanks 💜
v1.0.0
What's Changed
✨ Implemented enhancements
- ⬆️ Add end_index for InlineCitation by @kzu in #9
- ⬆️ Add new include option for verbose chunks in streaming response by @kzu in #10
- ⬆️ Rename server-side document search tools to attachment search by @kzu in #11
- ⬆️ Add hybrid/semantic/keyword retrieval modes with reranker config by @kzu in #12
- Rename to xAI by @kzu in #25
- Rename xAI project to xAI.Protocol by @kzu in #27
- Bring in M.E.AI integration from Devlooped.Extensions.AI by @kzu in #30
- Improve tool conversion and make API public by @kzu in #31
- Rename extension method to add xAI protocol clients by @kzu in #32
- Make client disposable so it clears Grpc clients by @kzu in #34
- Add support for collection search results citations by @kzu in #35
- Expose specific protocol clients from GrokClient by @kzu in #39
- Improve content type detection from responses by @kzu in #49
🔨 Other
- Fix protocol package id by @kzu in #28
- Take header inspiration from python sdk by @kzu in #37
- Run sanity/integration tests in CI by @kzu in #38
- Add test that verifies embeddings aren't supported by @kzu in #43
- Add comprehensive Copilot instructions for coding agent by @Copilot in #47
- Add IImageGenerator implementation for xAI image generation by @Copilot in #45
- Document via tests that image content type is jpeg by @kzu in #48
Full Changelog: v0.1.0...v1.0.0
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @kfrancis, @unoplatform, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @davidjenni, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @v-limo, @DominicSchell, @jwendl, @adalon, @Eule02, @henkmartijn, @torutek, @mccaffers.
Thanks 💜
v1.0.0-preview.1
What's Changed
✨ Implemented enhancements
- ⬆️ Add end_index for InlineCitation by @kzu in #9
- ⬆️ Add new include option for verbose chunks in streaming response by @kzu in #10
- ⬆️ Rename server-side document search tools to attachment search by @kzu in #11
- ⬆️ Add hybrid/semantic/keyword retrieval modes with reranker config by @kzu in #12
- Rename to xAI by @kzu in #25
- Rename xAI project to xAI.Protocol by @kzu in #27
- Bring in M.E.AI integration from Devlooped.Extensions.AI by @kzu in #30
- Improve tool conversion and make API public by @kzu in #31
- Rename extension method to add xAI protocol clients by @kzu in #32
- Make client disposable so it clears Grpc clients by @kzu in #34
- Add support for collection search results citations by @kzu in #35
🔨 Other
Full Changelog: v0.1.0...v1.0.0-preview.1
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @kfrancis, @unoplatform, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @davidjenni, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @v-limo, @DominicSchell, @jwendl, @adalon, @Eule02, @henkmartijn, @torutek, @mccaffers.
Thanks 💜