Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion repos/rust-lang/api-guidelines.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ branch = "gh-pages"
path = "/"

[access.teams]
libs-api = "write"
libs = "write"

[environments.github-pages]
1 change: 0 additions & 1 deletion repos/rust-lang/enzyme.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ compiler = "maintain"
lang = "maintain"
lang-ops = "maintain"
libs = "maintain"
libs-api = "maintain"
release = "maintain"
wg-llvm = "maintain"

Expand Down
1 change: 0 additions & 1 deletion repos/rust-lang/goals.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ types = "maintain"
release = "maintain"
leadership-council = "maintain"
libs = "maintain"
libs-api = "maintain"
edition = "maintain"
goals = "maintain"
goal-owners = "maintain"
Expand Down
1 change: 0 additions & 1 deletion repos/rust-lang/hashbrown.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ path = "/"

[access.teams]
libs = "write"
libs-contributors = "write"

[[rulesets]]
pattern = "main"
Expand Down
2 changes: 0 additions & 2 deletions repos/rust-lang/libs-team.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,3 @@ bots = ["rustbot"]

[access.teams]
libs = "maintain"
libs-api = "maintain"
libs-contributors = "maintain"
2 changes: 0 additions & 2 deletions repos/rust-lang/packed_simd.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ branch = "gh-pages"
path = "/"

[access.teams]
libs-contributors = "write"
libs-api = "write"
libs = "write"
project-portable-simd = "write"

Expand Down
1 change: 0 additions & 1 deletion repos/rust-lang/rust-forge.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ lang = "maintain"
lang-ops = "maintain"
leadership-council = "maintain"
libs = "maintain"
libs-api = "maintain"
mods-venue = "maintain"
edition = "maintain"
release = "maintain"
Expand Down
2 changes: 0 additions & 2 deletions repos/rust-lang/rust.toml

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NB: this touches rust-lang/rust

Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ infra = "write"
lang = "write"
lang-ops = "write"
libs = "write"
libs-api = "write"
libs-contributors = "write"
mods-venue = "write"
opsem = "write"
project-exploit-mitigations = "write"
Expand Down
2 changes: 0 additions & 2 deletions repos/rust-lang/rustc-dev-guide.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ infra = "write"
lang = "write"
lang-ops = "write"
libs = "write"
libs-api = "write"
libs-contributors = "write"
rustdoc = "write"
rustdoc-frontend = "write"
rustc-dev-guide = "maintain"
Expand Down
2 changes: 0 additions & 2 deletions repos/rust-lang/std-dev-guide.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ branch = "gh-pages"
path = "/"

[access.teams]
libs-contributors = "write"
libs-api = "write"
libs = "maintain"
rustc-dev-guide = "write"

Expand Down
2 changes: 0 additions & 2 deletions repos/rust-lang/stdarch.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ compiler = "write"
lang = "write"
lang-ops = "write"
libs = "write"
libs-api = "write"
libs-contributors = "write"

[[rulesets]]
pattern = "main"
Expand Down
2 changes: 0 additions & 2 deletions repos/rust-lang/wg-allocators.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,4 @@ bots = []

[access.teams]
libs = "write"
libs-api = "write"
libs-contributors = "write"
wg-allocators = "maintain"
22 changes: 8 additions & 14 deletions teams/libs-api.toml → teams/archive/libs-api.toml
Original file line number Diff line number Diff line change
@@ -1,46 +1,40 @@
# Library API has been incorporated into Library with RFC#3984
name = "libs-api"
subteam-of = "libs"

[people]
leads = []
members = [
"Amanieu",
"BurntSushi",
"dtolnay",
"joshtriplett",
"the8472",
]
members = []
alumni = [
"alexcrichton",
"Amanieu",
"aturon",
"brson",
"BurntSushi",
"dtolnay",
"Gankra",
"huonw",
"joshtriplett",
"Kimundi",
"KodrAus",
"LukasKalbertodt",
"m-ou-se",
"sfackler",
"withoutboats",
"SimonSapin",
"the8472",
"withoutboats",
"yaahc",
]

[[github]]
orgs = ["rust-lang", "rust-lang-nursery"]

[permissions]
perf = true
crater = true
bors.rust.review = true

[rfcbot]
label = "T-libs-api"
name = "Library API"
ping = "rust-lang/libs-api"

[website]
weight = 100
name = "Library API team"
description = "Designing and maintaining the standard library API and guarding its stability"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,60 +1,49 @@
# Library Contributors has been incorporated into Library with RFC#3984
name = "libs-contributors"
subteam-of = "libs"

