Go 1.24 Release Notes

Introduction to Go 1.24 The latest Go release, version 1.24, arrives six months after Go 1.23. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language Go 1.24 now fully supports generic type aliases: a type alias may be parameterized like a defined type. See the language spec for details. For now, the feature can be disabled by setting GOEXPERIMENT=noaliastypeparams; but the aliastypeparams setting will be removed for Go 1.25. ...

二月 14, 2025 · 20 分钟 · anoya

Rust版本更新: 1.84.1

1.84.1修复了在1.84.0中引入的一些回归问题: 修复ICE 132920中的重复箱诊断。 修复增量编译过程中的错误,涉及到重叠实现。 修复与下一代特征求解器相关的慢速编译。 修复LLVM的位置判别符值限制超过时的debuginfo。 此外,还包括一些从源代码构建Rust时的修复: 只有在LLVM工具被启用时才尝试分发llvm-objcopy。 为非Git来源添加配置覆盖选项。 在拷贝它们之前,解除LLVM工具二进制文件的符号链接。 使它可能使用ci-rustc在tarball源上。

二月 1, 2025 · 1 分钟 · anoya

(译文)Rust版本更新: 1.84.0

Cargo考虑Rust版本来选择依赖版本 1.84.0稳定了支持的最低Rust版本(MSRV)感知解析器,该解析器首选与项目声明的MSRV兼容的依赖版本。通过MSRV感知版本选择,维护者无需为每个依赖项手动选择旧版本,减少了支持旧工具链的工作量。 您可以通过.cargo/config.toml选择加入MSRV-aware解析器: [resolver] incompatible-rust-versions = "fallback" 然后,在添加依赖项时: $ cargo add clap Updating crates.io index warning: ignoring clap@4.5.23 (which requires rustc 1.74) to maintain demo's rust-version of 1.60 Adding clap v4.0.32 to dependencies Updating crates.io index Locking 33 packages to latest Rust 1.60 compatible versions Adding clap v4.0.32 (available: v4.5.23, requires Rust 1.74) 当验证CI中的最新依赖项时,您可以覆盖此: $ CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS=allow cargo update Updating crates.io index Locking 12 packages to latest compatible versions Updating clap v4.0.32 -> v4.5.23 您还可以通过在Cargo.toml清单文件中设置package.resolver = "3"来选择加入,尽管这将需要将您的MSRV提高到1.84。默认情况下,新解析器将为使用2024版本(将在1.85中稳定)的项目启用。 ...

一月 9, 2025 · 1 分钟 · anoya

(原文)Rust版本更新: 1.84.0

Cargo considers Rust versions for dependency version selection 1.84.0 stabilizes the minimum supported Rust version (MSRV) aware resolver, which prefers dependency versions compatible with the project’s declared MSRV. With MSRV-aware version selection, the toil is reduced for maintainers to support older toolchains by not needing to manually select older versions for each dependency. You can opt-in to the MSRV-aware resolver via .cargo/config.toml: [resolver] incompatible-rust-versions = "fallback" Then when adding a dependency: $ cargo add clap Updating crates.io index warning: ignoring clap@4.5.23 (which requires rustc 1.74) to maintain demo's rust-version of 1.60 Adding clap v4.0.32 to dependencies Updating crates.io index Locking 33 packages to latest Rust 1.60 compatible versions Adding clap v4.0.32 (available: v4.5.23, requires Rust 1.74) When verifying the latest dependencies in CI, you can override this: ...

一月 9, 2025 · 4 分钟 · anoya