• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-java / 30889527320
100%

Build:
DEFAULT BRANCH: 26.x
Ran 04 Aug 2026 07:59AM UTC
Jobs 1
Files 650
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Aug 2026 07:51AM UTC coverage: 100.0%. Remained the same
30889527320

push

github

web-flow
[Dispatch] feat!: Remove the dispatch component (#135)

# Description

The dispatch component is dead code in Java. Nothing outside
`io.valkyrja.dispatch`
imported it. The HTTP, CLI, and gRPC routers each invoke the controller
method
directly, and the event dispatcher resolves its listeners itself.

The component is a holdover from the PHP reference implementation, which
used
dynamic dispatch to call controllers, actions, and listeners through
reflection.
The language parity work replaced that mechanism with explicit typed
handlers, so
Java never had a caller for the component that it received in the port.

This pull request removes the component and its tests.

Three notes on the choices made.

**This is an outright removal, not a deprecation.** `VERSIONING.md`
states that a
planned break waits for the year boundary: deprecate first, remove at
the next
`YY`. The removal goes in now because the framework itself never called
the
component. A consumer cannot reach the component indirectly, so the
break reaches
only code that imports `io.valkyrja.dispatch.*` by hand.

**The base branch is `26.x`, not `master`.** The branch targeting table
routes a
breaking change to `master`. `master` lags far behind `26.x` in this
repository,
so the change targets the version branch instead.

**PHP still holds its Dispatch component.** `valkyrja-php` keeps
`src/Valkyrja/Dispatch`. TypeScript, Go, Python, and Kotlin never had
one. The PHP
removal is separate work and this pull request does not do it.

The architecture documents still describe the component. `DISPATCH.md`
states that
the component "is retained as an optional power feature for PHP and Java
only",
`AGENTS.md` gives the port order as "Container → Dispatch → Event → …",
`java/AGENTS.md` names `dispatch` in the package list, and
`java/README.md` repeats
the port order and shows two
`Router(c.getSingleton(DispatcherContract.class))`
examples. Those live in the `architecture` repository and get their own
pull
re... (continued)

1879 of 1879 branches covered (100.0%)

Branch coverage included in aggregate %.

6864 of 6864 relevant lines covered (100.0%)

4.32 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30889527320.1 04 Aug 2026 07:59AM UTC 650
100.0
GitHub Action Run
Source Files on build 30889527320
  • Tree
  • List 650
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30889527320
  • 33b167e2 on github
  • Prev Build on 26.x (#30840739772)
  • Next Build on 26.x (#30930425597)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc