{"version":"https://jsonfeed.org/version/1.1","title":"Pulse API changelog","home_page_url":"https://changefeed.tech/board/pulse-api","feed_url":"https://changefeed.tech/board/pulse-api/feed.json","description":"API changes, deprecations and fixes as they land.","items":[{"id":"cmtelcn7501uxu1d2pbc3glh1","url":"https://changefeed.tech/board/pulse-api","title":"7.18.1 — Papercuts","summary":"429 backoff hints lands this release, and the SDK streams results as they arrive.","date_published":"2026-08-27T09:00:00.000Z","content_html":"<p>429 backoff hints lands this release, and the SDK streams results as they arrive.</p><ul><li><strong>Changed</strong> — Scoped tokens moved into the OpenAPI schema</li><li><strong>Fixed</strong> — The rate limiter no longer double-counted retries</li></ul>","_changelog":{"version":"7.18.1","changes":[{"kind":"CHANGED","text":"Scoped tokens moved into the OpenAPI schema"},{"kind":"FIXED","text":"The rate limiter no longer double-counted retries"}]}},{"id":"cmtelcn7501uwu1d2ula1ndnz","url":"https://changefeed.tech/board/pulse-api","title":"7.18.0 — Housekeeping","date_published":"2026-08-25T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — Fixed swallowed a 429 in the webhook signer</li><li><strong>Fixed</strong> — The sandbox double-counted retries when two tabs were open</li><li><strong>Fixed</strong> — Fixed swallowed a 429 in the rate limiter</li></ul>","_changelog":{"version":"7.18.0","changes":[{"kind":"FIXED","text":"Fixed swallowed a 429 in the webhook signer"},{"kind":"FIXED","text":"The sandbox double-counted retries when two tabs were open"},{"kind":"FIXED","text":"Fixed swallowed a 429 in the rate limiter"}]}},{"id":"cmtelcn7501uuu1d28dfop00l","url":"https://changefeed.tech/board/pulse-api","title":"7.17.5 — Support for cursor pagination in the event stream","summary":"Scoped tokens lands this release, and the SDK streams results as they arrive.","date_published":"2026-08-18T09:00:00.000Z","content_html":"<p>Scoped tokens lands this release, and the SDK streams results as they arrive.</p><ul><li><strong>Added</strong> — Support for cursor pagination in the event stream</li><li><strong>Added</strong> — <code>X-Idempotency-Key</code> to print machine-readable output</li><li><strong>Removed</strong> — Idempotency keys from the webhook signer</li><li><strong>Added</strong> — Support for sparse fieldsets in the SDK</li><li><strong>Added</strong> — Sparse fieldsets — no more waiting on a full rebuild</li><li><strong>Fixed</strong> — The event stream no longer raced with a concurrent save</li></ul>","_changelog":{"version":"7.17.5","changes":[{"kind":"ADDED","text":"Support for cursor pagination in the event stream"},{"kind":"ADDED","text":"`X-Idempotency-Key` to print machine-readable output"},{"kind":"REMOVED","text":"Idempotency keys from the webhook signer"},{"kind":"ADDED","text":"Support for sparse fieldsets in the SDK"},{"kind":"ADDED","text":"Sparse fieldsets — no more waiting on a full rebuild"},{"kind":"FIXED","text":"The event stream no longer raced with a concurrent save"}]}},{"id":"cmtelcn7501utu1d24b08o97l","url":"https://changefeed.tech/board/pulse-api","title":"7.17.4 — Small fixes","date_published":"2026-08-15T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — The SDK dropped the last line of output when running behind a proxy</li><li><strong>Fixed</strong> — Fixed double-counted retries in the sandbox</li><li><strong>Fixed</strong> — Fixed raced with a concurrent save in the sandbox</li><li><strong>Removed</strong> — The legacy cursor pagination — use field expansion instead</li><li><strong>Fixed</strong> — The webhook signer no longer sent the digest twice</li><li><strong>Fixed</strong> — The REST layer no longer double-counted retries</li></ul>","_changelog":{"version":"7.17.4","changes":[{"kind":"FIXED","text":"The SDK dropped the last line of output when running behind a proxy"},{"kind":"FIXED","text":"Fixed double-counted retries in the sandbox"},{"kind":"FIXED","text":"Fixed raced with a concurrent save in the sandbox"},{"kind":"REMOVED","text":"The legacy cursor pagination — use field expansion instead"},{"kind":"FIXED","text":"The webhook signer no longer sent the digest twice"},{"kind":"FIXED","text":"The REST layer no longer double-counted retries"}]}},{"id":"cmtelcn7501usu1d2u624afxl","url":"https://changefeed.tech/board/pulse-api","title":"7.17.3 — Papercuts","date_published":"2026-08-12T09:00:00.000Z","content_html":"<ul><li><strong>Changed</strong> — The OpenAPI schema keeps its scroll position — it costs nothing when unused</li><li><strong>Fixed</strong> — Fixed ignored the timezone offset in the OpenAPI schema</li><li><strong>Added</strong> — Scoped tokens — no more waiting on a full rebuild</li><li><strong>Added</strong> — <code>X-Request-Id</code> to cap parallelism</li></ul>","_changelog":{"version":"7.17.3","changes":[{"kind":"CHANGED","text":"The OpenAPI schema keeps its scroll position — it costs nothing when unused"},{"kind":"FIXED","text":"Fixed ignored the timezone offset in the OpenAPI schema"},{"kind":"ADDED","text":"Scoped tokens — no more waiting on a full rebuild"},{"kind":"ADDED","text":"`X-Request-Id` to cap parallelism"}]}},{"id":"cmtelcn7501uru1d2jk8bbkef","url":"https://changefeed.tech/board/pulse-api","title":"7.17.2 — Field expansion in the sandbox","date_published":"2026-08-07T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — Field expansion in the sandbox</li><li><strong>Added</strong> — Idempotency keys in the REST layer</li><li><strong>Added</strong> — Support for cursor pagination in the webhook signer</li><li><strong>Added</strong> — Cursor pagination — one request instead of six</li></ul>","_changelog":{"version":"7.17.2","changes":[{"kind":"ADDED","text":"Field expansion in the sandbox"},{"kind":"ADDED","text":"Idempotency keys in the REST layer"},{"kind":"ADDED","text":"Support for cursor pagination in the webhook signer"},{"kind":"ADDED","text":"Cursor pagination — one request instead of six"}]}},{"id":"cmtelcn7501uqu1d2gsih4ale","url":"https://changefeed.tech/board/pulse-api","title":"7.17.1 — The legacy cursor pagination","date_published":"2026-08-04T09:00:00.000Z","content_html":"<ul><li><strong>Removed</strong> — The legacy cursor pagination — use 429 backoff hints instead</li><li><strong>Added</strong> — Bulk endpoints in the event stream</li></ul>","_changelog":{"version":"7.17.1","changes":[{"kind":"REMOVED","text":"The legacy cursor pagination — use 429 backoff hints instead"},{"kind":"ADDED","text":"Bulk endpoints in the event stream"}]}},{"id":"cmtelcn7501upu1d2tlj19h84","url":"https://changefeed.tech/board/pulse-api","title":"7.17.0 — Small fixes","date_published":"2026-08-01T09:00:00.000Z","content_html":"<ul><li><strong>Removed</strong> — Scoped tokens from the OpenAPI schema</li><li><strong>Changed</strong> — The rate limiter now reuses a single connection</li><li><strong>Fixed</strong> — Fixed dropped the last line of output in the webhook signer</li><li><strong>Fixed</strong> — The sandbox dropped the last line of output when the tab was backgrounded</li><li><strong>Changed</strong> — The webhook signer now renders on the server</li><li><strong>Fixed</strong> — The OpenAPI schema ignored the timezone offset when the payload exceeded 1 MB</li></ul>","_changelog":{"version":"7.17.0","changes":[{"kind":"REMOVED","text":"Scoped tokens from the OpenAPI schema"},{"kind":"CHANGED","text":"The rate limiter now reuses a single connection"},{"kind":"FIXED","text":"Fixed dropped the last line of output in the webhook signer"},{"kind":"FIXED","text":"The sandbox dropped the last line of output when the tab was backgrounded"},{"kind":"CHANGED","text":"The webhook signer now renders on the server"},{"kind":"FIXED","text":"The OpenAPI schema ignored the timezone offset when the payload exceeded 1 MB"}]}},{"id":"cmtelcn7501uou1d2z4sxoqri","url":"https://changefeed.tech/board/pulse-api","title":"7.16.3 — Maintenance","date_published":"2026-07-28T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — Support for partial responses in the event stream</li><li><strong>Added</strong> — <code>?after=</code> to print machine-readable output</li><li><strong>Added</strong> — <code>X-Idempotency-Key</code> to target a single region</li><li><strong>Fixed</strong> — The auth middleware double-counted retries when the network dropped mid-upload</li><li><strong>Added</strong> — Bulk endpoints in the OpenAPI schema</li><li><strong>Added</strong> — <code>X-Idempotency-Key</code> to target a single region</li></ul>","_changelog":{"version":"7.16.3","changes":[{"kind":"ADDED","text":"Support for partial responses in the event stream"},{"kind":"ADDED","text":"`?after=` to print machine-readable output"},{"kind":"ADDED","text":"`X-Idempotency-Key` to target a single region"},{"kind":"FIXED","text":"The auth middleware double-counted retries when the network dropped mid-upload"},{"kind":"ADDED","text":"Bulk endpoints in the OpenAPI schema"},{"kind":"ADDED","text":"`X-Idempotency-Key` to target a single region"}]}},{"id":"cmtelcn7501unu1d2smr2ncso","url":"https://changefeed.tech/board/pulse-api","title":"7.16.2 — ?expand= to preview without writing","summary":"Request tracing lands this release, and the rate limiter streams results as they arrive.","date_published":"2026-07-25T09:00:00.000Z","content_html":"<p>Request tracing lands this release, and the rate limiter streams results as they arrive.</p><ul><li><strong>Added</strong> — <code>?expand=</code> to preview without writing</li><li><strong>Added</strong> — Bulk endpoints in the auth middleware</li><li><strong>Removed</strong> — Cursor pagination from the rate limiter</li><li><strong>Added</strong> — Scoped tokens — same result, a quarter of the bytes</li></ul>","_changelog":{"version":"7.16.2","changes":[{"kind":"ADDED","text":"`?expand=` to preview without writing"},{"kind":"ADDED","text":"Bulk endpoints in the auth middleware"},{"kind":"REMOVED","text":"Cursor pagination from the rate limiter"},{"kind":"ADDED","text":"Scoped tokens — same result, a quarter of the bytes"}]}},{"id":"cmtelcn7501umu1d2af7d639s","url":"https://changefeed.tech/board/pulse-api","title":"7.16.1 — Signed webhooks in the auth middleware","date_published":"2026-07-22T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — Signed webhooks in the auth middleware</li><li><strong>Added</strong> — <code>?after=</code> to target a single region</li><li><strong>Added</strong> — Signed webhooks in the rate limiter</li><li><strong>Fixed</strong> — The event stream no longer swallowed a 429</li><li><strong>Added</strong> — Field expansion in the OpenAPI schema</li><li><strong>Changed</strong> — Sparse fieldsets moved into the OpenAPI schema</li></ul>","_changelog":{"version":"7.16.1","changes":[{"kind":"ADDED","text":"Signed webhooks in the auth middleware"},{"kind":"ADDED","text":"`?after=` to target a single region"},{"kind":"ADDED","text":"Signed webhooks in the rate limiter"},{"kind":"FIXED","text":"The event stream no longer swallowed a 429"},{"kind":"ADDED","text":"Field expansion in the OpenAPI schema"},{"kind":"CHANGED","text":"Sparse fieldsets moved into the OpenAPI schema"}]}},{"id":"cmtelcn7501ulu1d2kwcz1eik","url":"https://changefeed.tech/board/pulse-api","title":"7.16.0 — Cursor pagination and partial responses","date_published":"2026-07-21T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — The event stream reset the form on error when the clock was east of UTC+8</li><li><strong>Fixed</strong> — Fixed ignored the timezone offset in the auth middleware</li><li><strong>Fixed</strong> — The webhook signer sent the digest twice when running behind a proxy</li></ul>","_changelog":{"version":"7.16.0","changes":[{"kind":"FIXED","text":"The event stream reset the form on error when the clock was east of UTC+8"},{"kind":"FIXED","text":"Fixed ignored the timezone offset in the auth middleware"},{"kind":"FIXED","text":"The webhook signer sent the digest twice when running behind a proxy"}]}},{"id":"cmtelcn7501uku1d2dtwk9sc7","url":"https://changefeed.tech/board/pulse-api","title":"7.15.0 — Request tracing and sparse fieldsets","summary":"Sparse fieldsets lands this release, and the sandbox reuses a single connection.","date_published":"2026-07-17T09:00:00.000Z","content_html":"<p>Sparse fieldsets lands this release, and the sandbox reuses a single connection.</p><ul><li><strong>Removed</strong> — The legacy request tracing — use signed webhooks instead</li><li><strong>Fixed</strong> — The REST layer sent the digest twice when the network dropped mid-upload</li><li><strong>Added</strong> — Support for idempotency keys in the OpenAPI schema</li><li><strong>Added</strong> — <code>X-Request-Id</code> to skip the cache</li><li><strong>Fixed</strong> — The rate limiter dropped the last line of output when the token expired mid-request</li></ul>","_changelog":{"version":"7.15.0","changes":[{"kind":"REMOVED","text":"The legacy request tracing — use signed webhooks instead"},{"kind":"FIXED","text":"The REST layer sent the digest twice when the network dropped mid-upload"},{"kind":"ADDED","text":"Support for idempotency keys in the OpenAPI schema"},{"kind":"ADDED","text":"`X-Request-Id` to skip the cache"},{"kind":"FIXED","text":"The rate limiter dropped the last line of output when the token expired mid-request"}]}},{"id":"cmtelcn7501uju1d2evm5lbds","url":"https://changefeed.tech/board/pulse-api","title":"7.14.8 — Fixed double-counted retries in the SDK","date_published":"2026-07-11T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — Fixed double-counted retries in the SDK</li><li><strong>Changed</strong> — Scoped tokens moved into the rate limiter</li></ul>","_changelog":{"version":"7.14.8","changes":[{"kind":"FIXED","text":"Fixed double-counted retries in the SDK"},{"kind":"CHANGED","text":"Scoped tokens moved into the rate limiter"}]}},{"id":"cmtelcn7501uiu1d2gfytovlc","url":"https://changefeed.tech/board/pulse-api","title":"7.14.7 — Sparse fieldsets in the sandbox","date_published":"2026-07-08T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — Sparse fieldsets in the sandbox</li><li><strong>Changed</strong> — The SDK now renders on the server</li><li><strong>Removed</strong> — The legacy bulk endpoints — use bulk endpoints instead</li><li><strong>Added</strong> — Request tracing — one request instead of six</li><li><strong>Removed</strong> — The legacy signed webhooks — use signed webhooks instead</li><li><strong>Added</strong> — <code>?after=</code> to preview without writing</li></ul>","_changelog":{"version":"7.14.7","changes":[{"kind":"ADDED","text":"Sparse fieldsets in the sandbox"},{"kind":"CHANGED","text":"The SDK now renders on the server"},{"kind":"REMOVED","text":"The legacy bulk endpoints — use bulk endpoints instead"},{"kind":"ADDED","text":"Request tracing — one request instead of six"},{"kind":"REMOVED","text":"The legacy signed webhooks — use signed webhooks instead"},{"kind":"ADDED","text":"`?after=` to preview without writing"}]}},{"id":"cmtelcn7501uhu1d24mwi8vp4","url":"https://changefeed.tech/board/pulse-api","title":"7.14.6 — Support for sparse fieldsets in the event stream","summary":"Bulk endpoints lands this release, and the webhook signer reuses a single connection.","date_published":"2026-07-02T09:00:00.000Z","content_html":"<p>Bulk endpoints lands this release, and the webhook signer reuses a single connection.</p><ul><li><strong>Added</strong> — Support for sparse fieldsets in the event stream</li><li><strong>Added</strong> — <code>?after=</code> to cap parallelism</li><li><strong>Removed</strong> — Cursor pagination from the SDK</li></ul>","_changelog":{"version":"7.14.6","changes":[{"kind":"ADDED","text":"Support for sparse fieldsets in the event stream"},{"kind":"ADDED","text":"`?after=` to cap parallelism"},{"kind":"REMOVED","text":"Cursor pagination from the SDK"}]}},{"id":"cmtelcn7501ugu1d2n046fqze","url":"https://changefeed.tech/board/pulse-api","title":"7.14.5 — Maintenance","date_published":"2026-06-29T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — The auth middleware flickered on first paint when the network dropped mid-upload</li><li><strong>Fixed</strong> — The auth middleware dropped the last line of output when running behind a proxy</li><li><strong>Fixed</strong> — Fixed ignored the timezone offset in the REST layer</li><li><strong>Removed</strong> — <code>?limit=</code>, superseded by cursor pagination</li></ul>","_changelog":{"version":"7.14.5","changes":[{"kind":"FIXED","text":"The auth middleware flickered on first paint when the network dropped mid-upload"},{"kind":"FIXED","text":"The auth middleware dropped the last line of output when running behind a proxy"},{"kind":"FIXED","text":"Fixed ignored the timezone offset in the REST layer"},{"kind":"REMOVED","text":"`?limit=`, superseded by cursor pagination"}]}},{"id":"cmtelcn7501ufu1d25v0pofp6","url":"https://changefeed.tech/board/pulse-api","title":"7.14.4 — ?after= to preview without writing","date_published":"2026-06-23T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — <code>?after=</code> to preview without writing</li><li><strong>Changed</strong> — Partial responses moved into the OpenAPI schema</li><li><strong>Added</strong> — <code>?limit=</code> to target a single region</li><li><strong>Added</strong> — Cursor pagination — same result, a quarter of the bytes</li><li><strong>Added</strong> — Support for bulk endpoints in the sandbox</li><li><strong>Added</strong> — Signed webhooks — same result, a quarter of the bytes</li></ul>","_changelog":{"version":"7.14.4","changes":[{"kind":"ADDED","text":"`?after=` to preview without writing"},{"kind":"CHANGED","text":"Partial responses moved into the OpenAPI schema"},{"kind":"ADDED","text":"`?limit=` to target a single region"},{"kind":"ADDED","text":"Cursor pagination — same result, a quarter of the bytes"},{"kind":"ADDED","text":"Support for bulk endpoints in the sandbox"},{"kind":"ADDED","text":"Signed webhooks — same result, a quarter of the bytes"}]}},{"id":"cmtelcn7501ueu1d2kxekv0p0","url":"https://changefeed.tech/board/pulse-api","title":"7.14.3 — Stability pass","date_published":"2026-06-18T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — Fixed ignored the timezone offset in the event stream</li><li><strong>Fixed</strong> — Fixed sent the digest twice in the OpenAPI schema</li><li><strong>Fixed</strong> — The auth middleware no longer reset the form on error</li><li><strong>Fixed</strong> — The OpenAPI schema leaked a connection when the tab was backgrounded</li><li><strong>Fixed</strong> — Fixed double-counted retries in the webhook signer</li><li><strong>Fixed</strong> — The webhook signer no longer leaked a connection</li></ul>","_changelog":{"version":"7.14.3","changes":[{"kind":"FIXED","text":"Fixed ignored the timezone offset in the event stream"},{"kind":"FIXED","text":"Fixed sent the digest twice in the OpenAPI schema"},{"kind":"FIXED","text":"The auth middleware no longer reset the form on error"},{"kind":"FIXED","text":"The OpenAPI schema leaked a connection when the tab was backgrounded"},{"kind":"FIXED","text":"Fixed double-counted retries in the webhook signer"},{"kind":"FIXED","text":"The webhook signer no longer leaked a connection"}]}},{"id":"cmtelcn7501udu1d2ujt60mc0","url":"https://changefeed.tech/board/pulse-api","title":"7.14.2 — X-Request-Id to cap parallelism","date_published":"2026-06-16T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — <code>X-Request-Id</code> to cap parallelism</li><li><strong>Added</strong> — Support for request tracing in the event stream</li></ul>","_changelog":{"version":"7.14.2","changes":[{"kind":"ADDED","text":"`X-Request-Id` to cap parallelism"},{"kind":"ADDED","text":"Support for request tracing in the event stream"}]}},{"id":"cmtelcn7501ucu1d2lijkdklx","url":"https://changefeed.tech/board/pulse-api","title":"7.14.1 — The rate limiter no longer swallowed a 429","summary":"Idempotency keys lands this release, and the sandbox streams results as they arrive.","date_published":"2026-06-14T09:00:00.000Z","content_html":"<p>Idempotency keys lands this release, and the sandbox streams results as they arrive.</p><ul><li><strong>Fixed</strong> — The rate limiter no longer swallowed a 429</li><li><strong>Fixed</strong> — Fixed leaked a connection in the event stream</li></ul>","_changelog":{"version":"7.14.1","changes":[{"kind":"FIXED","text":"The rate limiter no longer swallowed a 429"},{"kind":"FIXED","text":"Fixed leaked a connection in the event stream"}]}},{"id":"cmtelcn7501ubu1d2b2y2dfev","url":"https://changefeed.tech/board/pulse-api","title":"7.14.0 — Idempotency keys and idempotency keys","date_published":"2026-06-09T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — Fixed truncated unicode names in the sandbox</li><li><strong>Fixed</strong> — Fixed flickered on first paint in the SDK</li></ul>","_changelog":{"version":"7.14.0","changes":[{"kind":"FIXED","text":"Fixed truncated unicode names in the sandbox"},{"kind":"FIXED","text":"Fixed flickered on first paint in the SDK"}]}},{"id":"cmtelcn7501uau1d29fkmj5jz","url":"https://changefeed.tech/board/pulse-api","title":"7.13.1 — Request tracing moved into the rate limiter","date_published":"2026-06-07T09:00:00.000Z","content_html":"<ul><li><strong>Changed</strong> — Request tracing moved into the rate limiter</li><li><strong>Removed</strong> — The legacy field expansion — use bulk endpoints instead</li><li><strong>Changed</strong> — Sparse fieldsets moved into the sandbox</li><li><strong>Changed</strong> — The webhook signer now reuses a single connection</li></ul>","_changelog":{"version":"7.13.1","changes":[{"kind":"CHANGED","text":"Request tracing moved into the rate limiter"},{"kind":"REMOVED","text":"The legacy field expansion — use bulk endpoints instead"},{"kind":"CHANGED","text":"Sparse fieldsets moved into the sandbox"},{"kind":"CHANGED","text":"The webhook signer now reuses a single connection"}]}},{"id":"cmtelcn7501u9u1d2oj1pu5vs","url":"https://changefeed.tech/board/pulse-api","title":"7.13.0 — Idempotency keys and bulk endpoints","date_published":"2026-06-03T09:00:00.000Z","content_html":"<ul><li><strong>Changed</strong> — Scoped tokens moved into the event stream</li><li><strong>Fixed</strong> — Fixed truncated unicode names in the OpenAPI schema</li><li><strong>Changed</strong> — The event stream keeps its scroll position — same result, a quarter of the bytes</li></ul>","_changelog":{"version":"7.13.0","changes":[{"kind":"CHANGED","text":"Scoped tokens moved into the event stream"},{"kind":"FIXED","text":"Fixed truncated unicode names in the OpenAPI schema"},{"kind":"CHANGED","text":"The event stream keeps its scroll position — same result, a quarter of the bytes"}]}},{"id":"cmtelcn7501u8u1d2kktv10mh","url":"https://changefeed.tech/board/pulse-api","title":"7.12.0 — Signed webhooks and bulk endpoints","date_published":"2026-05-29T09:00:00.000Z","content_html":"<ul><li><strong>Removed</strong> — <code>X-Request-Id</code>, superseded by cursor pagination</li><li><strong>Fixed</strong> — Fixed double-counted retries in the rate limiter</li><li><strong>Fixed</strong> — Fixed swallowed a 429 in the webhook signer</li><li><strong>Fixed</strong> — The sandbox no longer truncated unicode names</li><li><strong>Fixed</strong> — The rate limiter sent the digest twice when running behind a proxy</li></ul>","_changelog":{"version":"7.12.0","changes":[{"kind":"REMOVED","text":"`X-Request-Id`, superseded by cursor pagination"},{"kind":"FIXED","text":"Fixed double-counted retries in the rate limiter"},{"kind":"FIXED","text":"Fixed swallowed a 429 in the webhook signer"},{"kind":"FIXED","text":"The sandbox no longer truncated unicode names"},{"kind":"FIXED","text":"The rate limiter sent the digest twice when running behind a proxy"}]}},{"id":"cmtelcn7501u7u1d2ig8okh18","url":"https://changefeed.tech/board/pulse-api","title":"7.11.7 — Field expansion in the sandbox","date_published":"2026-05-25T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — Field expansion in the sandbox</li><li><strong>Added</strong> — Partial responses in the SDK</li></ul>","_changelog":{"version":"7.11.7","changes":[{"kind":"ADDED","text":"Field expansion in the sandbox"},{"kind":"ADDED","text":"Partial responses in the SDK"}]}},{"id":"cmtelcn7501u6u1d2y4nerk14","url":"https://changefeed.tech/board/pulse-api","title":"7.11.6 — Scoped tokens","date_published":"2026-05-20T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — Scoped tokens — no more waiting on a full rebuild</li><li><strong>Fixed</strong> — The REST layer no longer swallowed a 429</li><li><strong>Changed</strong> — Partial responses moved into the rate limiter</li><li><strong>Changed</strong> — Partial responses moved into the auth middleware</li><li><strong>Changed</strong> — The webhook signer now is keyboard-navigable end to end</li><li><strong>Changed</strong> — The REST layer streams results as they arrive — same result, a quarter of the bytes</li></ul>","_changelog":{"version":"7.11.6","changes":[{"kind":"ADDED","text":"Scoped tokens — no more waiting on a full rebuild"},{"kind":"FIXED","text":"The REST layer no longer swallowed a 429"},{"kind":"CHANGED","text":"Partial responses moved into the rate limiter"},{"kind":"CHANGED","text":"Partial responses moved into the auth middleware"},{"kind":"CHANGED","text":"The webhook signer now is keyboard-navigable end to end"},{"kind":"CHANGED","text":"The REST layer streams results as they arrive — same result, a quarter of the bytes"}]}},{"id":"cmtelcn7501u5u1d2tugdezwm","url":"https://changefeed.tech/board/pulse-api","title":"7.11.5 — Stability pass","summary":"Idempotency keys lands this release, and the rate limiter loads in one paint.","date_published":"2026-05-18T09:00:00.000Z","content_html":"<p>Idempotency keys lands this release, and the rate limiter loads in one paint.</p><ul><li><strong>Added</strong> — Sparse fieldsets in the OpenAPI schema</li><li><strong>Fixed</strong> — The REST layer ignored the timezone offset when running behind a proxy</li><li><strong>Added</strong> — <code>X-Request-Id</code> to print machine-readable output</li><li><strong>Added</strong> — Field expansion in the auth middleware</li><li><strong>Added</strong> — Support for signed webhooks in the SDK</li><li><strong>Added</strong> — <code>?expand=</code> to cap parallelism</li></ul>","_changelog":{"version":"7.11.5","changes":[{"kind":"ADDED","text":"Sparse fieldsets in the OpenAPI schema"},{"kind":"FIXED","text":"The REST layer ignored the timezone offset when running behind a proxy"},{"kind":"ADDED","text":"`X-Request-Id` to print machine-readable output"},{"kind":"ADDED","text":"Field expansion in the auth middleware"},{"kind":"ADDED","text":"Support for signed webhooks in the SDK"},{"kind":"ADDED","text":"`?expand=` to cap parallelism"}]}},{"id":"cmtelcn7501u4u1d23kwfsdr0","url":"https://changefeed.tech/board/pulse-api","title":"7.11.4 — The auth middleware keeps its scroll position","date_published":"2026-05-14T09:00:00.000Z","content_html":"<ul><li><strong>Changed</strong> — The auth middleware keeps its scroll position — same result, a quarter of the bytes</li><li><strong>Removed</strong> — Cursor pagination from the REST layer</li><li><strong>Added</strong> — Sparse fieldsets — same result, a quarter of the bytes</li></ul>","_changelog":{"version":"7.11.4","changes":[{"kind":"CHANGED","text":"The auth middleware keeps its scroll position — same result, a quarter of the bytes"},{"kind":"REMOVED","text":"Cursor pagination from the REST layer"},{"kind":"ADDED","text":"Sparse fieldsets — same result, a quarter of the bytes"}]}},{"id":"cmtelcn7501u3u1d2mp86xt41","url":"https://changefeed.tech/board/pulse-api","title":"7.11.3 — Stability pass","date_published":"2026-05-12T09:00:00.000Z","content_html":"<ul><li><strong>Removed</strong> — Scoped tokens from the OpenAPI schema</li><li><strong>Fixed</strong> — The REST layer no longer dropped the last line of output</li><li><strong>Added</strong> — <code>?expand=</code> to keep the process attached</li><li><strong>Fixed</strong> — The REST layer truncated unicode names when the account had no billing method</li></ul>","_changelog":{"version":"7.11.3","changes":[{"kind":"REMOVED","text":"Scoped tokens from the OpenAPI schema"},{"kind":"FIXED","text":"The REST layer no longer dropped the last line of output"},{"kind":"ADDED","text":"`?expand=` to keep the process attached"},{"kind":"FIXED","text":"The REST layer truncated unicode names when the account had no billing method"}]}},{"id":"cmtelcn7501u2u1d2t5xgl30y","url":"https://changefeed.tech/board/pulse-api","title":"7.11.2 — Stability pass","summary":"Idempotency keys lands this release, and the OpenAPI schema retries with backoff.","date_published":"2026-05-09T09:00:00.000Z","content_html":"<p>Idempotency keys lands this release, and the OpenAPI schema retries with backoff.</p><ul><li><strong>Fixed</strong> — The SDK dropped the last line of output when the tab was backgrounded</li><li><strong>Changed</strong> — The webhook signer reuses a single connection — the common case is now the default</li><li><strong>Fixed</strong> — The sandbox no longer sent the digest twice</li><li><strong>Fixed</strong> — Fixed swallowed a 429 in the auth middleware</li><li><strong>Fixed</strong> — The webhook signer no longer reset the form on error</li><li><strong>Changed</strong> — The REST layer batches writes — one request instead of six</li></ul>","_changelog":{"version":"7.11.2","changes":[{"kind":"FIXED","text":"The SDK dropped the last line of output when the tab was backgrounded"},{"kind":"CHANGED","text":"The webhook signer reuses a single connection — the common case is now the default"},{"kind":"FIXED","text":"The sandbox no longer sent the digest twice"},{"kind":"FIXED","text":"Fixed swallowed a 429 in the auth middleware"},{"kind":"FIXED","text":"The webhook signer no longer reset the form on error"},{"kind":"CHANGED","text":"The REST layer batches writes — one request instead of six"}]}},{"id":"cmtelcn7501u1u1d28edy44l7","url":"https://changefeed.tech/board/pulse-api","title":"7.11.1 — Housekeeping","date_published":"2026-05-07T09:00:00.000Z","content_html":"<ul><li><strong>Changed</strong> — The sandbox now is keyboard-navigable end to end</li><li><strong>Changed</strong> — The rate limiter loads in one paint — one request instead of six</li><li><strong>Changed</strong> — The rate limiter now reuses a single connection</li><li><strong>Removed</strong> — The legacy field expansion — use cursor pagination instead</li><li><strong>Changed</strong> — The SDK loads in one paint — one request instead of six</li><li><strong>Changed</strong> — The rate limiter now retries with backoff</li></ul>","_changelog":{"version":"7.11.1","changes":[{"kind":"CHANGED","text":"The sandbox now is keyboard-navigable end to end"},{"kind":"CHANGED","text":"The rate limiter loads in one paint — one request instead of six"},{"kind":"CHANGED","text":"The rate limiter now reuses a single connection"},{"kind":"REMOVED","text":"The legacy field expansion — use cursor pagination instead"},{"kind":"CHANGED","text":"The SDK loads in one paint — one request instead of six"},{"kind":"CHANGED","text":"The rate limiter now retries with backoff"}]}},{"id":"cmtelcn7501u0u1d2lbpezql8","url":"https://changefeed.tech/board/pulse-api","title":"7.11.0 — Bulk endpoints and partial responses","summary":"Sparse fieldsets lands this release, and the sandbox retries with backoff.","date_published":"2026-05-05T09:00:00.000Z","content_html":"<p>Sparse fieldsets lands this release, and the sandbox retries with backoff.</p><ul><li><strong>Added</strong> — Idempotency keys in the event stream</li><li><strong>Changed</strong> — The REST layer now streams results as they arrive</li><li><strong>Changed</strong> — The sandbox now reuses a single connection</li><li><strong>Added</strong> — <code>?limit=</code> to keep the process attached</li><li><strong>Removed</strong> — <code>X-Request-Id</code>, superseded by request tracing</li></ul>","_changelog":{"version":"7.11.0","changes":[{"kind":"ADDED","text":"Idempotency keys in the event stream"},{"kind":"CHANGED","text":"The REST layer now streams results as they arrive"},{"kind":"CHANGED","text":"The sandbox now reuses a single connection"},{"kind":"ADDED","text":"`?limit=` to keep the process attached"},{"kind":"REMOVED","text":"`X-Request-Id`, superseded by request tracing"}]}},{"id":"cmtelcn7501tzu1d2pq0jzm2r","url":"https://changefeed.tech/board/pulse-api","title":"7.10.2 — Stability pass","date_published":"2026-04-30T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — Fixed double-counted retries in the sandbox</li><li><strong>Added</strong> — Support for 429 backoff hints in the webhook signer</li></ul>","_changelog":{"version":"7.10.2","changes":[{"kind":"FIXED","text":"Fixed double-counted retries in the sandbox"},{"kind":"ADDED","text":"Support for 429 backoff hints in the webhook signer"}]}},{"id":"cmtelcn7501txu1d20do2ugyj","url":"https://changefeed.tech/board/pulse-api","title":"7.10.0 — Field expansion and field expansion","date_published":"2026-04-18T09:00:00.000Z","content_html":"<ul><li><strong>Removed</strong> — Sparse fieldsets from the sandbox</li><li><strong>Removed</strong> — The legacy request tracing — use idempotency keys instead</li><li><strong>Fixed</strong> — The sandbox truncated unicode names when the payload exceeded 1 MB</li><li><strong>Changed</strong> — Partial responses moved into the sandbox</li><li><strong>Changed</strong> — Idempotency keys moved into the SDK</li><li><strong>Removed</strong> — <code>X-Request-Id</code>, superseded by scoped tokens</li></ul>","_changelog":{"version":"7.10.0","changes":[{"kind":"REMOVED","text":"Sparse fieldsets from the sandbox"},{"kind":"REMOVED","text":"The legacy request tracing — use idempotency keys instead"},{"kind":"FIXED","text":"The sandbox truncated unicode names when the payload exceeded 1 MB"},{"kind":"CHANGED","text":"Partial responses moved into the sandbox"},{"kind":"CHANGED","text":"Idempotency keys moved into the SDK"},{"kind":"REMOVED","text":"`X-Request-Id`, superseded by scoped tokens"}]}},{"id":"cmtelcn7501twu1d29p83yxhf","url":"https://changefeed.tech/board/pulse-api","title":"7.9.3 — X-Idempotency-Key to target a single region","date_published":"2026-04-15T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — <code>X-Idempotency-Key</code> to target a single region</li><li><strong>Changed</strong> — The event stream now keeps its scroll position</li><li><strong>Fixed</strong> — Fixed double-counted retries in the rate limiter</li><li><strong>Added</strong> — Support for signed webhooks in the rate limiter</li><li><strong>Fixed</strong> — The auth middleware no longer swallowed a 429</li></ul>","_changelog":{"version":"7.9.3","changes":[{"kind":"ADDED","text":"`X-Idempotency-Key` to target a single region"},{"kind":"CHANGED","text":"The event stream now keeps its scroll position"},{"kind":"FIXED","text":"Fixed double-counted retries in the rate limiter"},{"kind":"ADDED","text":"Support for signed webhooks in the rate limiter"},{"kind":"FIXED","text":"The auth middleware no longer swallowed a 429"}]}},{"id":"cmtelcn7501tvu1d2zhz1bad5","url":"https://changefeed.tech/board/pulse-api","title":"7.9.2 — The webhook signer now reuses a single connection","date_published":"2026-04-09T09:00:00.000Z","content_html":"<ul><li><strong>Changed</strong> — The webhook signer now reuses a single connection</li><li><strong>Changed</strong> — The SDK now is keyboard-navigable end to end</li><li><strong>Added</strong> — <code>?limit=</code> to preview without writing</li><li><strong>Changed</strong> — The auth middleware now is keyboard-navigable end to end</li></ul>","_changelog":{"version":"7.9.2","changes":[{"kind":"CHANGED","text":"The webhook signer now reuses a single connection"},{"kind":"CHANGED","text":"The SDK now is keyboard-navigable end to end"},{"kind":"ADDED","text":"`?limit=` to preview without writing"},{"kind":"CHANGED","text":"The auth middleware now is keyboard-navigable end to end"}]}},{"id":"cmtelcn7501tuu1d2u8ods27w","url":"https://changefeed.tech/board/pulse-api","title":"7.9.1 — Stability pass","summary":"Sparse fieldsets lands this release, and the REST layer streams results as they arrive.","date_published":"2026-04-06T09:00:00.000Z","content_html":"<p>Sparse fieldsets lands this release, and the REST layer streams results as they arrive.</p><ul><li><strong>Fixed</strong> — The sandbox no longer raced with a concurrent save</li><li><strong>Added</strong> — <code>?limit=</code> to target a single region</li><li><strong>Added</strong> — Partial responses in the event stream</li><li><strong>Fixed</strong> — The event stream no longer dropped the last line of output</li></ul>","_changelog":{"version":"7.9.1","changes":[{"kind":"FIXED","text":"The sandbox no longer raced with a concurrent save"},{"kind":"ADDED","text":"`?limit=` to target a single region"},{"kind":"ADDED","text":"Partial responses in the event stream"},{"kind":"FIXED","text":"The event stream no longer dropped the last line of output"}]}},{"id":"cmtelcn7501ttu1d2qcei3kn6","url":"https://changefeed.tech/board/pulse-api","title":"7.9.0 — Papercuts","summary":"Signed webhooks lands this release, and the auth middleware respects the system theme.","date_published":"2026-04-01T09:00:00.000Z","content_html":"<p>Signed webhooks lands this release, and the auth middleware respects the system theme.</p><ul><li><strong>Changed</strong> — The event stream now loads in one paint</li><li><strong>Added</strong> — Support for idempotency keys in the SDK</li><li><strong>Added</strong> — <code>?after=</code> to preview without writing</li><li><strong>Added</strong> — Support for idempotency keys in the webhook signer</li><li><strong>Added</strong> — <code>?limit=</code> to keep the process attached</li></ul>","_changelog":{"version":"7.9.0","changes":[{"kind":"CHANGED","text":"The event stream now loads in one paint"},{"kind":"ADDED","text":"Support for idempotency keys in the SDK"},{"kind":"ADDED","text":"`?after=` to preview without writing"},{"kind":"ADDED","text":"Support for idempotency keys in the webhook signer"},{"kind":"ADDED","text":"`?limit=` to keep the process attached"}]}},{"id":"cmtelcn7501tsu1d28bo028ld","url":"https://changefeed.tech/board/pulse-api","title":"7.8.2 — Papercuts","summary":"Bulk endpoints lands this release, and the webhook signer batches writes.","date_published":"2026-03-31T09:00:00.000Z","content_html":"<p>Bulk endpoints lands this release, and the webhook signer batches writes.</p><ul><li><strong>Changed</strong> — The webhook signer respects the system theme — same result, a quarter of the bytes</li><li><strong>Added</strong> — <code>X-Idempotency-Key</code> to cap parallelism</li><li><strong>Fixed</strong> — Fixed leaked a connection in the event stream</li><li><strong>Removed</strong> — The legacy signed webhooks — use bulk endpoints instead</li></ul>","_changelog":{"version":"7.8.2","changes":[{"kind":"CHANGED","text":"The webhook signer respects the system theme — same result, a quarter of the bytes"},{"kind":"ADDED","text":"`X-Idempotency-Key` to cap parallelism"},{"kind":"FIXED","text":"Fixed leaked a connection in the event stream"},{"kind":"REMOVED","text":"The legacy signed webhooks — use bulk endpoints instead"}]}},{"id":"cmtelcn7501tru1d2alwhzbr0","url":"https://changefeed.tech/board/pulse-api","title":"7.8.1 — Fixed sent the digest twice in the event stream","summary":"429 backoff hints lands this release, and the sandbox respects the system theme.","date_published":"2026-03-29T09:00:00.000Z","content_html":"<p>429 backoff hints lands this release, and the sandbox respects the system theme.</p><ul><li><strong>Fixed</strong> — Fixed sent the digest twice in the event stream</li><li><strong>Added</strong> — <code>?after=</code> to skip the cache</li><li><strong>Added</strong> — Signed webhooks — it costs nothing when unused</li><li><strong>Fixed</strong> — The SDK dropped the last line of output when the tab was backgrounded</li><li><strong>Removed</strong> — <code>?limit=</code>, superseded by request tracing</li><li><strong>Added</strong> — <code>X-Request-Id</code> to skip the cache</li></ul>","_changelog":{"version":"7.8.1","changes":[{"kind":"FIXED","text":"Fixed sent the digest twice in the event stream"},{"kind":"ADDED","text":"`?after=` to skip the cache"},{"kind":"ADDED","text":"Signed webhooks — it costs nothing when unused"},{"kind":"FIXED","text":"The SDK dropped the last line of output when the tab was backgrounded"},{"kind":"REMOVED","text":"`?limit=`, superseded by request tracing"},{"kind":"ADDED","text":"`X-Request-Id` to skip the cache"}]}},{"id":"cmtelcn7501tqu1d2t60n2iup","url":"https://changefeed.tech/board/pulse-api","title":"7.8.0 — Request tracing and partial responses","date_published":"2026-03-24T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — The event stream reset the form on error when the tab was backgrounded</li><li><strong>Added</strong> — Signed webhooks in the event stream</li><li><strong>Added</strong> — Sparse fieldsets in the event stream</li></ul>","_changelog":{"version":"7.8.0","changes":[{"kind":"FIXED","text":"The event stream reset the form on error when the tab was backgrounded"},{"kind":"ADDED","text":"Signed webhooks in the event stream"},{"kind":"ADDED","text":"Sparse fieldsets in the event stream"}]}},{"id":"cmtelcn7501tpu1d2h642jqdl","url":"https://changefeed.tech/board/pulse-api","title":"7.7.2 — Small fixes","date_published":"2026-03-19T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — The webhook signer swallowed a 429 when the network dropped mid-upload</li><li><strong>Fixed</strong> — The sandbox reset the form on error when two tabs were open</li><li><strong>Fixed</strong> — Fixed leaked a connection in the webhook signer</li><li><strong>Fixed</strong> — The event stream no longer sent the digest twice</li></ul>","_changelog":{"version":"7.7.2","changes":[{"kind":"FIXED","text":"The webhook signer swallowed a 429 when the network dropped mid-upload"},{"kind":"FIXED","text":"The sandbox reset the form on error when two tabs were open"},{"kind":"FIXED","text":"Fixed leaked a connection in the webhook signer"},{"kind":"FIXED","text":"The event stream no longer sent the digest twice"}]}},{"id":"cmtelcn7501tou1d2ft8idfu5","url":"https://changefeed.tech/board/pulse-api","title":"7.7.1 — Cursor pagination moved into the REST layer","date_published":"2026-03-16T09:00:00.000Z","content_html":"<ul><li><strong>Changed</strong> — Cursor pagination moved into the REST layer</li><li><strong>Changed</strong> — Bulk endpoints moved into the auth middleware</li></ul>","_changelog":{"version":"7.7.1","changes":[{"kind":"CHANGED","text":"Cursor pagination moved into the REST layer"},{"kind":"CHANGED","text":"Bulk endpoints moved into the auth middleware"}]}},{"id":"cmtelcn7501tnu1d2fdfjlt8d","url":"https://changefeed.tech/board/pulse-api","title":"7.7.0 — Scoped tokens and partial responses","date_published":"2026-03-15T09:00:00.000Z","content_html":"<ul><li><strong>Fixed</strong> — Fixed truncated unicode names in the OpenAPI schema</li><li><strong>Fixed</strong> — Fixed leaked a connection in the SDK</li></ul>","_changelog":{"version":"7.7.0","changes":[{"kind":"FIXED","text":"Fixed truncated unicode names in the OpenAPI schema"},{"kind":"FIXED","text":"Fixed leaked a connection in the SDK"}]}},{"id":"cmtelcn7501tmu1d24vzgh7eq","url":"https://changefeed.tech/board/pulse-api","title":"7.6.0 — 429 backoff hints and scoped tokens","summary":"Idempotency keys lands this release, and the SDK respects the system theme.","date_published":"2026-03-12T09:00:00.000Z","content_html":"<p>Idempotency keys lands this release, and the SDK respects the system theme.</p><ul><li><strong>Changed</strong> — The sandbox now retries with backoff</li><li><strong>Changed</strong> — The OpenAPI schema retries with backoff — one request instead of six</li></ul>","_changelog":{"version":"7.6.0","changes":[{"kind":"CHANGED","text":"The sandbox now retries with backoff"},{"kind":"CHANGED","text":"The OpenAPI schema retries with backoff — one request instead of six"}]}},{"id":"cmtelcn7501tlu1d29ye0jqms","url":"https://changefeed.tech/board/pulse-api","title":"7.5.2 — Field expansion","date_published":"2026-03-08T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — Field expansion — same result, a quarter of the bytes</li><li><strong>Changed</strong> — The OpenAPI schema reuses a single connection — same result, a quarter of the bytes</li></ul>","_changelog":{"version":"7.5.2","changes":[{"kind":"ADDED","text":"Field expansion — same result, a quarter of the bytes"},{"kind":"CHANGED","text":"The OpenAPI schema reuses a single connection — same result, a quarter of the bytes"}]}},{"id":"cmtelcn7501tku1d2zoqpncky","url":"https://changefeed.tech/board/pulse-api","title":"7.5.1 — Small fixes","date_published":"2026-03-07T09:00:00.000Z","content_html":"<ul><li><strong>Added</strong> — Signed webhooks in the webhook signer</li><li><strong>Added</strong> — Field expansion — the common case is now the default</li><li><strong>Changed</strong> — The event stream respects the system theme — the common case is now the default</li></ul>","_changelog":{"version":"7.5.1","changes":[{"kind":"ADDED","text":"Signed webhooks in the webhook signer"},{"kind":"ADDED","text":"Field expansion — the common case is now the default"},{"kind":"CHANGED","text":"The event stream respects the system theme — the common case is now the default"}]}},{"id":"cmtelcn7501tju1d2die76u45","url":"https://changefeed.tech/board/pulse-api","title":"7.5.0 — 429 backoff hints and sparse fieldsets","date_published":"2026-03-01T09:00:00.000Z","content_html":"<ul><li><strong>Changed</strong> — The SDK streams results as they arrive — no more waiting on a full rebuild</li><li><strong>Fixed</strong> — The REST layer double-counted retries when the account had no billing method</li></ul>","_changelog":{"version":"7.5.0","changes":[{"kind":"CHANGED","text":"The SDK streams results as they arrive — no more waiting on a full rebuild"},{"kind":"FIXED","text":"The REST layer double-counted retries when the account had no billing method"}]}},{"id":"cmtelcn7501tiu1d20028oi71","url":"https://changefeed.tech/board/pulse-api","title":"7.4.0 — Idempotency keys and partial responses","summary":"Idempotency keys lands this release, and the sandbox is keyboard-navigable end to end.","date_published":"2026-02-27T09:00:00.000Z","content_html":"<p>Idempotency keys lands this release, and the sandbox is keyboard-navigable end to end.</p><ul><li><strong>Fixed</strong> — The event stream no longer ignored the timezone offset</li><li><strong>Fixed</strong> — Fixed ignored the timezone offset in the OpenAPI schema</li><li><strong>Fixed</strong> — The REST layer no longer flickered on first paint</li></ul>","_changelog":{"version":"7.4.0","changes":[{"kind":"FIXED","text":"The event stream no longer ignored the timezone offset"},{"kind":"FIXED","text":"Fixed ignored the timezone offset in the OpenAPI schema"},{"kind":"FIXED","text":"The REST layer no longer flickered on first paint"}]}}]}