Skip to content

Releases: devlooped/xAI

v2.0.0

18 Jan 19:47

Choose a tag to compare

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 country parameter (string? country = null) instead of a required one
  • Properties moved inline: City, Region, and TimeZone are now properties directly on WebSearchTool (no longer extension properties)
  • New property: AllowedDomains (string[]?) has been added
  • Removed: The ContextSize extension property has been removed as it's no longer documented on OpenAI's official documentation

ConfigurableChatClient Changes

  • The Options property has been removed from ConfigurableChatClient since 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 the ChatOptions.RawRepresentationFactory to apply the values.

Migration Guide

  1. Update namespace imports for ReasoningEffort, Verbosity, and WebSearchTool to use Devlooped.Extensions.AI.OpenAI

  2. Replace custom chat clients (AzureInferenceChatClient, AzureOpenAIChatClient, OpenAIChatClient) with the new provider-based architecture using IChatClientProvider and AddChatClientProvider

  3. WebSearchTool usage is source-compatible once you import the correct OpenAI namespace.

  4. Use OpenAIChatOptions for typed and binding-friendly configuration of OpenAI-specific options.

📝 Documentation updates

  • Add http file showcasing how to use the management API by @kzu in #54

🔨 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

09 Jan 17:46

Choose a tag to compare

What's Changed

🐛 Fixed bugs

  • Ensure Usage is reported in streaming by @kzu in #52

📝 Documentation updates

  • Add sample CLI using the Grok client by @kzu in #51

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

06 Jan 23:29
4ec9c6f

Choose a tag to compare

v1.0.0

05 Jan 22:51
1ecea39

Choose a tag to compare

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

02 Jan 21:55

Choose a tag to compare

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

  • Fix protocol package id by @kzu in #28

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 💜