This is an update release of WPILib for the 2021 season.
The documentation for WPILib is located at https://docs.wpilib.org/ (if you have trouble accessing this location, https://frcdocs.wpi.edu/ is an alternate location with the same content)
If you're new to FRC, start with Getting started.
If you're returning from a previous season, check out what's new for 2021 and jump directly to the WPILib installation guide.
A list of known issues with this release can be found here.
What's New in 2021.2.2 (since 2021.2.1)
WPILib
Simulation GUI
- Fixed macOS 10.14 compatibility
- Fixed window scaling on macOS retina displays (#3135)
- Added right click popup menu for keyboard joystick settings (#3119)
Math
- Fixed Rotation2d equality operator (#3128)
Examples
- Fixed typos in SwerveControllerCommand and MecanumControllerCommand examples (#3104)
- Fixed segmentation fault in GearsBot C++ example (#3111)
- Removed negation of ArcadeDrive in the C++ Getting Started example (#3102)
GradleRIO
- Deploy C++ programs with permissions to set real-time thread priority (wpilibsuite/GradleRIO#486)
RobotBuilder
- Fixed InstantCommand when no subsystem is specified (wpilibsuite/RobotBuilder#366)
- Fixed C++ export of XboxControllerButton (wpilibsuite/RobotBuilder#369)
- Make subsystems public in RobotContainer (wpilibsuite/RobotBuilder#370)
What's New in 2021.2.1
WPILib
Simulation
- Added support for setting maximum value for keyboard joysticks in Simulation GUI (#3083)
- Added SimInt and SimLong wrappers for int/long SimValue (#3066)
- Added reset() method to SimValue (#3064)
- Documentation improvements (#3079)
Math
- Added optimize() method to SwerveModuleState (#3065)
- Added RKF45 integration (more stable than Runge-Kutta for systems with large elements in A or B matrices) (#3047)
- [C++] (BREAKING CHANGE) Changed from std::array to wpi::array to enable compile time size checking of array parameters (#3087)
Bug Fixes
- [C++] Added missing function RoboRioSim::ResetData() (#3073)
- [examples] Don't continually set setpoint in PotentiometerPID examples (#3084)
- [examples] Fixed StateSpaceDifferentialDriveSimulation and SimpleDifferentialDriveSimulation example trajectories (#3081)
- [sim] Fixed wouldHitLowerLimit() in elevator and arm simulation classes (#3076)
Glass / Simulation GUI
PathWeaver
- Added field images for the 5 Infinite Recharge @ Home Autonomous Challenges (wpilibsuite/PathWeaver#200)
RobotBuilder
- Set Subsystem name for C++. This allows LiveWindow items to be grouped by subsystem (wpilibsuite/RobotBuilder#356)
Hashes
The builds have been reuploaded as of 3/24 to resolve an issue with VS Code Downloading.
MD5 Hashes
AE84CB6A74D840A43644B4072C64B923 WPILib_Linux-2021.2.2.tar.gz
D1B6A6BD77987ECFC7B4A1E26C3B7A92 WPILib_macOS-2021.2.2.dmg
88650D703A23421B5DAF64CE423AB920 WPILib_Windows32-2021.2.2.iso
FCAD169766CB295A8848407059A55D25 WPILib_Windows64-2021.2.2.iso
SHA256 Hashes
DC9730C87D82634001209937010FF9810016101D0315684CD40F60423402BA5F WPILib_Linux-2021.2.2.tar.gz
11F70C4DDF0AE55701DFDDBC19412746D8B538B0397756363AE6B19CDD897C3B WPILib_macOS-2021.2.2.dmg
671B683CA92AE4087E1990C6E792261B5E625A5BDD370465676BA07D45BDD7DD WPILib_Windows32-2021.2.2.iso
123C6A656CF683CC39815709A40022E14A7DD8665C1EB0541E95A0F7C418E8CD WPILib_Windows64-2021.2.2.iso