MSRV policy
Overview
Section titled “Overview”The brush project maintains a conservative MSRV policy to balance two key concerns:
- Binary distribution: Users building
brushfrom source should not need a bleeding-edge compiler - Library usage: Downstream projects depending on
brushcrates should not face aggressive MSRV increases
Policy
Section titled “Policy”When We Update MSRV
Section titled “When We Update MSRV”We do not update MSRV proactively. Updates only occur when:
- A meaningful set of language features or capabilities becomes available that provides clear value to the project
- The return-on-investment justifies the potential impact on users and downstream dependencies
MSRV Age Requirements
Section titled “MSRV Age Requirements”When we do update MSRV, we move to a Rust version that is at least 4-6 months old from the time of the update. This ensures:
- Sufficient time for the Rust version to stabilize
- Wide availability in package managers and development environments
- Reduced friction for users building from source
Communication
Section titled “Communication”MSRV changes are always:
- Explicitly documented in release notes
- Considered a notable change requiring user awareness
- Announced with clear justification for the update
Rationale
Section titled “Rationale”This conservative approach recognizes that brush serves dual purposes: as a standalone binary tool and as a library for integration into other projects. Both use cases benefit from stability and predictability in compiler requirements.
Describes brush v0.4.0. Maintained upstream as docs/reference/msrv-policy.md; later changes on main may not be reflected here yet.
Open source under the MIT license. Built in the open by the brush community.