This is an update release of WPILib for the 2025 season. This release adds an update to the AprilTags layout (see TU12 for details), restores Shuffleboard to 2024 functionality, and has a number of other quality of life improvements and fixes. This upgrade is recommended for all teams.
Upgrading from earlier 2025 releases is easy: simply download and run the new installer and it will update your current installation. If you already have the 2025 WPILib vscode installed, it will detect it and you can simply click "next" for that installation step. After installation, vscode will prompt you when opening your robot project whether you want to upgrade it to this version. Note that using the installer is required to get the new version of desktop tools such as Shuffleboard. This release is compatible with the kickoff release of the RoboRIO image, so there is no need to upgrade the RIO image if you have already done so for 2025.
The documentation for WPILib is located at https://docs.wpilib.org/ (if you have trouble accessing this location, https://frcdocs.wpi.edu/en/stable/ is an alternate location with the same content).
If you're new to FRC, start with Getting Started.
System Requirements: WPILib requires 64-bit Windows 10 or 11 (Arm and 32-bit are not supported), Ubuntu 22.04 or 24.04, or macOS 13.3 or higher. C++ teams should note that the latest version of Visual Studio 2022 is required for desktop builds. Mac users will need to have the Xcode Command Line Tools installed before running the installer. This can be done by running xcode-select --install
in the Terminal.
If you're returning from a previous season, check out what's new for 2025. You will need a new RoboRIO image for 2025; this is available via the FRC 2025 Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2024 robot project, you will need to import your project to create a 2025 project. The import process is important, as it will make a few automated corrections for some breaking changes that happened in 2025. It is also necessary to import vendor libraries again, since last year’s vendor libraries must be updated to be compatible with this year’s projects.
A complete list of known issues with this release can be found here.
WPILib is developed by a small team of volunteers and the FIRST community.
Downloads
- Windows (2.4 GB)
- Mac (Arm) (2.2 GB)
- Mac (Intel) (2.3 GB)
- Linux (x64) (2.8 GB)
- Linux (arm64) (2.4 GB)
What's Changed since 2025.2.1
WPILib: AprilTags
- Split 2025 AprilTag maps by @Kevin-OConnor in #7781
WPILib: Epilogue
- Fix lazy logging of mutable arrays by @SamCarlberg in #7665
- Fix epilogue breaking when package-info files are present by @SamCarlberg in #7749
WPILib: Math
- Fix LinearSystemId return type and docs by @calcmogul in #7675
- Implement Pose2d and Pose3d rotateAround() by @TheComputer314 in #7659
- Fix various constexpr support bugs by @calcmogul in #7676
- DifferentialDriveWheelPositions: tag as Proto/StructSerializable by @superpenguin612 in #7622
- Fix macro name typo by @wozniak in #7707
- Fix infinite loop in ArmFeedforward::Calculate(xₖ, vₖ, vₖ₊₁) by @calcmogul in #7745
- Fix missing nanopb headers in wpimath by @Gold856 in #7731
- Document drift from desaturating discretized chassis speeds (NFC) by @KangarooKoala in #7741
- Add setters for Feedforward gains by @spacey-sooty in #7784
WPILib: Java Units
- Add Measure.per overloads for all known unit types by @SamCarlberg in #7699
WPILib
- [hal, wpilib] AddressableLED: allow selecting color order by @rzblue in #7102
- [hal] SPI: Remove byte limit on size by @PeterJohnson in #7774
- [wpilibj] ADIS16470: Allow product ID of 16470 by @PeterJohnson in #7704
- [wpilibc] Alert: Fix first alert in group not publishing data by @rzblue in #7711
- [wpilibc] Remove Alert magic static with map lookup by @virtuald in #7712
- [wpilibc, wpilibh, cmd] Improve HID direction documentation (NFC) by @KangarooKoala in #7672
- [sysid] Error on missing tests in loaded DataLog by @DeltaDizzy in #7747
- [wpiutil] Remove broken StackWalker library by @calcmogul in #7777
- [wpinet] Serve index HTML file from WebServer if available by @jwbonner in #7780
GradleRIO
- Fix arm64 linux simulation by @ThadHouse in wpilibsuite/GradleRIO#775
- Warn if vendordep with duplicate uuid is found by @sciencewhiz in wpilibsuite/native-utils#242
VSCode
- Add menu item for skip select simulate extension by @sciencewhiz in wpilibsuite/vscode-wpilib#748
Installer
- Add message about ejecting previous installers by @sciencewhiz in wpilibsuite/WPILibInstaller-Avalonia#515
- Fix WMClass for Elastic by @sciencewhiz in wpilibsuite/WPILibInstaller-Avalonia#516
- Update AdvantageScope to 4.1.2 by @jwbonner in wpilibsuite/WPILibInstaller-Avalonia#520
- Update Elastic to 2025.1.0 by @Gold872 in wpilibsuite/WPILibInstaller-Avalonia#521
- Fix VS Code path to handle renamed .app files on macos by @TheTripleV in wpilibsuite/WPILibInstaller-Avalonia#519
New Contributors
Full Changelog: v2025.2.1...v2025.3.1
MD5 Hashes
723af2144b05860f90ae70819d6233a3 Linux/WPILib_Linux-2025.3.1.tar.gz
33ebfff27122605285fb266cd5595a6f LinuxArm64/WPILib_LinuxArm64-2025.3.1.tar.gz
6307170a459d874b4df7c4c5079a8064 Win64/WPILib_Windows-2025.3.1.iso
9ce0a029c1c63462091044ce874db7ec macOS/WPILib_macOS-Intel-2025.3.1.dmg
ed7e604d4a469af78c6cd82ffb53c6ba macOSArm/WPILib_macOS-Arm64-2025.3.1.dmg
SHA256 Hashes
2d8bc6ab75d7050e9fbf3cb3984042fbdbe2a19bbf270cc7c81345b74b671877 Linux/WPILib_Linux-2025.3.1.tar.gz
40076564a612a99d7a498c75f4cac6ea91924673dd5745656e0c2a69e068dcfe LinuxArm64/WPILib_LinuxArm64-2025.3.1.tar.gz
bb78e57a8887b7e959aa3984c780db50cb66a24d7a331e9e566e0e4b0082b768 Win64/WPILib_Windows-2025.3.1.iso
924c0d5afd1b6f91748f50c6aec052696ec1d551795300b3621d94df84fba502 macOS/WPILib_macOS-Intel-2025.3.1.dmg
d2dfe3ab14d43d86ca7021c104aaa88843c07fc310b6cdb72a78d3ea4ac4bee9 macOSArm/WPILib_macOS-Arm64-2025.3.1.dmg