@reventlessdev/reventless-spec 3.0.0-alpha.102 → 3.0.0-alpha.103
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 +7 -0
- package/package.json +1 -1
- package/src/components/Plugin.res +13 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 3.0.0-alpha.103 (2026-08-09)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **aws:** heal a persisted structure that predates a required list field ([dc4c42c](https://github.com/ReventlessDev/reventless-core/commit/dc4c42cab5a7db538d90edbce6d13b949830aad6))
|
|
11
|
+
|
|
12
|
+
|
|
6
13
|
# 3.0.0-alpha.102 (2026-08-08)
|
|
7
14
|
|
|
8
15
|
### Features
|
package/package.json
CHANGED
|
@@ -314,16 +314,23 @@ type writableDef = {
|
|
|
314
314
|
consumedEventTypes: array<string>,
|
|
315
315
|
linkedViews: array<string>,
|
|
316
316
|
consistencyRead: @s.matches(stringOptionSchema) option<string>,
|
|
317
|
-
/** Emitted-event field schemas
|
|
318
|
-
|
|
319
|
-
deploy, so no persisted-data back-compat shim is needed. */
|
|
317
|
+
/** Emitted-event field schemas. Required like the other write-side arrays; `[]`
|
|
318
|
+
when there are none. */
|
|
320
319
|
events: array<eventDef>,
|
|
321
320
|
/** Declared-error field schemas — what this component can refuse a command with.
|
|
322
|
-
Required, on the same reasoning as `events`:
|
|
323
|
-
build and re-registered on every deploy, and the persisted copy is never decoded
|
|
321
|
+
Required, on the same reasoning as `events`: the persisted copy is never decoded
|
|
324
322
|
through this schema (the event log carries it as an offload reference, and the
|
|
325
323
|
serving path reads it as raw JSON), so `[]` honestly means "declares no errors"
|
|
326
|
-
rather than "an older deploy could not say".
|
|
324
|
+
rather than "an older deploy could not say".
|
|
325
|
+
|
|
326
|
+
Being required does NOT make it safe to add such a field without a read-path
|
|
327
|
+
shim. A structure is re-derived on every build, but it is only RE-REGISTERED
|
|
328
|
+
when a plugin re-runs the connect handshake — which a plugin whose version never
|
|
329
|
+
changes may not do for a long time. Until then the serving path reads a
|
|
330
|
+
persisted structure that has no key for the new field, and against a `[T!]!` SDL
|
|
331
|
+
field that null propagates to the root and answers the whole query with `data:
|
|
332
|
+
null`. Both admin resolvers therefore heal absent required lists to `[]` on
|
|
333
|
+
read; a new one has to be added to that list too. */
|
|
327
334
|
errors: array<errorDef>,
|
|
328
335
|
/** Chapter grouping band — see `queryableDef.chapter`. */
|
|
329
336
|
chapter: @s.matches(stringOptionSchema) option<string>,
|