eppo-server-sdk 3.7.4 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6938c454d7de8804b57de7bd56c51521324633bfaaf5a3288412b55de71e2201
4
- data.tar.gz: 605c2eb8984d235606a56da20eed2df89d4e598fda8b2235e28de51f5180e8c4
3
+ metadata.gz: 0c9c2fa3b522f5629d994874514c37a325120f2c680d8e081e9d0759c3296820
4
+ data.tar.gz: a23c9f5f62f2c865a99130ddb7cfa08976461bd9497880cd38f85b6e826f44cc
5
5
  SHA512:
6
- metadata.gz: c20d5fbe3738253a4660266952134db03a01dbb3fba98e621ed410596bed459a3235b79a92cc6ae38ba4c521b2477ae2d71d1a40db9c6ea9bff4e91e310d6b48
7
- data.tar.gz: e256a54c10efbc63ed2b3b0c2d3a2ded8c5b3740c3cd73b9cfab3164acec7d4977401e1cb0c4a5e0610a63a184a387f442ba29e82bb979503c8ec7891e39078a
6
+ metadata.gz: 0add6b0dcd6d6437425ae49ce2b71862b15a320f4fc0c6da0c37b488f03feef21b6314d8a9782780dd2bb5840542fb67f61f23379e46a5b4058d6d43decfcc05
7
+ data.tar.gz: 18c885dc33fffa1e88d75f7ccf5822fd653d866385cf4e6597e1dcc2cbd8b49605e5792d3e70e1600f5ffb926f151afa036b44b545ab3a435b2ab7d3265fd02c
data/Cargo.lock CHANGED
@@ -3,20 +3,18 @@
3
3
  version = 3
4
4
 
5
5
  [[package]]
6
- name = "addr2line"
7
- version = "0.24.2"
6
+ name = "ahash"
7
+ version = "0.8.12"
8
8
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
9
+ checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
10
10
  dependencies = [
11
- "gimli",
11
+ "cfg-if",
12
+ "getrandom 0.3.1",
13
+ "once_cell",
14
+ "version_check",
15
+ "zerocopy 0.8.31",
12
16
  ]
13
17
 
14
- [[package]]
15
- name = "adler2"
16
- version = "2.0.0"
17
- source = "registry+https://github.com/rust-lang/crates.io-index"
18
- checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
19
-
20
18
  [[package]]
21
19
  name = "aho-corasick"
22
20
  version = "1.1.3"
@@ -96,21 +94,6 @@ version = "1.4.0"
96
94
  source = "registry+https://github.com/rust-lang/crates.io-index"
97
95
  checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
98
96
 
99
- [[package]]
100
- name = "backtrace"
101
- version = "0.3.74"
102
- source = "registry+https://github.com/rust-lang/crates.io-index"
103
- checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
104
- dependencies = [
105
- "addr2line",
106
- "cfg-if",
107
- "libc",
108
- "miniz_oxide",
109
- "object",
110
- "rustc-demangle",
111
- "windows-targets",
112
- ]
113
-
114
97
  [[package]]
115
98
  name = "base64"
116
99
  version = "0.22.1"
@@ -143,6 +126,15 @@ version = "2.6.0"
143
126
  source = "registry+https://github.com/rust-lang/crates.io-index"
144
127
  checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
145
128
 
129
+ [[package]]
130
+ name = "block-buffer"
131
+ version = "0.10.4"
132
+ source = "registry+https://github.com/rust-lang/crates.io-index"
133
+ checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
134
+ dependencies = [
135
+ "generic-array",
136
+ ]
137
+
146
138
  [[package]]
147
139
  name = "bumpalo"
148
140
  version = "3.16.0"
@@ -163,10 +155,11 @@ checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b"
163
155
 
164
156
  [[package]]
165
157
  name = "cc"
166
- version = "1.2.2"
158
+ version = "1.2.51"
167
159
  source = "registry+https://github.com/rust-lang/crates.io-index"
168
- checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc"
160
+ checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203"
169
161
  dependencies = [
162
+ "find-msvc-tools",
170
163
  "shlex",
171
164
  ]
172
165
 
@@ -203,9 +196,15 @@ dependencies = [
203
196
  "num-traits",
204
197
  "serde",
205
198
  "wasm-bindgen",
206
- "windows-targets",
199
+ "windows-targets 0.52.6",
207
200
  ]
208
201
 
202
+ [[package]]
203
+ name = "cityhasher"
204
+ version = "0.1.0"
205
+ source = "registry+https://github.com/rust-lang/crates.io-index"
206
+ checksum = "ceab37c9e94f42414cccae77e930232c517f1bb190947018cffb0ab41fc40992"
207
+
209
208
  [[package]]
210
209
  name = "clang-sys"
211
210
  version = "1.8.1"
@@ -229,6 +228,16 @@ version = "0.8.7"
229
228
  source = "registry+https://github.com/rust-lang/crates.io-index"
230
229
  checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
231
230
 
231
+ [[package]]
232
+ name = "crypto-common"
233
+ version = "0.1.7"
234
+ source = "registry+https://github.com/rust-lang/crates.io-index"
235
+ checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
236
+ dependencies = [
237
+ "generic-array",
238
+ "typenum",
239
+ ]
240
+
232
241
  [[package]]
233
242
  name = "darling"
234
243
  version = "0.20.10"
@@ -293,6 +302,16 @@ dependencies = [
293
302
  "syn",
294
303
  ]
295
304
 
305
+ [[package]]
306
+ name = "digest"
307
+ version = "0.10.7"
308
+ source = "registry+https://github.com/rust-lang/crates.io-index"
309
+ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
310
+ dependencies = [
311
+ "block-buffer",
312
+ "crypto-common",
313
+ ]
314
+
296
315
  [[package]]
297
316
  name = "displaydoc"
298
317
  version = "0.2.5"
