cedar_policy 0.6.1 → 0.7.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: a8dbc4bacb220bb4c03873095c8429e735d6df3df88056b98193f8acaafd1e07
4
- data.tar.gz: f5f0de9e469de2d455840511b55ece64f999b47a2127c61ad9925e76eff5f654
3
+ metadata.gz: a9cb07aef4cdd19e45459e0121edd1d1fedd37697f6baabce5883cbfbbd2691b
4
+ data.tar.gz: c51c0cc1c141b942f746d00d8e4c52dbe46ecab90e04fcdb2e7f8f2b18a7ba4a
5
5
  SHA512:
6
- metadata.gz: 310f8639bc61e04b916a39962f668fdaac602514eec91c38c7b9ff6771173f4640427f70663e1e1bdd094e1482a55972ff1cbb0954fb88fb7bd5eb5cdc441b9e
7
- data.tar.gz: 0dd94866133e2b540051dc7d0acc367e3438f5fafb1d5d92e2653093ebb2f19c7765d6b6b9ebaa3d521771c68664332ec7d2e4d88a0d8057b511bc4e34edca81
6
+ metadata.gz: 7d61d6e405a5f0756e5c2f8576a7e005a90386629e83aec87bbc8e6c75447b7ae6bb5f4b9e145d138cc25ca32b2b36cec2807eada8358747e3ad456e2a0540b7
7
+ data.tar.gz: 3defda60852e5be9d88ce198c854b1f8793f7ff161ec9304701f745a26bd1d2f8c36ec30aa1763c989c398ae9524c3c49e88155d7e48f8c86a0a36dc3508d0b1
@@ -1 +1 @@
1
- {".":"0.6.1"}
1
+ {".":"0.7.0"}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.7.0](https://github.com/elct9620/cedar-policy-rb/compare/v0.6.2...v0.7.0) (2026-02-26)
4
+
5
+
6
+ ### Features
7
+
8
+ * add policy_ids method to PolicySet ([3812daf](https://github.com/elct9620/cedar-policy-rb/commit/3812dafce10a6574c07316ec73e2e45c15fdcd9f))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **deps:** enable stable-api-compiled-fallback for Ruby 4.0 support ([c3603ec](https://github.com/elct9620/cedar-policy-rb/commit/c3603ec67e0aa25cba9f57a08c2906a1bb43ccce))
14
+
15
+ ## [0.6.2](https://github.com/elct9620/cedar-policy-rb/compare/v0.6.1...v0.6.2) (2025-08-26)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * improve Ruby version compatibility and cross-compilation ([e08a3a0](https://github.com/elct9620/cedar-policy-rb/commit/e08a3a0c2266a1feb74a83ee38705205653f3625))
21
+ * revert rb_sys to 0.9.116 and restore mingw support ([6646b08](https://github.com/elct9620/cedar-policy-rb/commit/6646b08aea8954b0071b29936d03b48854eb203a))
22
+ * select correct minimal ruby version for different platform ([9d9fc09](https://github.com/elct9620/cedar-policy-rb/commit/9d9fc09a4c8dec6269cd05b22774c5e03aeb2dce))
23
+
24
+
25
+ ### Reverts
26
+
27
+ * restore rb_sys to 0.9.117 after investigation ([f1e77dd](https://github.com/elct9620/cedar-policy-rb/commit/f1e77ddca61b7c48575c6548620a76cc5954524e))
28
+
3
29
  ## [0.6.1](https://github.com/elct9620/cedar-policy-rb/compare/v0.6.0...v0.6.1) (2025-08-26)
4
30
 
5
31
 
data/Cargo.lock CHANGED
@@ -11,12 +11,6 @@ dependencies = [
11
11
  "memchr",
12
12
  ]
13
13
 
14
- [[package]]
15
- name = "android-tzdata"
16
- version = "0.1.1"
17
- source = "registry+https://github.com/rust-lang/crates.io-index"
18
- checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
19
-
20
14
  [[package]]
21
15
  name = "android_system_properties"
22
16
  version = "0.1.5"
@@ -43,9 +37,9 @@ dependencies = [
43
37
 
44
38
  [[package]]
45
39
  name = "autocfg"
46
- version = "1.4.0"
40
+ version = "1.5.0"
47
41
  source = "registry+https://github.com/rust-lang/crates.io-index"
48
- checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
42
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
49
43
 
50
44
  [[package]]
51
45
  name = "base64"
@@ -53,12 +47,6 @@ version = "0.22.1"
53
47
  source = "registry+https://github.com/rust-lang/crates.io-index"
54
48
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
55
49
 
56
- [[package]]
57
- name = "beef"
58
- version = "0.5.2"
59
- source = "registry+https://github.com/rust-lang/crates.io-index"
60
- checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1"
61
-
62
50
  [[package]]
63
51
  name = "bindgen"
64
52
  version = "0.69.5"
@@ -96,9 +84,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
96
84
 
97
85
  [[package]]
98
86
  name = "bitflags"
99
- version = "2.9.1"
87
+ version = "2.9.3"
100
88
  source = "registry+https://github.com/rust-lang/crates.io-index"
101
- checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
89
+ checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d"
102
90
 
103
91
  [[package]]
104
92
  name = "block-buffer"
@@ -120,32 +108,30 @@ dependencies = [
120
108
 
121
109
  [[package]]
122
110
  name = "bumpalo"
123
- version = "3.18.1"
111
+ version = "3.19.0"
124
112
  source = "registry+https://github.com/rust-lang/crates.io-index"
125
- checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee"
113
+ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
126
114
 
127
115
  [[package]]
128
116
  name = "cc"
129
- version = "1.2.26"
117
+ version = "1.2.34"
130
118
  source = "registry+https://github.com/rust-lang/crates.io-index"
131
- checksum = "956a5e21988b87f372569b66183b78babf23ebc2e744b733e4350a752c4dafac"
119
+ checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc"
132
120
  dependencies = [
133
121
  "shlex",
134
122
  ]
135
123
 
136
124
  [[package]]
137
125
  name = "cedar-policy"
138
- version = "4.5.1"
126
+ version = "4.9.0"
139
127
  source = "registry+https://github.com/rust-lang/crates.io-index"
140
- checksum = "c48e6e6d7a17aabe41cf70c5613413ce0cc82f5f651357843bd02b8d41ca08a4"
128
+ checksum = "c55625387d203085efb7dca8eb594188d586c99f97a83cf577d60bc588b1c705"
141
129
  dependencies = [
142
130
  "cedar-policy-core",
143
131
  "cedar-policy-formatter",
144
132
  "itertools 0.14.0",
145
- "lalrpop-util",
146
- "lazy_static",
133
+ "linked-hash-map",
147
134
  "miette",
148
- "nonempty",
149
135
  "ref-cast",
150
136
  "semver",
151
137
  "serde",
@@ -157,9 +143,9 @@ dependencies = [
157
143
 
158
144
  [[package]]
159
145
  name = "cedar-policy-core"
160
- version = "4.5.1"
146
+ version = "4.9.0"
161
147
  source = "registry+https://github.com/rust-lang/crates.io-index"
162
- checksum = "02b45be5c965ce63bec3d284fefe0e042342f4e77f149a1e7aafc045119df738"
148
+ checksum = "c2ac16501266418b913a4ee73d1d14542d479c73baf7fccea2542996a2a82fe2"
163
149
  dependencies = [
164
150
  "chrono",
165
151
  "educe",
@@ -167,12 +153,13 @@ dependencies = [
167
153
  "itertools 0.14.0",
168
154
  "lalrpop",
169
155
  "lalrpop-util",
170
- "lazy_static",
156
+ "linked-hash-map",
157
+ "linked_hash_set",
171
158
  "miette",
172
159
  "nonempty",
173
160
  "ref-cast",
174
161
  "regex",
175
- "rustc_lexer",
162
+ "rustc-literal-escaper",
176
163
  "serde",
177
164
  "serde_json",
178
165
  "serde_with",
@@ -184,13 +171,12 @@ dependencies = [
184
171
 
185
172
  [[package]]
186
173
  name = "cedar-policy-formatter"
187
- version = "4.5.1"
174
+ version = "4.9.0"
188
175
  source = "registry+https://github.com/rust-lang/crates.io-index"
189
- checksum = "ddec9c888e3afff8000f92d7c93e20a32559301c65fb80683335fb8bb8bf2f35"
176
+ checksum = "99f4b40c3d8a88264578fd9ef17b43ef35ec36e1283ae22930542dff8a6b80ae"
190
177
  dependencies = [
191
178
  "cedar-policy-core",
192
179
  "itertools 0.14.0",
193
- "lazy_static",
194
180
  "logos",
195
181
  "miette",
196
182
  "pretty",
@@ -200,10 +186,11 @@ dependencies = [
200
186
 
201
187
  [[package]]
202
188
  name = "cedar_policy"
203
- version = "0.6.1"
189
+ version = "0.7.0"
204
190
  dependencies = [
205
191
  "cedar-policy",
206
192
  "magnus",
193
+ "rb-sys",
207
194
  "serde_magnus",
208
195
  ]
209
196
 
@@ -218,9 +205,9 @@ dependencies = [
218
205
 
219
206
  [[package]]
220
207
  name = "cfg-if"
221
- version = "1.0.1"
208
+ version = "1.0.3"
222
209
  source = "registry+https://github.com/rust-lang/crates.io-index"
223
- checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
210
+ checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
224
211
 
225
212
  [[package]]
226
213
  name = "cfg_aliases"
@@ -230,15 +217,14 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
230
217
 
231
218
  [[package]]
232
219
  name = "chrono"
233
- version = "0.4.41"
220
+ version = "0.4.43"
234
221
  source = "registry+https://github.com/rust-lang/crates.io-index"
235
- checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
222
+ checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118"
236
223
  dependencies = [
237
- "android-tzdata",
238
224
  "iana-time-zone",
239
225
  "num-traits",
240
226
  "serde",
241
- "windows-link",
227
+ "windows-link 0.2.1",
242
228
  ]
243
229
 
244
230
  [[package]]
@@ -279,9 +265,9 @@ dependencies = [
279
265
 
280
266
  [[package]]
281
267
  name = "darling"
282
- version = "0.20.11"
268
+ version = "0.21.3"
283
269
  source = "registry+https://github.com/rust-lang/crates.io-index"
284
- checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee"
270
+ checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0"
285
271
  dependencies = [
286
272
  "darling_core",
287
273
  "darling_macro",
@@ -289,9 +275,9 @@ dependencies = [
289
275
 
290
276
  [[package]]
291
277
  name = "darling_core"
292
- version = "0.20.11"
278
+ version = "0.21.3"
293
279
  source = "registry+https://github.com/rust-lang/crates.io-index"
294
- checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e"
280
+ checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4"
295
281
  dependencies = [
296
282
  "fnv",
297
283
  "ident_case",
@@ -303,9 +289,9 @@ dependencies = [
303
289
 
304
290
  [[package]]
305
291
  name = "darling_macro"
306
- version = "0.20.11"
292
+ version = "0.21.3"
307
293
  source = "registry+https://github.com/rust-lang/crates.io-index"
308
- checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
294
+ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81"
309
295
  dependencies = [
310
296
  "darling_core",
311
297
  "quote",
@@ -314,12 +300,12 @@ dependencies = [
314
300
 
315
301
  [[package]]
316
302
  name = "deranged"
317
- version = "0.4.0"
303
+ version = "0.5.5"
318
304
  source = "registry+https://github.com/rust-lang/crates.io-index"
319
- checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
305
+ checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587"
320
306
  dependencies = [
321
307
  "powerfmt",
322
- "serde",
308
+ "serde_core",
323
309
  ]
324
310
 
325
311
  [[package]]
@@ -334,9 +320,9 @@ dependencies = [
334
320
 
335
321
  [[package]]
336
322
  name = "dyn-clone"
337
- version = "1.0.19"
323
+ version = "1.0.20"
338
324
  source = "registry+https://github.com/rust-lang/crates.io-index"
339
- checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"
325
+ checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
340
326
 
341
327
  [[package]]
342
328
  name = "educe"
@@ -415,9 +401,9 @@ dependencies = [
415
401
 
416
402
  [[package]]
417
403
  name = "glob"
418
- version = "0.3.2"
404
+ version = "0.3.3"
419
405
  source = "registry+https://github.com/rust-lang/crates.io-index"
420
- checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
406
+ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
421
407
 
422
408
  [[package]]
423
409
  name = "hashbrown"
@@ -427,9 +413,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
427
413
 
428
414
  [[package]]
429
415
  name = "hashbrown"
430
- version = "0.15.4"
416
+ version = "0.15.5"
431
417
  source = "registry+https://github.com/rust-lang/crates.io-index"
432
- checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
418
+ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
433
419
 
434
420
  [[package]]
435
421
  name = "hex"
@@ -437,15 +423,6 @@ version = "0.4.3"
437
423
  source = "registry+https://github.com/rust-lang/crates.io-index"
438
424
  checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
439
425
 
440
- [[package]]
441
- name = "home"
442
- version = "0.5.11"
443
- source = "registry+https://github.com/rust-lang/crates.io-index"
444
- checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf"
445
- dependencies = [
446
- "windows-sys",
447
- ]
448
-
449
426
  [[package]]
450
427
  name = "iana-time-zone"
451
428
  version = "0.1.63"
@@ -489,12 +466,12 @@ dependencies = [
489
466
 
490
467
  [[package]]
491
468
  name = "indexmap"
492
- version = "2.9.0"
469
+ version = "2.11.0"
493
470
  source = "registry+https://github.com/rust-lang/crates.io-index"
494
- checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
471
+ checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9"
495
472
  dependencies = [
496
473
  "equivalent",
497
- "hashbrown 0.15.4",
474
+ "hashbrown 0.15.5",
498
475
  "serde",
499
476
  ]
500
477
 
@@ -534,9 +511,9 @@ dependencies = [
534
511
 
535
512
  [[package]]
536
513
  name = "keccak"
537
- version = "0.1.5"
514
+ version = "0.1.6"
538
515
  source = "registry+https://github.com/rust-lang/crates.io-index"
539
- checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
516
+ checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653"
540
517
  dependencies = [
541
518
  "cpufeatures",
542
519
  ]
@@ -587,9 +564,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
587
564
 
588
565
  [[package]]
589
566
  name = "libc"
590
- version = "0.2.172"
567
+ version = "0.2.175"
591
568
  source = "registry+https://github.com/rust-lang/crates.io-index"
592
- checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
569
+ checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
593
570
 
594
571
  [[package]]
595
572
  name = "libloading"
@@ -598,7 +575,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
598
575
  checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
599
576
  dependencies = [
600
577
  "cfg-if",
601
- "windows-targets 0.53.0",
578
+ "windows-targets 0.53.3",
579
+ ]
580
+
581
+ [[package]]
582
+ name = "linked-hash-map"
583
+ version = "0.5.6"
584
+ source = "registry+https://github.com/rust-lang/crates.io-index"
585
+ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
586
+ dependencies = [
587
+ "serde",
588
+ ]
589
+
590
+ [[package]]
591
+ name = "linked_hash_set"
592
+ version = "0.1.6"
593
+ source = "registry+https://github.com/rust-lang/crates.io-index"
594
+ checksum = "984fb35d06508d1e69fc91050cceba9c0b748f983e6739fa2c7a9237154c52c8"
595
+ dependencies = [
596
+ "linked-hash-map",
602
597
  ]
603
598
 
604
599
  [[package]]
@@ -619,43 +614,41 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
619
614
 
620
615
  [[package]]
621
616
  name = "logos"
622
- version = "0.15.0"
617
+ version = "0.16.1"
623
618
  source = "registry+https://github.com/rust-lang/crates.io-index"
624
- checksum = "ab6f536c1af4c7cc81edf73da1f8029896e7e1e16a219ef09b184e76a296f3db"
619
+ checksum = "eb2c55a318a87600ea870ff8c2012148b44bf18b74fad48d0f835c38c7d07c5f"
625
620
  dependencies = [
626
621
  "logos-derive",
627
622
  ]
628
623
 
629
624
  [[package]]
630
625
  name = "logos-codegen"
631
- version = "0.15.0"
626
+ version = "0.16.1"
632
627
  source = "registry+https://github.com/rust-lang/crates.io-index"
633
- checksum = "189bbfd0b61330abea797e5e9276408f2edbe4f822d7ad08685d67419aafb34e"
628
+ checksum = "58b3ffaa284e1350d017a57d04ada118c4583cf260c8fb01e0fe28a2e9cf8970"
634
629
  dependencies = [
635
- "beef",
636
630
  "fnv",
637
- "lazy_static",
638
631
  "proc-macro2",
639
632
  "quote",
633
+ "regex-automata",
640
634
  "regex-syntax",
641
- "rustc_version",
642
635
  "syn",
643
636
  ]
644
637
 
645
638
  [[package]]
646
639
  name = "logos-derive"
647
- version = "0.15.0"
640
+ version = "0.16.1"
648
641
  source = "registry+https://github.com/rust-lang/crates.io-index"
649
- checksum = "ebfe8e1a19049ddbfccbd14ac834b215e11b85b90bab0c2dba7c7b92fb5d5cba"
642
+ checksum = "52d3a9855747c17eaf4383823f135220716ab49bea5fbea7dd42cc9a92f8aa31"
650
643
  dependencies = [
651
644
  "logos-codegen",
652
645
  ]
653
646
 
654
647
  [[package]]
655
648
  name = "magnus"
656
- version = "0.7.1"
649
+ version = "0.8.2"
657
650
  source = "registry+https://github.com/rust-lang/crates.io-index"
658
- checksum = "3d87ae53030f3a22e83879e666cb94e58a7bdf31706878a0ba48752994146dab"
651
+ checksum = "3b36a5b126bbe97eb0d02d07acfeb327036c6319fd816139a49824a83b7f9012"
659
652
  dependencies = [
660
653
  "magnus-macros",
661
654
  "rb-sys",
@@ -665,9 +658,9 @@ dependencies = [
665
658
 
666
659
  [[package]]
667
660
  name = "magnus-macros"
668
- version = "0.6.0"
661
+ version = "0.8.0"
669
662
  source = "registry+https://github.com/rust-lang/crates.io-index"
670
- checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
663
+ checksum = "47607461fd8e1513cb4f2076c197d8092d921a1ea75bd08af97398f593751892"
671
664
  dependencies = [
672
665
  "proc-macro2",
673
666
  "quote",
@@ -676,9 +669,9 @@ dependencies = [
676
669
 
677
670
  [[package]]
678
671
  name = "memchr"
679
- version = "2.7.4"
672
+ version = "2.7.5"
680
673
  source = "registry+https://github.com/rust-lang/crates.io-index"
681
- checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
674
+ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
682
675
 
683
676
  [[package]]
684
677
  name = "miette"
@@ -689,7 +682,7 @@ dependencies = [
689
682
  "cfg-if",
690
683
  "miette-derive",
691
684
  "serde",
692
- "unicode-width",
685
+ "unicode-width 0.1.14",
693
686
  ]
694
687
 
695
688
  [[package]]
@@ -727,18 +720,18 @@ dependencies = [
727
720
 
728
721
  [[package]]
729
722
  name = "nonempty"
730
- version = "0.10.0"
723
+ version = "0.12.0"
731
724
  source = "registry+https://github.com/rust-lang/crates.io-index"
732
- checksum = "303e8749c804ccd6ca3b428de7fe0d86cb86bc7606bc15291f100fd487960bb8"
725
+ checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6"
733
726
  dependencies = [
734
727
  "serde",
735
728
  ]
736
729
 
737
730
  [[package]]
738
731
  name = "num-conv"
739
- version = "0.1.0"
732
+ version = "0.2.0"
740
733
  source = "registry+https://github.com/rust-lang/crates.io-index"
741
- checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
734
+ checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050"
742
735
 
743
736
  [[package]]
744
737
  name = "num-traits"
@@ -785,7 +778,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
785
778
  checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772"
786
779
  dependencies = [
787
780
  "fixedbitset",
788
- "indexmap 2.9.0",
781
+ "indexmap 2.11.0",
789
782
  ]
790
783
 
791
784
  [[package]]
@@ -817,20 +810,20 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
817
810
 
818
811
  [[package]]
819
812
  name = "pretty"
820
- version = "0.12.4"
813
+ version = "0.12.5"
821
814
  source = "registry+https://github.com/rust-lang/crates.io-index"
822
- checksum = "ac98773b7109bc75f475ab5a134c9b64b87e59d776d31098d8f346922396a477"
815
+ checksum = "0d22152487193190344590e4f30e219cf3fe140d9e7a3fdb683d82aa2c5f4156"
823
816
  dependencies = [
824
817
  "arrayvec",
825
818
  "typed-arena",
826
- "unicode-width",
819
+ "unicode-width 0.2.2",
827
820
  ]
828
821
 
829
822
  [[package]]
830
823
  name = "proc-macro2"
831
- version = "1.0.95"
824
+ version = "1.0.101"
832
825
  source = "registry+https://github.com/rust-lang/crates.io-index"
833
- checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
826
+ checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
834
827
  dependencies = [
835
828
  "unicode-ident",
836
829
  ]
@@ -855,18 +848,18 @@ dependencies = [
855
848
 
856
849
  [[package]]
857
850
  name = "rb-sys"
858
- version = "0.9.116"
851
+ version = "0.9.124"
859
852
  source = "registry+https://github.com/rust-lang/crates.io-index"
860
- checksum = "7059846f68396df83155779c75336ca24567741cb95256e6308c9fcc370e8dad"
853
+ checksum = "c85c4188462601e2aa1469def389c17228566f82ea72f137ed096f21591bc489"
861
854
  dependencies = [
862
855
  "rb-sys-build",
863
856
  ]
864
857
 
865
858
  [[package]]
866
859
  name = "rb-sys-build"
867
- version = "0.9.116"
860
+ version = "0.9.124"
868
861
  source = "registry+https://github.com/rust-lang/crates.io-index"
869
- checksum = "ac217510df41b9ffc041573e68d7a02aaff770c49943c7494441c4b224b0ecd0"
862
+ checksum = "568068db4102230882e6d4ae8de6632e224ca75fe5970f6e026a04e91ed635d3"
870
863
  dependencies = [
871
864
  "bindgen",
872
865
  "lazy_static",
@@ -879,15 +872,15 @@ dependencies = [
879
872
 
880
873
  [[package]]
881
874
  name = "rb-sys-env"
882
- version = "0.1.2"
875
+ version = "0.2.2"
883
876
  source = "registry+https://github.com/rust-lang/crates.io-index"
884
- checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
877
+ checksum = "08f8d2924cf136a1315e2b4c7460a39f62ef11ee5d522df9b2750fab55b868b6"
885
878
 
886
879
  [[package]]
887
880
  name = "redox_syscall"
888
- version = "0.5.12"
881
+ version = "0.5.17"
889
882
  source = "registry+https://github.com/rust-lang/crates.io-index"
890
- checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"
883
+ checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
891
884
  dependencies = [
892
885
  "bitflags",
893
886
  ]
@@ -914,9 +907,9 @@ dependencies = [
914
907
 
915
908
  [[package]]
916
909
  name = "regex"
917
- version = "1.11.1"
910
+ version = "1.12.2"
918
911
  source = "registry+https://github.com/rust-lang/crates.io-index"
919
- checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
912
+ checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
920
913
  dependencies = [
921
914
  "aho-corasick",
922
915
  "memchr",
@@ -926,9 +919,9 @@ dependencies = [
926
919
 
927
920
  [[package]]
928
921
  name = "regex-automata"
929
- version = "0.4.9"
922
+ version = "0.4.13"
930
923
  source = "registry+https://github.com/rust-lang/crates.io-index"
931
- checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
924
+ checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
932
925
  dependencies = [
933
926
  "aho-corasick",
934
927
  "memchr",
@@ -937,9 +930,9 @@ dependencies = [
937
930
 
938
931
  [[package]]
939
932
  name = "regex-syntax"
940
- version = "0.8.5"
933
+ version = "0.8.6"
941
934
  source = "registry+https://github.com/rust-lang/crates.io-index"
942
- checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
935
+ checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001"
943
936
 
944
937
  [[package]]
945
938
  name = "rustc-hash"
@@ -948,28 +941,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
948
941
  checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
949
942
 
950
943
  [[package]]
951
- name = "rustc_lexer"
952
- version = "0.1.0"
944
+ name = "rustc-literal-escaper"
945
+ version = "0.0.7"
953
946
  source = "registry+https://github.com/rust-lang/crates.io-index"
954
- checksum = "c86aae0c77166108c01305ee1a36a1e77289d7dc6ca0a3cd91ff4992de2d16a5"
955
- dependencies = [
956
- "unicode-xid",
957
- ]
958
-
959
- [[package]]
960
- name = "rustc_version"
961
- version = "0.4.1"
962
- source = "registry+https://github.com/rust-lang/crates.io-index"
963
- checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
964
- dependencies = [
965
- "semver",
966
- ]
947
+ checksum = "8be87abb9e40db7466e0681dc8ecd9dcfd40360cb10b4c8fe24a7c4c3669b198"
967
948
 
968
949
  [[package]]
969
950
  name = "rustversion"
970
- version = "1.0.21"
951
+ version = "1.0.22"
971
952
  source = "registry+https://github.com/rust-lang/crates.io-index"
972
- checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
953
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
973
954
 
974
955
  [[package]]
975
956
  name = "ryu"
@@ -1000,9 +981,9 @@ dependencies = [
1000
981
 
1001
982
  [[package]]
1002
983
  name = "schemars"
1003
- version = "1.0.3"
984
+ version = "1.0.4"
1004
985
  source = "registry+https://github.com/rust-lang/crates.io-index"
1005
- checksum = "1375ba8ef45a6f15d83fa8748f1079428295d403d6ea991d09ab100155fbc06d"
986
+ checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
1006
987
  dependencies = [
1007
988
  "dyn-clone",
1008
989
  "ref-cast",
@@ -1018,9 +999,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
1018
999
 
1019
1000
  [[package]]
1020
1001
  name = "semver"
1021
- version = "1.0.26"
1002
+ version = "1.0.27"
1022
1003
  source = "registry+https://github.com/rust-lang/crates.io-index"
1023
- checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
1004
+ checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
1024
1005
 
1025
1006
  [[package]]
1026
1007
  name = "seq-macro"
@@ -1030,18 +1011,28 @@ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc"
1030
1011
 
1031
1012
  [[package]]
1032
1013
  name = "serde"
1033
- version = "1.0.219"
1014
+ version = "1.0.228"
1034
1015
  source = "registry+https://github.com/rust-lang/crates.io-index"
1035
- checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
1016
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
1017
+ dependencies = [
1018
+ "serde_core",
1019
+ "serde_derive",
1020
+ ]
1021
+
1022
+ [[package]]
1023
+ name = "serde_core"
1024
+ version = "1.0.228"
1025
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1026
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
1036
1027
  dependencies = [
1037
1028
  "serde_derive",
1038
1029
  ]
1039
1030
 
1040
1031
  [[package]]
1041
1032
  name = "serde_derive"
1042
- version = "1.0.219"
1033
+ version = "1.0.228"
1043
1034
  source = "registry+https://github.com/rust-lang/crates.io-index"
1044
- checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
1035
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
1045
1036
  dependencies = [
1046
1037
  "proc-macro2",
1047
1038
  "quote",
@@ -1050,22 +1041,23 @@ dependencies = [
1050
1041
 
1051
1042
  [[package]]
1052
1043
  name = "serde_json"
1053
- version = "1.0.140"
1044
+ version = "1.0.145"
1054
1045
  source = "registry+https://github.com/rust-lang/crates.io-index"
1055
- checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
1046
+ checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
1056
1047
  dependencies = [
1057
- "indexmap 2.9.0",
1048
+ "indexmap 2.11.0",
1058
1049
  "itoa",
1059
1050
  "memchr",
1060
1051
  "ryu",
1061
1052
  "serde",
1053
+ "serde_core",
1062
1054
  ]
1063
1055
 
1064
1056
  [[package]]
1065
1057
  name = "serde_magnus"
1066
- version = "0.9.0"
1058
+ version = "0.11.0"
1067
1059
  source = "registry+https://github.com/rust-lang/crates.io-index"
1068
- checksum = "51b8b945a2dadb221f1c5490cfb411cab6c3821446b8eca50ee07e5a3893ec51"
1060
+ checksum = "8ff64c88ddd26acdcad5a501f18bcc339927b77b69f4a03bfaf2a6fc5ba2ac4b"
1069
1061
  dependencies = [
1070
1062
  "magnus",
1071
1063
  "serde",
@@ -1074,19 +1066,18 @@ dependencies = [
1074
1066
 
1075
1067
  [[package]]
1076
1068
  name = "serde_with"
1077
- version = "3.14.0"
1069
+ version = "3.16.1"
1078
1070
  source = "registry+https://github.com/rust-lang/crates.io-index"
1079
- checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5"
1071
+ checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7"
1080
1072
  dependencies = [
1081
1073
  "base64",
1082
1074
  "chrono",
1083
1075
  "hex",
1084
1076
  "indexmap 1.9.3",
1085
- "indexmap 2.9.0",
1077
+ "indexmap 2.11.0",
1086
1078
  "schemars 0.9.0",
1087
- "schemars 1.0.3",
1088
- "serde",
1089
- "serde_derive",
1079
+ "schemars 1.0.4",
1080
+ "serde_core",
1090
1081
  "serde_json",
1091
1082
  "serde_with_macros",
1092
1083
  "time",
@@ -1094,9 +1085,9 @@ dependencies = [
1094
1085
 
1095
1086
  [[package]]
1096
1087
  name = "serde_with_macros"
1097
- version = "3.14.0"
1088
+ version = "3.16.1"
1098
1089
  source = "registry+https://github.com/rust-lang/crates.io-index"
1099
- checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f"
1090
+ checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c"
1100
1091
  dependencies = [
1101
1092
  "darling",
1102
1093
  "proc-macro2",
@@ -1150,15 +1141,15 @@ dependencies = [
1150
1141
 
1151
1142
  [[package]]
1152
1143
  name = "stacker"
1153
- version = "0.1.21"
1144
+ version = "0.1.22"
1154
1145
  source = "registry+https://github.com/rust-lang/crates.io-index"
1155
- checksum = "cddb07e32ddb770749da91081d8d0ac3a16f1a569a18b20348cd371f5dead06b"
1146
+ checksum = "e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59"
1156
1147
  dependencies = [
1157
1148
  "cc",
1158
1149
  "cfg-if",
1159
1150
  "libc",
1160
1151
  "psm",
1161
- "windows-sys",
1152
+ "windows-sys 0.59.0",
1162
1153
  ]
1163
1154
 
1164
1155
  [[package]]
@@ -1181,9 +1172,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
1181
1172
 
1182
1173
  [[package]]
1183
1174
  name = "syn"
1184
- version = "2.0.102"
1175
+ version = "2.0.106"
1185
1176
  source = "registry+https://github.com/rust-lang/crates.io-index"
1186
- checksum = "f6397daf94fa90f058bd0fd88429dd9e5738999cca8d701813c80723add80462"
1177
+ checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
1187
1178
  dependencies = [
1188
1179
  "proc-macro2",
1189
1180
  "quote",
@@ -1198,28 +1189,27 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
1198
1189
 
1199
1190
  [[package]]
1200
1191
  name = "term"
1201
- version = "1.0.2"
1192
+ version = "1.1.0"
1202
1193
  source = "registry+https://github.com/rust-lang/crates.io-index"
1203
- checksum = "8a984c8d058c627faaf5e8e2ed493fa3c51771889196de1016cf9c1c6e90d750"
1194
+ checksum = "a43bddab41f8626c7bdaab872bbba75f8df5847b516d77c569c746e2ae5eb746"
1204
1195
  dependencies = [
1205
- "home",
1206
- "windows-sys",
1196
+ "windows-sys 0.60.2",
1207
1197
  ]
1208
1198
 
1209
1199
  [[package]]
1210
1200
  name = "thiserror"
1211
- version = "2.0.12"
1201
+ version = "2.0.16"
1212
1202
  source = "registry+https://github.com/rust-lang/crates.io-index"
1213
- checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
1203
+ checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0"
1214
1204
  dependencies = [
1215
1205
  "thiserror-impl",
1216
1206
  ]
1217
1207
 
1218
1208
  [[package]]
1219
1209
  name = "thiserror-impl"
1220
- version = "2.0.12"
1210
+ version = "2.0.16"
1221
1211
  source = "registry+https://github.com/rust-lang/crates.io-index"
1222
- checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
1212
+ checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960"
1223
1213
  dependencies = [
1224
1214
  "proc-macro2",
1225
1215
  "quote",
@@ -1228,30 +1218,30 @@ dependencies = [
1228
1218
 
1229
1219
  [[package]]
1230
1220
  name = "time"
1231
- version = "0.3.41"
1221
+ version = "0.3.47"
1232
1222
  source = "registry+https://github.com/rust-lang/crates.io-index"
1233
- checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
1223
+ checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
1234
1224
  dependencies = [
1235
1225
  "deranged",
1236
1226
  "itoa",
1237
1227
  "num-conv",
1238
1228
  "powerfmt",
1239
- "serde",
1229
+ "serde_core",
1240
1230
  "time-core",
1241
1231
  "time-macros",
1242
1232
  ]
1243
1233
 
1244
1234
  [[package]]
1245
1235
  name = "time-core"
1246
- version = "0.1.4"
1236
+ version = "0.1.8"
1247
1237
  source = "registry+https://github.com/rust-lang/crates.io-index"
1248
- checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
1238
+ checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
1249
1239
 
1250
1240
  [[package]]
1251
1241
  name = "time-macros"
1252
- version = "0.2.22"
1242
+ version = "0.2.27"
1253
1243
  source = "registry+https://github.com/rust-lang/crates.io-index"
1254
- checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
1244
+ checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
1255
1245
  dependencies = [
1256
1246
  "num-conv",
1257
1247
  "time-core",
@@ -1259,9 +1249,9 @@ dependencies = [
1259
1249
 
1260
1250
  [[package]]
1261
1251
  name = "tinyvec"
1262
- version = "1.9.0"
1252
+ version = "1.10.0"
1263
1253
  source = "registry+https://github.com/rust-lang/crates.io-index"
1264
- checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
1254
+ checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa"
1265
1255
  dependencies = [
1266
1256
  "tinyvec_macros",
1267
1257
  ]
@@ -1321,6 +1311,12 @@ version = "0.1.14"
1321
1311
  source = "registry+https://github.com/rust-lang/crates.io-index"
1322
1312
  checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
1323
1313
 
1314
+ [[package]]
1315
+ name = "unicode-width"
1316
+ version = "0.2.2"
1317
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1318
+ checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
1319
+
1324
1320
  [[package]]
1325
1321
  name = "unicode-xid"
1326
1322
  version = "0.2.6"
@@ -1403,11 +1399,11 @@ dependencies = [
1403
1399
 
1404
1400
  [[package]]
1405
1401
  name = "winapi-util"
1406
- version = "0.1.9"
1402
+ version = "0.1.10"
1407
1403
  source = "registry+https://github.com/rust-lang/crates.io-index"
1408
- checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
1404
+ checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22"
1409
1405
  dependencies = [
1410
- "windows-sys",
1406
+ "windows-sys 0.60.2",
1411
1407
  ]
1412
1408
 
1413
1409
  [[package]]
@@ -1418,7 +1414,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
1418
1414
  dependencies = [
1419
1415
  "windows-implement",
1420
1416
  "windows-interface",
1421
- "windows-link",
1417
+ "windows-link 0.1.3",
1422
1418
  "windows-result",
1423
1419
  "windows-strings",
1424
1420
  ]
@@ -1447,9 +1443,15 @@ dependencies = [
1447
1443
 
1448
1444
  [[package]]
1449
1445
  name = "windows-link"
1450
- version = "0.1.1"
1446
+ version = "0.1.3"
1451
1447
  source = "registry+https://github.com/rust-lang/crates.io-index"
1452
- checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
1448
+ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
1449
+
1450
+ [[package]]
1451
+ name = "windows-link"
1452
+ version = "0.2.1"
1453
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1454
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
1453
1455
 
1454
1456
  [[package]]
1455
1457
  name = "windows-result"
@@ -1457,7 +1459,7 @@ version = "0.3.4"
1457
1459
  source = "registry+https://github.com/rust-lang/crates.io-index"
1458
1460
  checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
1459
1461
  dependencies = [
1460
- "windows-link",
1462
+ "windows-link 0.1.3",
1461
1463
  ]
1462
1464
 
1463
1465
  [[package]]
@@ -1466,7 +1468,7 @@ version = "0.4.2"
1466
1468
  source = "registry+https://github.com/rust-lang/crates.io-index"
1467
1469
  checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
1468
1470
  dependencies = [
1469
- "windows-link",
1471
+ "windows-link 0.1.3",
1470
1472
  ]
1471
1473
 
1472
1474
  [[package]]
@@ -1478,6 +1480,15 @@ dependencies = [
1478
1480
  "windows-targets 0.52.6",
1479
1481
  ]
1480
1482
 
1483
+ [[package]]
1484
+ name = "windows-sys"
1485
+ version = "0.60.2"
1486
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1487
+ checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
1488
+ dependencies = [
1489
+ "windows-targets 0.53.3",
1490
+ ]
1491
+
1481
1492
  [[package]]
1482
1493
  name = "windows-targets"
1483
1494
  version = "0.52.6"
@@ -1496,10 +1507,11 @@ dependencies = [
1496
1507
 
1497
1508
  [[package]]
1498
1509
  name = "windows-targets"
1499
- version = "0.53.0"
1510
+ version = "0.53.3"
1500
1511
  source = "registry+https://github.com/rust-lang/crates.io-index"
1501
- checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b"
1512
+ checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
1502
1513
  dependencies = [
1514
+ "windows-link 0.1.3",
1503
1515
  "windows_aarch64_gnullvm 0.53.0",
1504
1516
  "windows_aarch64_msvc 0.53.0",
1505
1517
  "windows_i686_gnu 0.53.0",
data/README.md CHANGED
@@ -40,7 +40,7 @@ policy_set = CedarPolicy::PolicySet.new(policy)
40
40
  Prepare the Entity's ID via `EntityUid` or an object with `#to_hash` method which returns a hash with `:type` and `:id` keys.
41
41
 
42
42
  ```ruby
43
- principal = CedarPolicy::EntityUid.new("User", "1") # or { type: "User", id: "1" }
43
+ principal = CedarPolicy::EntityUid.new("AdminUser", "1") # or { type: "AdminUser", id: "1" }
44
44
  action = CedarPolicy::EntityUid.new("Action", "view")
45
45
  resource = CedarPolicy::EntityUid.new("Image", "1")
46
46
  ```
@@ -85,10 +85,10 @@ Create an `Authorizer` object and authorize the request with the policy set and
85
85
  authorizer = CedarPolicy::Authorizer.new
86
86
  ```
87
87
 
88
- If boolean result is enough, use `#authorize?` method.
88
+ If boolean result is enough, use `#authorized?` method.
89
89
 
90
90
  ```ruby
91
- authorizer.authorize?(request, policy_set, entities) # => true
91
+ authorizer.authorized?(request, policy_set, entities) # => true
92
92
  ```
93
93
 
94
94
  If you want to get the decision object, use `#authorize` method.
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "cedar_policy"
3
- version = "0.6.1"
3
+ version = "0.7.0"
4
4
  edition = "2021"
5
5
  authors = ["Aotokitsuruya <contact@aotoki.me>"]
6
6
  license = "Apache-2.0"
@@ -10,6 +10,7 @@ publish = false
10
10
  crate-type = ["cdylib"]
11
11
 
12
12
  [dependencies]
13
- cedar-policy = "4.5.1"
14
- magnus = "0.7.1"
15
- serde_magnus = "0.9.0"
13
+ cedar-policy = "4.9.0"
14
+ magnus = "0.8.2"
15
+ rb-sys = { version = ">=0.9.113", features = ["stable-api-compiled-fallback"] }
16
+ serde_magnus = "0.11.0"
@@ -28,7 +28,7 @@ impl TryConvert for ContextWrapper {
28
28
  match value.respond_to("to_hash", false) {
29
29
  Ok(true) => {
30
30
  let value: Value = value.funcall_public("to_hash", ())?;
31
- let value: JsonValueWithNoDuplicateKeys = deserialize(value)?;
31
+ let value: JsonValueWithNoDuplicateKeys = deserialize(&handle, value)?;
32
32
  Ok(Self(Context::from_json_value(value.into(), None).map_err(
33
33
  |e| Error::new(handle.exception_runtime_error(), e.to_string()),
34
34
  )?))
@@ -12,12 +12,9 @@ impl RDiagnostics {
12
12
  }
13
13
 
14
14
  fn errors(&self) -> RArray {
15
- let errors = self
16
- .0
17
- .errors()
18
- .map(|e| RAuthorizationError::from(e.clone()));
19
-
20
- RArray::from_iter(errors)
15
+ let ruby = Ruby::get()
16
+ .expect("errors() can only be called from a Ruby thread");
17
+ ruby.ary_from_iter(self.0.errors().cloned().map(RAuthorizationError::from))
21
18
  }
22
19
  }
23
20
 
@@ -28,7 +28,7 @@ impl TryConvert for EntitiesWrapper {
28
28
  match value.respond_to("to_ary", false) {
29
29
  Ok(true) => {
30
30
  let value: Value = value.funcall_public("to_ary", ())?;
31
- let value: JsonValueWithNoDuplicateKeys = deserialize(value)?;
31
+ let value: JsonValueWithNoDuplicateKeys = deserialize(&handle, value)?;
32
32
  Ok(Self(
33
33
  Entities::from_json_value(value.into(), None)
34
34
  .map_err(|e| Error::new(handle.exception_arg_error(), e.to_string()))?,
@@ -34,7 +34,7 @@ impl IntoValue for EntityUidWrapper {
34
34
  let id = self.0.id().escaped().to_string();
35
35
  let class = handle.get_inner(&ENTITY_UID);
36
36
 
37
- return class.new_instance((type_name, id)).unwrap().into();
37
+ class.new_instance((type_name, id)).unwrap().into()
38
38
  }
39
39
  }
40
40
 
@@ -44,7 +44,7 @@ impl TryConvert for EntityUidWrapper {
44
44
  match value.respond_to("to_hash", false) {
45
45
  Ok(true) => {
46
46
  let value: Value = value.funcall_public("to_hash", ())?;
47
- let value: JsonValueWithNoDuplicateKeys = deserialize(value)?;
47
+ let value: JsonValueWithNoDuplicateKeys = deserialize(&ruby, value)?;
48
48
  Ok(Self(EntityUid::from_json(value.into()).map_err(|e| {
49
49
  Error::new(ruby.get_inner(&PARSE_ERROR), e.to_string())
50
50
  })?))
@@ -61,7 +61,9 @@ impl TryConvert for EntityUidWrapper {
61
61
  }
62
62
 
63
63
  pub fn to_euid_value(euid: &EntityUid) -> Value {
64
- EntityUidWrapper::new(euid.clone()).into_value_with(&Ruby::get().unwrap())
64
+ let ruby = Ruby::get()
65
+ .expect("to_euid_value() can only be called from a Ruby thread");
66
+ EntityUidWrapper::new(euid.clone()).into_value_with(&ruby)
65
67
  }
66
68
 
67
69
  pub fn init(ruby: &Ruby) -> Result<(), Error> {
@@ -23,6 +23,17 @@ impl RPolicySet {
23
23
  fn is_empty(&self) -> bool {
24
24
  self.0.is_empty()
25
25
  }
26
+
27
+ fn policy_ids(&self) -> Vec<String> {
28
+ self.0.policies()
29
+ .map(|policy| {
30
+ // Try to get the @id annotation first, fall back to auto-generated ID
31
+ policy.annotation("id")
32
+ .map(|s| s.to_string())
33
+ .unwrap_or_else(|| policy.id().to_string())
34
+ })
35
+ .collect()
36
+ }
26
37
  }
27
38
 
28
39
  impl From<&RPolicySet> for PolicySet {
@@ -43,6 +54,7 @@ pub fn init(ruby: &Ruby, module: &RModule) -> Result<(), Error> {
43
54
  let class = module.define_class("PolicySet", ruby.class_object())?;
44
55
  class.define_singleton_method("new", function!(RPolicySet::new, -1))?;
45
56
  class.define_method("empty?", method!(RPolicySet::is_empty, 0))?;
57
+ class.define_method("policy_ids", method!(RPolicySet::policy_ids, 0))?;
46
58
 
47
59
  Ok(())
48
60
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CedarPolicy
4
- VERSION = "0.6.1"
4
+ VERSION = "0.7.0"
5
5
  end
data/lib/cedar_policy.rb CHANGED
@@ -4,12 +4,18 @@ require "json"
4
4
  require "set"
5
5
 
6
6
  require_relative "cedar_policy/version"
7
- require_relative "cedar_policy/cedar_policy"
8
7
  require_relative "cedar_policy/entity_uid"
9
8
  require_relative "cedar_policy/entity"
10
9
  require_relative "cedar_policy/entities"
11
10
  require_relative "cedar_policy/context"
12
11
 
12
+ begin
13
+ RUBY_VERSION =~ /(\d+\.\d+)/
14
+ require "cedar_policy/#{Regexp.last_match(1)}/cedar_policy"
15
+ rescue LoadError
16
+ require "cedar_policy/cedar_policy"
17
+ end
18
+
13
19
  # :nodoc:
14
20
  module CedarPolicy
15
21
  class Error < StandardError; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cedar_policy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aotokitsuruya
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-08-26 00:00:00.000000000 Z
11
+ date: 2026-02-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby bindings for Cedar policy evaluation engine.
14
14
  email: