Skip to content

v0.7.0

Choose a tag to compare

@powersemmi powersemmi released this 02 Oct 04:33
· 81 commits to main since this release
83a555f

What's Changed

  • chore(deps): bump taiki-e/install-action from 2.85.3 to 2.85.5 in the actions group by @dependabot[bot] in #203
  • chore(deps): bump clap from 4.6.4 to 4.6.5 in the cargo-minor-patch group by @dependabot[bot] in #204
  • docs: link the new broker documentation sites by @powersemmi in #206
  • docs: rewrite chat-toned phrasing for standalone reading by @powersemmi in #205
  • docs: complete the ecosystem list and tighten the feature bullets by @powersemmi in #207
  • docs: set the decode-failure policy through the subscriber clause by @powersemmi in #208
  • chore(deps): bump taiki-e/install-action from 2.85.5 to 2.85.7 in the actions group by @dependabot[bot] in #209
  • chore(deps): bump the cargo-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #211
  • chore(deps): bump taiki-e/install-action from 2.85.7 to 2.85.10 in the actions group by @dependabot[bot] in #217
  • chore(deps): bump thiserror from 2.0.19 to 2.0.20 in the cargo-minor-patch group by @dependabot[bot] in #218
  • perf: share the memory bus delivery name and headers across subscribers by @powersemmi in #221
  • feat: marker-identified Out injection with capability-checked publisher bounds by @powersemmi in #220
  • chore(deps): bump taiki-e/install-action from 2.85.10 to 2.85.13 in the actions group by @dependabot[bot] in #226
  • chore(deps): bump futures from 0.3.33 to 0.3.34 in the cargo-minor-patch group by @dependabot[bot] in #225
  • feat: typed message headers with FromHeaders extractor and declared outgoing messages by @powersemmi in #224
  • refactor: drop the seeker token from the seek surface by @powersemmi in #233
  • docs: correct the Subscribe by-name description by @powersemmi in #235
  • feat: mount every definition form on Router through form dispatch by @powersemmi in #232
  • feat: express a subscriber's declarative settings through a builder the macro shares by @powersemmi in #237
  • chore(deps): bump taiki-e/install-action from 2.85.13 to 2.86.1 in the actions group by @dependabot[bot] in #238
  • feat: unify publishing behind one builder with defaulted positions by @powersemmi in #236
  • feat: report an unbound address placeholder through its own guidance by @powersemmi in #243
  • feat: report a missing Serialize derive through serde's own guidance by @powersemmi in #242
  • chore: verify the MSRV at its floor instead of at every release by @powersemmi in #245
  • docs: publish the documentation in Russian and Chinese by @powersemmi in #244
  • docs: give each translation its own tree by @powersemmi in #247
  • chore: guard the dependency and feature promises in CI by @powersemmi in #249
  • chore: raise the MSRV to 1.88 and make the matrix select its toolchain by @powersemmi in #251
  • docs: translate the documentation into Russian by @powersemmi in #248
  • docs: translate the documentation into Chinese by @powersemmi in #250
  • docs: style pass over the English pages by @powersemmi in #252
  • docs: close the documentation gaps the style pass surfaced by @powersemmi in #254
  • docs: worked example of a custom codec in the codecs guide by @powersemmi in #255
  • docs: refresh the tutorial's code blocks by @powersemmi in #256
  • chore(deps): bump taiki-e/install-action from 2.86.1 to 2.86.5 in the actions group by @dependabot[bot] in #257
  • chore(deps): bump trybuild from 1.0.119 to 1.0.120 in the cargo-minor-patch group by @dependabot[bot] in #258
  • Finish the publish builder and remove the surface it replaced by @powersemmi in #259
  • docs: add the benchmark methodology and the results contract by @powersemmi in #260
  • ci: probe the broker crates against each core release by @powersemmi in #262
  • feat: broker-supplied base headers under a key-wise with_headers merge by @powersemmi in #265
  • fix: declare the dependency floors the library actually compiles against by @powersemmi in #266
  • fix: template manifests break git-source consumers of the crate by @powersemmi in #268
  • docs: say what the API is, not why by @powersemmi in #269
  • chore(deps): bump taiki-e/install-action from 2.86.5 to 2.86.6 in the actions group by @dependabot[bot] in #270
  • chore(deps): bump syn from 3.0.3 to 3.0.4 in the cargo-minor-patch group by @dependabot[bot] in #272
  • chore(deps): bump taiki-e/install-action from 2.86.6 to 2.86.7 in the actions group by @dependabot[bot] in #271
  • refactor: rename the typed-header extractor to Headers, the map to HeaderMap by @powersemmi in #273
  • chore(deps): bump taiki-e/install-action from 2.86.7 to 2.87.0 in the actions group by @dependabot[bot] in #278
  • Unify the manual path behind one Handle trait and rewrite the macros onto the same rails by @powersemmi in #274
  • Publish through the typed entry point only, with a codec-optional surface and a batch-aware harness by @powersemmi in #281
  • Retell the README and the docs for the 0.7 surface by @powersemmi in #282
  • chore(deps): bump taiki-e/install-action from 2.87.0 to 2.87.2 in the actions group by @dependabot[bot] in #285
  • chore(deps): bump taiki-e/install-action from 2.87.2 to 2.87.3 in the actions group by @dependabot[bot] in #293
  • Land the whole 0.7 surface on one branch by @powersemmi in #292
  • Let a generated message serialise itself on the byte lanes by @powersemmi in #296
  • Fix the findings the 0.7 broker adaptation left in the core by @powersemmi in #295
  • Release 0.7.0-rc.1 by @powersemmi in #297
  • Build the scaffold against the version the workspace carries by @powersemmi in #298
  • chore(deps): bump syn from 3.0.4 to 3.0.5 in the cargo-minor-patch group by @dependabot[bot] in #300
  • chore(deps): bump taiki-e/install-action from 2.87.3 to 2.87.5 in the actions group by @dependabot[bot] in #299
  • Make settlement mean what the contract says by @powersemmi in #308
  • Rewrite the Russian documentation to the documentation rules by @powersemmi in #310
  • Rewrite the English and Chinese documentation to the documentation rules by @powersemmi in #312
  • chore(deps): bump taiki-e/install-action from 2.87.5 to 2.87.7 in the actions group by @dependabot[bot] in #313
  • feat: resolve the reply destination from the reply type by @powersemmi in #311
  • Make the broker compatibility probe able to fail, and able to see by @powersemmi in #314
  • fix(ci): fail the run when the UI snapshots are skipped instead of checked by @powersemmi in #326
  • Say which crates ship a scaffold by @powersemmi in #323
  • fix: publish a deferred retry where the subscription says by @powersemmi in #321
  • fix: state and serve the server description's host obligation by @powersemmi in #318
  • fix: report a missing Outgoing derive at the handler, not at the mount by @powersemmi in #320
  • chore(deps): bump taiki-e/install-action from 2.87.7 to 2.87.8 in the actions group by @dependabot[bot] in #328
  • chore(deps): bump trybuild from 1.0.120 to 1.0.121 in the cargo-minor-patch group by @dependabot[bot] in #329
  • fix: bound what the memory broker keeps by @powersemmi in #319
  • Let a transform declare whether it may name a destination by @powersemmi in #324
  • fix: stop telling the user to drop a redirect step that does not exist by @powersemmi in #334
  • feat: carry a broker's per-message settings as typed options on the publish builder by @powersemmi in #330
  • feat: bind the deferred-retry publisher at the mount site, with out_reply and out_retry by @powersemmi in #339
  • chore: bump the version to 0.7.0-rc.4 by @powersemmi in #342
  • ci: run the checks on a stacked pull request under the run-ci label by @powersemmi in #348
  • feat: declare the retry cap and the dead-letter destination at the mount site by @powersemmi in #344
  • chore: bump the version to 0.7.0-rc.5 by @powersemmi in #350
  • fix: never cap an immediate retry the broker moves itself by @powersemmi in #353
  • chore(deps): bump taiki-e/install-action from 2.87.8 to 2.87.11 in the actions group by @dependabot[bot] in #360
  • fix: read the cap on the native path from the one count the transport has by @powersemmi in #359
  • feat: carry a bare-name retry declaration to the broker, pass the resolved destination to the bindings hooks, and move the guides to docs.rs by @powersemmi in #355
  • chore: bump the version to 0.7.0-rc.6 by @powersemmi in #361
  • fix: report a named retry destination as a channel the registration sends to by @powersemmi in #362
  • chore: bump the version to 0.7.0-rc.7 by @powersemmi in #363
  • fix: count deliveries on the memory broker so a declared cap is spent on its native path by @powersemmi in #368
  • chore(deps): bump taiki-e/install-action from 2.87.11 to 2.87.12 in the actions group by @dependabot[bot] in #369
  • feat: benchmark the framework's own code by @powersemmi in #365
  • perf: bring the publish paths to zero allocations per message by @powersemmi in #372
  • feat(bench): a configurable delivery count and the allocation ratio in the report by @powersemmi in #373
  • ci: run on every pull request base, and nothing on a draft by @powersemmi in #374
  • perf: bring the batch consume path to the hand-written loop's allocation count by @powersemmi in #376
  • chore(deps): bump clap from 4.6.6 to 4.6.7 in the cargo-minor-patch group by @dependabot[bot] in #378
  • chore(deps): bump taiki-e/install-action from 2.87.12 to 2.87.13 in the actions group by @dependabot[bot] in #377
  • docs: add the Greptile badge to the README by @powersemmi in #379
  • perf: header keys and message names stop allocating per delivery by @powersemmi in #381
  • bench: the core measures its own cost, not a comparison with itself by @powersemmi in #384
  • docs: the broker table carries the crate's own consumer beside the client and the service by @powersemmi in #385
  • perf: a delivery is one reference count, and a transform can name a destination from bytes it already holds by @powersemmi in #386
  • chore: 0.7.0-rc.8 by @powersemmi in #388
  • perf: a pooled dispatch loop arms the shutdown waiter only where it parks by @powersemmi in #391
  • A publish hands the broker the buffer it produced, instead of lending one by @powersemmi in #393
  • perf: a broker takes the header map instead of cloning it by @powersemmi in #398
  • perf: the in-memory broker takes a delivery's name from the registration that will receive it by @powersemmi in #399
  • feat: a publisher declares whether it lends or takes the payload by @powersemmi in #400
  • chore: 0.7.0-rc.9 by @powersemmi in #402
  • chore(deps): bump taiki-e/install-action from 2.87.13 to 2.87.15 in the actions group by @dependabot[bot] in #405
  • chore(deps): bump syn from 3.0.5 to 3.0.6 in the cargo-minor-patch group by @dependabot[bot] in #404
  • ci: the run-bench label is gone, and the cost job measures main alone by @powersemmi in #408
  • perf: the runtime's fixed cost per delivery by @powersemmi in #407
  • docs: the paired procedure keeps three rounds, not eleven by @powersemmi in #403
  • bench: the benchmark docs stop describing a hand-written twin by @powersemmi in #409
  • fix(otel): queue time uses the duration buckets by @powersemmi in #410
  • feat(otel): OtelBuilder::view for the provider init builds by @powersemmi in #411
  • ci: one CI result gates the merge, checks share runners, and the benchmarks leave CI by @powersemmi in #413
  • chore: just brokers and a CONTRIBUTING guide for testing a change on the brokers by @powersemmi in #415
  • docs: an llms.txt indexes the documentation for language models by @powersemmi in #416
  • chore(deps): bump the OpenTelemetry crates to 0.33 and tracing-opentelemetry to 0.34 by @powersemmi in #423
  • bench: the measured frame outlives the body it measures by @powersemmi in #433
  • perf: the per-delivery context drops in place by @powersemmi in #424
  • perf: the sequential loop's poll writes each delivery into the loop's slot by @powersemmi in #432
  • perf: HeaderMap keeps its entries in a list by @powersemmi in #426
  • perf: serializers write the encode buffer through an append-only writer by @powersemmi in #434
  • perf: framework-issued header names enter the map as static strings by @powersemmi in #435
  • perf: a reply's publish context asks the delivery for its headers only when read by @powersemmi in #431
  • perf: a discarding memory subscription registers no seek waker per poll by @powersemmi in #427
  • perf: the runtime publishes a zero-delay retry copy inline by @powersemmi in #430
  • perf: a memory delivery holds its subscription behind one reference count by @powersemmi in #428
  • perf: a memory batch is allocated at the size the registration asked for by @powersemmi in #425
  • perf: a zero-delay nack_after on the memory broker requeues at once by @powersemmi in #429
  • perf: a pooled worker takes one count on what the loop shares by @powersemmi in #437
  • perf: workers(n) runs a fixed set of long-lived workers per subscription by @powersemmi in #438
  • feat: TestApp runs the production app, each broker in process or live by @powersemmi in #440
  • feat(memory): pattern subscriptions and a routing rule by @powersemmi in #442
  • fix(testing): TestApp starts in the service's order and settles per subscription by @powersemmi in #443
  • fix(conformance): the routing suite checks the backlog a broker declares by @powersemmi in #444
  • chore(deps): bump taiki-e/install-action from 2.87.17 to 2.87.18 in the actions group by @dependabot[bot] in #446
  • fix: a retry_after copy pending at shutdown is published before the broker closes by @powersemmi in #449
  • feat(#441): a broker's internal tasks run on the runtime it connected on by @powersemmi in #447
  • feat(#436): threads(n), dedicated threads for a CPU-bound subscription by @powersemmi in #448
  • feat(#436): poll-time diagnostics for handlers that belong on threads(n) by @powersemmi in #450
  • chore: 0.7.0-rc.10 by @powersemmi in #454
  • perf(#436): a threads(n) thread spins briefly before it parks by @powersemmi in #455
  • fix(#436): poll diagnostics do not advise threads(n) to a subscription already on it by @powersemmi in #456
  • test(#436): one test per behavior for threads(n) and poll diagnostics by @powersemmi in #457
  • test: one test per behavior on the publish side by @powersemmi in #459
  • test: one test per behavior for the subscribe, dispatch and app side by @powersemmi in #460
  • test: one test per behavior for retry, the harness, the memory broker and observability by @powersemmi in #461
  • conformance: the lifecycle holds on every entry point and every handle by @powersemmi in #465
  • conformance: settlement means what it says, live, in any order by @powersemmi in #466
  • conformance: the in-process transport routes, counts and refuses like the real one by @powersemmi in #463
  • conformance: retries reach their subscription, count their attempts and dead-letter at the cap by @powersemmi in #467
  • conformance: order, headers, keys and per-message settings survive the real publisher by @powersemmi in #462
  • conformance: capabilities hold from a handler thread and after shutdown by @powersemmi in #464
  • chore: the gates build without the incremental cache by @powersemmi in #469
  • chore: 0.7.0-rc.11 by @powersemmi in #470
  • docs: retry_after with a zero delay is retry() in effect by @powersemmi in #474
  • docs(ru): the Russian site reads plainly by @powersemmi in #471
  • chore(deps): bump thiserror from 2.0.20 to 2.0.21 in the cargo-minor-patch group by @dependabot[bot] in #478
  • chore(deps): bump taiki-e/install-action from 2.87.18 to 2.87.20 in the actions group by @dependabot[bot] in #480
  • chore(deps): bump rtrb from 0.3.5 to 0.4.0 by @dependabot[bot] in #479
  • chore(deps): bump gungraun from 0.19.4 to 0.20.0 by @dependabot[bot] in #481
  • chore(deps): bump taiki-e/install-action from 2.87.20 to 2.87.21 in the actions group by @dependabot[bot] in #482
  • feat(#472): report a mount-site reply name the reply type overrides at startup by @powersemmi in #473
  • feat!: the reply argument of #[subscriber] is named reply by @powersemmi in #475
  • docs: the examples rule covers the items a reader sees by @powersemmi in #476
  • docs: the README is a short first contact by @powersemmi in #483
  • chore(deps): bump quanta from 0.12.6 to 0.13.0 by @dependabot[bot] in #484
  • chore: release 0.7.0-rc.12, MSRV 1.95 by @powersemmi in #485
  • docs: clippy 1.99, and examples that show the item in use by @powersemmi in #486
  • docs: the benchmarks page shows every broker's results by @powersemmi in #488
  • chore: release 0.7.0 by @powersemmi in #489

Full Changelog: v0.6.1...v0.7.0