@procedures/client 0.21.0 → 0.22.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # @procedures/client
2
2
 
3
+ ## 0.22.1
4
+
5
+ ### Patch Changes
6
+
7
+ - c931188: The publisher refuses a subscriber of a collection `a.b` with partitions and no storage when its resolver gives no partition and `a` has partitions. Before, that subscriber listened to the plain topic `collections.a.b`. That is also the topic of the partition `b` of `a`. Thus the subscriber got the events of the tenant `b` of `a`, a leak across tenants (roadmap CLI-70, decision D23).
8
+
9
+ - The refusal is `FORBIDDEN` with the reason `partition-not-allowed`, as for the other refusals of a partition.
10
+ - The publisher does the check at the start of the subscription, at each re-check and before each event. Thus partitions of `a` that come later also end an open subscription, before it gets an event of `a`.
11
+ - The check is in the one route from the topic of a subscriber to the topic of the bus. Thus each subscriber over HTTP, WebSocket or MCP gets it.
12
+ - The registration check of CLI-57 cannot find this pair, because the resolver gives the partition only at the call. The calls of `a.b` without a partition already failed, because `a.b` has no storage.
13
+ - A subscriber of `a.b` whose resolver gives a partition does not change. A subscriber of `a` does not change. A collection `a.b` without the partitions of `a` does not change.
14
+
15
+ PATCH (decision D23): the change refuses only a subscription that gets the events of another tenant. No correct subscriber can rely on it. Each other subscription behaves as before.
16
+
17
+ Migration steps:
18
+
19
+ - Does a subscriber of `a.b` get `FORBIDDEN` with the reason `partition-not-allowed`? Then make the resolver of `a.b` give a partition. Or rename `a.b` to a name without a dot, for example `a_b`.
20
+ - The site: no change is necessary. It serves no collection.
21
+ - MiniMongo: no change is necessary. Its server serves no collection.
22
+ - Graph: no change is necessary. Its one served collection, `examples`, has no dot in its name.
23
+ - jarvis: no change is necessary. Its host serves no collection.
24
+
25
+ ## 0.22.0
26
+
27
+ No changes in this release.
28
+
3
29
  ## 0.21.0
4
30
 
5
31
  No changes in this release.