Skip to content

Commit 441e19b

Browse files
committed
Reorganize the unreleased 2.3.0 changelog
Tidy up the in-progress 2.3.0 section of CHANGES.md by grouping related entries together, without changing any entry's wording: - Merge the duplicate "### @fedify/cli" section into the primary one so the "--skip-install" entry and its reference links live in a single place. - Move the "Claude Code plugin" section to the end of the 2.3.0 section, after the package sections. - Keep the OpenTelemetry observability entries under "@fedify/fedify" contiguous by relocating the circuit breaker and "benchmarkMode" entries below the OTel block instead of in the middle of it. [ci skip] Assisted-by: Claude Code:claude-opus-4-8
1 parent 2402d49 commit 441e19b

1 file changed

Lines changed: 54 additions & 57 deletions

File tree

CHANGES.md

Lines changed: 54 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -110,34 +110,6 @@ To be released.
110110
operators distinguish a slow-draining queue from a queue that sees
111111
less traffic. [[#316], [#740], [#759]]
112112

113-
- Added an outbound delivery circuit breaker for queued outbox delivery.
114-
Fedify now tracks consecutive network and HTTP 5xx delivery failures
115-
per remote host (including any non-default port), stores the state in
116-
the configured `KvStore`, and requeues messages held by an open circuit
117-
instead of repeatedly sending to an unreachable server. The circuit
118-
breaker is enabled by default for queued outbox delivery and can be
119-
disabled with
120-
`circuitBreaker: false`; applications can customize the failure policy,
121-
recovery delay, held activity TTL, release interval, and state/drop
122-
callbacks. HTTP 429 responses do not count as circuit failures and
123-
`Retry-After` is respected when present. State changes are exposed
124-
through `activitypub.circuit_breaker.state_change` metrics and
125-
`activitypub.circuit_breaker.state_change` span events, and expired
126-
held activities call the outbox permanent failure handler with
127-
`reason: "circuit-breaker-ttl"`. [[#620], [#778]]
128-
129-
- Added `benchmarkMode` to `createFederation()` and
130-
`FederationBuilder.build()` for cooperative federation benchmarking.
131-
When enabled, Fedify exposes `GET /.well-known/fedify/bench/stats`
132-
for in-process OpenTelemetry metric snapshots and
133-
`POST /.well-known/fedify/bench/trigger` for driving `sendActivity()`
134-
to server-configured benchmark sink recipients. Benchmark mode also
135-
defaults `allowPrivateAddress` to `true` when built-in loaders are used,
136-
defaults `signatureTimeWindow` to `false`, reports queue depth through
137-
the new `fedify.queue.depth` gauge, and adds explicit low-latency
138-
buckets to the signature verification duration histogram.
139-
[[#744], [#782], [#787]]
140-
141113
- Added OpenTelemetry metrics for ActivityPub fanout and activity
142114
lifecycle events, complementing the per-recipient
143115
`activitypub.delivery.*` counters and the per-task
@@ -243,6 +215,34 @@ To be released.
243215
alias host when cross-origin verification runs).
244216
[[#316], [#739], [#772]]
245217

218+
- Added an outbound delivery circuit breaker for queued outbox delivery.
219+
Fedify now tracks consecutive network and HTTP 5xx delivery failures
220+
per remote host (including any non-default port), stores the state in
221+
the configured `KvStore`, and requeues messages held by an open circuit
222+
instead of repeatedly sending to an unreachable server. The circuit
223+
breaker is enabled by default for queued outbox delivery and can be
224+
disabled with
225+
`circuitBreaker: false`; applications can customize the failure policy,
226+
recovery delay, held activity TTL, release interval, and state/drop
227+
callbacks. HTTP 429 responses do not count as circuit failures and
228+
`Retry-After` is respected when present. State changes are exposed
229+
through `activitypub.circuit_breaker.state_change` metrics and
230+
`activitypub.circuit_breaker.state_change` span events, and expired
231+
held activities call the outbox permanent failure handler with
232+
`reason: "circuit-breaker-ttl"`. [[#620], [#778]]
233+
234+
- Added `benchmarkMode` to `createFederation()` and
235+
`FederationBuilder.build()` for cooperative federation benchmarking.
236+
When enabled, Fedify exposes `GET /.well-known/fedify/bench/stats`
237+
for in-process OpenTelemetry metric snapshots and
238+
`POST /.well-known/fedify/bench/trigger` for driving `sendActivity()`
239+
to server-configured benchmark sink recipients. Benchmark mode also
240+
defaults `allowPrivateAddress` to `true` when built-in loaders are used,
241+
defaults `signatureTimeWindow` to `false`, reports queue depth through
242+
the new `fedify.queue.depth` gauge, and adds explicit low-latency
243+
buckets to the signature verification duration histogram.
244+
[[#744], [#782], [#787]]
245+
246246
- Replaced Fedify's internal federation routing with
247247
*@fedify/uri-template* for stricter RFC 6570 URI Template expansion and
248248
matching. The deprecated `Router` export from *@fedify/fedify* remains
@@ -292,6 +292,10 @@ To be released.
292292

293293
### @fedify/cli
294294

295+
- Added the `--skip-install` option to `fedify init`, following the
296+
corresponding `@fedify/init` update, which skips automatic dependency
297+
installation after scaffolding. [[#720], [#776] by fru1tworld]
298+
295299
- Added the `fedify bench` command for benchmarking Fedify federation
296300
workloads. It acts as a synthetic remote actor that drives
297301
ActivityPub-specific load (signed inbox deliveries and WebFinger lookups)
@@ -324,6 +328,8 @@ To be released.
324328
results. This change is published as benchmark report schema version 3
325329
and comparison report schema version 1. [[#744], [#786], [#804]]
326330

331+
[#720]: https://github.com/fedify-dev/fedify/issues/720
332+
[#776]: https://github.com/fedify-dev/fedify/pull/776
327333
[#783]: https://github.com/fedify-dev/fedify/issues/783
328334
[#784]: https://github.com/fedify-dev/fedify/issues/784
329335
[#785]: https://github.com/fedify-dev/fedify/issues/785
@@ -376,15 +382,6 @@ To be released.
376382
- Added `SqliteMessageQueue.getDepth()` for reporting queued, ready, and
377383
delayed message counts. [[#735], [#748]]
378384

379-
### @fedify/cli
380-
381-
- Added the `--skip-install` option to `fedify init`, following the
382-
corresponding `@fedify/init` update, which skips automatic dependency
383-
installation after scaffolding. [[#720], [#776] by fru1tworld]
384-
385-
[#720]: https://github.com/fedify-dev/fedify/issues/720
386-
[#776]: https://github.com/fedify-dev/fedify/pull/776
387-
388385
### @fedify/init
389386

390387
- Added a `--skip-install` option to `fedify init` that skips automatic
@@ -393,26 +390,6 @@ To be released.
393390
root, or when you want to inspect the generated files before
394391
installing. [[#720], [#776] by fru1tworld]
395392

396-
### Claude Code plugin
397-
398-
- Added a Claude Code plugin at *claude-plugin/*, installable with:
399-
400-
~~~~ text
401-
/plugin marketplace add fedify-dev/fedify
402-
/plugin install fedify@fedify
403-
~~~~
404-
405-
The plugin provides six slash commands (`/fedify:fedify`, `/fedify:docs`,
406-
`/fedify:actor`, `/fedify:inbox`, `/fedify:migration`, `/fedify:fep`) and
407-
two specialized
408-
agents (`fedify-reviewer` and `fedify-debugger`). The Agent Skills bundle
409-
lives canonically in *claude-plugin/skills/fedify/* and is referenced from
410-
*packages/fedify/skills/fedify/* via a symlink; the `prepack` script
411-
resolves the symlink to real files before packing so the published npm
412-
tarball is self-contained. [[#489]]
413-
414-
[#489]: https://github.com/fedify-dev/fedify/issues/489
415-
416393
### @fedify/vocab-runtime
417394

418395
- Added `PropertyPreprocessor`, `PropertyPreprocessorContext`, and `Json`
@@ -449,6 +426,26 @@ To be released.
449426
that mutation of the caller's original `URL` object does not affect
450427
later resolution. [[#792]]
451428

429+
### Claude Code plugin
430+
431+
- Added a Claude Code plugin at *claude-plugin/*, installable with:
432+
433+
~~~~ text
434+
/plugin marketplace add fedify-dev/fedify
435+
/plugin install fedify@fedify
436+
~~~~
437+
438+
The plugin provides six slash commands (`/fedify:fedify`, `/fedify:docs`,
439+
`/fedify:actor`, `/fedify:inbox`, `/fedify:migration`, `/fedify:fep`) and
440+
two specialized
441+
agents (`fedify-reviewer` and `fedify-debugger`). The Agent Skills bundle
442+
lives canonically in *claude-plugin/skills/fedify/* and is referenced from
443+
*packages/fedify/skills/fedify/* via a symlink; the `prepack` script
444+
resolves the symlink to real files before packing so the published npm
445+
tarball is self-contained. [[#489]]
446+
447+
[#489]: https://github.com/fedify-dev/fedify/issues/489
448+
452449
453450
Version 2.2.5
454451
-------------

0 commit comments

Comments
 (0)