Skip to content

build(channel): consolidate feature flags and documentation #216

Closed

Description

@tisonkun

Parent: #206

Resolution

The 0.7 feature and documentation structure is finalized:

  • Keep oneshot, mpsc, broadcast, and watch as independent opt-in Cargo features matching the public delivery families that are implemented.
  • Do not add a channel umbrella feature. It would not provide a stable audit, dependency, or compilation boundary beyond enabling unrelated APIs together.
  • Do not create feature flags for producer topology or bounded versus unbounded policy. Those choices remain visible in module paths and constructors, such as broadcast::mpmc::unbounded and mpsc::bounded.
  • Keep public modules and source families at direct crate-root paths. Shared implementation machinery remains private under crate::internal when it is genuinely shared.
  • Document each feature and public module in the README and crate-level API map.

Completed by

Future aggregate or topology-specific features require a concrete compile-time, dependency, binary-size, or audit boundary and can be proposed independently.

Activity

  1. tisonkun commented on Aug 29, 2026

    @tisonkun
    MemberAuthor

    Closing as completed. The final 0.7 decision is to retain independent oneshot, mpsc, broadcast, and watch features, with no channel umbrella and no topology- or capacity-specific feature flags. The issue body now records the outcome and the implementing PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions