couchbase 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/ext/CMakeLists.txt +4 -1
  4. data/ext/cache/extconf_include.rb +4 -3
  5. data/ext/cache/mozilla-ca-bundle.crt +66 -93
  6. data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
  7. data/ext/couchbase/CMakeLists.txt +24 -11
  8. data/ext/couchbase/cmake/APKBUILD.in +17 -1
  9. data/ext/couchbase/cmake/Bundler.cmake +9 -1
  10. data/ext/couchbase/cmake/Cache.cmake +48 -19
  11. data/ext/couchbase/cmake/CompilerOptions.cmake +3 -1
  12. data/ext/couchbase/cmake/OpenSSL.cmake +10 -2
  13. data/ext/couchbase/cmake/Packaging.cmake +48 -8
  14. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +43 -1
  15. data/ext/couchbase/cmake/build_config.hxx.in +2 -0
  16. data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +18 -0
  17. data/ext/couchbase/cmake/tarball_glob.txt +10 -0
  18. data/ext/couchbase/core/app_telemetry_meter.cxx +1 -0
  19. data/ext/couchbase/core/app_telemetry_reporter.cxx +45 -43
  20. data/ext/couchbase/core/app_telemetry_reporter.hxx +4 -3
  21. data/ext/couchbase/core/bucket.cxx +128 -13
  22. data/ext/couchbase/core/bucket.hxx +12 -2
  23. data/ext/couchbase/core/cluster.cxx +304 -152
  24. data/ext/couchbase/core/cluster.hxx +32 -0
  25. data/ext/couchbase/core/cluster_credentials.cxx +25 -0
  26. data/ext/couchbase/core/cluster_credentials.hxx +5 -0
  27. data/ext/couchbase/core/cluster_label_listener.cxx +72 -0
  28. data/ext/couchbase/core/cluster_label_listener.hxx +46 -0
  29. data/ext/couchbase/core/cluster_options.hxx +4 -0
  30. data/ext/couchbase/core/deprecation_utils.hxx +26 -0
  31. data/ext/couchbase/core/error.hxx +27 -0
  32. data/ext/couchbase/core/free_form_http_request.hxx +0 -2
  33. data/ext/couchbase/core/http_component.cxx +12 -48
  34. data/ext/couchbase/core/impl/analytics.cxx +3 -2
  35. data/ext/couchbase/core/impl/analytics.hxx +2 -1
  36. data/ext/couchbase/core/impl/analytics_index_manager.cxx +249 -137
  37. data/ext/couchbase/core/impl/binary_collection.cxx +134 -58
  38. data/ext/couchbase/core/impl/bucket_manager.cxx +87 -35
  39. data/ext/couchbase/core/impl/collection.cxx +560 -245
  40. data/ext/couchbase/core/impl/collection_manager.cxx +89 -49
  41. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +4 -4
  42. data/ext/couchbase/core/impl/error.cxx +20 -13
  43. data/ext/couchbase/core/impl/error.hxx +15 -10
  44. data/ext/couchbase/core/impl/get_all_replicas.hxx +1 -1
  45. data/ext/couchbase/core/impl/get_any_replica.hxx +2 -1
  46. data/ext/couchbase/core/impl/get_replica.hxx +2 -0
  47. data/ext/couchbase/core/impl/lookup_in_replica.hxx +1 -1
  48. data/ext/couchbase/core/impl/observability_recorder.cxx +161 -0
  49. data/ext/couchbase/core/impl/observability_recorder.hxx +77 -0
  50. data/ext/couchbase/core/impl/observe_seqno.hxx +2 -0
  51. data/ext/couchbase/core/impl/public_bucket.cxx +31 -7
  52. data/ext/couchbase/core/impl/public_cluster.cxx +107 -19
  53. data/ext/couchbase/core/impl/query.cxx +6 -3
  54. data/ext/couchbase/core/impl/query.hxx +3 -1
  55. data/ext/couchbase/core/impl/query_index_manager.cxx +267 -102
  56. data/ext/couchbase/core/impl/scope.cxx +53 -11
  57. data/ext/couchbase/core/impl/search.cxx +8 -4
  58. data/ext/couchbase/core/impl/search.hxx +6 -2
  59. data/ext/couchbase/core/impl/search_index_manager.cxx +131 -41
  60. data/ext/couchbase/core/impl/with_cancellation.hxx +75 -0
  61. data/ext/couchbase/core/io/config_tracker.cxx +9 -9
  62. data/ext/couchbase/core/io/config_tracker.hxx +2 -1
  63. data/ext/couchbase/core/io/http_command.hxx +98 -49
  64. data/ext/couchbase/core/io/http_context.hxx +2 -0
  65. data/ext/couchbase/core/io/http_session.cxx +23 -10
  66. data/ext/couchbase/core/io/http_session.hxx +17 -9
  67. data/ext/couchbase/core/io/http_session_manager.hxx +163 -228
  68. data/ext/couchbase/core/io/http_traits.hxx +0 -7
  69. data/ext/couchbase/core/io/mcbp_command.hxx +123 -44
  70. data/ext/couchbase/core/io/mcbp_session.cxx +251 -26
  71. data/ext/couchbase/core/io/mcbp_session.hxx +9 -1
  72. data/ext/couchbase/core/io/mcbp_traits.hxx +0 -8
  73. data/ext/couchbase/core/io/streams.cxx +3 -3
  74. data/ext/couchbase/core/io/streams.hxx +3 -2
  75. data/ext/couchbase/core/meta/features.hxx +15 -0
  76. data/ext/couchbase/core/meta/version.cxx +13 -0
  77. data/ext/couchbase/core/meta/version.hxx +3 -0
  78. data/ext/couchbase/core/metrics/constants.hxx +23 -0
  79. data/ext/couchbase/core/metrics/logging_meter.cxx +5 -5
  80. data/ext/couchbase/core/metrics/meter_wrapper.cxx +65 -63
  81. data/ext/couchbase/core/metrics/meter_wrapper.hxx +12 -10
  82. data/ext/couchbase/core/operations/document_analytics.hxx +0 -5
  83. data/ext/couchbase/core/operations/document_append.hxx +0 -4
  84. data/ext/couchbase/core/operations/document_decrement.hxx +0 -5
  85. data/ext/couchbase/core/operations/document_exists.hxx +0 -7
  86. data/ext/couchbase/core/operations/document_get.hxx +0 -7
  87. data/ext/couchbase/core/operations/document_get_all_replicas.hxx +77 -27
  88. data/ext/couchbase/core/operations/document_get_and_lock.hxx +0 -9
  89. data/ext/couchbase/core/operations/document_get_and_touch.hxx +0 -9
  90. data/ext/couchbase/core/operations/document_get_any_replica.hxx +83 -2
  91. data/ext/couchbase/core/operations/document_get_projected.hxx +0 -9
  92. data/ext/couchbase/core/operations/document_increment.hxx +0 -5
  93. data/ext/couchbase/core/operations/document_insert.hxx +0 -4
  94. data/ext/couchbase/core/operations/document_lookup_in.hxx +0 -9
  95. data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +46 -4
  96. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +121 -43
  97. data/ext/couchbase/core/operations/document_mutate_in.hxx +0 -5
  98. data/ext/couchbase/core/operations/document_prepend.hxx +0 -4
  99. data/ext/couchbase/core/operations/document_query.hxx +0 -4
  100. data/ext/couchbase/core/operations/document_remove.hxx +0 -4
  101. data/ext/couchbase/core/operations/document_replace.hxx +0 -4
  102. data/ext/couchbase/core/operations/document_search.hxx +0 -7
  103. data/ext/couchbase/core/operations/document_touch.hxx +0 -7
  104. data/ext/couchbase/core/operations/document_unlock.hxx +0 -6
  105. data/ext/couchbase/core/operations/document_upsert.hxx +0 -4
  106. data/ext/couchbase/core/operations/document_view.cxx +2 -0
  107. data/ext/couchbase/core/operations/document_view.hxx +10 -13
  108. data/ext/couchbase/core/operations/http_noop.hxx +2 -0
  109. data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +2 -0
  110. data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +2 -0
  111. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +2 -0
  112. data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +2 -0
  113. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +2 -0
  114. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
  115. data/ext/couchbase/core/operations/management/analytics_index_create.hxx +2 -0
  116. data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +2 -0
  117. data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +2 -0
  118. data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +2 -0
  119. data/ext/couchbase/core/operations/management/analytics_link_create.hxx +2 -0
  120. data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +2 -0
  121. data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +2 -0
  122. data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +2 -0
  123. data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +2 -0
  124. data/ext/couchbase/core/operations/management/bucket_create.hxx +2 -0
  125. data/ext/couchbase/core/operations/management/bucket_describe.hxx +2 -0
  126. data/ext/couchbase/core/operations/management/bucket_drop.hxx +2 -0
  127. data/ext/couchbase/core/operations/management/bucket_flush.hxx +2 -0
  128. data/ext/couchbase/core/operations/management/bucket_get.hxx +2 -0
  129. data/ext/couchbase/core/operations/management/bucket_get_all.hxx +2 -0
  130. data/ext/couchbase/core/operations/management/bucket_update.hxx +2 -0
  131. data/ext/couchbase/core/operations/management/change_password.hxx +2 -0
  132. data/ext/couchbase/core/operations/management/cluster_describe.hxx +2 -0
  133. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +2 -0
  134. data/ext/couchbase/core/operations/management/collection_create.hxx +2 -0
  135. data/ext/couchbase/core/operations/management/collection_drop.hxx +2 -0
  136. data/ext/couchbase/core/operations/management/collection_update.hxx +2 -0
  137. data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +2 -0
  138. data/ext/couchbase/core/operations/management/error_utils.cxx +4 -1
  139. data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +2 -0
  140. data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +2 -0
  141. data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +2 -0
  142. data/ext/couchbase/core/operations/management/eventing_get_function.hxx +2 -0
  143. data/ext/couchbase/core/operations/management/eventing_get_status.hxx +2 -0
  144. data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +2 -0
  145. data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +2 -0
  146. data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +2 -0
  147. data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +2 -0
  148. data/ext/couchbase/core/operations/management/freeform.hxx +2 -0
  149. data/ext/couchbase/core/operations/management/group_drop.hxx +2 -0
  150. data/ext/couchbase/core/operations/management/group_get.hxx +2 -0
  151. data/ext/couchbase/core/operations/management/group_get_all.hxx +2 -0
  152. data/ext/couchbase/core/operations/management/group_upsert.hxx +2 -0
  153. data/ext/couchbase/core/operations/management/query_index_build.hxx +2 -0
  154. data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +68 -30
  155. data/ext/couchbase/core/operations/management/query_index_create.hxx +2 -0
  156. data/ext/couchbase/core/operations/management/query_index_drop.hxx +2 -0
  157. data/ext/couchbase/core/operations/management/query_index_get_all.hxx +4 -3
  158. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +2 -1
  159. data/ext/couchbase/core/operations/management/role_get_all.hxx +2 -0
  160. data/ext/couchbase/core/operations/management/scope_create.hxx +2 -0
  161. data/ext/couchbase/core/operations/management/scope_drop.hxx +2 -0
  162. data/ext/couchbase/core/operations/management/scope_get_all.hxx +2 -0
  163. data/ext/couchbase/core/operations/management/search_get_stats.hxx +2 -0
  164. data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +2 -0
  165. data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +2 -0
  166. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +2 -0
  167. data/ext/couchbase/core/operations/management/search_index_control_query.hxx +2 -0
  168. data/ext/couchbase/core/operations/management/search_index_drop.hxx +2 -0
  169. data/ext/couchbase/core/operations/management/search_index_get.hxx +2 -0
  170. data/ext/couchbase/core/operations/management/search_index_get_all.hxx +2 -0
  171. data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +2 -0
  172. data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +2 -0
  173. data/ext/couchbase/core/operations/management/search_index_upsert.hxx +2 -0
  174. data/ext/couchbase/core/operations/management/user_drop.hxx +2 -0
  175. data/ext/couchbase/core/operations/management/user_get.hxx +2 -0
  176. data/ext/couchbase/core/operations/management/user_get_all.hxx +2 -0
  177. data/ext/couchbase/core/operations/management/user_upsert.hxx +2 -0
  178. data/ext/couchbase/core/operations/management/view_index_drop.hxx +2 -0
  179. data/ext/couchbase/core/operations/management/view_index_get.hxx +2 -0
  180. data/ext/couchbase/core/operations/management/view_index_get_all.hxx +2 -0
  181. data/ext/couchbase/core/operations/management/view_index_upsert.hxx +2 -0
  182. data/ext/couchbase/core/operations/operation_traits.hxx +6 -0
  183. data/ext/couchbase/core/operations.hxx +0 -1
  184. data/ext/couchbase/core/operations_fwd.hxx +8 -0
  185. data/ext/couchbase/core/origin.cxx +67 -12
  186. data/ext/couchbase/core/origin.hxx +13 -8
  187. data/ext/couchbase/core/orphan_reporter.cxx +164 -0
  188. data/ext/couchbase/core/orphan_reporter.hxx +65 -0
  189. data/ext/couchbase/core/sasl/CMakeLists.txt +1 -0
  190. data/ext/couchbase/core/sasl/client.cc +6 -0
  191. data/ext/couchbase/core/sasl/mechanism.cc +2 -1
  192. data/ext/couchbase/core/sasl/mechanism.h +2 -1
  193. data/ext/couchbase/core/sasl/oauthbearer/oauthbearer.cc +41 -0
  194. data/ext/couchbase/core/sasl/oauthbearer/oauthbearer.h +47 -0
  195. data/ext/couchbase/core/tls_context_provider.cxx +44 -0
  196. data/ext/couchbase/core/tls_context_provider.hxx +44 -0
  197. data/ext/couchbase/core/tracing/attribute_helpers.hxx +45 -0
  198. data/ext/couchbase/core/tracing/constants.hxx +148 -68
  199. data/ext/couchbase/core/tracing/threshold_logging_options.hxx +0 -3
  200. data/ext/couchbase/core/tracing/threshold_logging_tracer.cxx +122 -170
  201. data/ext/couchbase/core/tracing/tracer_wrapper.cxx +17 -24
  202. data/ext/couchbase/core/tracing/tracer_wrapper.hxx +8 -10
  203. data/ext/couchbase/core/tracing/wrapper_sdk_tracer.cxx +114 -0
  204. data/ext/couchbase/core/tracing/wrapper_sdk_tracer.hxx +85 -0
  205. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +16 -14
  206. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +4 -4
  207. data/ext/couchbase/core/transactions/transactions.cxx +1 -1
  208. data/ext/couchbase/core/transactions/transactions_cleanup.cxx +1 -2
  209. data/ext/couchbase/core/utils/byteswap.hxx +12 -0
  210. data/ext/couchbase/core/utils/concurrent_fixed_priority_queue.hxx +102 -0
  211. data/ext/couchbase/core/utils/connection_string.cxx +2 -0
  212. data/ext/couchbase/couchbase/certificate_authenticator.hxx +1 -0
  213. data/ext/couchbase/couchbase/cluster.hxx +47 -0
  214. data/ext/couchbase/couchbase/cluster_options.hxx +16 -0
  215. data/ext/couchbase/couchbase/collection.hxx +60 -15
  216. data/ext/couchbase/couchbase/error_codes.hxx +48 -48
  217. data/ext/couchbase/couchbase/jwt_authenticator.hxx +52 -0
  218. data/ext/couchbase/couchbase/metrics/meter.hxx +2 -1
  219. data/ext/couchbase/couchbase/metrics/otel_meter.hxx +75 -80
  220. data/ext/couchbase/couchbase/network_options.hxx +19 -0
  221. data/ext/couchbase/couchbase/password_authenticator.hxx +1 -0
  222. data/ext/couchbase/couchbase/tracing/otel_tracer.hxx +15 -17
  223. data/ext/couchbase/couchbase/tracing/request_span.hxx +2 -2
  224. data/ext/couchbase.cxx +4 -0
  225. data/ext/extconf.rb +1 -0
  226. data/ext/rcb_analytics.cxx +157 -47
  227. data/ext/rcb_backend.cxx +118 -71
  228. data/ext/rcb_buckets.cxx +39 -16
  229. data/ext/rcb_collections.cxx +36 -12
  230. data/ext/rcb_crud.cxx +587 -294
  231. data/ext/rcb_hdr_histogram.cxx +219 -0
  232. data/ext/rcb_hdr_histogram.hxx +28 -0
  233. data/ext/rcb_multi.cxx +142 -59
  234. data/ext/rcb_observability.cxx +132 -0
  235. data/ext/rcb_observability.hxx +49 -0
  236. data/ext/rcb_query.cxx +77 -27
  237. data/ext/rcb_search.cxx +92 -31
  238. data/ext/rcb_users.cxx +69 -26
  239. data/ext/rcb_utils.cxx +91 -0
  240. data/ext/rcb_utils.hxx +141 -168
  241. data/ext/rcb_views.cxx +36 -12
  242. data/lib/active_support/cache/couchbase_store.rb +6 -6
  243. data/lib/couchbase/authenticator.rb +14 -0
  244. data/lib/couchbase/binary_collection.rb +37 -22
  245. data/lib/couchbase/bucket.rb +46 -31
  246. data/lib/couchbase/cluster.rb +146 -61
  247. data/lib/couchbase/collection.rb +257 -186
  248. data/lib/couchbase/datastructures/couchbase_list.rb +81 -50
  249. data/lib/couchbase/datastructures/couchbase_map.rb +86 -50
  250. data/lib/couchbase/datastructures/couchbase_queue.rb +64 -38
  251. data/lib/couchbase/datastructures/couchbase_set.rb +57 -41
  252. data/lib/couchbase/deprecations.rb +1 -1
  253. data/lib/couchbase/diagnostics.rb +8 -8
  254. data/lib/couchbase/errors.rb +6 -0
  255. data/lib/couchbase/management/analytics_index_manager.rb +90 -59
  256. data/lib/couchbase/management/bucket_manager.rb +73 -45
  257. data/lib/couchbase/management/collection_manager.rb +86 -43
  258. data/lib/couchbase/management/collection_query_index_manager.rb +56 -33
  259. data/lib/couchbase/management/query_index_manager.rb +88 -36
  260. data/lib/couchbase/management/scope_search_index_manager.rb +119 -52
  261. data/lib/couchbase/management/search_index_manager.rb +401 -178
  262. data/lib/couchbase/management/user_manager.rb +343 -174
  263. data/lib/couchbase/management/view_index_manager.rb +166 -73
  264. data/lib/couchbase/metrics/logging_meter.rb +108 -0
  265. data/lib/couchbase/metrics/logging_value_recorder.rb +50 -0
  266. data/lib/couchbase/metrics/meter.rb +27 -0
  267. data/lib/couchbase/metrics/noop_meter.rb +30 -0
  268. data/lib/couchbase/metrics/noop_value_recorder.rb +27 -0
  269. data/lib/couchbase/metrics/value_recorder.rb +25 -0
  270. data/lib/couchbase/options.rb +69 -3
  271. data/lib/couchbase/protostellar/cluster.rb +3 -0
  272. data/lib/couchbase/scope.rb +62 -48
  273. data/lib/couchbase/search_options.rb +18 -18
  274. data/lib/couchbase/tracing/noop_span.rb +29 -0
  275. data/lib/couchbase/tracing/noop_tracer.rb +29 -0
  276. data/lib/couchbase/tracing/request_span.rb +34 -0
  277. data/lib/couchbase/tracing/request_tracer.rb +28 -0
  278. data/lib/couchbase/tracing/threshold_logging_span.rb +112 -0
  279. data/lib/couchbase/tracing/threshold_logging_tracer.rb +231 -0
  280. data/lib/couchbase/utils/hdr_histogram.rb +55 -0
  281. data/lib/couchbase/utils/observability.rb +257 -0
  282. data/lib/couchbase/utils/observability_constants.rb +200 -0
  283. data/lib/couchbase/utils/stdlib_logger_adapter.rb +1 -3
  284. data/lib/couchbase/version.rb +1 -1
  285. data/lib/couchbase.rb +2 -2
  286. metadata +58 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48e71337bfdcca6eeda3e1174e049a6b9b851c9e72ad00e534a98ca1e5f1fc60
