This is an update release of WPILib for the 2023 season. This release fixes a couple of critical NetworkTables bugs.
Upgrading from earlier 2023 releases is easy: simply download and run the new installer and it will update your current installation. If you already have the 2023 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.
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.
Minimum system requirements have changed for 2023. WPILib requires 64-bit Windows 10 or 11, Ubuntu 22.04, or macOS 11 or higher. Newly supported this year is Apple Silicon (arm64)! C++ teams should note that Visual Studio 2022 is now required for desktop builds. For this release, Mac users will need to have the Xcode Command Line Tools installed before running the installer; we are working on removing this requirement in a future release. 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 2023; be sure to read through this, as a lot has changed from 2022! You will need a new RoboRIO image for 2023; this is available via the FRC 2023 Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2022 robot project, you will need to import your project to create a 2023 project. The import process is important, as it will make a number of automated corrections for some breaking changes that happened in 2023. 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.
What's Changed since 2022.3.2
WPILib
- SendableChooser: static_assert copy- and default-constructibility by @Starlight220 in #5078
- Disable Java mock time on the Rio by @PeterJohnson in #5092
NetworkTables
- Fix crash in disconnect error reporting (introduced in 2023.3.2) by @PeterJohnson in #5084
- Improve disconnect error reporting by @PeterJohnson in #5085
- Reduce initial connection overhead by @PeterJohnson in #5086
- Fix use-after-free in server by @PeterJohnson in #5101
- Fix possibility of hang when stopping client or server by @PeterJohnson in #5102
Math
- Fix Pose3d exp()/log() and add rotation vector constructor to Rotation3d by @jlmcmchl in #5072
- Fix exception for empty pose buffer in pose estimators by @calcmogul in #5106
- Add timestamp getter to MathShared by @jwbonner in #5091
Examples
- Improve descriptions (NFC) by @Starlight220 in #5051
- ArmSimulation, ElevatorSimulation: Extract mechanism to class by @Starlight220 in #5052
- ArmSimulation: Fix flaking test by @Starlight220 in #5093
- MecanumDrive: Fix axis comment in C++ example (NFC) by @sciencewhiz in #5096
Glass / OutlineViewer
- NT view: Set default value when publishing new topic by @PeterJohnson in #5109
- NT view: Provide menu item to create topic from root by @PeterJohnson in #5110
- NT view: Change string/string array to quoted by @PeterJohnson in #5111
Shuffleboard
- Allow updates in int arrays (issue #756). by @fovea1959 in wpilibsuite/shuffleboard#757
- Remove 25th channel from PDP widget by @Starlight220 in wpilibsuite/shuffleboard#761
- Add a widget for ProfiledPIDController by @SamCarlberg in wpilibsuite/shuffleboard#764
- Check for invalid NT value by @Starlight220 in wpilibsuite/shuffleboard#759
PathWeaver
- Add filename to trajectory gen exception by @sciencewhiz in wpilibsuite/PathWeaver#290
SysId
- Fix display of Spark Max time measurement window setting by @calcmogul in wpilibsuite/sysid#481
Docs
- Document range of enableCompressorAnalog (NFC) by @sciencewhiz in #5099
- Improve documentation of addRequirements (NFC) by @bovlb in #5103
New Contributors
MD5 Hashes
e541b48d97e8d773b38f1db1ef35874d WPILib_Linux-2023.4.1.tar.gz
b7f93503e06c475ba91028a6dae42e47 WPILib_Windows-2023.4.1.iso
4e265f381d9cd8fd489b46efaba3b81b WPILib_macOS-Intel-2023.4.1.dmg
bc4a8861fba00b44c6dc9b3766b6e68e WPILib_macOS-Arm64-2023.4.1.dmg
SHA256 Hashes
d2f11d69cd45dc66dd0947933ffa6143c07590da2e9a29337d6495c1d1eb2bf4 WPILib_Linux-2023.4.1.tar.gz
de26f0d689c51b878c5fa74102b55102eac115ef81090a9608125d9b552ae1e2 WPILib_Windows-2023.4.1.iso
9b86949bfba312168f0866f394de9d964a6c0e473662d83e334bc5be2a4a88ad WPILib_macOS-Intel-2023.4.1.dmg
442fbb7e56734e4f67efcece4f216df8c738f427a54d0493c713191de335db7c WPILib_macOS-Arm64-2023.4.1.dmg