{"id":15985,"date":"2024-07-01T08:00:48","date_gmt":"2024-07-01T15:00:48","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=15985"},"modified":"2025-06-13T21:07:20","modified_gmt":"2025-06-14T04:07:20","slug":"announcing-general-availability-of-the-cpp-sdk-for-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","title":{"rendered":"Announcing General Availability of the C++ SDK for Couchbase"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">We are thrilled to announce the General Availability (GA) of the <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">C++ SDK <\/span><\/a><span style=\"font-weight: 400;\">for Couchbase! This release adds support for native C++ language to our existing comprehensive set of <\/span><a href=\"https:\/\/docs.couchbase.com\/home\/index.html\"><span style=\"font-weight: 400;\">SDK libraries<\/span><\/a><span style=\"font-weight: 400;\"> in 11 programming languages and marks a significant milestone in our commitment to providing robust, high-performance tools for developers to build modern, scalable applications. In fact, this C++ SDK is the core library behind our existing <\/span><a href=\"https:\/\/docs.couchbase.com\/python-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">Python<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/docs.couchbase.com\/nodejs-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">NodeJS<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/docs.couchbase.com\/ruby-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">Ruby<\/span><\/a><span style=\"font-weight: 400;\">, and <\/span><a href=\"https:\/\/docs.couchbase.com\/php-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">PHP<\/span><\/a><span style=\"font-weight: 400;\"> SDKs and strives to provide a consistent, performant and efficient experience across all these programming languages.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Why C++ SDK?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">C++ remains a vital language for many developers due to its performance, efficiency, and control over system resources. By introducing the C++ SDK, Couchbase empowers developers to leverage these advantages while taking full benefit of Couchbase&#8217;s advanced NoSQL capabilities. Here are some key reasons why this release is a game-changer:<\/span><\/p>\n<h3 style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">Performance<\/span><\/h3>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">C++ is renowned for its speed and low-level memory management, making it ideal for applications where performance is critical. The C++ SDK for Couchbase ensures that you can build high-performance applications without sacrificing speed or efficiency.<\/span><\/p>\n<h3 style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">Seamless Integration<\/span><\/h3>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">The C++ SDK provides seamless integration with Couchbase Server, enabling developers to easily perform operations such as KV operations, SQL++ queries, and transactions. This tight integration ensures that your applications can scale effectively while maintaining high performance.<\/span><\/p>\n<h3 style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">Modern API Design<\/span><\/h3>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">The C++ SDK features a modern, idiomatic API that aligns with the latest C++ standards. This makes it not only powerful but also intuitive for C++ developers, reducing the learning curve and allowing you to start building applications quickly.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Key Features<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Here are some of the standout features of the C++ SDK for Couchbase:<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Easy Connection Management<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The C++ SDK simplifies <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/managing-connections.html\"><span style=\"font-weight: 400;\">connection management<\/span><\/a><span style=\"font-weight: 400;\">, allowing you to establish and manage connections to your Couchbase cluster with minimal effort. This includes handling connection pooling, load balancing, and failover, ensuring your application remains resilient and performant. This means that the SDK can automatically read the topology of your cluster and provide seamless connections during topology changes such as cluster resizes or cluster upgrades. Below is an example of C++ code to connect to your couchbase database.<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">\/\/ Attempt to connect to the Couchbase cluster\r\nauto [connect_err, cluster] = couchbase::cluster::connect(config.connection_string, options).get();\r\n\r\nif (connect_err) {\r\n    \/\/ Output the error message if connection fails\r\n    std::cout &lt;&lt; \"Unable to connect to the cluster. Error code: \" &lt;&lt; connect_err.message() &lt;&lt; \"\\n\";\r\n} else {\r\n    auto collection = cluster.bucket(config.bucket_name)\r\n                             .scope(config.scope_name)\r\n                             .collection(config.collection_name);\r\n\r\n    \/\/ d something interesting\r\n\r\n    cluster.close().get();\r\n}\r\n<\/pre>\n<h3><span style=\"font-weight: 400;\">Key-Value (KV) Operation Support<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The C++ SDK natively supports performing <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/kv-operations.html\"><span style=\"font-weight: 400;\">key value operations<\/span><\/a><span style=\"font-weight: 400;\">. Key-value operations are unique to couchbase and provide very fast CRUD operations for documents stored in couchbase. Below is an example of C++ code to run a simple KV <\/span><span style=\"font-weight: 400;\">get<\/span><span style=\"font-weight: 400;\"> &amp; upsert of a document.<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">auto collection = cluster.bucket(config.bucket_name)\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.scope(config.scope_name)\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.collection(config.collection_name);\r\n\r\n\/\/ KV- get\r\nauto record = collection.get(document_id);\r\nstd::cout &lt;&lt; record.content_as() &lt;&lt; \"\\n\";\r\n\r\n\/\/ create a new document\r\nconst std::string document_id{ \"minimal_example\" };\r\nconst tao::json::value basic_doc{\r\n\u00a0\u00a0{ \"a\", 1.0 },\r\n\u00a0\u00a0{ \"b\", 2.0 },\r\n};\r\n\r\n\/\/ KV\u00a0\r\nauto [err, resp] = collection.upsert(document_id, basic_doc, {}).get();\r\nif (err.ec()) {\r\n\u00a0\u00a0std::cout &lt;&lt; \"ec: \" &lt;&lt; err.message() &lt;&lt; \", \";\r\n} else {\r\n\u00a0\u00a0std::cout &lt;&lt; \"id: \" &lt;&lt; document_id &lt;&lt; \", CAS: \" &lt;&lt; resp.cas().value() &lt;&lt; \"\\n\";\r\n}\r\n\r\ncluster.close().get();<\/pre>\n<h3><span style=\"font-weight: 400;\">Rich Query, Search and Vector Search Support<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The C++ SDK supports <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/sqlpp-queries-with-sdk.html\"><span style=\"font-weight: 400;\">SQL++ queries<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/concept-docs\/full-text-search-overview.html\"><span style=\"font-weight: 400;\">full-text search<\/span><\/a><span style=\"font-weight: 400;\"> (FTS), and <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/vector-searching-with-sdk.html\"><span style=\"font-weight: 400;\">vector search<\/span><\/a><span style=\"font-weight: 400;\">, providing you with powerful tools to perform complex data operations. Whether you need to run sophisticated queries or perform full-text searches, the SDK has you covered.\u00a0<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Query Search<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Below is a code snippet to execute a simple <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/sqlpp-queries-with-sdk.html\"><span style=\"font-weight: 400;\">SQL++ query<\/span><\/a><span style=\"font-weight: 400;\"> to fetch records from airlines collection:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);\r\n\u00a0\u00a0auto [err, resp] = scope.query(\"SELECT * FROM airline LIMIT 10\").get();\r\n\u00a0\u00a0std::cout &lt;&lt; \"--- Iterating as JSON objects:\\n\";\r\n\u00a0\u00a0for (auto row : resp.rows_as_json()) {\r\n\u00a0\u00a0\u00a0\u00a0std::cout &lt;&lt; \"Airline(id: \" &lt;&lt; row[\"airline\"][\"id\"] &lt;&lt; \", name: \\\"\" &lt;&lt; row[\"airline\"][\"name\"] &lt;&lt; \"\\\")\\n\";\r\n\u00a0\u00a0}<\/pre>\n<h4><span style=\"font-weight: 400;\">Full Text Search (FTS)<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Below is a code snippet to execute a <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/concept-docs\/full-text-search-overview.html\"><span style=\"font-weight: 400;\">FTS query<\/span><\/a><span style=\"font-weight: 400;\"> to do a full text search for \u201c<em>nice restaurants<\/em>\u201d the index created on the landmark collection:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);\r\nauto [err, resp] = scope\r\n\u00a0\u00a0.search(\"travel-inventory-landmarks\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0couchbase::search_request(couchbase::query_string_query(\"nice restaurants\")),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0couchbase::search_options{}.fields({ \"content\" }))\r\n\u00a0\u00a0.get();\r\nfor (const auto&amp; row : resp.rows()) {\r\n\u00a0\u00a0auto fields = row.fields_as&lt;couchbase::codec::tao_json_serializer&gt;();\r\n\u00a0\u00a0std::cout &lt;&lt; \"score: \" &lt;&lt; row.score() &lt;&lt; \", id: \\\"\" &lt;&lt; row.id() &lt;&lt; \"\\\", content: \\\"\" &lt;&lt; fields[\"content\"].get_string() &lt;&lt; \"\\\"\\n\";\r\n}<\/pre>\n<h4><span style=\"font-weight: 400;\">Vector Search<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Below is a code snippet to execute a <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/vector-searching-with-sdk.html\"><span style=\"font-weight: 400;\">vector search<\/span><\/a><span style=\"font-weight: 400;\"> query:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);\r\n\r\n\/\/ weights could be retrieved from your llm model or openAI\r\nstd::vector&lt;double&gt; weights{ 0.1, 0.2, 0.3, 0.4 };\r\nauto [err, resp] = scope\r\n\u00a0\u00a0.search(\"travel-inventory-landmarks\",\r\n\u00a0\u00a0\u00a0\u00a0couchbase::search_request(couchbase::vector_search(\r\n\u00a0\u00a0\u00a0\u00a0couchbase::vector_query(field_name, weights))))\r\n\u00a0\u00a0.get();\r\n\r\nfor (const auto&amp; row : resp.rows()) {\r\n\u00a0\u00a0auto fields = row.fields_as&lt;couchbase::codec::tao_json_serializer&gt;();\r\n\u00a0\u00a0std::cout &lt;&lt; \"score: \" &lt;&lt; row.score() &lt;&lt; \", id: \\\"\" &lt;&lt; row.id() &lt;&lt; \"\\\", content: \\\"\" &lt;&lt; fields[\"content\"].get_string() &lt;&lt; \"\\\"\\n\";\r\n}<\/pre>\n<h3><span style=\"font-weight: 400;\">Asynchronous Programming<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The SDK supports <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/concurrent-async-apis.html\"><span style=\"font-weight: 400;\">asynchronous programming<\/span><\/a><span style=\"font-weight: 400;\"> models, enabling you to build responsive, non-blocking applications. This is particularly useful for high-throughput applications where maintaining responsiveness is essential. Here\u2019s an example of running a transaction in a asynchronous context:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">std::shared_ptr&lt;async_attempt_context&gt; ctx) -&gt; couchbase::error {\r\n\u00a0\u00a0ctx-&gt;get(\r\n\u00a0\u00a0\u00a0\u00a0collection,\r\n\u00a0\u00a0\u00a0\u00a0some_id,\r\n\u00a0\u00a0\u00a0\u00a0\/\/ do something in this transaction\r\n}<\/pre>\n<h3><span style=\"font-weight: 400;\">Transactions<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">This new C++ SDK includes support for <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/distributed-acid-transactions-from-the-sdk.html\"><span style=\"font-weight: 400;\">transactions<\/span><\/a><span style=\"font-weight: 400;\"> and replaces our existing C++ transaction support by adding more performance improvements and features. Below is a sample code snippet for create a transaction context:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true \">std::shared_ptr&lt;couchbase::transactions::attempt_context&gt; ctx) -&gt; couchbase::error {\r\n  ctx.insert(collection, \"doc-a\", nlohmann::json({}));\r\n\u00a0\u00a0couchbase::transactions::transaction_get_result doc_a = ctx-&gt;get( collection, \u201cdoc-a\u201d)\r\n}<\/pre>\n<h3><span style=\"font-weight: 400;\">Robust Error Handling<\/span><\/h3>\n<p><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/error-handling.html\"><span style=\"font-weight: 400;\">Error handling<\/span><\/a><span style=\"font-weight: 400;\"> is crucial in any application, and the C++ SDK, just like our other SDKs, provides comprehensive error handling capabilities including retry for connection drops, connection pooling and informative error messages. This ensures that you can gracefully handle and recover from errors, enhancing the stability and reliability of your applications.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Getting Started<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">To help you get started with the C++ SDK for Couchbase, we&#8217;ve prepared a detailed getting started guide on our documentation website. Here\u2019s a quick overview of how to begin:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"font-weight: 400;\"><strong>Install the SDK<\/strong>: Follow the installation instructions in the documentation&lt;hyperlink&gt; to set up the SDK in your development environment.<\/span><\/li>\n<li><span style=\"font-weight: 400;\"><strong>Connect to Your Cluster<\/strong>: Connect to your Couchbase cluster.<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Perform <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/kv-operations.html\"><span style=\"font-weight: 400;\">CRUD operations<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/sqlpp-queries-with-sdk.html\"><span style=\"font-weight: 400;\">run queries<\/span><\/a><span style=\"font-weight: 400;\">, and leveraging Couchbase\u2019s powerful features.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">Community and Support<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">We believe in the power of community and open-source development. The C++ SDK for Couchbase <\/span><a href=\"https:\/\/github.com\/couchbase\/couchbase-cxx-client\"><span style=\"font-weight: 400;\">is open-source<\/span><\/a><span style=\"font-weight: 400;\">, and we encourage you to contribute, provide feedback, and join the conversation. For support, if you are our enterprise licensed customer, you can reach out via support, otherwise, you can access our comprehensive <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">documentation<\/span><\/a><span style=\"font-weight: 400;\">, join the <\/span><a href=\"https:\/\/www.couchbase.com\/forums\/\"><span style=\"font-weight: 400;\">Couchbase Forums<\/span><\/a><span style=\"font-weight: 400;\"> or <\/span><a href=\"https:\/\/discord.com\/invite\/K7NPMPGrPk\"><span style=\"font-weight: 400;\">Couchbase Discord<\/span><\/a><span style=\"font-weight: 400;\">, or reach out via our <\/span><a href=\"https:\/\/support.couchbase.com\/hc\/en-us\"><span style=\"font-weight: 400;\">support portal<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Further Reading<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">To learn more, check out our documentation website. It goes into more detail on the API, especially around transactions and asynchronous operations and provides other reference material and sample bindings links for you to dig deeper:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/github.com\/couchbase\/couchbase-cxx-client\/tree\/main\/examples\"><span style=\"font-weight: 400;\">Couchbase C++ SDK code examples<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">Couchbase C++ SDK documentation<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/github.com\/couchbase\/couchbase-cxx-client\"><span style=\"font-weight: 400;\">Download and install Couchbase C++ SDK<\/span><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/project-docs\/compatibility.html\"><span style=\"font-weight: 400;\">Supported operating systems<\/span><\/a><span style=\"font-weight: 400;\"> are listed on our documentation website.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Happy coding!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Couchbase Team<\/span><\/p>\n<p><br style=\"font-weight: 400;\" \/><br style=\"font-weight: 400;\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are thrilled to announce the General Availability (GA) of the C++ SDK for Couchbase! This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone [&hellip;]<\/p>\n","protected":false},"author":25,"featured_media":15986,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[9986,2165,2201,9937],"tags":[9549],"ppma_author":[8995,9987],"class_list":["post-15985","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","category-full-text-search","category-tools-sdks","category-vector-search","tag-crud"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Announcing General Availability of the C++ SDK for Couchbase<\/title>\n<meta name=\"description\" content=\"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone\" \/>\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\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing General Availability of the C++ SDK for Couchbase\" \/>\n<meta property=\"og:description\" content=\"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-01T15:00:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:07:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sergey Avseyev, SDK Engineer, Couchbase, Vishal Dhiman, Sr. Product Manager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@avsej\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sergey Avseyev, SDK Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\"},\"author\":{\"name\":\"Sergey Avseyev, SDK Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e9181374f225c90084ec3ba86bdcfa2e\"},\"headline\":\"Announcing General Availability of the C++ SDK for Couchbase\",\"datePublished\":\"2024-07-01T15:00:48+00:00\",\"dateModified\":\"2025-06-14T04:07:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\"},\"wordCount\":855,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\",\"keywords\":[\"CRUD\"],\"articleSection\":[\"C\/C++\",\"Full-Text Search\",\"Tools &amp; SDKs\",\"Vector Search\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\",\"name\":\"Announcing General Availability of the C++ SDK for Couchbase\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\",\"datePublished\":\"2024-07-01T15:00:48+00:00\",\"dateModified\":\"2025-06-14T04:07:20+00:00\",\"description\":\"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing General Availability of the C++ SDK for Couchbase\"}]},{\"@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\/e9181374f225c90084ec3ba86bdcfa2e\",\"name\":\"Sergey Avseyev, SDK Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/796ab283bd56fe3716a102ebe16daff6\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g\",\"caption\":\"Sergey Avseyev, SDK Engineer, Couchbase\"},\"description\":\"Sergey Avseyev is a SDK Engineer at Couchbase. Sergey Avseyev is responsible for development of Kafka connector, and underlying library, which implements DCP, Couchbase replication protocol. Also maintaining PHP SDK for Couchbase.\",\"sameAs\":[\"https:\/\/x.com\/avsej\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/sergey-avseyev\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Announcing General Availability of the C++ SDK for Couchbase","description":"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone","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\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","og_locale":"en_US","og_type":"article","og_title":"Announcing General Availability of the C++ SDK for Couchbase","og_description":"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone","og_url":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-07-01T15:00:48+00:00","article_modified_time":"2025-06-14T04:07:20+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","type":"image\/png"}],"author":"Sergey Avseyev, SDK Engineer, Couchbase, Vishal Dhiman, Sr. Product Manager","twitter_card":"summary_large_image","twitter_creator":"@avsej","twitter_misc":{"Written by":"Sergey Avseyev, SDK Engineer, Couchbase","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/"},"author":{"name":"Sergey Avseyev, SDK Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e9181374f225c90084ec3ba86bdcfa2e"},"headline":"Announcing General Availability of the C++ SDK for Couchbase","datePublished":"2024-07-01T15:00:48+00:00","dateModified":"2025-06-14T04:07:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/"},"wordCount":855,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","keywords":["CRUD"],"articleSection":["C\/C++","Full-Text Search","Tools &amp; SDKs","Vector Search"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","name":"Announcing General Availability of the C++ SDK for Couchbase","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","datePublished":"2024-07-01T15:00:48+00:00","dateModified":"2025-06-14T04:07:20+00:00","description":"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Announcing General Availability of the C++ SDK for Couchbase"}]},{"@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\/e9181374f225c90084ec3ba86bdcfa2e","name":"Sergey Avseyev, SDK Engineer, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/796ab283bd56fe3716a102ebe16daff6","url":"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g","caption":"Sergey Avseyev, SDK Engineer, Couchbase"},"description":"Sergey Avseyev is a SDK Engineer at Couchbase. Sergey Avseyev is responsible for development of Kafka connector, and underlying library, which implements DCP, Couchbase replication protocol. Also maintaining PHP SDK for Couchbase.","sameAs":["https:\/\/x.com\/avsej"],"url":"https:\/\/www.couchbase.com\/blog\/author\/sergey-avseyev\/"}]}},"authors":[{"term_id":8995,"user_id":25,"is_guest":0,"slug":"sergey-avseyev","display_name":"Sergey Avseyev, SDK Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g","author_category":"","last_name":"Avseyev, SDK Engineer, Couchbase","first_name":"Sergey","job_title":"","user_url":"","description":"Sergey Avseyev is a SDK Engineer at Couchbase. Sergey Avseyev is responsible for development of Kafka connector, and underlying library, which implements DCP, Couchbase replication protocol. Also maintaining PHP SDK for Couchbase."},{"term_id":9987,"user_id":85357,"is_guest":0,"slug":"vishald","display_name":"Vishal Dhiman, Sr. Product Manager","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/vishal-dhiman-couchbase.jpg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/vishal-dhiman-couchbase.jpg"},"author_category":"","last_name":"Dhiman, Sr. Product Manager","first_name":"Vishal","job_title":"Sr. Product Manager","user_url":"","description":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/15985","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\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=15985"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/15985\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/15986"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=15985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=15985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=15985"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=15985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}