On this page · 9 sections
  1. Two releases, two different scopes
  2. Rust 1.99.1: the wcslen symbol and UEFI targets
  3. Rust 1.99.1: FFI bool return values on x86_64
  4. Rust 1.99.1: rust-lld on macOS
  5. rustup 1.29.2: the eMudhra intermediate certificates issue
  6. Caveat: anti-malware scanners
  7. Upgrade checklist
  8. What the sources do not cover
  9. Sources

TL;DR

Two October 2026 releases address separate issues. Rust 1.99.1 fixes three regressions affecting UEFI targets, x86_64 FFI bool return values, and rust-lld on macOS. rustup 1.29.2 updates certificate-related dependencies to address an intermediate certificate issue. Developers who use Rust on those targets, or who install through rustup, should update.

Two releases, two different scopes #

The Rust team published Announcing Rust 1.99.1 on October 15, 2026. The post describes it as a point release that fixes regressions from prior releases. Each fix is listed separately in that post, so this article attributes each change to Rust 1.99.1 only.

The rustup team published Announcing rustup 1.29.2 on October 20, 2026. That post describes a small release that updates only the rustls-webpki and webpki-root-certs dependencies. The change is attributed to rustup 1.29.2 and is not attributed to Rust 1.99.1.

ChangeWho is affectedAction
Rust 1.99.1: missing wcslen symbol is now provided in compiler-builtins as a fallbackUsers of some Rust targets that had link errors for wcslen, including UEFI targets for projects using stdUpdate to Rust 1.99.1 with rustup update stable
Rust 1.99.1: bool return values from FFI functions on x86_64 are marked for zero-extension againCallers of Rust functions that return bool through FFI on x86_64Update to Rust 1.99.1 and check FFI callers that read the return value
Rust 1.99.1: rust-lld is built with an rpath entry for the directory containing libLLVM.dylibmacOS users who invoke the compiler without the rustup proxyUpdate to Rust 1.99.1 and retest direct compiler invocations
rustup 1.29.2: updates rustls-webpki and webpki-root-certsUsers affected by the eMudhra intermediate certificates issue described in CVE-2026-111943Run rustup self update and then rustup update

Rust 1.99.1: the wcslen symbol and UEFI targets #

The first Rust 1.99.1 fix concerns a missing wcslen symbol. The release notes say some Rust targets produced link errors because that function was missing. The fix places wcslen in Rust's compiler-builtins library as a fallback.

The notes also describe the source of the calls. They state that the LLVM loop-idiom-wcslen pass may introduce calls to wcslen as an optimization. Some Rust targets did not have that function readily available in libc or elsewhere. The notes name the UEFI targets as broken for any project using std, because some of these calls were introduced in the precompiled standard library. They add that the issue could also be reproduced with similar user code patterns.

For developers on UEFI targets, the practical step is to update the toolchain and rebuild. The notes do not describe any workaround for earlier toolchains, so this article does not offer one.

Rust 1.99.1: FFI bool return values on x86_64 #

The second fix addresses a miscompilation. According to the Rust 1.99.1 notes, Rust functions that return bool through FFI could leave bits 1 to 7 of the return register unspecified. As a result, callers could observe raw values other than 0 or 1.

The notes state that this return type is now marked for zero-extension again, as required by the ABI. The release lists this change under Rust 1.99.1. The notes do not give a test case or a list of affected crates, so this article does not claim either.

Developers who expose Rust functions through FFI on x86_64 should check how their C or other foreign callers read bool return values after they update. This is a practical check, not a result the notes report.

Rust 1.99.1: rust-lld on macOS #

The third fix concerns rust-lld on macOS. The notes say this linker could fail to run when the compiler was invoked without the rustup proxy. The reason given is that there was no direct setting for the appropriate library search path.

The fix is described as follows: rust-lld is now built with an rpath entry for the directory that contains libLLVM.dylib. Users who call the compiler directly, outside the rustup proxy, are the group the notes identify as affected.

rustup 1.29.2: the eMudhra intermediate certificates issue #

The rustup 1.29.2 announcement is a small release. It updates only the rustls-webpki and webpki-root-certs dependencies. The stated purpose is to address the problematic eMudhra intermediate certificates issue described in CVE-2026-111943. The post also refers to RUSTSEC-2026-0382, and it points readers to the changelog for further details.

The rustup post does not describe how the certificate problem appears to users, so this article does not describe that either. It reports only that the dependency update addresses the issue named in the advisory.

Caveat: anti-malware scanners #

The rustup post includes a caveat that is not a rustup defect. The team notes that rustup releases can come with problems that are caused by a new release rather than by rustup itself. In particular, anti-malware scanners might block rustup or stop it from creating or copying files. The post says this is most likely when installing rust-docs, which contains many small files.

The post states that issues like this should resolve in a few weeks, once anti-malware scanners are updated to recognize the new rustup release. Teams with strict endpoint scanning should expect that installation step to need extra attention during that period. The post does not say how long the scanner update will take in any specific environment.

Warning

If a scanner blocks rustup while it creates or copies files during installation, the rustup post suggests the problem is expected for a new release and should resolve as scanners are updated. It does not describe a workaround.

Upgrade checklist #

  1. Identify which programs use rustup on your machine, such as your IDE or build tools, and stop them before updating. The rustup post recommends this step.

  2. Update rustup to 1.29.2 by running the self-update command:

    Bash
    rustup self update
  3. Update the toolchain. The rustup post says rustup also updates itself at the end of a normal toolchain update. To update Rust to 1.99.1 on the stable channel, run:

    Bash
    rustup update stable
  4. If you are on a UEFI target, rebuild projects that use std and confirm that the wcslen link errors are gone.

  5. If you ship Rust functions that return bool through FFI on x86_64, test how foreign callers read the return value.

  6. If you invoke rust-lld on macOS without the rustup proxy, run those direct invocations again.

  7. If installation fails with file creation or copy errors, check whether anti-malware scanning is blocking rustup, especially during rust-docs installation. The rustup post says this should resolve as scanners update.

  8. If you want to help test future releases, the Rust 1.99.1 notes suggest using the beta and nightly channels locally and in CI, with rustup default beta or rustup default nightly, and reporting any bugs you find.

What the sources do not cover #

The Rust 1.99.1 and rustup 1.29.2 notes do not describe the full set of affected versions for each issue, and they do not provide benchmarks or test results. They also do not state a release order between these two announcements beyond their published dates. This article therefore limits its claims to the changes each release lists.

Sources

  1. Announcing rustup 1.29.2 | Rust Blog blog.rust-lang.org · Oct 20, 2026
  2. Announcing Rust 1.99.1 | Rust Blog blog.rust-lang.org · Oct 15, 2026

Next reading

Edited and approved by Jarosław Krzemiński. Spotted a mistake? Report a correction or read the corrections policy.