{"id":3900,"date":"2026-06-22T16:37:37","date_gmt":"2026-06-22T23:37:37","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sdk\/?p=3900"},"modified":"2026-06-22T17:04:28","modified_gmt":"2026-06-23T00:04:28","slug":"azure-sdk-release-may-2026","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sdk\/azure-sdk-release-may-2026\/","title":{"rendered":"Azure SDK Release (May 2026)"},"content":{"rendered":"<p>Thank you for your interest in the new Azure SDKs! We release new features, improvements, and bug fixes every month. Subscribe to our <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/feed\/\">Azure SDK Blog RSS Feed<\/a> to get notified when a new release is available.<\/p>\n<p>You can find links to packages, code, and docs on our <a href=\"https:\/\/aka.ms\/azsdk\/releases\">Azure SDK Releases page<\/a>.<\/p>\n<h2>Release highlights<\/h2>\n<h3>The Azure SDK for Rust reaches general availability<\/h3>\n<p>The Azure SDK for Rust is now stable. This month&#8217;s GA delivers production-ready 1.0.0 crates for Core, Identity, Key Vault (Secrets, Keys, and Certificates), and Storage (Blobs and Queues), built on the same design patterns you already know from the .NET, Java, JavaScript, Python, Go, and C++ SDKs. For the full story, see <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/from-beta-to-stable-announcing-the-azure-sdk-for-rust-ga\/\">From beta to stable: Announcing the Azure SDK for Rust<\/a>.<\/p>\n<h3>Azure AI Search adds agentic retrieval with knowledge bases<\/h3>\n<p>The <a href=\"https:\/\/www.nuget.org\/packages\/Azure.Search.Documents\/12.0.0\">.NET Azure AI Search library (12.0.0)<\/a> and <a href=\"https:\/\/pypi.org\/project\/azure-search-documents\/12.0.0\/\">Python azure-search-documents (12.0.0)<\/a> introduce knowledge bases and a new <code>KnowledgeBaseRetrievalClient<\/code> for agentic retrieval. You can now define knowledge sources backed by Azure Blob storage, a search index, OneLake, or the web, then run retrieval requests against a knowledge base, all on the new <code>2026-04-01<\/code> service version. The <a href=\"https:\/\/www.npmjs.com\/package\/@azure\/search-documents\/v\/13.0.0\">JavaScript @azure\/search-documents (13.0.0)<\/a> release adds a <code>debug<\/code> property to inspect non-semantic search queries and an <code>oversampling<\/code> option for vector search.<\/p>\n<h3>New Azure AI Agent Server libraries enter preview<\/h3>\n<p>A new family of preview libraries for hosting agents arrived this month, led by <a href=\"https:\/\/www.nuget.org\/packages\/Azure.AI.AgentServer.Core\/1.0.0-beta.23\">.NET Azure.AI.AgentServer.Core (1.0.0-beta.23)<\/a> and <a href=\"https:\/\/pypi.org\/project\/azure-ai-agentserver-core\/2.0.0b3\/\">Python azure-ai-agentserver-core (2.0.0b3)<\/a>. .NET also ships companion <code>Invocations<\/code> and <code>Responses<\/code> packages, while Python ships a companion <code>Responses<\/code> package this month. They provide an <code>AgentServerHost<\/code> hosting model with built-in health probes, graceful shutdown, request-ID middleware, and a centralized <code>PlatformHeaders<\/code> set of HTTP header constants shared across the packages. As preview releases, these libraries are still changing quickly; the latest .NET beta, for example, consolidated six separate setup calls into a single <code>AddAgentServerCore()<\/code> \/ <code>UseAgentServerCore()<\/code> pair.<\/p>\n<h3>Azure Batch client library reaches general availability for .NET<\/h3>\n<p>The <a href=\"https:\/\/www.nuget.org\/packages\/Azure.Compute.Batch\/1.0.0\">.NET Azure.Compute.Batch (1.0.0)<\/a> library is now generally available. The GA release includes breaking changes carried over from beta, including the removal of <code>AuthenticationTokenSettings<\/code> and <code>BatchAccessScope<\/code> and a number of property renames (such as <code>BatchJobScheduleConfiguration.DoNotRunUntil<\/code> to <code>DoNotRunBefore<\/code>). Cross-language Batch modernization continued as well with <a href=\"https:\/\/www.npmjs.com\/package\/@azure\/batch\/v\/13.0.0\">JavaScript @azure\/batch (13.0.0)<\/a> and <a href=\"https:\/\/pypi.org\/project\/azure-batch\/15.1.0\/\">Python azure-batch (15.1.0)<\/a>, which ship their own type and option renames.<\/p>\n<h2>Initial stable releases<\/h2>\n<ul>\n<li><strong>Client Library for .NET<\/strong>\n<ul>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.Compute.Batch\/1.0.0\">Compute Batch 1.0.0<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Management Libraries for .NET<\/strong>\n<ul>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.ComputeLimit\/1.0.0\">Resource Management &#8211; Compute Limit 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.CustomerInsights\/1.0.0\">Resource Management &#8211; Customer Insights 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.DevSpaces\/1.0.0\">Resource Management &#8211; Dev Spaces 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.DevOpsInfrastructure\/1.0.0\">Resource Management &#8211; DevOps Infrastructure 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.FileShares\/1.0.0\">Resource Management &#8211; File Shares 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.InformaticaDataManagement\/1.0.0\">Resource Management &#8211; Informatica Data Management 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.KubernetesConfiguration.Extensions\/1.0.0\">Resource Management &#8211; Kubernetes Configuration Extensions 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.NetworkFunction\/1.0.0\">Resource Management &#8211; Network Function 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.PlanetaryComputer\/1.0.0\">Resource Management &#8211; Planetary Computer 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.PowerBIDedicated\/1.0.0\">Resource Management &#8211; Power BI Dedicated 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.ScVmm\/1.0.0\">Resource Management &#8211; ScVmm 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.TrustedSigning\/1.0.0\">Resource Management &#8211; Trusted Signing 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.WeightsAndBiases\/1.0.0\">Resource Management &#8211; Weights and Biases 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.WorkloadsSapVirtualInstance\/1.0.0\">Resource Management &#8211; Workloads SAP Virtual Instance 1.0.0<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Client Library for JavaScript<\/strong>\n<ul>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/opentelemetry-instrumentation-azure-sdk\/v\/1.0.0\">OpenTelemetry Instrumentation 1.0.0<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Management Libraries for JavaScript<\/strong>\n<ul>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-computelimit\/v\/1.0.0\">Resource Management &#8211; Compute Limit 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-kubernetesconfiguration-extensions\/v\/1.0.0\">Resource Management &#8211; Kubernetes Configuration Extensions 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-planetarycomputer\/v\/1.0.0\">Resource Management &#8211; Planetary Computer 1.0.0<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Management Libraries for Python<\/strong>\n<ul>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-computelimit\/1.0.0\/\">Resource Management &#8211; Compute Limit 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-kubernetesconfiguration-extensions\/1.0.0\/\">Resource Management &#8211; Kubernetes Configuration Extensions 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-planetarycomputer\/1.0.0\/\">Resource Management &#8211; Planetary Computer 1.0.0<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Management Libraries for Go<\/strong>\n<ul>\n<li><a href=\"https:\/\/pkg.go.dev\/github.com\/Azure\/azure-sdk-for-go\/sdk\/resourcemanager\/computelimit\/armcomputelimit@v1.0.0\">Resource Management &#8211; Compute Limit 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/pkg.go.dev\/github.com\/Azure\/azure-sdk-for-go\/sdk\/resourcemanager\/kubernetesconfiguration\/armextensions@v1.0.0\">Resource Management &#8211; Kubernetes Configuration Extensions 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/pkg.go.dev\/github.com\/Azure\/azure-sdk-for-go\/sdk\/resourcemanager\/planetarycomputer\/armplanetarycomputer@v1.0.0\">Resource Management &#8211; Planetary Computer 1.0.0<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Client Library for Rust<\/strong>\n<ul>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_core\/1.0.0\">Azure Core 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_core_amqp\/1.0.0\">Azure Core AMQP 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_core_opentelemetry\/1.0.0\">Azure Core OpenTelemetry 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_identity\/1.0.0\">Azure Identity 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_storage_blob\/1.0.0\">Azure Storage Blob 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_storage_queue\/1.0.0\">Azure Storage Queue 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_security_keyvault_secrets\/1.0.0\">Azure Key Vault Secrets 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_security_keyvault_keys\/1.0.0\">Azure Key Vault Keys 1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/crates.io\/crates\/azure_security_keyvault_certificates\/1.0.0\">Azure Key Vault Certificates 1.0.0<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Initial beta releases<\/h2>\n<ul>\n<li><strong>Client Libraries for .NET<\/strong>\n<ul>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.AI.AgentServer.Invocations\/1.0.0-beta.1\">Agent Server &#8211; Invocations 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.AI.AgentServer.Responses\/1.0.0-beta.1\">Agent Server &#8211; Responses 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Azure.PostgreSQL.Auth\/1.0.0-beta.1\">PostgreSQL &#8211; Authentication 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.Provisioning.ContainerInstance\/1.0.0-beta.1\">Provisioning &#8211; Container Instance 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.Provisioning.Logic\/1.0.0-beta.1\">Provisioning &#8211; Logic 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.Provisioning.ResourceGraph\/1.0.0-beta.1\">Provisioning &#8211; Resource Graph 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.Provisioning.ServiceNetworking\/1.0.0-beta.1\">Provisioning &#8211; Service Networking 1.0.0-beta.1<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Management Library for .NET<\/strong>\n<ul>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Azure.ResourceManager.Relationships\/1.0.0-beta.1\">Resource Management &#8211; Relationships 1.0.0-beta.1<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Client Library for JavaScript<\/strong>\n<ul>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/postgresql-auth\/v\/1.0.0-beta.1\">PostgreSQL &#8211; Authentication 1.0.0-beta.1<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Management Libraries for JavaScript<\/strong>\n<ul>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-alertprocessingrules\/v\/1.0.0-beta.1\">Resource Management &#8211; Alert Processing Rules 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-alertrulerecommendations\/v\/1.0.0-beta.1\">Resource Management &#8211; Alert Rule Recommendations 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-alertsmanagement\/v\/1.0.0-beta.1\">Resource Management &#8211; Alerts Management 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-fileshares\/v\/1.0.0-beta.1\">Resource Management &#8211; File Shares 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-monitorslis\/v\/1.0.0-beta.1\">Resource Management &#8211; Monitor SLIs 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-previewalertrule\/v\/1.0.0-beta.1\">Resource Management &#8211; Preview Alert Rule 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-prometheusrulegroups\/v\/1.0.0-beta.1\">Resource Management &#8211; Prometheus Rule Groups 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-relationships\/v\/1.0.0-beta.1\">Resource Management &#8211; Relationships 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-servicegroups\/v\/1.0.0-beta.1\">Resource Management &#8211; Service Groups 1.0.0-beta.1<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/@azure\/arm-tenantactivitylogalerts\/v\/1.0.0-beta.1\">Resource Management &#8211; Tenant Activity Log Alerts 1.0.0-beta.1<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Client Library for Python<\/strong>\n<ul>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-ai-agentserver-responses\/1.0.0b1\/\">Agent Server &#8211; Responses 1.0.0b1<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Management Libraries for Python<\/strong>\n<ul>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-appnetwork\/1.0.0b1\/\">Resource Management &#8211; App Network 1.0.0b1<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-certificateregistration\/1.0.0b1\/\">Resource Management &#8211; Certificate Registration 1.0.0b1<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-domainregistration\/1.0.0b1\/\">Resource Management &#8211; Domain Registration 1.0.0b1<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-horizondb\/1.0.0b1\/\">Resource Management &#8211; HorizonDB 1.0.0b1<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-monitorslis\/1.0.0b1\/\">Resource Management &#8211; Monitor SLIs 1.0.0b1<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-relationships\/1.0.0b1\/\">Resource Management &#8211; Relationships 1.0.0b1<\/a><\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/azure-mgmt-servicegroups\/1.0.0b1\/\">Resource Management &#8211; Service Groups 1.0.0b1<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Management Libraries for Go<\/strong>\n<ul>\n<li><a href=\"https:\/\/pkg.go.dev\/github.com\/Azure\/azure-sdk-for-go\/sdk\/resourcemanager\/relationships\/armrelationships@v0.1.0\">Resource Management &#8211; Relationships 0.1.0<\/a><\/li>\n<li><a href=\"https:\/\/pkg.go.dev\/github.com\/Azure\/azure-sdk-for-go\/sdk\/resourcemanager\/servicegroups\/armservicegroups@v0.1.0\">Resource Management &#8211; Service Groups 0.1.0<\/a><\/li>\n<li><a href=\"https:\/\/pkg.go.dev\/github.com\/Azure\/azure-sdk-for-go\/sdk\/resourcemanager\/monitor\/armslis@v0.1.0\">Resource Management &#8211; Monitor SLIs 0.1.0<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Release notes<\/h2>\n<ul>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/index.html\">All languages<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/dotnet.html\">.NET<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/java.html\">Java<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/js.html\">JavaScript\/TypeScript<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/python.html\">Python<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/go.html\">Go<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/rust.html\">Rust<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/cpp.html\">C++<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/c.html\">Embedded C<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/android.html\">Android<\/a><\/li>\n<li><a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/2026-05\/ios.html\">iOS<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Azure SDK releases every month. In this post, you&#8217;ll find this month&#8217;s highlights and release notes.<\/p>\n","protected":false},"author":108243,"featured_media":3903,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[732,705],"class_list":["post-3900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-sdk","tag-release","tag-sdk"],"acf":[],"blog_post_summary":"<p>Azure SDK releases every month. In this post, you&#8217;ll find this month&#8217;s highlights and release notes.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/3900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/users\/108243"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/comments?post=3900"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/3900\/revisions"}],"predecessor-version":[{"id":3902,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/3900\/revisions\/3902"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media\/3903"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media?parent=3900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/categories?post=3900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/tags?post=3900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}