惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26 The Rust Team All Hands in Berlin: a Recap Increasing Rust’s Reach 2018 Announcing Rust 1.25 Rust's 2018 roadmap Announcing Rust 1.24.1 Announcing Rust 1.24 The 2018 Rust Event Lineup Announcing Rust 1.23 New Year's Rust: A Call for Community Blogposts Rust in 2017: what we achieved Announcing Rust 1.22 (and 1.22.1) Fearless Concurrency in Firefox Quantum Announcing Rust 1.21 impl Future for Rust Rust 2017 Survey Results Announcing Rust 1.20 Announcing Rust 1.19 The 2017 Rust Conference Lineup Rust's 2017 roadmap, six months in Increasing Rust’s Reach Announcing Rust 1.18 Two years of Rust The Rust Libz Blitz Launching the 2017 State of Rust Survey Announcing Rust 1.17 Announcing Rust 1.16 Rust's language ergonomics initiative Announcing Rust 1.15.1 Rust's 2017 roadmap Announcing Rust 1.15 Announcing Rust 1.14 Announcing the First Underhanded Rust Contest Announcing Rust 1.13 Announcing Rust 1.12.1 Announcing Rust 1.12 Incremental Compilation Announcing Rust 1.11 Shape of errors to come The 2016 Rust Conference Lineup Announcing Rust 1.10 State of Rust Survey 2016 Announcing Rust 1.9 One year of Rust Taking Rust everywhere with rustup Launching the 2016 State of Rust Survey Cargo: predictable dependency management Introducing MIR Announcing Rust 1.8 Announcing Rust 1.7 Announcing Rust 1.6 Announcing Rust 1.5 Announcing Rust 1.4 Announcing Rust 1.3 Rust in 2016 Announcing Rust 1.2 Rust 1.1 stable, the Community Subteam, and RustCamp Announcing Rust 1.0 Abstraction without overhead: traits in Rust Rust Once, Run Everywhere Mixing matching, mutation, and moves in Rust Fearless Concurrency with Rust Announcing Rust 1.0 Beta Announcing Rust 1.0.0.alpha.2 Rust 1.0: status report and final timeline Announcing Rust 1.0 Alpha Rust 1.0: Scheduling the trains Yehuda Katz and Steve Klabnik are joining the Rust Core Team Cargo: Rust's community crate host Stability as a Deliverable Road to Rust 1.0
Infrastructure Team 2025 Q4 Recap and Q1 2026 Plan | Inside Rust Blog
Marco Ieni on behalf of The Rust Infrastructure Team · 2026-01-13 · via Rust Blog

As we close out the fourth quarter of 2025 and step into 2026, here’s what the Infrastructure Team delivered and what we’re focusing on next.

You can find the previous blog post of this series here.

Q4 2025 Accomplishments

More settings configured in the team repo

The Infrastructure Team always tries to move manually configured settings into Infrastructure as Code (IaC). IaC has various benefits:

  • It helps teams self-serve, since they can inspect their configuration even without admin privileges and request changes via pull requests.
  • It improves security by making configuration drift harder. Manual changes are still possible, but they will be detected more easily and reverted on the next run of the IaC automation.

GitHub environments

All GitHub environments for Rust Project repositories are now defined in the team repo.

Here's an example from the bors repository file:

[environments.production]
branches = ["main"]

[environments.staging]
branches = ["main"]

Thanks to amustaque97 for his great work on the GitHub environments issue!

Trusted publishing

All crates owned by the Rust Project that use crates.io trusted publishing now configure it as IaC via the team repo.

Here's an example from the measureme repository file:

[[crates-io]]
crates = ["analyzeme", "decodeme", "measureme"]
publish-workflow = "publish.yml"
publish-environment = "publish"

The work to configure trusted publishing for all the Rust Project crates will be easier now.

Crates.io index and docs.rs served via Fastly

The crates.io index and the docs.rs website are now served by the Fastly CDN.

We made this change because Fastly donates its CDN to us, and we want to use our AWS credits for other resources.

For docs.rs, we also enabled Fastly shielding, which adds an additional caching layer to reduce the load on our origin server. Here's the effect of enabling shielding on the number of active connections after a brief experiment on December 2 and enabling it permanently on December 3:

A graph showing the number of active connections to docs.rs dropping significantly after enabling Fastly shielding

Note that the crates.io index is still partially served by CloudFront, and we can configure how much traffic goes to each CDN.

Thanks to the crates.io and docs.rs teams for helping with this!

The new Bors is used to merge Rust compiler pull requests

The Infra and Bors teams continued working on migrating the Rust CI from the legacy Bors (Homu) to the new Bors, written in Rust.

We have now enabled the new bot to merge rust-lang/rust PRs, completing the migration off Homu and improving the reliability of our continuous integration infrastructure 🎉.

We would like to thank all contributors who contributed to the development of bors, in particular Võ Hoàng Long and Sakibul Islam.

rustc-perf benchmarks are now executed in parallel

