{"id":9309,"date":"2020-09-08T13:51:28","date_gmt":"2020-09-08T20:51:28","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9309"},"modified":"2025-06-13T21:11:04","modified_gmt":"2025-06-14T04:11:04","slug":"announcing-couchbase-ruby-sdk-3-0-general-availability","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/","title":{"rendered":"Announcing General Availability Of Couchbase Ruby SDK 3.0 !"},"content":{"rendered":"<h5><span style=\"color: #000000\"><span style=\"color: #000000\"><b style=\"color: #000000\">&#8221; We<\/b><b style=\"color: #000000\"> are delighted to announce the General <\/b><span style=\"color: #000000\"><b>Availability<\/b><\/span><b style=\"color: #000000\"> of Couchbase Ruby SDK 3.0 !\u00a0 &#8220;<\/b><\/span><\/span><\/h5>\n<p>&nbsp;<\/p>\n<hr \/>\n<h4><b>Useful Links<\/b><\/h4>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/ruby-sdk\/3.0\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400\">Read Couchbase Ruby SDK 3.0 documentation<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/introduction\/whats-new.html\"><span style=\"font-weight: 400\">Read Couchbase Server 6.5.0 documentation<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/forums\/c\/ruby-sdk\/9\/\"><span style=\"font-weight: 400\">Share your thoughts on the Couchbase Forums<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/blog\/?s=ruby\"><span style=\"font-weight: 400\">See all the blogs about Ruby Couchbase<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/blog\/introducing-collections-developer-preview-in-couchbase-server-6-5\/\"><span style=\"font-weight: 400\">Understanding Scopes and Collections<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/sdk-api\/couchbase-ruby-client-3.0.0\/index.html\"><span style=\"font-weight: 400\">Ruby SDK 3.0 &#8211; API Reference<\/span><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4><b>Introduction<\/b><\/h4>\n<p style=\"text-align: left\"><span style=\"font-weight: 400\">The Couchbase Ruby SDK allows you to connect to a Couchbase cluster from Ruby using simplified and high-performance API which is an extension of native Ruby. Our SDK is written with the future of server features in mind, providing support for capabilities like Scopes and Collections which will be the new way of managing data.<\/span><\/p>\n<h4><b>Compatibility<\/b><\/h4>\n<p><span style=\"font-weight: 400\">Couchbase Ruby SDK 3.0 is\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Compatible with any MRI Ruby version greater than and including 2.5.0.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Fully supported for Couchbase server version greater than and including 6.0.0.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">More information on compatibility can be found <\/span><a href=\"https:\/\/docs.couchbase.com\/ruby-sdk\/3.0\/project-docs\/compatibility.html\"><span style=\"font-weight: 400\">here<\/span><\/a><span style=\"font-weight: 400\">.\u00a0<\/span><\/p>\n<h4><b>Installation<\/b><\/h4>\n<p><span style=\"font-weight: 400\">You can install Ruby by following the steps as mentioned in the official <\/span><a href=\"https:\/\/www.ruby-lang.org\/en\/documentation\/installation\/\"><span style=\"font-weight: 400\">Ruby Website.<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400\">Once Ruby is installed, Installing the version of Ruby SDK for Couchbase is very simple. <\/span><span style=\"font-weight: 400\">On a terminal window simply type the following command,<\/span><\/p>\n<pre class=\"font:verdana width-set:true width-mode:2 width:650 h-align:2 lang:sh decode:true\" title=\"Install Couchbase Ruby SDK Beta Version\">gem install couchbase<\/pre>\n<p><span style=\"font-weight: 400\">We also provide gem repositories with precompiled extensions. Use them in case the C\/C++ compiler cannot be installed on the box to build the extension during gem install. See this page for more instructions: <\/span><a href=\"https:\/\/docs.couchbase.com\/ruby-sdk\/3.0\/project-docs\/sdk-release-notes.html\"><span style=\"font-weight: 400\">Couchbase Ruby Release Notes and Archives<\/span><\/a><\/p>\n<h4><b>Connecting to Couchbase Cluster<\/b><\/h4>\n<p><span style=\"font-weight: 400\">A connection to a Couchbase Server cluster is represented by a <\/span><span style=\"font-weight: 400\">Cluster<\/span><span style=\"font-weight: 400\"> object. A <\/span><span style=\"font-weight: 400\">Cluster<\/span><span style=\"font-weight: 400\"> provides access to Buckets, Scopes, and Collections, as well as various Couchbase services and management interfaces.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Connecting to Couchbase Cluster is very simple, all you would need to do is <\/span><i><span style=\"font-weight: 400\">import couchbase library<\/span><\/i><span style=\"font-weight: 400\"> and <\/span><i><span style=\"font-weight: 400\">call the connect method<\/span><\/i><span style=\"font-weight: 400\"> on the cluster object by passing in the credentials using <\/span><i>Cluster Options <\/i><span style=\"font-weight: 400\">as you see below.<\/span><\/p>\n<pre class=\"font:verdana width-set:true width-mode:2 width:650 h-align:2 lang:ruby decode:true\" title=\"Connect \">require \"couchbase\" # import couchbase library\r\ninclude Couchbase\r\n\r\noptions = Cluster::ClusterOptions.new\r\noptions.authenticate(\"Administrator\", \"password\")\r\ncluster = Cluster.connect(\"couchbase:\/\/localhost\", options)<\/pre>\n<h4><b>Features<\/b><\/h4>\n<p><span style=\"font-weight: 400\">This new gem ships with a lot of new and enhanced features which are simple and less verbose.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Below you will find highlights of some of the features illustrated with examples that use Couchbase Server version 6.5.1 in Developer preview mode with `travel-sample` and `beer-sample` buckets added.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For a comprehensive set of features refer to our <\/span><a href=\"https:\/\/docs.couchbase.com\/ruby-sdk\/3.0\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400\">documentation<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<h5 style=\"padding-left: 40px\"><span style=\"text-decoration: underline;color: #333399\"><b>Key Value Operation<\/b><\/span><\/h5>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">Key Value operation, also known as Data Service offers the simplest and quickest way to retrieve or mutate data where the document key is known.\u00a0<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400;color: #003366\">The example uses travel-samples default collection to,<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400;color: #003366\">Create a new document (update if a document already exists) with the key <em>\u201cfoo\u201d<\/em> .<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400;color: #003366\">Retrieve the document.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400;color: #003366\">Remove \/ Delete the document.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre class=\"font:verdana width-set:true width-mode:2 width:650 h-align:2 lang:ruby decode:true\" title=\"KV Operation\">require 'couchbase'\r\ninclude Couchbase\r\n\r\noptions = Cluster::ClusterOptions.new\r\noptions.authenticate(\"Administrator\", \"password\")\r\ncluster = Cluster.connect(\"couchbase:\/\/localhost\", options)\r\nbucket = cluster.bucket(\"travel-sample\")\r\ncollection = bucket.default_collection\r\nres = collection.upsert(\"foo\", {\"bar\" =&gt; 42})\r\n\r\nres = collection.get(\"foo\")\r\nputs res.content\r\n\r\nres = collection.remove(\"foo\")\r\nputs res\r\n\r\ncluster.disconnect<\/pre>\n<h5 style=\"padding-left: 40px\"><span style=\"text-decoration: underline;color: #333399\"><b>Sub-Document Operations<\/b><\/span><\/h5>\n<p style=\"padding-left: 40px\"><i><span style=\"font-weight: 400\">Sub-document<\/span><\/i><span style=\"font-weight: 400\"> operations can be used to efficiently access <\/span><i><span style=\"font-weight: 400\">parts<\/span><\/i><span style=\"font-weight: 400\"> of documents using sub-document paths.They may be quicker and more network-efficient than <\/span><i><span style=\"font-weight: 400\">full-document<\/span><\/i><span style=\"font-weight: 400\"> operations such as <\/span><i><span style=\"font-weight: 400\">upsert<\/span><\/i><span style=\"font-weight: 400\">, <\/span><i><span style=\"font-weight: 400\">replace<\/span><\/i><span style=\"font-weight: 400\"> and <\/span><i><span style=\"font-weight: 400\">get<\/span><\/i><span style=\"font-weight: 400\"> because they only transmit the accessed sections of the document over the network. These operations are also atomic, allowing safe modifications to documents with built-in concurrency control.<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #003366\">The example below uses sub document paths fax, email to mutate a document with the key <i><span style=\"font-weight: 400\">\u201ccustomer123\u201d.<\/span><\/i><\/span><\/p>\n<pre class=\"font:verdana width-set:true width-mode:2 width:650 h-align:2 lang:ruby decode:true\" title=\"Ruby Sub-Document Operation Example\">require 'couchbase'\r\ninclude Couchbase\r\n\r\noptions = Cluster::ClusterOptions.new\r\noptions.authenticate(\"Administrator\", \"password\")\r\ncluster = Cluster.connect(\"couchbase:\/\/localhost\", options)\r\nbucket = cluster.bucket(\"default\")\r\ncollection = bucket.default_collection\r\n\r\ndocument = {\r\n  name: \"Douglas Reynholm\",\r\n  email: \"douglas@reynholmindustries.com\"\r\n}\r\ncollection.upsert(\"customer123\", document)\r\n\r\nres = collection.mutate_in(\"customer123\", [\r\n  MutateInSpec.upsert(\"fax\", \"311-555-0151\"),\r\n  MutateInSpec.replace(\"email\", \"dougr96@hotmail.com\"),\r\n])<\/pre>\n<h5 style=\"padding-left: 40px\"><span style=\"text-decoration: underline;color: #333399\"><b>Query<\/b><\/span><\/h5>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">You can query for documents in Couchbase using the N1QL query language, a language based on SQL, but designed for structured and flexible JSON documents. Querying can solve typical programming tasks such as finding a user profile by email address, facebook login, or user ID.<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #003366\"><span style=\"font-weight: 400\">The example below uses named parameters to retrieve 10 documents of type <\/span><i><span style=\"font-weight: 400\">\u201chotel\u201d <\/span><\/i><span style=\"font-weight: 400\">from `travel-sample` bucket.<\/span><\/span><\/p>\n<pre class=\"font:verdana width-set:true width-mode:2 width:650 h-align:2 lang:ruby decode:true \" title=\"Ruby Query Example\">require 'couchbase'\r\n\r\ninclude Couchbase\r\n\r\noptions = Cluster::ClusterOptions.new\r\noptions.authenticate(\"Administrator\", \"password\")\r\ncluster = Cluster.connect(\"couchbase:\/\/localhost\", options)\r\n\r\noptions = Cluster::QueryOptions.new\r\noptions.named_parameters({type: \"hotel\"})\r\n\r\nres = cluster.query(\"SELECT * FROM `travel-sample` WHERE type = $type LIMIT 10\", options)\r\nres.rows.each do |row|\r\n\u00a0 puts \"#{row[\"travel-sample\"][\"country\"]}. #{row[\"travel-sample\"][\"name\"]}\"\r\nend<\/pre>\n<h5 style=\"padding-left: 40px\"><span style=\"text-decoration: underline;color: #333399\"><strong>Analytics<\/strong><\/span><\/h5>\n<p style=\"padding-left: 40px\">Couchbase&#8217;s analytics service provides the ability to run complex ad-hoc queries to gather insights on operational data without impeding operational workloads. The query syntax is essentially the same as N1QL, allowing you to leverage your SQL knowledge to run analytical queries on JSON data.<\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #003366\"><span style=\"font-weight: 400\">The example below uses positional parameters to retrieve `<\/span><i><span style=\"font-weight: 400\">count of airports` <\/span><\/i><span style=\"font-weight: 400\">in France from <code>airports dataset<\/code> created on `travel-sample` bucket.<\/span><\/span><\/p>\n<pre class=\"font:verdana width-set:true width-mode:2 width:650 h-align:2 lang:ruby decode:true \" title=\"Ruby SDK Analytics Example\">require 'couchbase'\r\n\r\ninclude Couchbase\r\n\r\noptions = Cluster::ClusterOptions.new\r\noptions.authenticate(\"Administrator\", \"password\")\r\ncluster = Cluster.connect(\"couchbase:\/\/localhost\", options)\r\n\r\noptions = Cluster::AnalyticsOptions.new\r\noptions.positional_parameters([\"France\"])\r\nresult = cluster.analytics_query('SELECT COUNT(*) AS airport_count FROM airports WHERE country = ?',options)\r\nputs \"Airports in France: #{res.rows.first[\"airport_count\"]}\"<\/pre>\n<h4><b>Conclusion\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">Hope you are already excited and are ready to build your next application using this new gem !<\/span><\/p>\n<p><span style=\"font-weight: 400\">If you have any questions or feedback, <\/span><a href=\"https:\/\/www.couchbase.com\/forums\/c\/ruby-sdk\/9\"><span style=\"font-weight: 400\">drop by our developer community<\/span><\/a><span style=\"font-weight: 400\">. We&#8217;d love to hear from you. You can also check out the SDK over at <\/span><a href=\"https:\/\/github.com\/couchbase\/couchbase-ruby-client\"><span style=\"font-weight: 400\">GitHub<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>Happy Programming !!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8221; We are delighted to announce the General Availability of Couchbase Ruby SDK 3.0 !\u00a0 &#8220; &nbsp; Useful Links Read Couchbase Ruby SDK 3.0 documentation Read Couchbase Server 6.5.0 documentation Share your thoughts on the Couchbase Forums See all the [&hellip;]<\/p>\n","protected":false},"author":58641,"featured_media":11840,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,1821,1816,9407],"tags":[1395],"ppma_author":[9111],"class_list":["post-9309","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-couchbase-architecture","category-couchbase-server","category-ruby","tag-rails"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Announcing General Availability Of Couchbase Ruby SDK 3.0 ! - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Couchbase Ruby SDK 3.0 is now Officially Available and Fully Supported, try it out yourself !!!\" \/>\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-couchbase-ruby-sdk-3-0-general-availability\/\" \/>\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 Couchbase Ruby SDK 3.0 !\" \/>\n<meta property=\"og:description\" content=\"Couchbase Ruby SDK 3.0 is now Officially Available and Fully Supported, try it out yourself !!!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-08T20:51:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:11:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Announcing-General-Availability-Of-Couchbase-Ruby-SDK-3.0-.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Arun Vijayraghavan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arun Vijayraghavan\" \/>\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-couchbase-ruby-sdk-3-0-general-availability\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/\"},\"author\":{\"name\":\"Arun Vijayraghavan\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/159f967ae0328d6bd25d6389be35e843\"},\"headline\":\"Announcing General Availability Of Couchbase Ruby SDK 3.0 !\",\"datePublished\":\"2020-09-08T20:51:28+00:00\",\"dateModified\":\"2025-06-14T04:11:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/\"},\"wordCount\":662,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Ruby-1.png\",\"keywords\":[\"Rails\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Server\",\"Ruby\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/\",\"name\":\"Announcing General Availability Of Couchbase Ruby SDK 3.0 ! - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Ruby-1.png\",\"datePublished\":\"2020-09-08T20:51:28+00:00\",\"dateModified\":\"2025-06-14T04:11:04+00:00\",\"description\":\"Couchbase Ruby SDK 3.0 is now Officially Available and Fully Supported, try it out yourself !!!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Ruby-1.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Ruby-1.png\",\"width\":1200,\"height\":628,\"caption\":\"Ruby programming language and Couchbase\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing General Availability Of Couchbase Ruby SDK 3.0 !\"}]},{\"@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\/159f967ae0328d6bd25d6389be35e843\",\"name\":\"Arun Vijayraghavan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/042b27309bc3f10ef696264d6a250a75\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c4ecf222f7ec7d1f7bb6305543ab979690ed30f98bbc8fa806ffca5bf8cf3dd8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c4ecf222f7ec7d1f7bb6305543ab979690ed30f98bbc8fa806ffca5bf8cf3dd8?s=96&d=mm&r=g\",\"caption\":\"Arun Vijayraghavan\"},\"description\":\"Arun Vijayraghavan is the Principal Product Manager for SDK and Connectors at Couchbase. As a customer obsessed product leader, he strives to shape the future of products, making critical decisions between performance, features, and time-to-market. He has a demonstrated ability and an established track record of over 20 years of providing strategic guidance to companies to launch developer platforms and new products in order to pull together the single vision of maximizing business value of the product. Arun holds dual master degree's in Physics and Information Technology.\",\"sameAs\":[\"https:\/\/www.couchbase.com\",\"https:\/\/www.linkedin.com\/in\/avijayraghavan\/\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/arun-vijayraghavan\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Announcing General Availability Of Couchbase Ruby SDK 3.0 ! - The Couchbase Blog","description":"Couchbase Ruby SDK 3.0 is now Officially Available and Fully Supported, try it out yourself !!!","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-couchbase-ruby-sdk-3-0-general-availability\/","og_locale":"en_US","og_type":"article","og_title":"Announcing General Availability Of Couchbase Ruby SDK 3.0 !","og_description":"Couchbase Ruby SDK 3.0 is now Officially Available and Fully Supported, try it out yourself !!!","og_url":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-09-08T20:51:28+00:00","article_modified_time":"2025-06-14T04:11:04+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Announcing-General-Availability-Of-Couchbase-Ruby-SDK-3.0-.png","type":"image\/png"}],"author":"Arun Vijayraghavan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Arun Vijayraghavan","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/"},"author":{"name":"Arun Vijayraghavan","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/159f967ae0328d6bd25d6389be35e843"},"headline":"Announcing General Availability Of Couchbase Ruby SDK 3.0 !","datePublished":"2020-09-08T20:51:28+00:00","dateModified":"2025-06-14T04:11:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/"},"wordCount":662,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Ruby-1.png","keywords":["Rails"],"articleSection":["Application Design","Best Practices and Tutorials","Couchbase Architecture","Couchbase Server","Ruby"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/","url":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/","name":"Announcing General Availability Of Couchbase Ruby SDK 3.0 ! - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Ruby-1.png","datePublished":"2020-09-08T20:51:28+00:00","dateModified":"2025-06-14T04:11:04+00:00","description":"Couchbase Ruby SDK 3.0 is now Officially Available and Fully Supported, try it out yourself !!!","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Ruby-1.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Ruby-1.png","width":1200,"height":628,"caption":"Ruby programming language and Couchbase"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-ruby-sdk-3-0-general-availability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Announcing General Availability Of Couchbase Ruby SDK 3.0 !"}]},{"@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\/159f967ae0328d6bd25d6389be35e843","name":"Arun Vijayraghavan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/042b27309bc3f10ef696264d6a250a75","url":"https:\/\/secure.gravatar.com\/avatar\/c4ecf222f7ec7d1f7bb6305543ab979690ed30f98bbc8fa806ffca5bf8cf3dd8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c4ecf222f7ec7d1f7bb6305543ab979690ed30f98bbc8fa806ffca5bf8cf3dd8?s=96&d=mm&r=g","caption":"Arun Vijayraghavan"},"description":"Arun Vijayraghavan is the Principal Product Manager for SDK and Connectors at Couchbase. As a customer obsessed product leader, he strives to shape the future of products, making critical decisions between performance, features, and time-to-market. He has a demonstrated ability and an established track record of over 20 years of providing strategic guidance to companies to launch developer platforms and new products in order to pull together the single vision of maximizing business value of the product. Arun holds dual master degree's in Physics and Information Technology.","sameAs":["https:\/\/www.couchbase.com","https:\/\/www.linkedin.com\/in\/avijayraghavan\/"],"url":"https:\/\/www.couchbase.com\/blog\/author\/arun-vijayraghavan\/"}]}},"authors":[{"term_id":9111,"user_id":58641,"is_guest":0,"slug":"arun-vijayraghavan","display_name":"Arun Vijayraghavan","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/c4ecf222f7ec7d1f7bb6305543ab979690ed30f98bbc8fa806ffca5bf8cf3dd8?s=96&d=mm&r=g","author_category":"","last_name":"Vijayraghavan","first_name":"Arun","job_title":"","user_url":"https:\/\/www.couchbase.com","description":"Arun Vijayraghavan is the Principal Product Manager for SDK and Connectors at Couchbase. As a customer obsessed product leader, he strives to shape the future of products, making critical decisions between performance, features, and time-to-market. He has a demonstrated ability and an established track record of over 20 years of providing strategic guidance to companies to launch developer platforms and new products in order to pull together the single vision of maximizing business value of the product. Arun holds dual master degree's in Physics and Information Technology."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/9309","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\/58641"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=9309"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/9309\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/11840"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=9309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=9309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=9309"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=9309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}