This is an update release of WPILib for the 2023 season. This release fixes two major bugs in the kickoff release:
- SendableChooser might not pick up the value set by the dashboard
- Calls to NT flush() on clients were rate-limited to the default rate
Significant new features in this release:
- 2023 field images have been added to Shuffleboard and PathWeaver
- A 2023 field layout has been added for AprilTagFieldLayout
- An AprilTag vision example has been added for both C++ and Java
Upgrading from the kickoff 2023 release 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 now requires 64-bit Windows 10 or 11, Ubuntu 22.04, or macOS 11 or higher. Newly supported this year is Apple Silicon (arm64)! We have dropped support for older platforms including Windows 7, Ubuntu 20.04, and macOS 10.15. 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
WPILib
apriltag:
- [apriltag] Add 2023 layout JSON by @mcm001 in #4912
- [apriltag] Explain what April tag poses represent (NFC) by @bovlb in #4930
wpimath:
- [wpimath] Fix swerve kinematics util classes' equals function by @ohowe1 in #4907
- [wpimath] Pose estimator: Allow multiple vision measurements from same timestamp by @mcm001 in #4917
- [wpimath] Fix SwerveDriveKinematics not initializing a new array each time by @ohowe1 in #4942
- [wpimath] Fix PID atSetpoint to not return true prematurely by @sciencewhiz in #4906
commands:
- [commands] Fix spacing in command composition exception by @superpenguin612 in #4924
- [commands] BREAKING: C++: Delete UB-causing rvalue variants of CommandPtr methods by @Starlight220 in #4923
ntcore:
- [ntcore] Fix client flush behavior by @PeterJohnson in #4903
- [ntcore] Queue current value on subscriber creation by @PeterJohnson in #4938
examples:
- [examples] Cleanup PotentiometerPID, Ultrasonic, UltrasonicPID by @Starlight220 in #4893
- [examples] DigitalCommunication, I2CCommunication: Add tests by @Starlight220 in #4865
- [examples] Add example programs for AprilTags detection by @fovea1959 in #4932
other:
- [wpiutil] Guard MSVC pragma in SymbolExports.h by @calcmogul in #4911
- [fieldImages] Add 2023 field by @sciencewhiz in #4915
- [wpilibj] Add missing distance per pulse functions to java EncoderSim by @rzblue in #4928
- [hal] Add handle constructor and name getters for sim devices by @rzblue in #4925
SysId
- Fix SparkMax initialization sequence by @jlmcmchl in wpilibsuite/sysid#459
- Update to WPILib release version by @TytanRock in wpilibsuite/sysid#461
Shuffleboard
- Add 2023 field image by @sciencewhiz in wpilibsuite/shuffleboard#748
- Remove PID Widget features only used by old PIDController by @sciencewhiz in wpilibsuite/shuffleboard#746
PathWeaver
- Use field images from allwpilib by @pjreiniger in wpilibsuite/PathWeaver#286
Installer
- Fix artifact error page by @ThadHouse in wpilibsuite/WPILibInstaller-Avalonia#323
- Treat ARM64 Windows like x64 Windows by @jkunkee in wpilibsuite/WPILibInstaller-Avalonia#322
New Contributors
- @fovea1959 made their first contribution in #4932
- @TytanRock made their first contribution in wpilibsuite/sysid#461
- @jkunkee made their first contribution in wpilibsuite/WPILibInstaller-Avalonia#322
MD5 Hashes
0d1a6eddd593b51c1d19ce3b9bcf6d7e Linux/WPILib_Linux-2023.2.1.tar.gz
7d9bf7896a71ceebcd8ea5a77344496b Win64/WPILib_Windows-2023.2.1.iso
e0ce03dcc0b8d614531e5eeb16470ed2 macOS/WPILib_macOS-Intel-2023.2.1.dmg
a329654a0a16bd0c15967e2a0fc125a3 macOSArm/WPILib_macOS-Arm64-2023.2.1.dmg
SHA256 Hashes
28a99bae0830a1b43aad78621ab6a329ba48897a5c01489c554ed571e40b8d98 Linux/WPILib_Linux-2023.2.1.tar.gz
691b308a08c04e84180d2e6cffc2b53a4f65a2fcbd97de861b8628470b87dc48 Win64/WPILib_Windows-2023.2.1.iso
732c3416ff5dcd994ba45fd57c370b2d12460a44db2895fef2d45aad69063a57 macOS/WPILib_macOS-Intel-2023.2.1.dmg
3f38f9c1df71949771d769397efd66222806da6b4750979a17c37a0a8e79de1b macOSArm/WPILib_macOS-Arm64-2023.2.1.dmg