[people]
leads = []
members = [
members = []
alumni = [
"aapoalas",
"adamgemmell",
"calebzulawski",
"ChrisDenton",
"clarfonthey",
"cramertj",
"Darksonn",
"davidtwco",
"dtolnay",
"folkertdev",
"hanna-kruppe",
"ibraheemdev",
"jhpratt",
"joboet",
"JohnTitor",
"kennytm",
"KodrAus",
"LawnGnome",
"Mark-Simulacrum",
"SimonSapin",
"workingjubilee",
"ChrisDenton",
"sunfishcode",
"yaahc",
"Noratrieb",
"jhpratt",
"joboet",
"calebzulawski", # std::simd
"tgross35",
"ibraheemdev",
"folkertdev",
"sayantn",
"m-ou-se",
"programmerjake",
"clarfonthey",
"nia-e",
"davidtwco",
"adamgemmell",
"Darksonn",
"LawnGnome",
"aapoalas",
"hanna-kruppe",
]
alumni = [
"Noratrieb",
"programmerjake",
"sayantn",
"shepmaster",
"SimonSapin",
"sunfishcode",
"tgross35",
"workingjubilee",
"yaahc",
]

[permissions]
bors.rust.review = true
crater = true
dev-desktop = true
perf = true

[[github]]
orgs = ["rust-lang", "rust-lang-nursery"]

[website]
weight = -100
name = "Library contributors"
description = "Contributing to the Rust standard library on a regular basis"

[[zulip-groups]]
name = "T-libs-contributors"

[[zulip-streams]]
name = "t-libs/reviewers"
extra-teams = ["libs", "libs-api"]
30 changes: 30 additions & 0 deletions teams/libs-fcp.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name = "libs-fcp"
subteam-of = "libs"

[people]
leads = []
members = [
"Amanieu",
"BurntSushi",
"cuviper",
"dtolnay",
"joshtriplett",
"the8472",
"thomcc",
]
alumni = []

[rfcbot]
label = "T-libs"
name = "Library"
ping = "rust-lang/libs"

[website]
page = "library"
name = "Library FCP team"
description = "Library team members with responsibility for signing off on API changes"
Comment thread
jieyouxu marked this conversation as resolved.
zulip-stream = "t-libs"
repo = "https://github.com/rust-lang/libs-team"

[[zulip-groups]]
name = "T-libs-fcp"
57 changes: 49 additions & 8 deletions teams/libs.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,57 @@ leads = [
"Amanieu",
]
members = [
"aapoalas",
"adamgemmell",
"Amanieu",
"joshtriplett",
"BurntSushi",
"Byron",
"calebzulawski",
"ChrisDenton",
"clarfonthey",
"cramertj",
"cuviper",
"Darksonn",
"davidtwco",
"dtolnay",
"folkertdev",
"hanna-kruppe",
"ibraheemdev",
"jhpratt",
"joboet",
"JohnTitor",
"joshtriplett",
"kennytm",
"KodrAus",

@Kobzol Kobzol Aug 20, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

KodrAus is both an alumni and a member? I'll add a validation for that.

"LawnGnome",
"Mark-Simulacrum",
"m-ou-se",
"nia-e",
"NobodyXu",
"Noratrieb",
"programmerjake",
"sayantn",
"SimonSapin",
"sunfishcode",
"tgross35",
"the8472",
"thomcc",
"workingjubilee",
"yaahc",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is adding everyone in this list with publish etc. access to the 20 crates currently owned (in part) by libs on crates.io - https://crates.io/teams/github:rust-lang:libs

I suspect we don't really want that. It's not an "umbrella privilege" laid out in the RFC. Some subset of those probably have restricted publishing to trusted publishing, which moves this to a question of repository access.

Should we maybe either remove that access on crates.io or move it to (say) crate-maintainers or libs-fcp? A few of those are controlled by team so we could do it here.

@nia-e nia-e Aug 8, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libs-fcp is imo an acceptable option. we can always add perms to libs or crate-maintainers later, and libs-fcp should not consist of anyone we don't trust with that kind of access. we can always give libs write but not maintain perms for those crates

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @Amanieu in case you have a better idea short term, otherwise we can just move crate publishing to libs-fcp for now

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I brought this up at #t-infra > crates.io owners of rust-lang crates as well. But libc-fcp seems fine to me as well for now.

I think the solution mentioned there of having some bot handle yanks (release-plz?) and eventually removing libs-fcp would be the best long term option.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember this discussion and wasn't 100% sure what the best long-term solution is, since write access to repos with CI publishing would mean that everyone effectively has crate-publishing privileges, but I also have no idea what the threat model here is anyway.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just went through every single crate owned by rust-lang/libs on crates.io. I think we can safely just remove rust-lang/libs from all of them (and add rust-lang-owner to the ones that are missing it).

These all fall into one of these categories:

  • Crates where release-plz is used for publishing, which uses rust-lang-owner and is controlled by write access in the team repo.
  • Crates that are mostly maintained by a select number of people who are additional owners (e.g. dlmalloc-rs which is maintained by alexcrichton)
  • Crates that are deprecated/unmaintained and haven't had a release in years.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As long as infra can yank crates as needed until we get a better solution for that (I assume they can), this sounds reasonable to me.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

infra-admins can, it's just a bit of a hassle since we need to get into the owner account. I guess we can mint a token with yank permissions and stash it somewhere easier/less risky to get into.

@clarfonthey clarfonthey Aug 11, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, just to clarify what exactly would be necessary to make these changes in the repo: we just need to remove teams = ["libs"] from the crates-io section of repos wherever it's present, right? (I did this, but what Amanieu said implies there is more than just a handful of them.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Side note, there are a few crates that have this listed for compiler as well, and since that team is so large, I'm actually unsure if this was noticed when they did their team refactor either.

]
alumni = [
"alexcrichton",
"aturon",
"brson",
"Gankra",
"huonw",
"Kimundi",
"LukasKalbertodt",
"m-ou-se",
"sfackler",
"shepmaster",
"SimonSapin",
"withoutboats",
"yaahc",
]

Expand All @@ -26,11 +69,6 @@ crater = true
dev-desktop = true
bors.rust.review = true

[rfcbot]
label = "T-libs"
name = "Library"
ping = "rust-lang/libs"

[website]
page = "library"
name = "Library team"
Expand All @@ -44,12 +82,15 @@ address = "libs-private@rust-lang.org"
[[lists]]
address = "libs@rust-lang.org"

[[lists]]
address = "libs-api@rust-lang.org"

[[lists]]
address = "library-team@rust-lang.org"

[[zulip-groups]]
name = "T-libs"

[[zulip-streams]]
name = "t-libs/private"
extra-teams = ["libs-api"]
# NOTE: should be renamed to t-libs/private, but non-urgent
name = "t-libs/reviewers"