turbopuffer 2.2.0 → 2.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5782a65079f1aa648db3dde706b11543e0e35a2c93eb14f32d64c42bdc260e5
4
- data.tar.gz: 5878b8bf8b11267e60cf1c6edd2f045e6ae427c0da3c12adec20b239179a693f
3
+ metadata.gz: a3a51779391cbefbadc2c92d4da69e9f2b8a16db31b09626fc610d979f8317af
4
+ data.tar.gz: f814addde33fea46dfea6c616ab8f71c34a4813a7f53283bdd3b04765ea9f91b
5
5
  SHA512:
6
- metadata.gz: 4716b1484413ac6c3b33583cccb0138c3068b41d7711e5062d81265dcff09dec7ad1508ca6468e08bbaebb1d0390794aaa71b1e026156841e75d6b228cdd71ba
7
- data.tar.gz: a8cdfc20d9779db1e32922c6b23053163da52bf1dbe71f4d1555f95ea64ede5ea95c479d62f2975e70213d21ed7e4d754ab77e6f7266587f2029d2ab64e14542
6
+ metadata.gz: 66b621f09d12e2ae0540a69f163c596063b59c3a4df34416cd9c48330f167065af3ee4e1292d1d954adcfc7796b1d1a46fd023b50681f286d81e1984535e5880
7
+ data.tar.gz: 9b77397676c00954fd6ee3bad008eeedf6af798d41718d636841b9e12c35ab98caa434acaee6f157e006d9d08aa6491df57943ebfe8fa846fbcc131102a8d957
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.3.0 (2026-06-16)
4
+
5
+ Full Changelog: [v2.2.0...v2.3.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v2.2.0...v2.3.0)
6
+
7
+ ### Features
8
+
9
+ * tpuf-engine: support dest_encryption in copy_from_namespace ([ef8ce32](https://github.com/turbopuffer/turbopuffer-ruby/commit/ef8ce322607fe8fd30b259d5012582b776ec1b09))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **client:** send content-type header for requests with an omitted optional body ([d2c5ed1](https://github.com/turbopuffer/turbopuffer-ruby/commit/d2c5ed1ec19aa3c371c1bce215f9b77ac5910dd7))
15
+
16
+
17
+ ### Documentation
18
+
19
+ * rename /docs/overview to /docs/api-overview ([c049a0c](https://github.com/turbopuffer/turbopuffer-ruby/commit/c049a0c4a712f9de2081da5f387a8036acc04fcf))
20
+
3
21
  ## 2.2.0 (2026-06-08)
4
22
 
5
23
  Full Changelog: [v2.1.0...v2.2.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v2.1.0...v2.2.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ Use the turbopuffer MCP Server to enable AI assistants to interact with this API
17
17
 
18
18
  Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/turbopuffer).
19
19
 
20
- The REST API documentation can be found at [turbopuffer.com/docs/overview](https://turbopuffer.com/docs/overview).
20
+ The REST API documentation can be found at [turbopuffer.com/docs/api-overview](https://turbopuffer.com/docs/api-overview).
21
21
 
22
22
  ## Installation
23
23
 
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "turbopuffer", "~> 2.2.0"
29
+ gem "turbopuffer", "~> 2.3.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -321,7 +321,10 @@ module Turbopuffer
321
321
  Turbopuffer::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact)
322
322
  end
323
323
 
324
- headers.delete("content-type") if body.nil?
324
+ # Generated methods always pass `req[:body]` for operations that define a
325
+ # request body, so only elide the content-type header when the operation
326
+ # has no body at all, not when an optional body param was omitted.
327
+ headers.delete("content-type") if body.nil? && !req.key?(:body)
325
328
 
326
329
  url = Turbopuffer::Internal::Util.join_parsed_uri(
327
330
  @base_url_components,
@@ -18,6 +18,12 @@ module Turbopuffer
18
18
  # @return [String]
19
19
  required :source_namespace, String
20
20
 
21
+ # @!attribute dest_encryption
22
+ # (Optional) The encryption configuration for the destination namespace.
23
+ #
24
+ # @return [Turbopuffer::Models::Encryption::CustomerManaged, Turbopuffer::Models::Encryption::Default, nil]
25
+ optional :dest_encryption, union: -> { Turbopuffer::Encryption }
26
+
21
27
  # @!attribute source_api_key
22
28
  # (Optional) An API key for the organization containing the source namespace
23
29
  #
@@ -30,11 +36,13 @@ module Turbopuffer
30
36
  # @return [String, nil]
31
37
  optional :source_region, String
32
38
 
33
- # @!method initialize(source_namespace:, namespace: nil, source_api_key: nil, source_region: nil, request_options: {})
39
+ # @!method initialize(source_namespace:, namespace: nil, dest_encryption: nil, source_api_key: nil, source_region: nil, request_options: {})
34
40
  # @param source_namespace [String] The namespace to copy documents from.
35
41
  #
36
42
  # @param namespace [String]
37
43
  #
44
+ # @param dest_encryption [Turbopuffer::Models::Encryption::CustomerManaged, Turbopuffer::Models::Encryption::Default] (Optional) The encryption configuration for the destination namespace.
45
+ #
38
46
  # @param source_api_key [String] (Optional) An API key for the organization containing the source namespace
39
47
  #
40
48
  # @param source_region [String] (Optional) The region of the source namespace.
@@ -36,12 +36,14 @@ module Turbopuffer
36
36
  #
37
37
  # Copy all documents from another namespace into this one.
38
38
  #
39
- # @overload copy_from(source_namespace:, namespace: nil, source_api_key: nil, source_region: nil, request_options: {})
39
+ # @overload copy_from(source_namespace:, namespace: nil, dest_encryption: nil, source_api_key: nil, source_region: nil, request_options: {})
40
40
  #
41
41
  # @param source_namespace [String] Body param: The namespace to copy documents from.
42
42
  #
43
43
  # @param namespace [String] Path param: The name of the namespace.
44
44
  #
45
+ # @param dest_encryption [Turbopuffer::Models::Encryption::CustomerManaged, Turbopuffer::Models::Encryption::Default] Body param: (Optional) The encryption configuration for the destination namespac
46
+ #
45
47
  # @param source_api_key [String] Body param: (Optional) An API key for the organization containing the source nam
46
48
  #
47
49
  # @param source_region [String] Body param: (Optional) The region of the source namespace.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Turbopuffer
4
- VERSION = "2.2.0"
4
+ VERSION = "2.3.0"
5
5
  end
@@ -24,6 +24,30 @@ module Turbopuffer
24
24
  sig { returns(String) }
25
25
  attr_accessor :source_namespace
26
26
 
27
+ # (Optional) The encryption configuration for the destination namespace.
28
+ sig do
29
+ returns(
30
+ T.nilable(
31
+ T.any(
32
+ Turbopuffer::Encryption::CustomerManaged,
33
+ Turbopuffer::Encryption::Default
34
+ )
35
+ )
36
+ )
37
+ end
38
+ attr_reader :dest_encryption
39
+
40
+ sig do
41
+ params(
42
+ dest_encryption:
43
+ T.any(
44
+ Turbopuffer::Encryption::CustomerManaged::OrHash,
45
+ Turbopuffer::Encryption::Default::OrHash
46
+ )
47
+ ).void
48
+ end
49
+ attr_writer :dest_encryption
50
+
27
51
  # (Optional) An API key for the organization containing the source namespace
28
52
  sig { returns(T.nilable(String)) }
29
53
  attr_reader :source_api_key
@@ -42,6 +66,11 @@ module Turbopuffer
42
66
  params(
43
67
  source_namespace: String,
44
68
  namespace: String,
69
+ dest_encryption:
70
+ T.any(
71
+ Turbopuffer::Encryption::CustomerManaged::OrHash,
72
+ Turbopuffer::Encryption::Default::OrHash
73
+ ),
45
74
  source_api_key: String,
46
75
  source_region: String,
47
76
  request_options: Turbopuffer::RequestOptions::OrHash
@@ -51,6 +80,8 @@ module Turbopuffer
51
80
  # The namespace to copy documents from.
52
81
  source_namespace:,
53
82
  namespace: nil,
83
+ # (Optional) The encryption configuration for the destination namespace.
84
+ dest_encryption: nil,
54
85
  # (Optional) An API key for the organization containing the source namespace
55
86
  source_api_key: nil,
56
87
  # (Optional) The region of the source namespace.
@@ -64,6 +95,11 @@ module Turbopuffer
64
95
  {
65
96
  namespace: String,
66
97
  source_namespace: String,
98
+ dest_encryption:
99
+ T.any(
100
+ Turbopuffer::Encryption::CustomerManaged,
101
+ Turbopuffer::Encryption::Default
102
+ ),
67
103
  source_api_key: String,
68
104
  source_region: String,
69
105
  request_options: Turbopuffer::RequestOptions
@@ -25,6 +25,11 @@ module Turbopuffer
25
25
  params(
26
26
  source_namespace: String,
27
27
  namespace: String,
28
+ dest_encryption:
29
+ T.any(
30
+ Turbopuffer::Encryption::CustomerManaged::OrHash,
31
+ Turbopuffer::Encryption::Default::OrHash
32
+ ),
28
33
  source_api_key: String,
29
34
  source_region: String,
30
35
  request_options: Turbopuffer::RequestOptions::OrHash
@@ -35,6 +40,9 @@ module Turbopuffer
35
40
  source_namespace:,
36
41
  # Path param: The name of the namespace.
37
42
  namespace: nil,
43
+ # Body param: (Optional) The encryption configuration for the destination
44
+ # namespace.
45
+ dest_encryption: nil,
38
46
  # Body param: (Optional) An API key for the organization containing the source
39
47
  # namespace
40
48
  source_api_key: nil,
@@ -4,6 +4,7 @@ module Turbopuffer
4
4
  {
5
5
  namespace: String,
6
6
  source_namespace: String,
7
+ dest_encryption: Turbopuffer::Models::encryption,
7
8
  source_api_key: String,
8
9
  source_region: String
9
10
  }
@@ -19,6 +20,12 @@ module Turbopuffer
19
20
 
20
21
  attr_accessor source_namespace: String
21
22
 
23
+ attr_reader dest_encryption: Turbopuffer::Models::encryption?
24
+
25
+ def dest_encryption=: (
26
+ Turbopuffer::Models::encryption
27
+ ) -> Turbopuffer::Models::encryption
28
+
22
29
  attr_reader source_api_key: String?
23
30
 
24
31
  def source_api_key=: (String) -> String
@@ -30,6 +37,7 @@ module Turbopuffer
30
37
  def initialize: (
31
38
  source_namespace: String,
32
39
  ?namespace: String,
40
+ ?dest_encryption: Turbopuffer::Models::encryption,
33
41
  ?source_api_key: String,
34
42
  ?source_region: String,
35
43
  ?request_options: Turbopuffer::request_opts
@@ -38,6 +46,7 @@ module Turbopuffer
38
46
  def to_hash: -> {
39
47
  namespace: String,
40
48
  source_namespace: String,
49
+ dest_encryption: Turbopuffer::Models::encryption,
41
50
  source_api_key: String,
42
51
  source_region: String,
43
52
  request_options: Turbopuffer::RequestOptions
@@ -10,6 +10,7 @@ module Turbopuffer
10
10
  def copy_from: (
11
11
  source_namespace: String,
12
12
  ?namespace: String,
13
+ ?dest_encryption: Turbopuffer::Models::encryption,
13
14
  ?source_api_key: String,
14
15
  ?source_region: String,
15
16
  ?request_options: Turbopuffer::request_opts
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turbopuffer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Turbopuffer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-08 00:00:00.000000000 Z
11
+ date: 2026-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi