Changelog #225

Commit: b6d1887
Release: 2024-03-18 (v0.3.1885)

Announcement

Today’s release switches to Ubuntu 20.04 for building the official binaries, bringing the minimum supported GLIBC version to 2.31. Upgrading was forced by GitHub Actions moving form Node.js 16 to 20. See #16793 for more information.

Affected distributions include Debian 10, Ubuntu 18.04, Enterprise Linux 7 and 8, and Amazon Linux 2. For now, the alternatives are building from source, or using the rust-analyzer toolchain component.

New Features

  • #16789 apply #[cfg] to proc macro inputs.

  • #16834 support macro calls in eager macros for IDE features.

  • #16808 add proc macro semantic token type.

Fixes

  • #16762 (first contribution) add quick fix for "undersolved field" diagnostic.

  • #16810 add fix for "unused variable" diagnostic.

  • #16856 fix where clause rendering on hover.

  • #16846 fix panic and incorrect handling of use in extract_module.

  • #16861 ignore some warnings if they originate from macro expansions.

  • #16845 show compilation progress in test explorer.

  • #16847 distinguish integration tests from crates in test explorer.

  • #16820 don’t auto-close block comments in strings.

Internal Improvements

  • #16819 improve rooted upmapping.

  • #16832 shrink MacroCallLoc.

  • #16841 use associated items as anchors for spans.

  • #16842 make proc macro definition site spans more resistant to invalidation.

  • #16844 replace Span with SyntaxContextId in MacroCallLoc.

  • #16771 don’t desugar self parameter into a pattern.

  • #16335 compress file text using LZ4.

  • #16473 stop eagerly resolving inlay hint text edits for VS Code.

  • #16749, #16811 some method resolution clean-ups.

  • #16862 remove redundant clones

  • #16784 remove synstructure const hack support.

  • #16851 build linux-gnu releases on Ubuntu 20.04.