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