4
- data.tar.gz: 90eec010a0c3269f2789a9051f799e4c005d694505b0127f51fcd6e6779b55a8
3
+ metadata.gz: 813511324b2b710b8cbd506baa2c667681aa76196f03d18bf4794937816b1752
4
+ data.tar.gz: 8be9b87e36bfc0107177d03a52639ba3f4a1ab77611ae3f11c42b8920fd1753e
5
5
  SHA512:
6
- metadata.gz: 14934a55ee4e008ed60d41d0800ec905dd9c0ac18bd61aa635a86c867ad4ee67df3156f47b50c5af2fd6242331f526c3bf3da22786460572e987b7fe33a84f5f
7
- data.tar.gz: 2c07fb1b9d6cb4af24d1b6c5214fb7cef971a43e0a8cfdc11ebd8aa4e022936a65144a58113389da0bc5ee7498f815ea6417e919bd6cdd0411d86fc0b645498d
6
+ metadata.gz: 7588419b1c521b519a3b6254c69d256e1d028c9a5ee3abf5ecdfc76dd8e694924697c837e49a7edc7089bebfc5b97aa7532075a06ed9f97a7507c8ba8bd1b489
7
+ data.tar.gz: 37a97565573466d39914827c04060842e47b853c3f5d187ac699e1af9017076456e937de7ff51986e71bbef955f876beb74df06cba4c6d3c8abe6cafac4ca317
data/README.md CHANGED
@@ -9,7 +9,7 @@ This repository contains the third generation of the official Couchbase SDK for
9
9
 
10
10
  ## Support and Feedback
11
11
 
12
- If you find an issue, please file it in [our JIRA issue tracker](https://couchbase.com/issues/browse/RCBC). Also you are
12
+ If you find an issue, please file it in [our JIRA issue tracker](https://jira.issues.couchbase.com/browse/RCBC). Also you are
13
13
  always welcome on [our forum](https://forums.couchbase.com/c/ruby-sdk) and [Discord](https://discord.com/invite/sQ5qbPZuTh).
14
14
 
15
15
  Please attach version information to the ticket/post. To obtain this information, use the following command:
@@ -18,12 +18,12 @@ Please attach version information to the ticket/post. To obtain this information
18
18
 
19
19
  ## Installation
20
20
 
21
- The library has been tested with MRI 3.1, 3.2, 3.3 and 3.4. Supported platforms are Linux and MacOS.
21
+ The library has been tested with MRI 3.2, 3.3, 3.4 and 4.0. Supported platforms are Linux and MacOS.
22
22
 
23
23
  Add this line to your application's Gemfile:
24
24
 
25
25
  ```ruby
26
- gem "couchbase", "3.7.0"
26
+ gem "couchbase", "3.8.0"
27
27
  ```
28
28
 
29
29
  And then execute:
data/ext/CMakeLists.txt CHANGED
@@ -59,7 +59,9 @@ add_library(
59
59
  rcb_users.cxx
60
60
  rcb_utils.cxx
61
61
  rcb_version.cxx
62
- rcb_views.cxx)
62
+ rcb_views.cxx
63
+ rcb_observability.cxx
64
+ rcb_hdr_histogram.cxx)
63
65
  target_include_directories(couchbase PRIVATE ${PROJECT_BINARY_DIR}/generated)
64
66
  target_include_directories(
65
67
  couchbase
@@ -76,6 +78,7 @@ target_link_libraries(
76
78
  asio
77
79
  taocpp::json
78
80
  spdlog::spdlog
81
+ hdr_histogram_static
79
82
  snappy)
80
83
  if(RUBY_LIBRUBY)
81
84
  target_link_directories(couchbase PRIVATE "${RUBY_LIBRARY_DIR}")
@@ -3,6 +3,7 @@ cmake_flags << "-DCPM_USE_NAMED_CACHE_DIRECTORIES=ON"
3
3
  cmake_flags << "-DCPM_USE_LOCAL_PACKAGES=OFF"
4
4
  cmake_flags << "-DCPM_SOURCE_CACHE=#{File.expand_path('cache', __dir__)}"
5
5
  cmake_flags << "-DCOUCHBASE_CXX_CLIENT_EMBED_MOZILLA_CA_BUNDLE_ROOT=#{File.expand_path('cache', __dir__)}"
6
- cmake_flags << "-DEXT_GIT_REVISION=a5f71eaac8271d687742ef5e4fba9115c7e85cec"
7
- cmake_flags << "-DCOUCHBASE_CXX_CLIENT_GIT_REVISION=c2439a404fa6b276862fe81150b1326bf98e6164"
8
- cmake_flags << "-DCOUCHBASE_CXX_CLIENT_GIT_DESCRIBE=1.2.0-0-gc2439a4"
6
+ cmake_flags << "-DEXT_GIT_REVISION=c609eb00e1add25ee13de4f59ef04f61b6458460"
7
+ cmake_flags << "-DCOUCHBASE_CXX_CLIENT_GIT_REVISION=fb3f860843c3ca594f2676225dcc95ed8d6c1375"
8
+ cmake_flags << "-DCOUCHBASE_CXX_CLIENT_GIT_DESCRIBE=1.3.1-0-gfb3f860"
9
+ cmake_flags << "-DCOUCHBASE_CXX_CLIENT_BUILD_TIMESTAMP=2026-03-20T20:19:59"
@@ -1,7 +1,7 @@
1
1
  ##
2
2
  ## Bundle of CA Root Certificates
3
3
  ##
4
- ## Certificate data from Mozilla as of: Tue Sep 9 03:12:01 2025 GMT
4
+ ## Certificate data from Mozilla last updated on: Wed Feb 11 18:26:30 2026 GMT
5
5
  ##
6
6
  ## Find updated versions here: https://curl.se/docs/caextract.html
7
7
  ##
@@ -15,8 +15,8 @@
15
15
  ## an Apache+mod_ssl webserver for SSL client authentication.
16
16
  ## Just configure this file as the SSLCACertificateFile.
17
17
  ##
18
- ## Conversion done with mk-ca-bundle.pl version 1.29.
19
- ## SHA256: 0078e6bdd280fd89e1b883174387aae84b3eae2ee263416a5f8a14ee7f179ae9
18
+ ## Conversion done with mk-ca-bundle.pl version 1.32.
19
+ ## SHA256: 3b98d4e3ff57a326d9587c33633039c8c3a9cf0b55f7ca581d7598ff329eb1f3
20
20
  ##
21
21
 
22
22
 
@@ -3167,96 +3167,6 @@ bbd+NvBNEU/zy4k6LHiRUKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xk
3167
3167
  dUfFVZDj/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA==
3168
3168
  -----END CERTIFICATE-----
3169
3169
 
3170
- CommScope Public Trust ECC Root-01
3171
- ==================================
3172
- -----BEGIN CERTIFICATE-----
3173
- MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMwTjELMAkGA1UE
3174
- BhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBUcnVz
3175
- dCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNaFw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYT
3176
- AlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3Qg
3177
- RUNDIFJvb3QtMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLx
3178
- eP0CflfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJEhRGnSjot
3179
- 6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
3180
- A1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggqhkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2
3181
- Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liW
3182
- pDVfG2XqYZpwI7UNo5uSUm9poIyNStDuiw7LR47QjRE=
3183
- -----END CERTIFICATE-----
3184
-
3185
- CommScope Public Trust ECC Root-02
3186
- ==================================
3187
- -----BEGIN CERTIFICATE-----
3188
- MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMwTjELMAkGA1UE
3189
- BhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBUcnVz
3190
- dCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRaFw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYT
3191
- AlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3Qg
3192
- RUNDIFJvb3QtMDIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/M
3193
- MDALj2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmUv4RDsNuE
3194
- SgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
3195
- A1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggqhkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9
3196
- Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/nich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs7
3197
- 3u1Z/GtMMH9ZzkXpc2AVmkzw5l4lIhVtwodZ0LKOag==
3198
- -----END CERTIFICATE-----
3199
-
3200
- CommScope Public Trust RSA Root-01
3201
- ==================================
3202
- -----BEGIN CERTIFICATE-----
3203
- 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
- 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
- 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
- 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
- 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
- nYSkYZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslhsuitQDy6
3209
- uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0alDrJLpA6lfO741GIDuZNq
3210
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- jXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2vtrV0KnahP/t1MJ+UXjulYPPLXAziDslg+Mkf
3222
- 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
- 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
- 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
- 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
- 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
3227
- 6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw
3228
- -----END CERTIFICATE-----
3229
-
3230
- CommScope Public Trust RSA Root-02
3231
- ==================================
3232
- -----BEGIN CERTIFICATE-----
3233
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- HG1QAk8mGEPej1WFsQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+Nm
3254
- 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
- dVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670v64fG9PiO/yzcnMcmyiQ
3256
- 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
3257
- lM47ni3niAIi9G7oyOzWPPO5std3eqx7
3258
- -----END CERTIFICATE-----
3259
-
3260
3170
  Telekom Security TLS ECC Root 2020
3261
3171
  ==================================
3262
3172
  -----BEGIN CERTIFICATE-----
@@ -3554,3 +3464,66 @@ KIqlIgyKhPBZLtU30WHlQnNYKoH3dtvi4k0NX/a3vgW0rk4N3hY9A4GzJl5LuEsAz/+MF7psYC0n
3554
3464
  hzck5npgL7XTgwSqT0N1osGDsieYK7EOgLrAhV5Cud+xYJHT6xh+cHiudoO+cVrQkOPKwRYlZ0rw
3555
3465
  tnu64ZzZ
3556
3466
  -----END CERTIFICATE-----
3467
+
3468
+ OISTE Server Root ECC G1
3469
+ ========================
3470
+ -----BEGIN CERTIFICATE-----
3471
+ MIICNTCCAbqgAwIBAgIQI/nD1jWvjyhLH/BU6n6XnTAKBggqhkjOPQQDAzBLMQswCQYDVQQGEwJD
3472
+ SDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UEAwwYT0lTVEUgU2VydmVyIFJvb3Qg
3473
+ RUNDIEcxMB4XDTIzMDUzMTE0NDIyOFoXDTQ4MDUyNDE0NDIyN1owSzELMAkGA1UEBhMCQ0gxGTAX
3474
+ BgNVBAoMEE9JU1RFIEZvdW5kYXRpb24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IEVDQyBH
3475
+ MTB2MBAGByqGSM49AgEGBSuBBAAiA2IABBcv+hK8rBjzCvRE1nZCnrPoH7d5qVi2+GXROiFPqOuj
3476
+ vqQycvO2Ackr/XeFblPdreqqLiWStukhEaivtUwL85Zgmjvn6hp4LrQ95SjeHIC6XG4N2xml4z+c
3477
+ KrhAS93mT6NjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQ3TYhlz/w9itWj8UnATgwQ
3478
+ b0K0nDAdBgNVHQ4EFgQUN02IZc/8PYrVo/FJwE4MEG9CtJwwDgYDVR0PAQH/BAQDAgGGMAoGCCqG
3479
+ SM49BAMDA2kAMGYCMQCpKjAd0MKfkFFRQD6VVCHNFmb3U2wIFjnQEnx/Yxvf4zgAOdktUyBFCxxg
3480
+ ZzFDJe0CMQCSia7pXGKDYmH5LVerVrkR3SW+ak5KGoJr3M/TvEqzPNcum9v4KGm8ay3sMaE641c=
3481
+ -----END CERTIFICATE-----
3482
+
3483
+ OISTE Server Root RSA G1
3484
+ ========================
3485
+ -----BEGIN CERTIFICATE-----
3486
+ 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
3511
+ -----END CERTIFICATE-----
3512
+
3513
+ e-Szigno TLS Root CA 2023
3514
+ =========================
3515
+ -----BEGIN CERTIFICATE-----
3516
+ MIICzzCCAjGgAwIBAgINAOhvGHvWOWuYSkmYCjAKBggqhkjOPQQDBDB1MQswCQYDVQQGEwJIVTER
3517
+ MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xFzAVBgNVBGEMDlZBVEhV
3518
+ LTIzNTg0NDk3MSIwIAYDVQQDDBllLVN6aWdubyBUTFMgUm9vdCBDQSAyMDIzMB4XDTIzMDcxNzE0
3519
+ MDAwMFoXDTM4MDcxNzE0MDAwMFowdTELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRYw
3520
+ FAYDVQQKDA1NaWNyb3NlYyBMdGQuMRcwFQYDVQRhDA5WQVRIVS0yMzU4NDQ5NzEiMCAGA1UEAwwZ
3521
+ ZS1Temlnbm8gVExTIFJvb3QgQ0EgMjAyMzCBmzAQBgcqhkjOPQIBBgUrgQQAIwOBhgAEAGgP36J8
3522
+ PKp0iGEKjcJMpQEiFNT3YHdCnAo4YKGMZz6zY+n6kbCLS+Y53wLCMAFSAL/fjO1ZrTJlqwlZULUZ
3523
+ wmgcAOAFX9pQJhzDrAQixTpN7+lXWDajwRlTEArRzT/vSzUaQ49CE0y5LBqcvjC2xN7cS53kpDzL
3524
+ Ltmt3999Cd8ukv+ho2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4E
3525
+ FgQUWYQCYlpGePVd3I8KECgj3NXW+0UwHwYDVR0jBBgwFoAUWYQCYlpGePVd3I8KECgj3NXW+0Uw
3526
+ CgYIKoZIzj0EAwQDgYsAMIGHAkIBLdqu9S54tma4n7Zwf2Z0z+yOfP7AAXmazlIC58PRDHpty7Ve
3527
+ 7hekm9sEdu4pKeiv+62sUvTXK9Z3hBC9xdIoaDQCQTV2WnXzkoYI9bIeCvZlC9p2x1L/Cx6AcCIw
3528
+ wzPbGO2E14vs7dOoY4G1VnxHx1YwlGhza9IuqbnZLBwpvQy6uWWL
3529
+ -----END CERTIFICATE-----
@@ -1 +1 @@
1
- f290e6acaf904a4121424ca3ebdd70652780707e28e8af999221786b86bb1975 cacert.pem
1
+ b6e66569cc3d438dd5abe514d0df50005d570bfc96c14dca8f768d020cb96171 cacert.pem
@@ -21,7 +21,7 @@ endif()
21
21
 
22
22
  project(
23
23
  couchbase_cxx_client
24
- VERSION "1.2.0"
24
+ VERSION "1.3.1"
25
25
  LANGUAGES CXX C)
26
26
  message(
27
27
  STATUS
@@ -61,6 +61,8 @@ endif()
61
61
 
62
62
  find_package(Threads REQUIRED)
63
63
 
64
+ option(COUCHBASE_CXX_CLIENT_BUILD_OPENTELEMETRY "Build with OpenTelemetry" ${COUCHBASE_CXX_CLIENT_MASTER_PROJECT})
65
+
64
66
  include(cmake/ThirdPartyDependencies.cmake)
65
67
 
66
68
  include(cmake/VersionInfo.cmake)
@@ -75,15 +77,19 @@ set(couchbase_cxx_client_FILES
75
77
  core/agent_group.cxx
76
78
  core/agent_group_config.cxx
77
79
  core/analytics_query_options.cxx
80
+ core/app_telemetry_address.cxx
81
+ core/app_telemetry_meter.cxx
82
+ core/app_telemetry_reporter.cxx
78
83
  core/bucket.cxx
79
84
  core/cluster.cxx
80
85
  core/cluster_agent.cxx
81
86
  core/cluster_agent_config.cxx
87
+ core/cluster_credentials.cxx
82
88
  core/cluster_options.cxx
83
89
  core/collections_component.cxx
90
+ core/columnar/backoff_calculator.cxx
84
91
  core/columnar/columnar_agent.cxx
85
92
  core/columnar/columnar_agent_config.cxx
86
- core/columnar/backoff_calculator.cxx
87
93
  core/columnar/columnar_error.cxx
88
94
  core/columnar/error_codes.cxx
89
95
  core/columnar/management_component.cxx
@@ -105,14 +111,13 @@ set(couchbase_cxx_client_FILES
105
111
  core/impl/binary_collection.cxx
106
112
  core/impl/boolean_field_query.cxx
107
113
  core/impl/boolean_query.cxx
108
- core/impl/public_bucket.cxx
109
114
  core/impl/bucket_manager.cxx
110
- core/impl/public_cluster.cxx
111
115
  core/impl/collection.cxx
112
116
  core/impl/collection_manager.cxx
113
117
  core/impl/common_error_category.cxx
114
118
  core/impl/configuration_profiles_registry.cxx
115
119
  core/impl/conjunction_query.cxx
120
+ core/impl/crypto.cxx
116
121
  core/impl/date_range.cxx
117
122
  core/impl/date_range_facet.cxx
118
123
  core/impl/date_range_facet_result.cxx
@@ -141,7 +146,6 @@ set(couchbase_cxx_client_FILES
141
146
  core/impl/internal_term_facet_result.cxx
142
147
  core/impl/key_value_error_category.cxx
143
148
  core/impl/key_value_error_context.cxx
144
- core/impl/public_logger.cxx
145
149
  core/impl/lookup_in_replica.cxx
146
150
  core/impl/management_error_category.cxx
147
151
  core/impl/match_all_query.cxx
@@ -157,6 +161,11 @@ set(couchbase_cxx_client_FILES
157
161
  core/impl/observe_seqno.cxx
158
162
  core/impl/phrase_query.cxx
159
163
  core/impl/prefix_query.cxx
164
+ core/impl/public_bucket.cxx
165
+ core/impl/public_cluster.cxx
166
+ core/impl/public_logger.cxx
167
+ core/impl/public_scan_result.cxx
168
+ core/impl/public_transaction_get_result.cxx
160
169
  core/impl/query.cxx
161
170
  core/impl/query_error_category.cxx
162
171
  core/impl/query_error_context.cxx
@@ -166,7 +175,6 @@ set(couchbase_cxx_client_FILES
166
175
  core/impl/replica_utils.cxx
167
176
  core/impl/retry_action.cxx
168
177
  core/impl/retry_reason.cxx
169
- core/impl/public_scan_result.cxx
170
178
  core/impl/scope.cxx
171
179
  core/impl/search.cxx
172
180
  core/impl/search_error_category.cxx
@@ -206,13 +214,13 @@ set(couchbase_cxx_client_FILES
206
214
  core/impl/transaction_error_category.cxx
207
215
  core/impl/transaction_get_multi_replicas_from_preferred_server_group_spec.cxx
208
216
  core/impl/transaction_get_multi_spec.cxx
209
- core/impl/public_transaction_get_result.cxx
210
217
  core/impl/transaction_op_error_category.cxx
211
218
  core/impl/vector_query.cxx
212
219
  core/impl/vector_search.cxx
213
220
  core/impl/view_error_category.cxx
214
221
  core/impl/wildcard_query.cxx
215
222
  core/impl/crypto.cxx
223
+ core/impl/observability_recorder.cxx
216
224
  core/io/config_tracker.cxx
217
225
  core/io/dns_client.cxx
218
226
  core/io/dns_config.cxx
@@ -339,6 +347,7 @@ set(couchbase_cxx_client_FILES
339
347
  core/operations/management/view_index_get_all.cxx
340
348
  core/operations/management/view_index_upsert.cxx
341
349
  core/origin.cxx
350
+ core/orphan_reporter.cxx
342
351
  core/platform/base64.cc
343
352
  core/platform/dirutils.cc
344
353
  core/platform/random.cc
@@ -387,16 +396,19 @@ set(couchbase_cxx_client_FILES
387
396
  core/sasl/client.cc
388
397
  core/sasl/context.cc
389
398
  core/sasl/mechanism.cc
399
+ core/sasl/oauthbearer/oauthbearer.cc
390
400
  core/sasl/plain/plain.cc
391
401
  core/sasl/scram-sha/scram-sha.cc
392
402
  core/sasl/scram-sha/stringutils.cc
393
403
  core/scan_result.cxx
394
404
  core/search_query_options.cxx
395
405
  core/seed_config.cxx
406
+ core/tls_context_provider.cxx
396
407
  core/topology/capabilities.cxx
397
408
  core/topology/configuration.cxx
398
409
  core/tracing/threshold_logging_tracer.cxx
399
410
  core/tracing/tracer_wrapper.cxx
411
+ core/tracing/wrapper_sdk_tracer.cxx
400
412
  core/transactions/active_transaction_record.cxx
401
413
  core/transactions/async_attempt_context.cxx
402
414
  core/transactions/atr_cleanup_entry.cxx
@@ -432,10 +444,8 @@ set(couchbase_cxx_client_FILES
432
444
  core/utils/url_codec.cxx
433
445
  core/view_query_options.cxx
434
446
  core/websocket_codec.cxx
435
- core/app_telemetry_address.cxx
436
- core/app_telemetry_meter.cxx
437
- core/app_telemetry_reporter.cxx
438
- core/cluster_credentials.cxx)
447
+ core/cluster_label_listener.cxx
448
+ )
439
449
 
440
450
  set(couchbase_cxx_client_LIBRARIES)
441
451
  set(couchbase_cxx_client_DEFAULT_LIBRARY)
@@ -520,6 +530,9 @@ foreach(TARGET ${couchbase_cxx_client_LIBRARIES})
520
530
  $<BUILD_INTERFACE:asio>
521
531
  $<BUILD_INTERFACE:couchbase_backtrace>
522
532
  $<BUILD_INTERFACE:jsonsl>)
533
+ if(COUCHBASE_CXX_CLIENT_BUILD_OPENTELEMETRY)
534
+ target_link_libraries(${TARGET} PRIVATE $<BUILD_INTERFACE:opentelemetry_api>)
535
+ endif()
523
536
 
524
537
  if(HAVE_BACKTRACE)
525
538
  target_link_libraries(${TARGET} PRIVATE ${PLATFORM_LIBRARIES})
@@ -5,8 +5,19 @@ pkgname=couchbase-cxx-client
5
5
  pkgver=@COUCHBASE_CXX_CLIENT_PACKAGE_VERSION@
6
6
  pkgrel=1
7
7
  _number_of_commits=@COUCHBASE_CXX_CLIENT_NUMBER_OF_COMMITS@
8
+ _git_revision_short=@COUCHBASE_CXX_CLIENT_GIT_REVISION_SHORT@
8
9
  if [ "${_number_of_commits}" -gt 0 ]; then
9
- pkgver="${pkgver}_p${_number_of_commits}"
10
+ # Encode commit count and git hash into _p version for uniqueness
11
+ # Extract first 3 hex bytes from git hash, convert to decimal
12
+ # Map each byte mod 100 to create 6-digit suffix
13
+ # Formula: p = commits × 10_000_000 + (byte1%100)*10000 + (byte2%100)*100 + (byte3%100)
14
+ # Example: 1.2.0-75-gfeb729b2 → 1.2.0_p750548341
15
+ _b1=$((0x${_git_revision_short:0:2}))
16
+ _b2=$((0x${_git_revision_short:2:2}))
17
+ _b3=$((0x${_git_revision_short:4:2}))
18
+ _sha_pack=$(( (_b1 % 100) * 10000 + (_b2 % 100) * 100 + (_b3 % 100) ))
19
+ _p_version=$(( _number_of_commits * 10000000 + _sha_pack ))
20
+ pkgver="${pkgver}_p${_p_version}"
10
21
  fi
11
22
  source="${pkgname}-${pkgver}.tar.gz"
12
23
  pkgdesc="Couchbase C++ SDK"
@@ -18,6 +29,10 @@ makedepends="
18
29
  linux-headers
19
30
  cmake
20
31
  ninja
32
+ curl-dev
33
+ protobuf-dev
34
+ grpc-dev
35
+ nlohmann-json
21
36
  "
22
37
  subpackages="${pkgname}-dev ${pkgname}-tools"
23
38
  options="!check"
@@ -36,6 +51,7 @@ build() {
36
51
  -DCOUCHBASE_CXX_CLIENT_STATIC_BORINGSSL=ON \
37
52
  -DCOUCHBASE_CXX_CLIENT_BUILD_EXAMPLES=OFF \
38
53
  -DCOUCHBASE_CXX_CLIENT_BUILD_TESTS=OFF \
54
+ -DCOUCHBASE_CXX_CLIENT_BUILD_OPENTELEMETRY=ON \
39
55
  -DCOUCHBASE_CXX_CLIENT_BUILD_TOOLS=ON \
40
56
  -DCOUCHBASE_CXX_CLIENT_BUILD_STATIC=ON \
41
57
  -DCOUCHBASE_CXX_CLIENT_BUILD_SHARED=ON
@@ -88,10 +88,18 @@ function(bundle_static_library tgt_name bundled_tgt_name)
88
88
  set(ar_tool ${CMAKE_CXX_COMPILER_AR})
89
89
  endif()
90
90
 
91
+ if(APPLE)
92
+ find_program(SED gsed)
93
+ else()
94
+ find_program(SED sed)
95
+ endif()
96
+
91
97
  add_custom_command(
92
- COMMAND ${ar_tool} -M < ${CMAKE_BINARY_DIR}/${bundled_tgt_name}.ar
98
+ COMMAND ${SED} -i "s|${CMAKE_BINARY_DIR}/||g" ${bundled_tgt_name}.ar
99
+ COMMAND ${ar_tool} -M < ${bundled_tgt_name}.ar
93
100
  OUTPUT ${bundled_tgt_full_name}
94
101
  DEPENDS ${tgt_name} ${static_libs}
102
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
95
103
  COMMENT "Bundling ${bundled_tgt_name}"
96
104
  VERBATIM)
97
105
  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
@@ -3,27 +3,56 @@ if(NOT ENABLE_CACHE)
3
3
  return()
4
4
  endif()
5
5
 
6
- set(CACHE_OPTION
7
- "ccache"
8
- CACHE STRING "Compiler cache to be used")
9
- set(CACHE_OPTION_VALUES "ccache" "sccache")
10
- set_property(CACHE CACHE_OPTION PROPERTY STRINGS ${CACHE_OPTION_VALUES})
11
- list(
12
- FIND
13
- CACHE_OPTION_VALUES
14
- ${CACHE_OPTION}
15
- CACHE_OPTION_INDEX)
6
+ if(NOT DEFINED CACHE_OPTION)
7
+ set(CACHE_OPTION "")
8
+ endif()
9
+
10
+ set(CACHE_OPTION_VALUES "sccache" "ccache")
16
11
 
17
- if(${CACHE_OPTION_INDEX} EQUAL -1)
18
- message(
19
- STATUS
20
- "Using custom compiler cache system: '${CACHE_OPTION}', explicitly supported entries are ${CACHE_OPTION_VALUES}")
12
+ if(CACHE_OPTION STREQUAL "")
13
+ find_program(SCCACHE_BIN sccache)
14
+ if(SCCACHE_BIN)
15
+ set(CACHE_OPTION "sccache")
16
+ set(CACHE_BINARY ${SCCACHE_BIN})
17
+ else()
18
+ find_program(CCACHE_BIN ccache)
19
+ if(CCACHE_BIN)
20
+ set(CACHE_OPTION "ccache")
21
+ set(CACHE_BINARY ${CCACHE_BIN})
22
+ else()
23
+ set(CACHE_OPTION "none")
24
+ set(CACHE_BINARY "")
25
+ endif()
26
+ endif()
27
+ else()
28
+ if(NOT
29
+ CACHE_OPTION
30
+ IN_LIST
31
+ CACHE_OPTION_VALUES)
32
+ message(
33
+ STATUS
34
+ "Using custom compiler cache system: '${CACHE_OPTION}', explicitly supported entries are ${CACHE_OPTION_VALUES}"
35
+ )
36
+ endif()
37
+ find_program(CACHE_BINARY ${CACHE_OPTION})
21
38
  endif()
22
39
 
23
- find_program(CACHE_BINARY ${CACHE_OPTION})
24
- if(CACHE_BINARY)
25
- message(STATUS "${CACHE_OPTION} found and enabled")
26
- set(CMAKE_CXX_COMPILER_LAUNCHER ${CACHE_BINARY})
40
+ if(CACHE_OPTION STREQUAL "none" OR CACHE_BINARY STREQUAL "")
41
+ message(WARNING "No compiler cache found or enabled; building without compiler cache")
27
42
  else()
28
- message(WARNING "${CACHE_OPTION} is enabled but was not found. Not using it")
43
+ if(CMAKE_GENERATOR MATCHES "Visual Studio")
44
+ message(WARNING "Compiler cache (sccache/ccache) ignored with Visual Studio generator + MSVC. Use -GNinja instead.")
45
+ return()
46
+ endif()
47
+
48
+ message(STATUS "Compiler cache '${CACHE_OPTION}' found at: ${CACHE_BINARY}")
49
+ set(CMAKE_CXX_COMPILER_LAUNCHER ${CACHE_BINARY})
50
+ set(CMAKE_C_COMPILER_LAUNCHER ${CACHE_BINARY})
51
+ if(MSVC AND CMAKE_GENERATOR STREQUAL "Ninja")
52
+ set(CMAKE_C_FLAGS_DEBUG "/Z7 /Od /RTC1 /FS")
53
+ set(CMAKE_CXX_FLAGS_DEBUG "/Z7 /Od /RTC1 /FS")
54
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "/Z7 /O2 /FS")
55
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/Z7 /O2 /FS")
56
+ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
57
+ endif()
29
58
  endif()
@@ -42,7 +42,9 @@ function(set_project_options target_name)
42
42
  endif()
43
43
 
44
44
  if(HAVE_BACKTRACE OR HAVE_DLADDR)
45
- if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
45
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
46
+ AND NOT APPLE
47
+ AND (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))
46
48
  target_compile_options(${target_name} PRIVATE -ggdb3)
47
49
  endif()
48
50
  target_compile_definitions(${target_name} PRIVATE -D_GNU_SOURCE=1)
@@ -209,10 +209,18 @@ if(COUCHBASE_CXX_CLIENT_EMBED_MOZILLA_CA_BUNDLE)
209
209
  file(READ "${COUCHBASE_CXX_CLIENT_EMBED_MOZILLA_CA_BUNDLE_ROOT}/mozilla-ca-bundle.crt" CA_BUNDLE_CONTENT)
210
210
  string(
211
211
  REGEX MATCH
212
- "Certificate data from Mozilla as of: ([^\n]*)"
212
+ "Certificate data from Mozilla (as of|last updated on): ([^\n]*)"
213
213
  CA_BUNDLE_DATE_LINE
214
214
  ${CA_BUNDLE_CONTENT})
215
- set(COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_DATE "${CMAKE_MATCH_1}")
215
+ if(CA_BUNDLE_DATE_LINE)
216
+ set(COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_DATE "${CMAKE_MATCH_2}")
217
+ else()
218
+ message(
219
+ WARNING
220
+ "Failed to extract Mozilla CA bundle date from certificate file; "
221
+ "COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_DATE will be set to 'unknown'.")
222
+ set(COUCHBASE_CXX_CLIENT_MOZILLA_CA_BUNDLE_DATE "unknown")
223
+ endif()
216
224
  else()
217
225
  set(CA_BUNDLE_CONTENT "")
218
226
  endif()