|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -## Unreleased |
| 3 | +## 0.17.0 - 2026-10-03 |
4 | 4 |
|
5 | 5 | - Publish RBS types for portable events, metric samples, actor diagnostics, and |
6 | 6 | event observers in `sig/public/telemetry.rbs`, and a `json_value` type for |
7 | 7 | message results and actor state. Observer blocks, diagnostics, and results now |
8 | 8 | type-check against these contracts instead of `untyped`. |
9 | | -- `solid_objects.activation.started` now fires before the actor's `activate` |
10 | | - hook. Before, it fired after a successful hook. The new |
| 9 | +- **Breaking:** `solid_objects.activation.started` now fires before the actor's |
| 10 | + `activate` hook. Before, it fired after a successful hook. The new |
11 | 11 | `solid_objects.activation.completed` event takes that meaning, and |
12 | 12 | `solid_objects.activation.failed` reports a failed hook. JavaScript changes |
13 | 13 | the same events. Move a subscriber that reads `activation.started` as a |
14 | 14 | finished activation to `activation.completed`. |
15 | | -- Active Support payloads no longer carry `error_message`. This applies to |
16 | | - `commit_action.failed`, `activation.deactivation_failed`, |
| 15 | +- **Breaking:** Active Support payloads no longer carry `error_message`. This |
| 16 | + applies to `commit_action.failed`, `activation.deactivation_failed`, |
17 | 17 | `supervisor.monitor_failed`, `supervisor.retention_failed`, |
18 | 18 | `supervisor.redrive_failed`, and `wake_up.failed`. The |
19 | 19 | `solid_objects.worker.error` log entry also omits it. Each keeps |
20 | 20 | `error_class`. Exception text can contain actor state, so JavaScript already |
21 | 21 | reports only the error name. |
22 | 22 |
|
23 | | -- Rename `solid_objects.payload_broadcast_failed` to |
| 23 | +- **Breaking:** rename `solid_objects.payload_broadcast_failed` to |
24 | 24 | `solid_objects.payload_broadcast.failed`, the dotted form that every other |
25 | 25 | event uses. Update Active Support subscribers to the new name. The portable |
26 | 26 | event names the payload `payload`. |
|
45 | 45 | writers can finish on Rails 7.1 and 7.2. Preserve configured wait limits and |
46 | 46 | synchronous deadlines; cover contention with a coordinated lock regression. |
47 | 47 |
|
48 | | -- Reject query and observable state mutation and staged durable work with |
49 | | - terminal `QueryMutatedState` errors. Cover individual snapshot projections and |
50 | | - preserve ordinary operations' already-staged work while reading projections, |
51 | | - including replacements that leave the intent count unchanged. |
| 48 | +- **Breaking:** reject query and observable state mutation and staged durable |
| 49 | + work with terminal `QueryMutatedState` errors. Cover individual snapshot |
| 50 | + projections and preserve ordinary operations' already-staged work while |
| 51 | + reading projections, including replacements that leave the intent count |
| 52 | + unchanged. |
52 | 53 | - Pin reserved JSON property names with shared Ruby/JS fixtures. Document the |
53 | 54 | reminder-name limit difference and the authorized dead-transmit retry API. |
54 | 55 |
|
55 | | -- Reauthorize every message-reference status, result, and outcome read against |
56 | | - the original invocation. Pass `authorization_context:` on every read. |
57 | | -- Retain immutable JSON results for background and internal messages as well as |
58 | | - synchronous calls. All operations now enforce result serialization and size |
59 | | - limits; return `nil` explicitly when an operation does not need a result. |
60 | | - `result` raises terminal rejection/failure errors; `outcome` exposes them as data. |
| 56 | +- **Breaking:** reauthorize every message-reference status, result, and outcome |
| 57 | + read against the original invocation. Pass `authorization_context:` on every |
| 58 | + read. |
| 59 | +- **Breaking:** retain immutable JSON results for background and internal |
| 60 | + messages as well as synchronous calls. All operations now enforce result |
| 61 | + serialization and size limits; return `nil` explicitly when an operation does |
| 62 | + not need a result. `result` raises terminal rejection/failure errors; |
| 63 | + `outcome` exposes them as data. |
61 | 64 | - Preserve polling transition intervals in milliseconds and string reasons in |
62 | 65 | portable telemetry. Pin transmit staging order and null-argument validation |
63 | 66 | against the shared JavaScript contract. |
|
0 commit comments