Getting Started
This is the beta-6 release of WPILib for the 2023 season. While this release will work with the 2023 v1.3 roboRIO image, we highly recommend upgrading the image to 2023 v1.4 (it was released as part of the NI Game Tools beta 2 release). This release is a critical patch fix for beta-5.
Check out what's new for 2023 and jump directly to the WPILib installation guide. A list of known issues with this release can be found here.
If you're starting from a 2022 robot project, you will need to import it to create a 2023 project.
What's Changed since beta-5:
- Replace const char* with std::string_view in Driver Station sim functions by @rzblue in #4532
- [ntcore] Remove table multi-subscriber by @PeterJohnson in #4789
- Upgrade vscode to 1.74.0
What's Changed since beta-4:
- This release adds the core support for AprilTags, but the higher level classes for team use are not yet written.
- Shuffleboard has been updated to use NetworkTables 4.
WPILib changes:
- [apriltag] Switch 2022 apriltag layout length and width values by @amquake in #4670
- [glass] Don't check IsConnected for NT widgets by @PeterJohnson in #4674
- [cpp cmd] Change CommandPtr to use CommandBase by @Starlight220 in #4677
- Fix jni artifacts linking to incorrect libraries by @ThadHouse in #4680
- [java cmd] Rename wait factory to waitSeconds by @Starlight220 in #4684
- [ntcore] Allow duplicate client IDs on server by @PeterJohnson in #4676
- [example] Use EncoderReversed constants by @Starlight220 in #4682
- [glass] Plot: allow for more than 11 plots by @ohowe1 in #4685
- [cscore] Add UYVY image support by @PeterJohnson in #4700
- [cscore] Use MFVideoFormat_L8 for Gray on Windows by @PeterJohnson in #4701
- [wpimath] Clarify Rotation3d roll-pitch-yaw direction by @calcmogul in #4699
- Rename HolonomicDriveController.calculate params by @Starlight220 in #4683
- [wpilibc] Shuffleboard SimpleWidget: Return pointer instead of reference by @PeterJohnson in #4703
- [cscore] Add Y16 image support by @PeterJohnson in #4702
- [apriltag] Fix pluralization of apriltag artifacts by @calcmogul in #4671
- [cmd] RepeatCommand: restart on following iteration by @Starlight220 in #4706
- [example] CANPDP: Expand properties shown by @Starlight220 in #4687
- [glass] Update NT view for topicsOnly and sendAll changes by @PeterJohnson in #4718
- [ntcore] Server: Properly handle multiple subscribers by @PeterJohnson in #4717
- [wpiutil] StringExtras: Add UnescapeCString by @PeterJohnson in #4707
- [wpigui] Reload fonts to scale rather than preloading by @PeterJohnson in #4712
- [build] cmake: Use FetchContent instead of ExternalProject by @PeterJohnson in #4714
- [cpp cmd] Add factory templates by @Starlight220 in #4686
- Add link to MotorSafety article by @Starlight220 in #4720
- [cmd] Add property tests for command compositions by @Starlight220 in #4715
- [ntcore] Add NetworkTable table-specific listeners by @PeterJohnson in #4640
- [wpigui] Add FontAwesome by @PeterJohnson in #4713
- Use defaulted comparison operators by @calcmogul in #4723
- Command convenience factories by @Oblarg in #4460
- [cmd examples] Renovate command-based examples by @Starlight220 in #4409
- Add gitignore for simgui files under myRobot and wpilibcExamples by @rzblue in #4726
- Remove missed isFinished check by @Starlight220 in #4727
- [cmd] Revert Trigger implementation by @Starlight220 in #4673
- [examples] Update all examples to use NWU coordinate conventions by @rzblue in #4725
- Allow unsetting a subsystem's default command by @democat3457 in #4621
- Tweak and use Color HSV formula for AddressableLED by @democat3457 in #4724
- [cmd] Refactor ProxyScheduleCommand, SelectCommand into ProxyCommand by @Starlight220 in #4534
- Update Subsystem factories to return CommandBase by @rzblue in #4729
- [ntcore] Send duplicate values to network if necessary by @PeterJohnson in #4730
- [ntcore] Add Sub option for local vs remote changes by @PeterJohnson in #4731
- [glass] NT: clear meta-topic info on disconnect by @PeterJohnson in #4732
- [build] Fix cmake install of thirdparty includes by @PeterJohnson in #4741
- [ntcore] Fix special topic multi-subscriber handling by @PeterJohnson in #4740
- [hal] Allow overriding stderr printing by HAL_SendError by @virtuald in #4742
- [docs] Generate docs for apriltag subproject by @calcmogul in #4745
- [wpimath] Add tolerance for Rotation3d rotation matrix special orthogonality by @calcmogul in #4744
- Add method to disable LW test mode by @Starlight220 in #4678
- Use Odometry for internal state in Pose Estimation by @jlmcmchl in #4668
- [wpimath] Make transform tests use pose/transform equality operators by @calcmogul in #4675
- [gradle/examples] Add unit testing infrastructure to examples by @Starlight220 in #4646
- [examples] Add main include directory to test builds by @calcmogul in #4751
- Add constructors to pose estimators with default standard deviations by @superpenguin612 in #4754
- Remove extra terms in matrix for pose estimator docs by @superpenguin612 in #4756
- Add new DCMotor functions for alternative calculations and reduction calculation by @JaciBrunning in #4749
- Fix PIDSubsystem setSetpoint behavior by @sciencewhiz in #4759
- [cscore] Emit warning that USB Camera isn't supported on OSX by @virtuald in #4766
- Call set(0) rather than disable for stopMotor on PWMMotorController by @rzblue in #4763
- Fix documentation on CommandGenericHID POV methods by @rzblue in #4760
- [apriltag] Use wpilibsuite fork of apriltag by @PeterJohnson in #4764
- Replace remaining references to Speed Controller with Motor Controller by @jlmcmchl in #4769
- [examples] HatchbotInlined: Use Subsystem factories by @Starlight220 in #4765
- [hal] Add CANManufacturer for The Thrifty Bot by @PeterJohnson in #4773
- [glass] DataSource: Add spinlock to protect value by @PeterJohnson in #4771
- [wpimath] Remove broken and obsoleted ComputerVisionUtil functions by @calcmogul in #4775
- [cmd] Move GroupedCommands to CommandScheduler by @Starlight220 in #4728
- [wpilibj] Shuffleboard: Check for null sendable by @PeterJohnson in #4772
- Adds CAN Stream API to Java through JNI bindings by @willtoth in #4193
- [cscore] Convert YUYV and UYVY directly to grayscale by @PeterJohnson in #4777
- [wpilib] Sendable: Don't call setter for getter changes by @PeterJohnson in #4770
- [wpilibj] Consistently use ErrorMessages.requireNonNullParam by @PeterJohnson in #4776
- [examples] AddressableLED: Add unit test by @Starlight220 in #4779
- [wpigui] Update imgui to 1.89.1+ by @PeterJohnson in #4780
- Revert Rotation2D change that limits angles by @sciencewhiz in #4781
- Fix multiple motor safety issues by @ThadHouse in #4784
- Add RobotController.getSerialNumber() by @rzblue in #4783
New Contributors
- @democat3457 made their first contribution in #4621
- @superpenguin612 made their first contribution in #4754
- @willtoth made their first contribution in #4193
Full Changelog: v2023.1.1-beta-4...v2023.1.1-beta-5
MD5 Hashes
03f200b2f549809f8e3699adb016f48d Linux/WPILib_Linux-2023.1.1-beta-6.tar.gz
06bfc92deaf2e3cca1d250679fb40344 Win64/WPILib_Windows-2023.1.1-beta-6.iso
0b365647ae88bc167d5724c34e725477 macOS/WPILib_macOS-Intel-2023.1.1-beta-6.dmg
0792ef42db02f08cf82a37830102008c macOSArm/WPILib_macOS-Arm64-2023.1.1-beta-6.dmg
SHA256 Hashes
aa755ad27d5ff14b4e7e33a23623ae714ff55e16379a9d59441eeeddd3347c0e Linux/WPILib_Linux-2023.1.1-beta-6.tar.gz
e787305894288eed527e150476a811304488010f96cb1d779310884776097f5f Win64/WPILib_Windows-2023.1.1-beta-6.iso
57e7a3988d034574caa4594c51de7d7ba1cc9bc7eeac71a4ed1d9d8a34d30f39 macOS/WPILib_macOS-Intel-2023.1.1-beta-6.dmg
d8e9cb6063c03ad31a47bd5b7bdb12af0ef8726450ef3e9ad29e89b49af4ee1b macOSArm/WPILib_macOS-Arm64-2023.1.1-beta-6.dmg