channel v5 removes two v4 APIs that have replacements already available in v4, so the switch can happen now to shrink the eventual v5 migration:
Binding.Bind(h) is removed from the Binding interface; the replacement is invoking the handler directly via h.BindChannel(binding)
- the per-message send priority API (
WithPriority, the Priority type and constants) is removed; prioritization in v5 is done by underlay selection, not queue reordering
Dropping WithPriority is behaviorally safe: the Highest-tagged dial requests ride the control sender, where priority was already a no-op on grouped channels; the High-tagged state messages deliberately ride the data channel for ordering, where the priority tag was a latent reorder hazard rather than a guarantee. Both match channel v5 behavior.
channel v5 removes two v4 APIs that have replacements already available in v4, so the switch can happen now to shrink the eventual v5 migration:
Binding.Bind(h)is removed from theBindinginterface; the replacement is invoking the handler directly viah.BindChannel(binding)WithPriority, thePrioritytype and constants) is removed; prioritization in v5 is done by underlay selection, not queue reorderingDropping
WithPriorityis behaviorally safe: theHighest-tagged dial requests ride the control sender, where priority was already a no-op on grouped channels; theHigh-tagged state messages deliberately ride the data channel for ordering, where the priority tag was a latent reorder hazard rather than a guarantee. Both match channel v5 behavior.