Releases: wpilibsuite/allwpilib
WPILib 2025.2.1 Release
This is an update release of WPILib for the 2025 season. This release adds the 2025 field images and AprilTags and has a small 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.1.1
WPILib
- Update field and AprilTags by @Kevin-OConnor in #7634
- [glass] Make Field2D field picker show JSONs first by @sciencewhiz in #7643
- [glass] Fix Field2D custom image padding to maintain aspect ratio by @rmheuer in #7648
- [epilogue] Don't add a measure's symbol to its name when logged by Epilogue by @oh-yes-0-fps in #7652
- [cscore] Use kernel frame time in Linux USB Camera by @mcm001 in #7609
- [wpimath] Make Rotation2d member initialization order match declaration order by @calcmogul in #7632
- [wpimath] Implement Translation3d.RotateAround by @HarryXChen3 in #7661
- [commands] Add a warning to
schedule
javadocs by @spacey-sooty in #7073
WPIcal
- Add JSON Combiner by @ElliotScher in #7640
RobotBuilder
- Add Koors40 Motor Controller support by @sciencewhiz in wpilibsuite/RobotBuilder#638
GradleRIO
- Disable SmartDashboard and wpical on Linux arm64 by @PeterJohnson in wpilibsuite/GradleRIO#772
- Add missing whitespace in InvalidImageException by @mcm001 in wpilibsuite/GradleRIO#773
Elastic
- Elastic updated to 2025.0.2: /~https://github.com/Gold872/elastic-dashboard/releases/tag/v2025.0.2
AdvantageScope
- AdvantageScope updated to 4.1.1: /~https://github.com/Mechanical-Advantage/AdvantageScope/releases/tag/v4.1.1
Installer
- Select tarballs for VSCode on Linux ARM by @auscompgeek in wpilibsuite/WPILibInstaller-Avalonia#508
- Change AdvantageScope wmclass by @spacey-sooty in wpilibsuite/WPILibInstaller-Avalonia#512
Full Changelog: v2025.1.1...v2025.2.1
MD5 Hashes
4d9992358cfa5fcf1290040f9858aa12 Linux/WPILib_Linux-2025.2.1.tar.gz
087198535a6661b883a7627345c441ed LinuxArm64/WPILib_LinuxArm64-2025.2.1.tar.gz
05e977b48854a2ececa4aae54849bdae Win64/WPILib_Windows-2025.2.1.iso
d2f4df9d919270dc513b2c2edbd2eb93 macOS/WPILib_macOS-Intel-2025.2.1.dmg
16c9cd92081e83579e387fa948afb871 macOSArm/WPILib_macOS-Arm64-2025.2.1.dmg
SHA256 Hashes
03db633b9c93b62aa8fa35f4389fb11b58fc1ccf57e26c44d688c93f722efbb9 Linux/WPILib_Linux-2025.2.1.tar.gz
4d56286dee44edfa84fe590865edc62ca57030e4fa694364654f23b79a7caa84 LinuxArm64/WPILib_LinuxArm64-2025.2.1.tar.gz
e08be319cadbcdec9fdd2a7f369931b8b1590bd76b67d4dde563e57deeb39493 Win64/WPILib_Windows-2025.2.1.iso
4422028e4ef59ea2ced3c07215731befb4603c8f76b128fbca1ac5aadbdd7f63 macOS/WPILib_macOS-Intel-2025.2.1.dmg
96e20e47e66a1c432a121893524a026d9f575ea673554bf16343710a080e2a52 macOSArm/WPILib_macOS-Arm64-2025.2.1.dmg
WPILib 2025.1.1 Release
This is the kickoff release of WPILib for the 2025 season.
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
Note: downloads made prior to the evening of Jan 3 may indicate false positives in some AV scanners. They are safe to use, but the installer builds below have been updated to avoid this issue.
- Windows (2.4 GB)
- Mac (Arm) (2.2 GB)
- Mac (Intel) (2.3 GB)
- Linux (x64) (2.8 GB)
- Linux (arm64) (2.4 GB)
New Contributors since 2024.3.2
- @S1ink made their first contribution in #6439
- @person4268 made their first contribution in #6441
- @WispySparks made their first contribution in #6463
- @juchong made their first contribution in #6450
- @Jacob1010-h made their first contribution in #6390
- @rmheuer made their first contribution in #6530
- @kytpbs made their first contribution in #6582
- @mfisher31 made their first contribution in #6609
- @scarmain made their first contribution in #6025
- @Theinatorinator made their first contribution in #6152
- @MrTinker64 made their first contribution in #6672
- @cgpadwick made their first contribution in #6792
- @beardedone55 made their first contribution in #6795
- @Alextopher made their first contribution in #6771
- @BrandonS09 made their first contribution in #7040
- @oh-yes-0-fps made their first contribution in #7096
- @etiennebeaulac made their first contribution in #7220
- @Advay17 made their first contribution in #7327
- @viggy96 made their first contribution in #7358
- @Daniel1464 made their first contribution in #7437
- @falOn-Dev made their first contribution in #7546
- @TheComputer314 made their first contribution in #7006
Full Changelog: v2024.3.2...v2025.1.1
MD5 Hashes
8775f7539e307ea688e0ef0437ae54d8 Linux/WPILib_Linux-2025.1.1.tar.gz
7e112b5e0ddf00eb2753fdf08d151925 LinuxArm64/WPILib_LinuxArm64-2025.1.1.tar.gz
c4fce6893a2b323fc7ee694f6a1c4a30 Win64/WPILib_Windows-2025.1.1.iso
0d7689c9e7e0b20671c0b72a8c5c6c76 macOS/WPILib_macOS-Intel-2025.1.1.dmg
70faffd8ef758e51a92c049cbeb645ff macOSArm/WPILib_macOS-Arm64-2025.1.1.dmg
SHA256 Hashes
1460e354c0f9c5acee50c4734cdf6f61073999294d5cf5370773a6208429a894 Linux/WPILib_Linux-2025.1.1.tar.gz
90f441f5ba48487418944df5fa388b48aaf17592d725124c0960ed618e924599 LinuxArm64/WPILib_LinuxArm64-2025.1.1.tar.gz
874cdecae229e394a6b211f0d93c55917164492aaaabf4ac036f3fce5ddff740 Win64/WPILib_Windows-2025.1.1.iso
5d0a945047a65071d03f416be2d649c6f39bf30e69a247a28e21391aa864ed33 macOS/WPILib_macOS-Intel-2025.1.1.dmg
421b8b5ad8ae8440a9a6482e1b97457a16c1d4298efafb6024ca44fb753c7375 macOSArm/WPILib_macOS-Arm64-2025.1.1.dmg
WPILib 2025.1.1 Beta 3 Release
This is the third beta release of WPILib for the 2025 season. Please join the discussions regarding beta testing at /~https://github.com/wpilibsuite/2025Beta/discussions.
This release requires the 2025_v1.0 roboRIO image to use on a robot.
Getting Started
Check out what's new for 2025 and jump directly to the WPILib installation guide.
If you're starting from a 2024 robot project, you will need to import it to create a 2025 project.
Full Changelog from Beta 2: v2025.1.1-beta-2...v2025.1.1-beta-3
Updating from Beta 2
After installing Beta 3, projects made or imported with Beta 2 should automatically prompt to be upgraded to beta 3.
Downloads
- Windows (2.2 GB)
- Mac (Arm) (2.0 GB)
- Mac (Intel) (2.1 GB)
- Linux (x64) (2.6 GB)
- Linux (arm64) (2.3 GB)
New Contributors
WPILib is developed by a small team of volunteers and the FIRST community. Thanks to the following new contributors since the last beta release for helping make WPILib better for all teams!
- @Daniel1464 made their first contribution in #7437
- @falOn-Dev made their first contribution in #7546
MD5 Hashes
f740a1b782a4e51b1807f4594da65206 Linux/WPILib_Linux-2025.1.1-beta-3.tar.gz
7de2c0062c062582164a2a2eca466923 LinuxArm64/WPILib_LinuxArm64-2025.1.1-beta-3.tar.gz
533bd64a8a6e184e728cc94a59c895ce Win64/WPILib_Windows-2025.1.1-beta-3.iso
0b26191ab60c887532ebe1a6e33ee740 macOS/WPILib_macOS-Intel-2025.1.1-beta-3.dmg
10973499cccac00bf7c383e682037070 macOSArm/WPILib_macOS-Arm64-2025.1.1-beta-3.dmg
SHA256 Hashes
d22ce4d7b06cf715857e05bb00d84234c8b8e035f6fa0cfda7921d5ef7cd7fc8 Linux/WPILib_Linux-2025.1.1-beta-3.tar.gz
dc510e2a32b735711992624ece47e4941603f7480195c29e822f3efe7f367308 LinuxArm64/WPILib_LinuxArm64-2025.1.1-beta-3.tar.gz
5083157aacf6b2b70a32582eb001ef0a759c12a8d513b7677ca2b8733e78706f Win64/WPILib_Windows-2025.1.1-beta-3.iso
95e131d0e60a6f2a9c1aee0b5106fa5ca4c3f5059502f0a31cf5ec99a1713463 macOS/WPILib_macOS-Intel-2025.1.1-beta-3.dmg
7e920bcc842999b7f56bd2d2824e287dd645fe9a67ab96907af7aed410accd23 macOSArm/WPILib_macOS-Arm64-2025.1.1-beta-3.dmg
WPILib 2025.1.1 Beta 2 Release
This is the second beta release of WPILib for the 2025 season. Please join the discussions regarding beta testing at /~https://github.com/wpilibsuite/2025Beta/discussions.
This release requires the 2025_v1.0 roboRIO image to use on a robot.
Getting Started
Check out what's new for 2025 and jump directly to the WPILib installation guide.
If you're starting from a 2024 robot project, you will need to import it to create a 2025 project.
Full Changelog from Beta 1: v2025.1.1-beta-1...v2025.1.1-beta-2
Updating from Beta 1
After installing Beta 2, projects made or imported with Beta 2 will use Gradle 8.11, which has much better error reporting for Java. Beta 1 projects won't be automatically updated to use Gradle 8.11. To manually update existing projects, open in the project directory gradle\wrapper\gradle-wrapper.properties
and change distributionUrl
to https\://services.gradle.org/distributions/gradle-8.11-bin.zip
Downloads
- Windows (2.2 GB)
- Mac (Arm) (2.0 GB)
- Mac (Intel) (2.1 GB)
- Linux (x64) (2.6 GB)
- Linux (arm64) (2.3 GB)
New Contributors
WPILib is developed by a small team of volunteers and the FIRST community. Thanks to the following new contributors since the last 2024 release for helping make WPILib better for all teams!
- @etiennebeaulac made their first contribution in #7220
- @Advay17 made their first contribution in #7327
- @viggy96 made their first contribution in #7358
MD5 Hashes
f20c2c4f9e917d7149ef81f39c434778 Linux/WPILib_Linux-2025.1.1-beta-2.tar.gz
e41bd8cc2420e26573a0ce1670bf59f8 LinuxArm64/WPILib_LinuxArm64-2025.1.1-beta-2.tar.gz
e8869bdf9d0da23cc13be8071f38be8c Win64/WPILib_Windows-2025.1.1-beta-2.iso
ca2653203c71cf4640c7a3cca35a1e21 macOS/WPILib_macOS-Intel-2025.1.1-beta-2.dmg
8f295ed3c04ba7227b2333634ae1e24a macOSArm/WPILib_macOS-Arm64-2025.1.1-beta-2.dmg
SHA256 Hashes
ad5c6169ff223f123cb4caf6dbe423b123f083f56bb16959578a2af974ebcf4f Linux/WPILib_Linux-2025.1.1-beta-2.tar.gz
995c151aaf43a7df4df90eb0245bb8c8af825412362eed0d77845d19d4de8d0a LinuxArm64/WPILib_LinuxArm64-2025.1.1-beta-2.tar.gz
82311039fe09157728ca5fa29d46412358db5c183ce3a1f2ca2d07c34eb52906 Win64/WPILib_Windows-2025.1.1-beta-2.iso
afefb82cf3b97d010995de4da5af5f564ee7bdceeb0f477f55e373df3318e926 macOS/WPILib_macOS-Intel-2025.1.1-beta-2.dmg
a921a565f837bf55333bd10b855f87a70631b2845f7cd5055333a1aa6963a2aa macOSArm/WPILib_macOS-Arm64-2025.1.1-beta-2.dmg
WPILib 2025.1.1 Beta 1 Release
This is the initial beta release of WPILib for the 2025 season. Please join the discussions regarding beta testing at /~https://github.com/wpilibsuite/2025Beta/discussions.
This release requires the 2025_v1.0 roboRIO image to use on a robot. This image will be posted on the beta forums when it's available.
Getting Started
Check out what's new for 2025 and jump directly to the WPILib installation guide.
If you're starting from a 2024 robot project, you will need to import it to create a 2025 project.
Full Changelog from 2024.3.2: v2024.3.2...v2025.1.1-beta-1
Downloads
- Windows (2.3 GB)
- Mac (Arm) (2.0 GB)
- Mac (Intel) (2.3 GB)
- Linux (x64) (2.6 GB)
- Linux (arm64) (2.4 GB)
New Contributors
WPILib is developed by a small team of volunteers and the FIRST community. Thanks to the following new contributors since the last 2024 release for helping make WPILib better for all teams!
- @S1ink made their first contribution in #6439
- @person4268 made their first contribution in #6441
- @WispySparks made their first contribution in #6463
- @juchong made their first contribution in #6450
- @Jacob1010-h made their first contribution in #6390
- @rmheuer made their first contribution in #6530
- @kytpbs made their first contribution in #6582
- @mfisher31 made their first contribution in #6609
- @scarmain made their first contribution in #6025
- @Theinatorinator made their first contribution in #6152
- @MrTinker64 made their first contribution in #6672
- @cgpadwick made their first contribution in #6792
- @beardedone55 made their first contribution in #6795
- @Alextopher made their first contribution in #6771
- @BrandonS09 made their first contribution in #7040
- @oh-yes-0-fps made their first contribution in #7096
MD5 Hashes
b93ddce3277808433fb17e776b0dc79a Linux/WPILib_Linux-2025.1.1-beta-1.tar.gz
fec6ede3a8d8db6ad2597cb78027980d LinuxArm64/WPILib_LinuxArm64-2025.1.1-beta-1.tar.gz
0461cf85888f22755dc74cca85f4953d Win64/WPILib_Windows-2025.1.1-beta-1.iso
5396255ea2d9a423254c7f544e66dc03 macOS/WPILib_macOS-Intel-2025.1.1-beta-1.dmg
9af405acc5f4714fcc6808df77b5262a macOSArm/WPILib_macOS-Arm64-2025.1.1-beta-1.dmg
SHA256 Hashes
824b7308a9bbee8dc900ba9755363b168968e5fd25f7a247fd897a9787138461 Linux/WPILib_Linux-2025.1.1-beta-1.tar.gz
6f419033cd5ad52ed9c7a8de202f867322d5581ed3102bc52216448bd7cbbffe LinuxArm64/WPILib_LinuxArm64-2025.1.1-beta-1.tar.gz
7b371e2b1389306c948f7f12753140c437ac995c7ac568fd96934f0dbdfb6b30 Win64/WPILib_Windows-2025.1.1-beta-1.iso
8782125be6b76eab4afd6b2ef3c4c0276525f5671f2141bc41cd4d322cf57feb macOS/WPILib_macOS-Intel-2025.1.1-beta-1.dmg
336eda7dad74760e5508936caa2534cd4a9ad20b04f58d1d2e84d806556fae78 macOSArm/WPILib_macOS-Arm64-2025.1.1-beta-1.dmg
WPILib 2024.3.2 Release
This is an update release of WPILib for the 2024 season. This release has a number of quality-of-life bugfixes.
Upgrading from earlier 2024 releases is easy: simply download and run the new installer and it will update your current installation. If you already have the 2024 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 both 2024_v2 releases of the RoboRIO image. Mac note: if upgrading from 2024.1.1, it is necessary to manually remove the 2024.1.1 version of AdvantageScope before running the installer in order for the new version to be installed.
Note: After updating to 2024.3.2, the deploy process will deploy an updated JRE to your robot on first deploy. This means the first deploy will take a little longer than usual.
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, Ubuntu 22.04, or macOS 12 or higher. C++ teams should note that Visual Studio 2022 17.9 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 2024. You will need a new RoboRIO image for 2024; this is available via the FRC 2024 Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2023 robot project, you will need to import your project to create a 2024 project. The import process is important, as it will make a few automated corrections for some breaking changes that happened in 2024. 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
For 2024, we have changed the location for WPILib downloads due to GitHub file size limitations. Please use the links below to download the installer package for your platform.
- WPILib 2024.3.2 - Windows (2.2 GB)
- WPILib 2024.3.2 - Mac (Arm) (1.9 GB)
- WPILib 2024.3.2 - Mac (Intel) (2.1 GB)
- WPILib 2024.3.2 - Linux (x64) (2.5 GB)
- WPILib 2024.3.2 - Linux (arm64) (2.3 GB)
What's Changed since 2024.3.1
Several changes were made to address reports of robot code not immediately restarting following an uncaught exception or native crash:
- "wpi::Now() not initialized" error is now fatal and immediately crashes by @ThadHouse in #6417
- An uncaught Java exception now immediately exits by @PeterJohnson in #6420
- JRE updated to not report memory allocation info, as this can hang by @PeterJohnson in wpilibsuite/frc-openjdk-roborio#15
- JRE error log reporting timeout shortened from 120 seconds to 2 seconds by @PeterJohnson in wpilibsuite/frc-openjdk-roborio#16
SysId
- Fix position feedback latency compensation by @brettle in #6392
- Fix arm characterization crash by @calcmogul in #6422
- Fix crash on negative feedforward gains by @calcmogul in #6425
- Fix wrong position Kd with unnormalized time by @brettle in #6433
Tools
- AdvantageScope updated to 3.2.1 by @jwbonner in wpilibsuite/WPILibInstaller-Avalonia#403
Math
- Add structured data support for DifferentialDriveWheelPositions by @DeltaDizzy in #6412
- LinearSystemId: Don't throw if Kv = 0 by @calcmogul in #6424
Simulation GUI
- Use shift key to enable docking features by @PeterJohnson in #6429
Documentation
- [wpiunits] Fix Distance class javadocs to state the correct dimension by @DeltaDizzy in #6363
- Add docs for features not supported on PDH (NFC) by @sciencewhiz in #6436
Examples
- Remove unused private variables by @calcmogul in #6403
Full Changelog: v2024.3.1...v2024.3.2
MD5 Hashes
9a6bae26d00083398ebdb430b5133591 WPILib_Linux-2024.3.2.tar.gz
36c77d22fa3600c840944637c244d06b WPILib_LinuxArm64-2024.3.2.tar.gz
9d54e02fb6c049558ddb4520249beb46 WPILib_Windows-2024.3.2.iso
e6eee31dd4fb3b10676ed3841c0f7634 WPILib_macOS-Intel-2024.3.2.dmg
9e326f2ecf90db7549ecd4ffbb840999 WPILib_macOS-Arm64-2024.3.2.dmg
SHA256 Hashes
2e3d669c4100acf64808069848c8218d5e66204304986114e726ef5c564a3de7 WPILib_Linux-2024.3.2.tar.gz
ad776cc4ce7267bec05ed4f6fe3698cd1a2291460a2ab220fe2936d8582b4777 WPILib_LinuxArm64-2024.3.2.tar.gz
ff73a846153016e588f73dd147790bf4a496019d65efa3daf2b06faef2f822bc WPILib_Windows-2024.3.2.iso
ca551ee4e44ed1135b5caa0d70920ce29fd06f260099cb85da976081e66a7aac WPILib_macOS-Intel-2024.3.2.dmg
1af409d3d05debb20120ab494f5d21f482ce270768f41221db2714c97e8db135 WPILib_macOS-Arm64-2024.3.2.dmg
WPILib 2024.3.1 Release
This is an update release of WPILib for the 2024 season. This release has a number of quality-of-life bugfixes.
Upgrading from earlier 2024 releases is easy: simply download and run the new installer and it will update your current installation. If you already have the 2024 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 2024. Mac note: if upgrading from 2024.1.1, it is necessary to manually remove the 2024.1.1 version of AdvantageScope before running the installer in order for the new version to be installed.
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, Ubuntu 22.04, or macOS 12 or higher. C++ teams should note that 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 2024. You will need a new RoboRIO image for 2024; this is available via the FRC 2024 Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2023 robot project, you will need to import your project to create a 2024 project. The import process is important, as it will make a few automated corrections for some breaking changes that happened in 2024. 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
For 2024, we have changed the location for WPILib downloads due to GitHub file size limitations. Please use the links below to download the installer package for your platform.
- WPILib 2024.3.1 - Windows (2.2 GB)
- WPILib 2024.3.1 - Mac (Arm) (1.9 GB)
- WPILib 2024.3.1 - Mac (Intel) (2.1 GB)
- WPILib 2024.3.1 - Linux (x64) (2.5 GB)
- WPILib 2024.3.1 - Linux (arm64) (2.3 GB)
What's Changed since 2024.2.1
NetworkTables
- StructArrayPublisher: Publish schema in span-taking setters by @PeterJohnson in #6303
- Don't send value update to client setting value by @PeterJohnson in #6375
- Add hidden subscribe option by @PeterJohnson in #6376
SysId
- Fix SSTO calculation by @calcmogul in #6301
- Relax peak acceleration search by @Oblarg in #6378
- SysIdRoutine: Reset timer in quasistatic test by @ArchdukeTim in #6322
- SysIdRoutineLog: Initialize m_stateInitialized by @Kython89 in #6359
- Add angular subsystem to SysIdRoutine example by @DeltaDizzy in #6297
Math
- Clean up profile classes by @calcmogul in #6311
- Make Rotation2d implicitly convert from any angle unit by @calcmogul in #6316
- Remove duplicate calls to norm() in Quaternion::Log() by @ThadHouse in #6358
- Add lastValue() method to filters by @N0tACyb0rg in #6351
- Add vector projection and geometry vector conversions by @AngleSideAngle in #6343
- Use correct 'k' value when negative ka is provided in Feed Forward by @fodfodfod in #6360
- ExponentialProfile: Return copies of the current and goal states by @shueja in #6370
Glass / Simulation GUI
- Update field size defaults in Field2D by @gerth2 in #6298
- Fix FMS game data editing by @PeterJohnson in #6381
Java Units
- Add singularized aliases for built in units by @SamCarlberg in #6323
- Fix measure
isNear
function by @vichik123 in #6313
Commands
Shuffleboard
- Improve NT behavior by @PeterJohnson in wpilibsuite/shuffleboard#796
Examples
- Move triggers to subsystem fields by @DeltaDizzy in #6318
- Fix memory leak in C++ controller command examples by @KangarooKoala in #6306
- Don't reset encoders when resetting odometry by @rzblue in #6329
WPILib
- Add methods for reading individual RGB values from LED buffers by @SamCarlberg in #6333
- Remove unusable std::unique_ptr case for SendableChooser by @KangarooKoala in #6357
- Const-qualify SendableChooser.GetSelected() by @KangarooKoala in #6356
AprilTag
- Fix field length in 2024 JSON by @calcmogul in #6373
- Add AprilTagFieldLayout.loadField() and migrate to it by @KangarooKoala in #6377
HAL
- Error out of HAL_Initialize if SetupRioNow fails by @ThadHouse in #6374
- HAL_RefreshDSData: Zero out control word on DS disconnected, Use cache in sim by @ThadHouse in #6380
Installer
- Disable CLI args for AdvantageScope on Windows by @jwbonner in wpilibsuite/WPILibInstaller-Avalonia#397
- Enable vscode system HTTP certificates by @spacey-sooty in wpilibsuite/WPILibInstaller-Avalonia#398
- Update AdvantageScope to 3.2.0 by @jwbonner in wpilibsuite/WPILibInstaller-Avalonia#400
New Contributors
- @ArchdukeTim made their first contribution in #6322
- @vichik123 made their first contribution in #6313
- @Kython89 made their first contribution in #6359
- @N0tACyb0rg made their first contribution in #6351
- @fodfodfod made their first contribution in #6360
- @JoeWildfong made their first contribution in #6367
Full Changelog: v2024.2.1...v2024.3.1
MD5 Hashes
aed13e07c3366325aa572852073f93c2 WPILib_Linux-2024.3.1.tar.gz
95f439b7307a0554aa96a795c584e56c WPILib_LinuxArm64-2024.3.1.tar.gz
781408b02146fde5a8275f31bd55a23c WPILib_Windows-2024.3.1.iso
acee4b081890abb6fc556bdcfffbdd3a WPILib_macOS-Intel-2024.3.1.dmg
d5c941414ed69e1ad35210cb65f4449f WPILib_macOS-Arm64-2024.3.1.dmg
SHA256 Hashes
3d9d368586254253edade76f5aef59e221c1684031b58cc00489d648139d62e2 WPILib_Linux-2024.3.1.tar.gz
3a8ecfb61ce113fb16f95928aa50cfa8a466173a2dd1cb1e01d3ebb3dfeb9f3e WPILib_LinuxArm64-2024.3.1.tar.gz
2b1b1a9adf9aa2ce2734dd022193bbfa9a43c685536bb42c633e875ea4e381f3 WPILib_Windows-2024.3.1.iso
0b41d45537585a4f913e2362c4a25ab32b220b2ba4a20ec009a8d8f0ce55606c WPILib_macOS-Intel-2024.3.1.dmg
14fd3891e3c4438d2a121af68ced5da0eaeab7fc4e12471312aaf21ae9d80cea WPILib_macOS-Arm64-2024.3.1.dmg
WPILib 2024.2.1 Release
This is an update release of WPILib for the 2024 season. This release improves dashboard NetworkTables connection/disconnection behavior and improves SysId, along with other bugfixes. This upgrade is recommended for all teams.
Upgrading from earlier 2024 releases is easy: simply download and run the new installer and it will update your current installation. If you already have the 2024 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 2024. Mac note: for this release, it is necessary to manually remove the 2024.1.1 version of AdvantageScope before running the installer in order for the new version to be installed.
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, Ubuntu 22.04, or macOS 12 or higher. C++ teams should note that 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 2024. You will need a new RoboRIO image for 2024; this is available via the FRC 2024 Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2023 robot project, you will need to import your project to create a 2024 project. The import process is important, as it will make a few automated corrections for some breaking changes that happened in 2024. 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
For 2024, we have changed the location for WPILib downloads due to GitHub file size limitations. Please use the links below to download the installer package for your platform.
- WPILib 2024.2.1 - Windows (2.2 GB)
- WPILib 2024.2.1 - Mac (Arm) (1.9 GB)
- WPILib 2024.2.1 - Mac (Intel) (2.1 GB)
- WPILib 2024.2.1 - Linux (x64) (2.5 GB)
- WPILib 2024.2.1 - Linux (arm64) (2.3 GB)
What's Changed since 2024.1.1
NetworkTables
- Fix large text message splitting by @PeterJohnson in #6263
- Use last received time instead of last ping response for connection timeout by @PeterJohnson in #6266
- WebSocket serializer bugfixes by @PeterJohnson in #6264
- Fix client "received unknown id -1" by @PeterJohnson in #6186
- Improve disconnect reason reporting by @PeterJohnson in #6262 and #6265
- Enhance debug logging across NT and WS layers by @PeterJohnson in #6267
- Map int[] to int64[] for DataLog by @PeterJohnson in #6279
- NetworkTable::GetStruct: Add I template param by @PeterJohnson in #6183
SysId
- Data selector: use timestamps instead of ranges by @PeterJohnson in #6193
- Filter valid test names by @PeterJohnson in #6200
- Fix peak acceleration filtering behavior in dynamic velocity test by @HarryXChen3 in #6207
- Fix test duration slider responsiveness by @Oblarg in #6216
- Remove unused "gains to encoder counts" checkbox by @calcmogul in #6234
- Show warning tooltips next to bad feedforward gains instead of throwing by @HarryXChen3 in #6251
- Document using AdvantageScope for troubleshooting by @calcmogul in #6247
SysIdRoutine:
- Fix SysId log key for acceleration by @calcmogul in #6196
- Defer creation of state log entry by @jwbonner in #6259
- Fix state log entry name typo by @auscompgeek in #6261
- Use mechanism name instead of subsystem name by @AngleSideAngle in #6277
WPILib
- Add ADIS16470 methods with no params by @spacey-sooty in #6184
- [C++] Use std::atomic for ADIS classes by @spacey-sooty in #6217
- Don't automatically pull in cscore for all robot projects by @ThadHouse in #6245
- [C++] Fix destruction crash in ADIS classes by @PeterJohnson in #6282
Glass / Simulation GUI
- Fix Field2d position and scaling by @PeterJohnson in #6222
- Default to 2024 field image by @PeterJohnson in #6225
- Sim GUI DS: Add "Disconnected" state and start in it by @PeterJohnson in #6218
RoboRIO Team Number Setter
- Add functionality to enable and disable NI webserver by @ThadHouse in #6270
VS Code
- Pass native compiler arguments to intellisense engine by @ThadHouse in wpilibsuite/vscode-wpilib#656
- Fix debug keybindings by @sciencewhiz in wpilibsuite/vscode-wpilib#657
- Disable vscode completion case matching by @sciencewhiz in wpilibsuite/WPILibInstaller-Avalonia#390
GradleRIO
- Increase SSH timeout from 3 to 7 seconds by @ThadHouse in wpilibsuite/GradleRIO#717
- Catch MalformedInputException by @ThadHouse in wpilibsuite/GradleRIO#719
- Update OneDrive error to be more informative by @spacey-sooty in wpilibsuite/GradleRIO#716
Installer
- Offline cache module files for junit by @ThadHouse in wpilibsuite/WPILibInstaller-Avalonia#387
- Add Linux arm64 installer by @ThadHouse in wpilibsuite/WPILibInstaller-Avalonia#305
- Fix running AdvantageScope.py directly by @calcmogul in wpilibsuite/WPILibInstaller-Avalonia#388
- Update AdvantageScope to 3.0.2 by @jwbonner in wpilibsuite/WPILibInstaller-Avalonia#391
- Install Python API docs by @sciencewhiz in wpilibsuite/WPILibInstaller-Avalonia#392
Examples
- Limit error bit correction in April Tag examples by @sciencewhiz in #6224
Other notable changes
- Use Miklast high resolution field render by @sciencewhiz in #6185
- [wpiutil] Fix using 2 different locks in StructArrayLogEntry by @ThadHouse in #6231
- [wpimath] Use tolerance in rotation interpolation tests by @calcmogul in #6237
- [wpiutil] Fix how DynamicStructs handle strings by @ThadHouse in #6253
- [hal] Don't write a 0 length led string to the FPGA by @ThadHouse in #6271
- [hal] Use 64 bit timestamp in DMA by @ThadHouse in #6278
New Contributors
- @gerth2 made their first contribution in #6191
- @HarryXChen3 made their first contribution in #6207
- @BenBean18 made their first contribution in #6219
- @AngleSideAngle made their first contribution in #6277
Full Changelog: v2024.1.1...v2024.2.1
MD5 Hashes
84ce28678ccf243c6c04...
WPILib 2024.1.1 Release
This is the kickoff release of WPILib for the 2024 season.
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, Ubuntu 22.04, or macOS 12 or higher. C++ teams should note that 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 2024. You will need a new RoboRIO image for 2024; this is available via the FRC 2024 Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2023 robot project, you will need to import your project to create a 2024 project. The import process is important, as it will make a few automated corrections for some breaking changes that happened in 2024. 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
For 2024, we have changed the location for WPILib downloads due to GitHub file size limitations. Please use the links below to download the installer package for your platform.
- WPILib 2024.1.1 - Windows (2.0 GB)
- WPILib 2024.1.1 - Mac (Arm) (2.1 GB)
- WPILib 2024.1.1 - Mac (Intel) (2.2 GB)
- WPILib 2024.1.1 - Linux (2.3 GB)
NI Game Tools (Windows only)
- NI FRC 2024 Game Tools (1.2 GB)
MD5 Hashes
790040e0705b86d0c3662cb4eda7ae11 WPILib_Linux-2024.1.1.tar.gz
98d99429b8a7f72b750db809d7c83ddd WPILib_Windows-2024.1.1.iso
7cc7803c10b5e15f651d9d948214f398 WPILib_macOS-Intel-2024.1.1.dmg
b11d19b13a842c4838ede140df5d680e WPILib_macOS-Arm64-2024.1.1.dmg
f666fd4afb2072c81924eeee8ed7ff36 ni-frc-2024-game-tools_24.0.0_offline.iso
SHA256 Hashes
b7c0a9b0192ed02812ebd5b67adb9f4e2f202dd1cb19d54a5bab130b5e2de764 WPILib_Linux-2024.1.1.tar.gz
a7711cbc36b26e5d4cb9987d7ae19c2116417f7951d063cf82ed6a0735d226c0 WPILib_Windows-2024.1.1.iso
fb68cf2f5f8d6a5d7160e9e458f84dec31c29b5a8362d5128e4546589803de86 WPILib_macOS-Intel-2024.1.1.dmg
69ee98b0456dae36cce9fe836024f9fcf5e7424a7bf75979b6a7a608ce74c78f WPILib_macOS-Arm64-2024.1.1.dmg
f8735d96c82da4bc7e9b6d6f86aa5113309a038f9d958c142f481a1b12465cba ni-frc-2024-game-tools_24.0.0_offline.iso
WPILib 2024.1.1 Beta 4 Release
This is a BETA release. Please wait for the first non-beta release for 2024 season use!
This is the 4th beta release of WPILib for the 2024 season. Please join the discussions regarding beta testing at /~https://github.com/wpilibsuite/2024Beta/discussions.
This release requires the 2024_v2.0 beta roboRIO image to use on a robot. This image is included in the NI 2024 Beta 2 Game Tools.
Getting Started
Check out what's new for 2024 and jump directly to the WPILib installation guide.
If you're starting from a 2023 robot project, you will need to import it to create a 2024 project.
Downloads
For 2024, we are considering different options for our downloads due to GitHub file size limitations, and are testing this during the beta. Download links from alternate hosting sites are below. There are three download sites in addition to "split" zip files in the GitHub release. For the split zip files, you will need to download both the .zip and .z01 files and then unzip them to get the installer image (this can be done in Windows Explorer by selecting both files and running "Extract All"). Feedback regarding what of these download options works best for you is welcome on the beta forum.
- Windows: [JFrog] - [WPI] - [CloudFlare] (2.0 GB)
- Mac (Arm): [JFrog] - [WPI] - [CloudFlare] (2.1 GB)
- Mac (Intel): [JFrog] - [WPI] - [CloudFlare] (2.2 GB)
- Linux: [JFrog] - [WPI] - [CloudFlare] (2.3 GB)
What's Changed Since Beta 3
WPILib:
- Fix garbage data for match info before DS connection by @ThadHouse in #5879
- Default LiveWindowEnabledInTest to false by @Starlight220 in #5950
- Add hex string constructor to Color and Color8Bit by @srimanachanta in #5063
- Make Color::HexString() constexpr by @calcmogul in #5985
- Use final for joystick get axis methods by @spacey-sooty in #6024
- Change default Rio log dir from /home/lvuser to /home/lvuser/logs by @PeterJohnson in #5899, use logs subdirectory on USB drives by @PeterJohnson in #5975, change sim location to logs subdir by @PeterJohnson in #6039
- DataLogManager: join on Stop() call by @PeterJohnson in #5910
- Fix PS5 Controller mappings by @ThadHouse in #6050
Math:
- Reorder TrapezoidProfile.calculate() arguments by @calcmogul in #5874
- Replace gyro rotation with poseEstimator rotation by @ElliotScher in #5900
- Change G to gearing in LinearSystemId factories by @DeltaDizzy in #5834
- Clean up VecBuilder and MatBuilder by @KangarooKoala in #5906
- Clean up StateSpaceUtil by @calcmogul in #5891
- Use RKDP in DifferentialDrivetrainSim to fix numerical instability by @calcmogul in #5931
- Add basic wpiunits support to wpimath by @SamCarlberg in #5821
- Move serde functions to separate classes by @pjreiniger in #5918
- Add protobuf / struct serde for trivial types by @pjreiniger in #5935
- Make KalmanFilter variant for asymmetric updates by @calcmogul in #5951
- Explicitly export wpimath protobuf files by @ThadHouse in #5957
- Optimize 2nd derivative of quintic splines by @prateekma in #3292
- Add generic circular buffer class to Java by @calcmogul in #5969
- Remove unused SimpleMatrixUtils class by @calcmogul in #5979
- Add simulated annealing by @calcmogul in #5961
- Fix TimeInterpolatableBuffer crash by @calcmogul in #5972
- Make gcem call std functions if not constant-evaluated by @calcmogul in #5983
- Update to latest Eigen by @calcmogul in #5996
- Fix GCEM namespace usage and add hypot(x, y, z) by @calcmogul in #6002
- Struct cleanup by @KangarooKoala in #6011
- Rotate traveling salesman solution so input and solution have same initial pose by @Ashray-g in #6015
- Simplify calculation of C for DARE precondition by @calcmogul in #6022
- Fix MecanumDriveWheelSpeeds desaturate() by @Gold856 in #6040
NetworkTables:
- Only datalog meta-topics if specifically requested by @PeterJohnson in #5873
- ProtobufSubscriber: Make mutex and msg mutable by @PeterJohnson in #5927
- Increase client meta-topic decoding limit by @PeterJohnson in #5934
- Update transmit period on topic add/remove by @PeterJohnson in #6021
- Add cached topic property by @KangarooKoala in #5494
Commands:
- Add static Trigger factories for robot mode changes by @DeltaDizzy in #5902
- Add GetName to Subsystem, use in Scheduler tracer epochs by @rzblue in #5836
- CommandPtr: Prevent null initialization by @Starlight220 in #5991
- CommandCompositionError: Include stacktrace of original composition by @Starlight220 in #5984
Examples:
- C++: Match array parameter bounds by @PeterJohnson in #5880
- C++: Update examples to CommandPtr by @ncorrea210 in #5988
- Call resetOdometry() when controller command is executed by @ElliotScher in #5905
- C++: Add "inline" specifier to constants.h constants by @ncorrea210 in #6049
Docs:
- Exclude eigen and protobuf from doxygen by @rzblue in #5871
- Improve AprilTag docs by @Gold856 in #5895
- wpiunits Documentation improvements by @agasser in #5932
- Update getAlliance() docs by @calcmogul in #5971
- Add SysId doc links to LinearSystemId in C++ by @calcmogul in #5960
Vision Processing (CameraServer and AprilTags):
- Add GetTags to C++ version of AprilTagFieldLayout by @r4stered in #5872
- CvSink: Allow specifying output PixelFormat by @MrRedness in #5943
- Move RawFrame to wpiutil and add function to generate RawFrames of AprilTags by @r4stered in #5923
- Replace CS_PixelFormat with WPI_PixelFormat by @calcmogul in #5954
- Add pixelFormat overload of getVideo() by @MrRedness in #5966
Other:
- [wpiutil] MemoryBuffer: Fix normal read and file type check by @PeterJohnson in #5875
- [hal...