{"id":2018,"date":"2015-11-17T02:01:22","date_gmt":"2015-11-17T02:01:21","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2018"},"modified":"2025-06-13T23:43:42","modified_gmt":"2025-06-14T06:43:42","slug":"released-couchbase-net-sdk-2-2-2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/","title":{"rendered":"Released: Couchbase .NET SDK 2.2.2"},"content":{"rendered":"<h2 id=\"released-couchbase-net-sdk-2-2-2\">Released: Couchbase .NET SDK 2.2.2<\/h2>\n<p>Today we are releasing Couchbase .NET SDK version 2.2.2, a bug fix and follow up release to v2.2.1. Most of the improvements in this release are for a future improvement to the IO engine for Memcached K\/V operations. Another important improvement in this release is a hook for allowing per request deserialization options via ITypeSerializer. This was added for the Linq2JSON project so that we could do cool things like inject proxies for change tracking. More about that in a later post!<\/p>\n<h2 id=\"release-notes-couchbase-net-client-library-version-2-2-2\">Release Notes<\/h2>\n<h3>Bug<\/h3>\n<ul>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-991\">NCBC-991<\/a>] &#8211; QueryAsync returns Fatal as a response for some queries &#8211; Retry logic is not correct<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1011\">NCBC-1011<\/a>] &#8211; Fix ConfigureAwait(false) not being used to resume without current context<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1012\">NCBC-1012<\/a>] &#8211; The remote certificate is invalid according to the validation procedure.<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1015\">NCBC-1015<\/a>] &#8211; Ensure SupportsEnhancedDurability flag is applied globally<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1016\">NCBC-1016<\/a>] &#8211; Return KeyNotFound if replica read cannot find key<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1017\">NCBC-1017<\/a>] &#8211; Remove extra forward slash from GEO Spatial URI<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1021\">NCBC-1021<\/a>] &#8211; META() does not serialize correctly<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1022\">NCBC-1022<\/a>] &#8211; Upsert Doesn&apos;t Throw ObjectDisposedException<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1027\">NCBC-1027<\/a>] &#8211; HTTP 500 leads to multiple retries within timeout period<\/li>\n<\/ul>\n<h3>Improvement<\/h3>\n<ul>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1014\">NCBC-1014<\/a>] &#8211; Refactor unit tests<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1025\">NCBC-1025<\/a>] &#8211; Make internal interfaces for IO public<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1026\">NCBC-1026<\/a>] &#8211; Rename SaslFactory.GetFactory3() to SaslFactory.GetFactory()<\/li>\n<li>[<a href=\"https:\/\/issues.couchbase.com\/browse\/NCBC-1032\">NCBC-1032<\/a>] &#8211; Support for more deserialization controls via ITypeSerializers<\/li>\n<\/ul>\n<h2 id=\"how-to-get-it-\">How to get it:<\/h2>\n<p>The SDK is available for download directly, through NuGet, or by cloning and pulling the Github repo:<\/p>\n<ul>\n<li>Download the binaries <a href=\"https:\/\/packages.couchbase.com.s3.amazonaws.com\/clients\/net\/2.2\/Couchbase-Net-Client-2.2.2.zip\">here<\/a>.<\/li>\n<li>The NuGet package can be found <a href=\"https:\/\/www.nuget.org\/packages\/CouchbaseNetClient\/2.2.2\">here<\/a>.<\/li>\n<li>The Github repo is <a href=\"https:\/\/github.com\/couchbase\/couchbase-net-client\">here<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Released: Couchbase .NET SDK 2.2.2 Today we are releasing Couchbase .NET SDK version 2.2.2, a bug fix and follow up release to v2.2.1. Most of the improvements in this release are for a future improvement to the IO engine for [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,2201],"tags":[],"ppma_author":[8970],"class_list":["post-2018","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-tools-sdks"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Released: Couchbase .NET SDK 2.2.2 - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Released: Couchbase .NET SDK 2.2.2\" \/>\n<meta property=\"og:description\" content=\"Released: Couchbase .NET SDK 2.2.2 Today we are releasing Couchbase .NET SDK version 2.2.2, a bug fix and follow up release to v2.2.1. Most of the improvements in this release are for a future improvement to the IO engine for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-17T02:01:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:43:42+00:00\" \/>\n<meta name=\"author\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jeffrysmorris\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/\"},\"author\":{\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\"},\"headline\":\"Released: Couchbase .NET SDK 2.2.2\",\"datePublished\":\"2015-11-17T02:01:21+00:00\",\"dateModified\":\"2025-06-14T06:43:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/\"},\"wordCount\":257,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\".NET\",\"Tools &amp; SDKs\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/\",\"name\":\"Released: Couchbase .NET SDK 2.2.2 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-11-17T02:01:21+00:00\",\"dateModified\":\"2025-06-14T06:43:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Released: Couchbase .NET SDK 2.2.2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\",\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"caption\":\"Jeff Morris, Senior Software Engineer, Couchbase\"},\"description\":\"Jeff Morris is a Senior Software Engineer at Couchbase. Prior to joining Couchbase, Jeff spent six years at Source Interlink as an Enterprise Web Architect. Jeff is responsible for the development of Couchbase SDKs and how to integrate with N1QL (query language).\",\"sameAs\":[\"https:\/\/x.com\/jeffrysmorris\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/jeff-morris\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Released: Couchbase .NET SDK 2.2.2 - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/","og_locale":"en_US","og_type":"article","og_title":"Released: Couchbase .NET SDK 2.2.2","og_description":"Released: Couchbase .NET SDK 2.2.2 Today we are releasing Couchbase .NET SDK version 2.2.2, a bug fix and follow up release to v2.2.1. Most of the improvements in this release are for a future improvement to the IO engine for [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-11-17T02:01:21+00:00","article_modified_time":"2025-06-14T06:43:42+00:00","author":"Jeff Morris, Senior Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@jeffrysmorris","twitter_misc":{"Written by":"Jeff Morris, Senior Software Engineer, Couchbase","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/"},"author":{"name":"Jeff Morris, Senior Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341"},"headline":"Released: Couchbase .NET SDK 2.2.2","datePublished":"2015-11-17T02:01:21+00:00","dateModified":"2025-06-14T06:43:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/"},"wordCount":257,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":[".NET","Tools &amp; SDKs"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/","url":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/","name":"Released: Couchbase .NET SDK 2.2.2 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-11-17T02:01:21+00:00","dateModified":"2025-06-14T06:43:42+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/released-couchbase-net-sdk-2-2-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Released: Couchbase .NET SDK 2.2.2"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341","name":"Jeff Morris, Senior Software Engineer, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812","url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","caption":"Jeff Morris, Senior Software Engineer, Couchbase"},"description":"Jeff Morris is a Senior Software Engineer at Couchbase. Prior to joining Couchbase, Jeff spent six years at Source Interlink as an Enterprise Web Architect. Jeff is responsible for the development of Couchbase SDKs and how to integrate with N1QL (query language).","sameAs":["https:\/\/x.com\/jeffrysmorris"],"url":"https:\/\/www.couchbase.com\/blog\/author\/jeff-morris\/"}]}},"authors":[{"term_id":8970,"user_id":21,"is_guest":0,"slug":"jeff-morris","display_name":"Jeff Morris, Senior Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","author_category":"","last_name":"Jeff Morris, Senior Software Engineer, Couchbase","first_name":"Jeff","job_title":"","user_url":"","description":"Jeff Morris is a Senior Software Engineer at Couchbase. Prior to joining Couchbase, Jeff spent six years at Source Interlink as an Enterprise Web Architect. Jeff is responsible for the development of Couchbase SDKs and how to integrate with N1QL (query language)."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2018"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2018\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=2018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2018"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}