@@ -335,7 +354,7 @@ dependencies = [
335
354
 
336
355
  [[package]]
337
356
  name = "eppo_client"
338
- version = "3.7.4"
357
+ version = "3.8.0"
339
358
  dependencies = [
340
359
  "env_logger",
341
360
  "eppo_core",
@@ -350,18 +369,20 @@ dependencies = [
350
369
 
351
370
  [[package]]
352
371
  name = "eppo_core"
353
- version = "9.3.0"
372
+ version = "10.0.0"
354
373
  source = "registry+https://github.com/rust-lang/crates.io-index"
355
- checksum = "0f7a2aa615d3a5848b8cd60921fe67290122054e3e51519cce8e024bd6107c8d"
374
+ checksum = "69b58acef0314f365bbabea7043454276e6de04cc33abdfd508a587203cbc0ed"
356
375
  dependencies = [
376
+ "ahash",
357
377
  "base64",
358
378
  "chrono",
379
+ "cityhasher",
359
380
  "derive_more",
360
381
  "exponential-backoff",
361
382
  "faststr",
362
383
  "log",
363
384
  "magnus",
364
- "md5",
385
+ "md-5",
365
386
  "rand 0.9.0",
366
387
  "regex",
367
388
  "reqwest",
@@ -382,11 +403,12 @@ dependencies = [
382
403
 
383
404
  [[package]]
384
405
  name = "erased-serde"
385
- version = "0.4.5"
406
+ version = "0.4.9"
386
407
  source = "registry+https://github.com/rust-lang/crates.io-index"
387
- checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d"
408
+ checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3"
388
409
  dependencies = [
389
410
  "serde",
411
+ "serde_core",
390
412
  "typeid",
391
413
  ]
392
414
 
@@ -416,6 +438,12 @@ dependencies = [
416
438
  "simdutf8",
417
439
  ]
418
440
 
441
+ [[package]]
442
+ name = "find-msvc-tools"
443
+ version = "0.1.6"
444
+ source = "registry+https://github.com/rust-lang/crates.io-index"
445
+ checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff"
446
+
419
447
  [[package]]
420
448
  name = "fnv"
421
449
  version = "1.0.7"
@@ -520,6 +548,16 @@ dependencies = [
520
548
  "slab",
521
549
  ]
522
550
 
551
+ [[package]]
552
+ name = "generic-array"
553
+ version = "0.14.7"
554
+ source = "registry+https://github.com/rust-lang/crates.io-index"
555
+ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
556
+ dependencies = [
557
+ "typenum",
558
+ "version_check",
559
+ ]
560
+
523
561
  [[package]]
524
562
  name = "getrandom"
525
563
  version = "0.2.15"
@@ -542,15 +580,9 @@ dependencies = [
542
580
  "cfg-if",
543
581
  "libc",
544
582
  "wasi 0.13.3+wasi-0.2.2",
545
- "windows-targets",
583
+ "windows-targets 0.52.6",
546
584
  ]
547
585
 
548
- [[package]]
549
- name = "gimli"
550
- version = "0.31.1"
551
- source = "registry+https://github.com/rust-lang/crates.io-index"
552
- checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
553
-
554
586
  [[package]]
555
587
  name = "glob"
556
588
  version = "0.3.1"
@@ -665,7 +697,7 @@ dependencies = [
665
697
  "http-body",
666
698
  "hyper",
667
699
  "pin-project-lite",
668
- "socket2",
700
+ "socket2 0.5.8",
669
701
  "tokio",
670
702
  "tower-service",
671
703
  "tracing",
@@ -890,9 +922,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
890
922
 
891
923
  [[package]]
892
924
  name = "libc"
893
- version = "0.2.171"
925
+ version = "0.2.178"
894
926
  source = "registry+https://github.com/rust-lang/crates.io-index"
895
- checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
927
+ checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
896
928
 
897
929
  [[package]]
898
930
  name = "libloading"
@@ -901,7 +933,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
901
933
  checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
902
934
  dependencies = [
903
935
  "cfg-if",
904
- "windows-targets",
936
+ "windows-targets 0.52.6",
905
937
  ]
906
938
 
907
939
  [[package]]
@@ -922,19 +954,19 @@ dependencies = [
922
954
 
923
955
  [[package]]
924
956
  name = "log"
925
- version = "0.4.22"
957
+ version = "0.4.29"
926
958
  source = "registry+https://github.com/rust-lang/crates.io-index"
927
- checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
959
+ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
928
960
  dependencies = [
929
- "serde",
961
+ "serde_core",
930
962
  "value-bag",
931
963
  ]
932
964
 
933
965
  [[package]]
934
966
  name = "magnus"
935
- version = "0.7.1"
967
+ version = "0.8.2"
936
968
  source = "registry+https://github.com/rust-lang/crates.io-index"
937
- checksum = "3d87ae53030f3a22e83879e666cb94e58a7bdf31706878a0ba48752994146dab"
969
+ checksum = "3b36a5b126bbe97eb0d02d07acfeb327036c6319fd816139a49824a83b7f9012"
938
970
  dependencies = [
939
971
  "magnus-macros",
940
972
  "rb-sys",
@@ -944,9 +976,9 @@ dependencies = [
944
976
 
945
977
  [[package]]
946
978
  name = "magnus-macros"
947
- version = "0.6.0"
979
+ version = "0.8.0"
948
980
  source = "registry+https://github.com/rust-lang/crates.io-index"
949
- checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
981
+ checksum = "47607461fd8e1513cb4f2076c197d8092d921a1ea75bd08af97398f593751892"
950
982
  dependencies = [
951
983
  "proc-macro2",
952
984
  "quote",
@@ -954,10 +986,14 @@ dependencies = [
954
986
  ]
955
987
 
956
988
  [[package]]
957
- name = "md5"
958
- version = "0.7.0"
989
+ name = "md-5"
990
+ version = "0.10.6"
959
991
  source = "registry+https://github.com/rust-lang/crates.io-index"
960
- checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
992
+ checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
993
+ dependencies = [
994
+ "cfg-if",
995
+ "digest",
996
+ ]
961
997
 
962
998
  [[package]]
963
999
  name = "memchr"
@@ -977,15 +1013,6 @@ version = "0.2.1"
977
1013
  source = "registry+https://github.com/rust-lang/crates.io-index"
978
1014
  checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
979
1015
 
980
- [[package]]
981
- name = "miniz_oxide"
982
- version = "0.8.0"
983
- source = "registry+https://github.com/rust-lang/crates.io-index"
984
- checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
985
- dependencies = [
986
- "adler2",
987
- ]
988
-
989
1016
  [[package]]
990
1017
  name = "mio"
991
1018
  version = "1.0.3"
@@ -1022,15 +1049,6 @@ dependencies = [
1022
1049
  "autocfg",
1023
1050
  ]
1024
1051
 
1025
- [[package]]
1026
- name = "object"
1027
- version = "0.36.5"
1028
- source = "registry+https://github.com/rust-lang/crates.io-index"
1029
- checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
1030
- dependencies = [
1031
- "memchr",
1032
- ]
1033
-
1034
1052
  [[package]]
1035
1053
  name = "once_cell"
1036
1054
  version = "1.20.2"
@@ -1057,7 +1075,7 @@ dependencies = [
1057
1075
  "libc",
1058
1076
  "redox_syscall",
1059
1077
  "smallvec",
1060
- "windows-targets",
1078
+ "windows-targets 0.52.6",
1061
1079
  ]
1062
1080
 
1063
1081
  [[package]]
@@ -1114,7 +1132,7 @@ dependencies = [
1114
1132
  "quinn-udp",
1115
1133
  "rustc-hash 2.1.1",
1116
1134
  "rustls",
1117
- "socket2",
1135
+ "socket2 0.5.8",
1118
1136
  "thiserror",
1119
1137
  "tokio",
1120
1138
  "tracing",
@@ -1149,16 +1167,16 @@ dependencies = [
1149
1167
  "cfg_aliases",
1150
1168
  "libc",
1151
1169
  "once_cell",
1152
- "socket2",
1170
+ "socket2 0.5.8",
1153
1171
  "tracing",
1154
1172
  "windows-sys 0.59.0",
1155
1173
  ]
1156
1174
 
1157
1175
  [[package]]
1158
1176
  name = "quote"
1159
- version = "1.0.37"
1177
+ version = "1.0.42"
1160
1178
  source = "registry+https://github.com/rust-lang/crates.io-index"
1161
- checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
1179
+ checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
1162
1180
  dependencies = [
1163
1181
  "proc-macro2",
1164
1182
  ]
@@ -1182,7 +1200,7 @@ checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
1182
1200
  dependencies = [
1183
1201
  "rand_chacha 0.9.0",
1184
1202
  "rand_core 0.9.0",
1185
- "zerocopy 0.8.15",
1203
+ "zerocopy 0.8.31",
1186
1204
  ]
1187
1205
 
1188
1206
  [[package]]
@@ -1221,23 +1239,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1221
1239
  checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff"
1222
1240
  dependencies = [
1223
1241
  "getrandom 0.3.1",
1224
- "zerocopy 0.8.15",
1242
+ "zerocopy 0.8.31",
1225
1243
  ]
1226
1244
 
1227
1245
  [[package]]
1228
1246
  name = "rb-sys"
1229
- version = "0.9.111"
1247
+ version = "0.9.124"
1230
1248
  source = "registry+https://github.com/rust-lang/crates.io-index"
1231
- checksum = "becea799ce051c16fb140be80f5e7cf781070f99ca099332383c2b17861249af"
1249
+ checksum = "c85c4188462601e2aa1469def389c17228566f82ea72f137ed096f21591bc489"
1232
1250
  dependencies = [
1233
1251
  "rb-sys-build",
1234
1252
  ]
1235
1253
 
1236
1254
  [[package]]
1237
1255
  name = "rb-sys-build"
1238
- version = "0.9.111"
1256
+ version = "0.9.124"
1239
1257
  source = "registry+https://github.com/rust-lang/crates.io-index"
1240
- checksum = "64691175abc704862f60a9ca8ef06174080cc50615f2bf1d4759f46db18b4d29"
1258
+ checksum = "568068db4102230882e6d4ae8de6632e224ca75fe5970f6e026a04e91ed635d3"
1241
1259
  dependencies = [
1242
1260
  "bindgen",
1243
1261
  "lazy_static",
@@ -1250,9 +1268,9 @@ dependencies = [
1250
1268
 
1251
1269
  [[package]]
1252
1270
  name = "rb-sys-env"
1253
- version = "0.1.2"
1271
+ version = "0.2.2"
1254
1272
  source = "registry+https://github.com/rust-lang/crates.io-index"
1255
- checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
1273
+ checksum = "08f8d2924cf136a1315e2b4c7460a39f62ef11ee5d522df9b2750fab55b868b6"
1256
1274
 
1257
1275
  [[package]]
1258
1276
  name = "redox_syscall"
@@ -1336,25 +1354,18 @@ dependencies = [
1336
1354
 
1337
1355
  [[package]]
1338
1356
  name = "ring"
1339
- version = "0.17.8"
1357
+ version = "0.17.14"
1340
1358
  source = "registry+https://github.com/rust-lang/crates.io-index"
1341
- checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
1359
+ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
1342
1360
  dependencies = [
1343
1361
  "cc",
1344
1362
  "cfg-if",
1345
1363
  "getrandom 0.2.15",
1346
1364
  "libc",
1347
- "spin",
1348
1365
  "untrusted",
1349
1366
  "windows-sys 0.52.0",
1350
1367
  ]
1351
1368
 
1352
- [[package]]
1353
- name = "rustc-demangle"
1354
- version = "0.1.24"
1355
- source = "registry+https://github.com/rust-lang/crates.io-index"
1356
- checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
1357
-
1358
1369
  [[package]]
1359
1370
  name = "rustc-hash"
1360
1371
  version = "1.1.0"
@@ -1439,10 +1450,11 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
1439
1450
 
1440
1451
  [[package]]
1441
1452
  name = "serde"
1442
- version = "1.0.215"
1453
+ version = "1.0.228"
1443
1454
  source = "registry+https://github.com/rust-lang/crates.io-index"
1444
- checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
1455
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
1445
1456
  dependencies = [
1457
+ "serde_core",
1446
1458
  "serde_derive",
1447
1459
  ]
1448
1460
 
@@ -1455,11 +1467,20 @@ dependencies = [
1455
1467
  "serde",
1456
1468
  ]
1457
1469
 
1470
+ [[package]]
1471
+ name = "serde_core"
1472
+ version = "1.0.228"
1473
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1474
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
1475
+ dependencies = [
1476
+ "serde_derive",
1477
+ ]
1478
+
1458
1479
  [[package]]
1459
1480
  name = "serde_derive"
1460
- version = "1.0.215"
1481
+ version = "1.0.228"
1461
1482
  source = "registry+https://github.com/rust-lang/crates.io-index"
1462
- checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
1483
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
1463
1484
  dependencies = [
1464
1485
  "proc-macro2",
1465
1486
  "quote",
@@ -1477,21 +1498,22 @@ dependencies = [
1477
1498
 
1478
1499
  [[package]]
1479
1500
  name = "serde_json"
1480
- version = "1.0.133"
1501
+ version = "1.0.147"
1481
1502
  source = "registry+https://github.com/rust-lang/crates.io-index"
1482
- checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"
1503
+ checksum = "6af14725505314343e673e9ecb7cd7e8a36aa9791eb936235a3567cc31447ae4"
1483
1504
  dependencies = [
1484
1505
  "itoa",
1485
1506
  "memchr",
1486
- "ryu",
1487
1507
  "serde",
1508
+ "serde_core",
1509
+ "zmij",
1488
1510
  ]
1489
1511
 
1490
1512
  [[package]]
1491
1513
  name = "serde_magnus"
1492
- version = "0.9.0"
1514
+ version = "0.10.0"
1493
1515
  source = "registry+https://github.com/rust-lang/crates.io-index"
1494
- checksum = "51b8b945a2dadb221f1c5490cfb411cab6c3821446b8eca50ee07e5a3893ec51"
1516
+ checksum = "c4a5121544138e6a14036e48ecbe589fb63577f35620caaa32642257b412c317"
1495
1517
  dependencies = [
1496
1518
  "magnus",
1497
1519
  "serde",
@@ -1582,10 +1604,14 @@ dependencies = [
1582
1604
  ]
1583
1605
 
1584
1606
  [[package]]
1585
- name = "spin"
1586
- version = "0.9.8"
1607
+ name = "socket2"
1608
+ version = "0.6.1"
1587
1609
  source = "registry+https://github.com/rust-lang/crates.io-index"
1588
- checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
1610
+ checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881"
1611
+ dependencies = [
1612
+ "libc",
1613
+ "windows-sys 0.60.2",
1614
+ ]
1589
1615
 
1590
1616
  [[package]]
1591
1617
  name = "stable_deref_trait"
@@ -1786,25 +1812,24 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
1786
1812
 
1787
1813
  [[package]]
1788
1814
  name = "tokio"
1789
- version = "1.44.1"
1815
+ version = "1.49.0"
1790
1816
  source = "registry+https://github.com/rust-lang/crates.io-index"
1791
- checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a"
1817
+ checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86"
1792
1818
  dependencies = [
1793
- "backtrace",
1794
1819
  "bytes",
1795
1820
  "libc",
1796
1821
  "mio",
1797
1822
  "pin-project-lite",
1798
- "socket2",
1823
+ "socket2 0.6.1",
1799
1824
  "tokio-macros",
1800
- "windows-sys 0.52.0",
1825
+ "windows-sys 0.61.2",
1801
1826
  ]
1802
1827
 
1803
1828
  [[package]]
1804
1829
  name = "tokio-macros"
1805
- version = "2.5.0"
1830
+ version = "2.6.0"
1806
1831
  source = "registry+https://github.com/rust-lang/crates.io-index"
1807
- checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
1832
+ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
1808
1833
  dependencies = [
1809
1834
  "proc-macro2",
1810
1835
  "quote",
@@ -1873,6 +1898,12 @@ version = "1.0.2"
1873
1898
  source = "registry+https://github.com/rust-lang/crates.io-index"
1874
1899
  checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e"
1875
1900
 
1901
+ [[package]]
1902
+ name = "typenum"
1903
+ version = "1.19.0"
1904
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1905
+ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
1906
+
1876
1907
  [[package]]
1877
1908
  name = "unicode-ident"
1878
1909
  version = "1.0.14"
@@ -1926,9 +1957,9 @@ dependencies = [
1926
1957
 
1927
1958
  [[package]]
1928
1959
  name = "value-bag"
1929
- version = "1.10.0"
1960
+ version = "1.12.0"
1930
1961
  source = "registry+https://github.com/rust-lang/crates.io-index"
1931
- checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2"
1962
+ checksum = "7ba6f5989077681266825251a52748b8c1d8a4ad098cc37e440103d0ea717fc0"
1932
1963
  dependencies = [
1933
1964
  "value-bag-serde1",
1934
1965
  "value-bag-sval2",
@@ -1936,20 +1967,20 @@ dependencies = [
1936
1967
 
1937
1968
  [[package]]
1938
1969
  name = "value-bag-serde1"
1939
- version = "1.10.0"
1970
+ version = "1.12.0"
1940
1971
  source = "registry+https://github.com/rust-lang/crates.io-index"
1941
- checksum = "4bb773bd36fd59c7ca6e336c94454d9c66386416734817927ac93d81cb3c5b0b"
1972
+ checksum = "16530907bfe2999a1773ca5900a65101e092c70f642f25cc23ca0c43573262c5"
1942
1973
  dependencies = [
1943
1974
  "erased-serde",
1944
- "serde",
1975
+ "serde_core",
1945
1976
  "serde_fmt",
1946
1977
  ]
1947
1978
 
1948
1979
  [[package]]
1949
1980
  name = "value-bag-sval2"
1950
- version = "1.10.0"
1981
+ version = "1.12.0"
1951
1982
  source = "registry+https://github.com/rust-lang/crates.io-index"
1952
- checksum = "53a916a702cac43a88694c97657d449775667bcd14b70419441d05b7fea4a83a"
1983
+ checksum = "d00ae130edd690eaa877e4f40605d534790d1cf1d651e7685bd6a144521b251f"
1953
1984
  dependencies = [
1954
1985
  "sval",
1955
1986
  "sval_buffer",
@@ -1960,6 +1991,12 @@ dependencies = [
1960
1991
  "sval_serde",
1961
1992
  ]
1962
1993
 
1994
+ [[package]]
1995
+ name = "version_check"
1996
+ version = "0.9.5"
1997
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1998
+ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
1999
+
1963
2000
  [[package]]
1964
2001
  name = "want"
1965
2002
  version = "0.3.1"
@@ -2101,9 +2138,15 @@ version = "0.52.0"
2101
2138
  source = "registry+https://github.com/rust-lang/crates.io-index"
2102
2139
  checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
2103
2140
  dependencies = [
2104
- "windows-targets",
2141
+ "windows-targets 0.52.6",
2105
2142
  ]
2106
2143
 
2144
+ [[package]]
2145
+ name = "windows-link"
2146
+ version = "0.2.1"
2147
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2148
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
2149
+
2107
2150
  [[package]]
2108
2151
  name = "windows-registry"
2109
2152
  version = "0.2.0"
@@ -2112,7 +2155,7 @@ checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
2112
2155
  dependencies = [
2113
2156
  "windows-result",
2114
2157
  "windows-strings",
2115
- "windows-targets",
2158
+ "windows-targets 0.52.6",
2116
2159
  ]
2117
2160
 
2118
2161
  [[package]]
@@ -2121,7 +2164,7 @@ version = "0.2.0"
2121
2164
  source = "registry+https://github.com/rust-lang/crates.io-index"
2122
2165
  checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
2123
2166
  dependencies = [
2124
- "windows-targets",
2167
+ "windows-targets 0.52.6",
2125
2168
  ]
2126
2169
 
2127
2170
  [[package]]
@@ -2131,7 +2174,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2131
2174
  checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
2132
2175
  dependencies = [
2133
2176
  "windows-result",
2134
- "windows-targets",
2177
+ "windows-targets 0.52.6",
2135
2178
  ]
2136
2179
 
2137
2180
  [[package]]
@@ -2140,7 +2183,7 @@ version = "0.52.0"
2140
2183
  source = "registry+https://github.com/rust-lang/crates.io-index"
2141
2184
  checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
2142
2185
  dependencies = [
2143
- "windows-targets",
2186
+ "windows-targets 0.52.6",
2144
2187
  ]
2145
2188
 
2146
2189
  [[package]]
@@ -2149,7 +2192,25 @@ version = "0.59.0"
2149
2192
  source = "registry+https://github.com/rust-lang/crates.io-index"
2150
2193
  checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
2151
2194
  dependencies = [
2152
- "windows-targets",
2195
+ "windows-targets 0.52.6",
2196
+ ]
2197
+
2198
+ [[package]]
2199
+ name = "windows-sys"
2200
+ version = "0.60.2"
2201
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2202
+ checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
2203
+ dependencies = [
2204
+ "windows-targets 0.53.5",
2205
+ ]
2206
+
2207
+ [[package]]
2208
+ name = "windows-sys"
2209
+ version = "0.61.2"
2210
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2211
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
2212
+ dependencies = [
2213
+ "windows-link",
2153
2214
  ]
2154
2215
 
2155
2216
  [[package]]
@@ -2158,14 +2219,31 @@ version = "0.52.6"
2158
2219
  source = "registry+https://github.com/rust-lang/crates.io-index"
2159
2220
  checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
2160
2221
  dependencies = [
2161
- "windows_aarch64_gnullvm",
2162
- "windows_aarch64_msvc",
2163
- "windows_i686_gnu",
2164
- "windows_i686_gnullvm",
2165
- "windows_i686_msvc",
2166
- "windows_x86_64_gnu",
2167
- "windows_x86_64_gnullvm",
2168
- "windows_x86_64_msvc",
2222
+ "windows_aarch64_gnullvm 0.52.6",
2223
+ "windows_aarch64_msvc 0.52.6",
2224
+ "windows_i686_gnu 0.52.6",
2225
+ "windows_i686_gnullvm 0.52.6",
2226
+ "windows_i686_msvc 0.52.6",
2227
+ "windows_x86_64_gnu 0.52.6",
2228
+ "windows_x86_64_gnullvm 0.52.6",
2229
+ "windows_x86_64_msvc 0.52.6",
2230
+ ]
2231
+
2232
+ [[package]]
2233
+ name = "windows-targets"
2234
+ version = "0.53.5"
2235
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2236
+ checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
2237
+ dependencies = [
2238
+ "windows-link",
2239
+ "windows_aarch64_gnullvm 0.53.1",
2240
+ "windows_aarch64_msvc 0.53.1",
2241
+ "windows_i686_gnu 0.53.1",
2242
+ "windows_i686_gnullvm 0.53.1",
2243
+ "windows_i686_msvc 0.53.1",
2244
+ "windows_x86_64_gnu 0.53.1",
2245
+ "windows_x86_64_gnullvm 0.53.1",
2246
+ "windows_x86_64_msvc 0.53.1",
2169
2247
  ]
2170
2248
 
2171
2249
  [[package]]
@@ -2174,48 +2252,96 @@ version = "0.52.6"
2174
2252
  source = "registry+https://github.com/rust-lang/crates.io-index"
2175
2253
  checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
2176
2254
 
2255
+ [[package]]
2256
+ name = "windows_aarch64_gnullvm"
2257
+ version = "0.53.1"
2258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2259
+ checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
2260
+
2177
2261
  [[package]]
2178
2262
  name = "windows_aarch64_msvc"
2179
2263
  version = "0.52.6"
2180
2264
  source = "registry+https://github.com/rust-lang/crates.io-index"
2181
2265
  checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
2182
2266
 
2267
+ [[package]]
2268
+ name = "windows_aarch64_msvc"
2269
+ version = "0.53.1"
2270
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2271
+ checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
2272
+
2183
2273
  [[package]]
2184
2274
  name = "windows_i686_gnu"
2185
2275
  version = "0.52.6"
2186
2276
  source = "registry+https://github.com/rust-lang/crates.io-index"
2187
2277
  checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
2188
2278
 
2279
+ [[package]]
2280
+ name = "windows_i686_gnu"
2281
+ version = "0.53.1"
2282
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2283
+ checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
2284
+
2189
2285
  [[package]]
2190
2286
  name = "windows_i686_gnullvm"
2191
2287
  version = "0.52.6"
2192
2288
  source = "registry+https://github.com/rust-lang/crates.io-index"
2193
2289
  checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
2194
2290
 
2291
+ [[package]]
2292
+ name = "windows_i686_gnullvm"
2293
+ version = "0.53.1"
2294
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2295
+ checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
2296
+
2195
2297
  [[package]]
2196
2298
  name = "windows_i686_msvc"
2197
2299
  version = "0.52.6"
2198
2300
  source = "registry+https://github.com/rust-lang/crates.io-index"
2199
2301
  checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
2200
2302
 
2303
+ [[package]]
2304
+ name = "windows_i686_msvc"
2305
+ version = "0.53.1"
2306
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2307
+ checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
2308
+
2201
2309
  [[package]]
2202
2310
  name = "windows_x86_64_gnu"
2203
2311
  version = "0.52.6"
2204
2312
  source = "registry+https://github.com/rust-lang/crates.io-index"
2205
2313
  checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
2206
2314
 
2315
+ [[package]]
2316
+ name = "windows_x86_64_gnu"
2317
+ version = "0.53.1"
2318
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2319
+ checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
2320
+
2207
2321
  [[package]]
2208
2322
  name = "windows_x86_64_gnullvm"
2209
2323
  version = "0.52.6"
2210
2324
  source = "registry+https://github.com/rust-lang/crates.io-index"
2211
2325
  checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
2212
2326
 
2327
+ [[package]]
2328
+ name = "windows_x86_64_gnullvm"
2329
+ version = "0.53.1"
2330
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2331
+ checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
2332
+
2213
2333
  [[package]]
2214
2334
  name = "windows_x86_64_msvc"
2215
2335
  version = "0.52.6"
2216
2336
  source = "registry+https://github.com/rust-lang/crates.io-index"
2217
2337
  checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
2218
2338
 
2339
+ [[package]]
2340
+ name = "windows_x86_64_msvc"
2341
+ version = "0.53.1"
2342
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2343
+ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
2344
+
2219
2345
  [[package]]
2220
2346
  name = "wit-bindgen-rt"
2221
2347
  version = "0.33.0"
@@ -2273,11 +2399,11 @@ dependencies = [
2273
2399
 
2274
2400
  [[package]]
2275
2401
  name = "zerocopy"
2276
- version = "0.8.15"
2402
+ version = "0.8.31"
2277
2403
  source = "registry+https://github.com/rust-lang/crates.io-index"
2278
- checksum = "a1e101d4bc320b6f9abb68846837b70e25e380ca2f467ab494bf29fcc435fcc3"
2404
+ checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3"
2279
2405
  dependencies = [
2280
- "zerocopy-derive 0.8.15",
2406
+ "zerocopy-derive 0.8.31",
2281
2407
  ]
2282
2408
 
2283
2409
  [[package]]
@@ -2293,9 +2419,9 @@ dependencies = [
2293
2419
 
2294
2420
  [[package]]
2295
2421
  name = "zerocopy-derive"
2296
- version = "0.8.15"
2422
+ version = "0.8.31"
2297
2423
  source = "registry+https://github.com/rust-lang/crates.io-index"
2298
- checksum = "03a73df1008145cd135b3c780d275c57c3e6ba8324a41bd5e0008fe167c3bc7c"
2424
+ checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a"
2299
2425
  dependencies = [
2300
2426
  "proc-macro2",
2301
2427
  "quote",
@@ -2350,3 +2476,9 @@ dependencies = [
2350
2476
  "quote",
2351
2477
  "syn",
2352
2478
  ]
2479
+
2480
+ [[package]]
2481
+ name = "zmij"
2482
+ version = "0.1.9"
2483
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2484
+ checksum = "d0095ecd462946aa3927d9297b63ef82fb9a5316d7a37d134eeb36e58228615a"
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "eppo_client"
3
3
  # TODO: this version and lib/eppo_client/version.rb should be in sync
4
- version = "3.7.4"
4
+ version = "3.8.0"
5
5
  edition = "2021"
6
6
  license = "MIT"
7
7
  publish = false
@@ -12,11 +12,11 @@ crate-type = ["cdylib"]
12
12
 
13
13
  [dependencies]
14
14
  env_logger = { version = "0.11.3", features = ["unstable-kv"] }
15
- eppo_core = { version = "=9.3.0", features = ["magnus", "event_ingestion"] }
16
- log = { version = "0.4.21", features = ["kv_serde"] }
17
- magnus = { version = "0.7.1" }
15
+ eppo_core = { version = "=10.0.0", features = ["magnus", "event_ingestion", "ahash"] }
16
+ log = { version = "0.4.29", features = ["kv_serde"] }
17
+ magnus = { version = "0.8.2" }
18
18
  serde = { version = "1.0.203", features = ["derive"] }
19
- serde_magnus = "0.9.0"
20
- rb-sys = "0.9.105"
21
- serde_json = "1.0.128"
22
- tokio = { version = "1.44.1", default-features = false, features = ["time"] }
19
+ serde_magnus = "0.10.0"
20
+ rb-sys = "0.9.124"
21
+ serde_json = "1.0.147"
22
+ tokio = { version = "1.49.0", default-features = false, features = ["time"] }
@@ -13,7 +13,7 @@ use eppo_core::{
13
13
  ufc::VariationType,
14
14
  Attributes, ContextAttributes, SdkKey,
15
15
  };
16
- use magnus::{error::Result, exception, prelude::*, Error, IntoValue, Ruby, TryConvert, Value};
16
+ use magnus::{error::Result, prelude::*, Error, IntoValue, Ruby, TryConvert, Value};
17
17
 
18
18
  #[derive(Debug)]
19
19
  #[magnus::wrap(class = "EppoClient::Core::Config", size, free_immediately)]
@@ -29,6 +29,7 @@ pub struct Config {
29
29
  impl TryConvert for Config {
30
30
  // `val` is expected to be of type EppoClient::Config.
31
31
  fn try_convert(val: Value) -> Result<Self> {
32
+ let ruby = Ruby::get_with(val);
32
33
  let sdk_key = String::try_convert(val.funcall("api_key", ())?)?;
33
34
  let base_url = String::try_convert(val.funcall("base_url", ())?)?;
34
35
  let poll_interval_seconds =
@@ -38,7 +39,7 @@ impl TryConvert for Config {
38
39
  let s = Option::<String>::try_convert(val.funcall("log_level", ())?)?;
39
40
  s.map(|s| {
40
41
  log::LevelFilter::from_str(&s)
41
- .map_err(|err| Error::new(exception::runtime_error(), err.to_string()))
42
+ .map_err(|err| Error::new(ruby.exception_runtime_error(), err.to_string()))
42
43
  })
43
44
  .transpose()?
44
45
  };
@@ -139,8 +140,8 @@ impl Client {
139
140
  subject_attributes: Value,
140
141
  expected_type: Value,
141
142
  ) -> Result<Value> {
142
- let expected_type: VariationType = serde_magnus::deserialize(expected_type)?;
143
- let subject_attributes: Attributes = serde_magnus::deserialize(subject_attributes)?;
143
+ let expected_type: VariationType = serde_magnus::deserialize(ruby, expected_type)?;
144
+ let subject_attributes: Attributes = serde_magnus::deserialize(ruby, subject_attributes)?;
144
145
 
145
146
  let result = rb_self
146
147
  .evaluator
@@ -151,24 +152,23 @@ impl Client {
151
152
  Some(expected_type),
152
153
  )
153
154
  // TODO: maybe expose possible errors individually.
154
- .map_err(|err| Error::new(exception::runtime_error(), err.to_string()))?;
155
+ .map_err(|err| Error::new(ruby.exception_runtime_error(), err.to_string()))?;
155
156
 
156
157
  Ok(result.into_value_with(&ruby))
157
158
  }
158
159
 
159
160
  pub fn get_assignment_details(
160
- &self,
161
+ ruby: &Ruby,
162
+ rb_self: &Self,
161
163
  flag_key: String,
162
164
  subject_key: String,
163
165
  subject_attributes: Value,
164
166
  expected_type: Value,
165
167
  ) -> Result<Value> {
166
- let ruby = Ruby::get_with(subject_attributes);
168
+ let expected_type: VariationType = serde_magnus::deserialize(ruby, expected_type)?;
169
+ let subject_attributes: Attributes = serde_magnus::deserialize(ruby, subject_attributes)?;
167
170
 
168
- let expected_type: VariationType = serde_magnus::deserialize(expected_type)?;
169
- let subject_attributes: Attributes = serde_magnus::deserialize(subject_attributes)?;
170
-
171
- let result = self.evaluator.get_assignment_details(
171
+ let result = rb_self.evaluator.get_assignment_details(
172
172
  &flag_key,
173
173
  &subject_key.into(),
174
174
  &Arc::new(subject_attributes),
@@ -179,25 +179,26 @@ impl Client {
179
179
  }
180
180
 
181
181
  pub fn get_bandit_action(
182
- &self,
182
+ ruby: &Ruby,
183
+ rb_self: &Self,
183
184
  flag_key: String,
184
185
  subject_key: String,
185
186
  subject_attributes: Value,
186
187
  actions: Value,
187
188
  default_variation: String,
188
189
  ) -> Result<Value> {
189
- let subject_attributes = serde_magnus::deserialize::<_, ContextAttributes>(
190
- subject_attributes,
191
- )
192
- .map_err(|err| {
193
- Error::new(
194
- exception::runtime_error(),
195
- format!("Unexpected value for subject_attributes: {err}"),
196
- )
197
- })?;
198
- let actions = serde_magnus::deserialize(actions)?;
190
+ let subject_attributes =
191
+ serde_magnus::deserialize::<_, ContextAttributes>(ruby, subject_attributes).map_err(
192
+ |err| {
193
+ Error::new(
194
+ ruby.exception_runtime_error(),
195
+ format!("Unexpected value for subject_attributes: {err}"),
196
+ )
197
+ },
198
+ )?;
199
+ let actions = serde_magnus::deserialize(ruby, actions)?;
199
200
 
200
- let result = self.evaluator.get_bandit_action(
201
+ let result = rb_self.evaluator.get_bandit_action(
201
202
  &flag_key,
202
203
  &subject_key.into(),
203
204
  &subject_attributes,
@@ -205,29 +206,30 @@ impl Client {
205
206
  &default_variation.into(),
206
207
  );
207
208
 
208
- serde_magnus::serialize(&result)
209
+ serde_magnus::serialize(ruby, &result)
209
210
  }
210
211
 
211
212
  pub fn get_bandit_action_details(
212
- &self,
213
+ ruby: &Ruby,
214
+ rb_self: &Self,
213
215
  flag_key: String,
214
216
  subject_key: String,
215
217
  subject_attributes: Value,
216
218
  actions: Value,
217
219
  default_variation: String,
218
220
  ) -> Result<Value> {
219
- let subject_attributes = serde_magnus::deserialize::<_, ContextAttributes>(
220
- subject_attributes,
221
- )
222
- .map_err(|err| {
223
- Error::new(
224
- exception::runtime_error(),
225
- format!("Unexpected value for subject_attributes: {err}"),
226
- )
227
- })?;
228
- let actions = serde_magnus::deserialize(actions)?;
221
+ let subject_attributes =
222
+ serde_magnus::deserialize::<_, ContextAttributes>(ruby, subject_attributes).map_err(
223
+ |err| {
224
+ Error::new(
225
+ ruby.exception_runtime_error(),
226
+ format!("Unexpected value for subject_attributes: {err}"),
227
+ )
228
+ },
229
+ )?;
230
+ let actions = serde_magnus::deserialize(ruby, actions)?;
229
231
 
230
- let result = self.evaluator.get_bandit_action_details(
232
+ let result = rb_self.evaluator.get_bandit_action_details(
231
233
  &flag_key,
232
234
  &subject_key.into(),
233
235
  &subject_attributes,
@@ -235,7 +237,7 @@ impl Client {
235
237
  &default_variation.into(),
236
238
  );
237
239
 
238
- serde_magnus::serialize(&result)
240
+ serde_magnus::serialize(ruby, &result)
239
241
  }
240
242
 
241
243
  pub fn wait_for_initialization(&self, timeout_secs: f64) {
@@ -278,22 +280,23 @@ impl Client {
278
280
 
279
281
  pub fn shutdown(&self) {
280
282
  if let Some(thread) = self.background_thread.take() {
281
- thread.graceful_shutdown();
283
+ thread.shutdown();
282
284
  }
283
285
  }
284
286
 
285
- pub fn track(&self, event_type: String, payload: Value) -> Result<()> {
286
- let Some(event_ingestion) = &self.event_ingestion else {
287
+ pub fn track(ruby: &Ruby, rb_self: &Self, event_type: String, payload: Value) -> Result<()> {
288
+ let Some(event_ingestion) = &rb_self.event_ingestion else {
287
289
  // Event ingestion is disabled, do nothing.
288
290
  return Ok(());
289
291
  };
290
292
 
291
- let payload: serde_json::Value = serde_magnus::deserialize(payload).map_err(|err| {
292
- Error::new(
293
- exception::runtime_error(),
294
- format!("Unexpected value for payload: {err}"),
295
- )
296
- })?;
293
+ let payload: serde_json::Value =
294
+ serde_magnus::deserialize(ruby, payload).map_err(|err| {
295
+ Error::new(
296
+ ruby.exception_runtime_error(),
297
+ format!("Unexpected value for payload: {err}"),
298
+ )
299
+ })?;
297
300
 
298
301
  event_ingestion.track(event_type, payload);
299
302
 
@@ -9,7 +9,7 @@ use crate::{gc_lock::GcLock, SDK_METADATA};
9
9
  pub(crate) fn init(ruby: &Ruby) -> Result<(), Error> {
10
10
  let eppo_client = ruby.define_module("EppoClient")?;
11
11
 
12
- let configuration = eppo_client.define_class("Configuration", magnus::class::object())?;
12
+ let configuration = eppo_client.define_class("Configuration", ruby.class_object())?;
13
13
  configuration.define_singleton_method("new", function!(Configuration::new, 1))?;
14
14
  configuration.define_method(
15
15
  "flags_configuration",
@@ -16,7 +16,7 @@ pub(crate) const SDK_METADATA: SdkMetadata = SdkMetadata {
16
16
  fn init(ruby: &Ruby) -> Result<(), Error> {
17
17
  let eppo_client = ruby.define_module("EppoClient")?;
18
18
  let core = eppo_client.define_module("Core")?;
19
- let core_client = core.define_class("Client", magnus::class::object())?;
19
+ let core_client = core.define_class("Client", ruby.class_object())?;
20
20
  core_client.define_singleton_method("new", function!(Client::new, 1))?;
21
21
  core_client.define_method("get_assignment", method!(Client::get_assignment, 4))?;
22
22
  core_client.define_method(
@@ -2,5 +2,5 @@
2
2
 
3
3
  # TODO: this version and ext/eppo_client/Cargo.toml should be in sync
4
4
  module EppoClient
5
- VERSION = "3.7.4"
5
+ VERSION = "3.8.0"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eppo-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.4
4
+ version: 3.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eppo
@@ -15,14 +15,28 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 0.9.105
18
+ version: 0.9.124
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 0.9.105
25
+ version: 0.9.124
26
+ - !ruby/object:Gem::Dependency
27
+ name: logger
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.6'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.6'
26
40
  email:
27
41
  - eppo-team@geteppo.com
28
42
  executables: []
@@ -51,11 +65,10 @@ homepage: https://github.com/Eppo-exp/ruby-sdk
51
65
  licenses:
52
66
  - MIT
53
67
  metadata:
54
- bug_tracker_uri: https://github.com/Eppo-exp/ruby-sdk/issues
68
+ bug_tracker_uri: https://github.com/Eppo-exp/eppo-multiplatform/issues
55
69
  documentation_uri: https://docs.geteppo.com/feature-flags/sdks/server-sdks/ruby/
56
70
  homepage_uri: https://geteppo.com/
57
- source_code_uri: https://github.com/Eppo-exp/ruby-sdk
58
- wiki_uri: https://github.com/Eppo-exp/ruby-sdk/wiki
71
+ source_code_uri: https://github.com/Eppo-exp/eppo-multiplatform/tree/main/ruby-sdk
59
72
  rdoc_options: []
60
73
  require_paths:
61
74
  - lib
@@ -70,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
70
83
  - !ruby/object:Gem::Version
71
84
  version: 3.3.11
72
85
  requirements: []
73
- rubygems_version: 3.6.9
86
+ rubygems_version: 4.0.3
74
87
  specification_version: 4
75
88
  summary: Eppo SDK for Ruby
76
89
  test_files: []