dropbox / dropbox/rust-brotli

Prevent exposing internal APIs as public

Open
#209 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
943
Forks
109
Avg merge
8d 3h
Merged PRs (30d)
1

Description

Currently this crate exposes every internal implementation detail as public API, making it almost impossible to do proper releases -- any internal change is seen as a public API change - thus breaking semver guarantees, forcing brotli crate to be published with a major version change. This fragments the community because cargo is unable to simply pick the later version of the crate for all usages in the same project.

To solve this, I would like to go through all of the APIs, and mark ALL of them as internal (crate-level), and then re-enable just the ones we explicitly want to publish. I am not sure if there is a tool for this, so I might have to go to the biggest users of the crate and see what APIs they use.

![image](https://github.com/dropbox/rust-brotli/assets/1641515/dddc84e1-6cfb-4770-b6bc-5cbea3edaf14)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.