We made progress with the Project Goal for parallel benchmarking of the Rust compiler. We now have two x64 machines that run benchmarks in parallel, which reduced the latency of getting a full compiler benchmark result from ~1h 20m to ~40m.

In 2026, we plan to make further improvements to the benchmarking suite, such as enabling benchmarking on other hardware architectures.

Repository default branch renames

The following repositories have renamed their default branch from master to main:

Hired a new teammate

The Rust Foundation hired a new Infrastructure Engineer in Q4. They’ll start in January 2026, increasing the team’s capacity to better serve the Project.

Thanks to Kobzol for helping with the hiring process!

Triagebot enhancements

Triagebot is our trusty bot incessantly processing workflows on GitHub and on our Zulip chat.

We implemented several notable changes in Q4 2025.

Triagebot label command now supports aliases

We now have a mechanism for creating aliases when applying batches of labels to an issue (or a pull request) on GitHub. If you find yourself repeatedly applying or removing the same set of labels, you can now create an alias.

Example:

@rustbot label +regression-untriaged +I-prioritize +needs-repro

could become an alias:

@rustbot label regression-needs-triaging

Thanks to @apiraino for implementing the feature in #2216 (documentation).

Turn automatic backport nominations into suggestions

We now offer project teams a streamlined workflow for backports to the stable/beta release channels. Patches fixing regressions can be manually "nominated" for backport by anyone interested in having said patch tested earlier. Backport nominations are discussed during the weekly triage team meetings (and then approved or declined).

Now teams can configure the triagebot to:

  • Automatically nominate patches fixing P-high/P-critical regressions occurred in the beta/stable release channels.
  • Automatically open topics in our Zulip chat to evaluate backports asynchronously (see the compiler and rustdoc channels). During the triage meeting, the topic is quickly skimmed and a decision can be taken faster.

Thanks to @apiraino for implementing the feature in #2191 (documentation).

New Triagebot commands: r? me and @rustbot reroll

Two new triagebot features have been added to improve reviewer assignment.

First, @Urgau implemented support for using r? me as a shorthand for self-assignment in #2218. This provides a convenient alternative to manually typing r? @username when assigning a pull request to yourself.

Second, @Kobzol added the new @rustbot reroll command in #2219. This new command re-runs the automatic reviewer assignment logic normally triggered when a PR is first opened, using the latest diff and owner map.

[no-mentions] handler removed from Triagebot

We have removed the [no-mentions] handler from triagebot, as it is no longer needed. This handler was originally used to ask users to avoid @-mentions in commit messages to avoid triggering user notifications.

Thanks to GitHub’s recent change, which disables notifications for mentions in commits, this workaround is no longer necessary. We appreciate GitHub for making this improvement and simplifying the workflow for everyone involved.

Highlighting of log lines in Triagebot’s GHA log viewer

Triagebot’s GitHub Actions log viewer now supports highlighting selected log lines, similar to GitHub’s own code highlighting feature.

This improvement was implemented by @Urgau in #2234. It allows users to select one or more lines in build logs and share them easily using highlighted URLs, making it simpler to point others directly to relevant sections of long logs.

Here’s an example of the new functionality in action:

Screenshot showing highlighted log lines in Triagebot's GHA log viewer

Triagebot [mentions] now supports glob patterns

The [mentions] configuration in triagebot now supports glob pattern matching.

This improvement was implemented by @Urgau in #2244. With this change, it’s now possible to group related paths under a single rule.

For example, it is now possible to write:

[mentions."library/{dec2flt,flt2dec}"]
cc = ["@ghost"]

instead of maintaining two separate entries for each directory.

Internal Sites team takes its first action

The new t-internal-sites team, responsible for maintaining and supporting the Rust project’s internal websites such as the Forge and the RFCs site, has taken its first action.

The team began by addressing stale non-RFC pull requests which had been stale due to the lack of ownership before t-internal-sites introduction.

Q1 2026 Plans

Finish Q4 2025 goals

In Q4 2025, we didn't manage to finish all our goals, so we will continue working on them in Q1 2026:

  • docs.rs infrastructure modernization: Although we made various improvements to docs.rs in Q4 2025, such as improving the CDN setup, we still want to move from the single EC2 instance to a modern, managed deployment.
  • External hardware CI policy: publish requirements for running Rust CI on external hardware.
  • GCP Dev Desktops: spin up one or two dev desktops in GCP.

You can read more about these goals in our Q4 2025 plan.

Account and Access Management

Finish the work started in rust-lang/infra-team#64 by setting up a Google Workspace for the Rust Project for automated account and access management using SAML.

Move to GitHub Rulesets

To have more flexibility and configurability, we want to migrate from branch protection rules to GitHub Rulesets across all Rust Project repositories.

The branch protection rules are already defined as code in the team repo, so we will need to update the IaC automation to create rulesets instead of branch protection rules.

This would also allow us to configure merge queues as IaC, which is currently not possible (see rust-lang/team#1735).

Join us!

If you're interested in contributing to Rust's infrastructure, have a look at the infra-team repository to learn more about us and reach out on Zulip.

We are always looking for new contributors!