Releases: wpilibsuite/allwpilib
WPILib 2023.1.1 Beta 6 Release
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] Consist...
WPILib 2023.1.1 Beta 5 Release
Getting Started
This is the beta-5 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).
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-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 tha...
WPILib 2023.1.1 Beta 4 Release
Getting Started
This is the beta-4 release of WPILib for the 2023 season. While this release will work with the 2023 v1.3 roboRIO image, we recommend upgrading the image to 2023 v1.4 (it was released as part of the NI Game Tools beta 2 release).
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.
What's Changed since beta-3:
- The Mac installers are now notarized!
- The Mac binaries are now universal binaries. On Mac, this will require updating to vendor libraries synchronized with beta-4 (releases should be available in the next few days).
Other changes:
- [ntcore] Catch file open error when saving preferences by @PeterJohnson in #4571
- Explicitly mark EventLoop as non-copyable/non-movable by @virtuald in #4579
- Allow composing two triggers directly by @virtuald in #4580
- Fix Pose3d transformBy rotation type by @dellagd in #4545
- [apriltags] Use map as internal data model by @pjreiniger in #4577
- Add missing PS4 triangle methods by @Starlight220 in #4576
- [wpimath] Remove deprecated units/units.h header by @calcmogul in #4572
- [cpp cmd] Move SelectCommand factory impl to header by @Starlight220 in #4581
- Update all dependencies that use grgit by @ThadHouse in #4596
- [wpilib] Fix AprilTagFieldLayout JSON property name typos by @calcmogul in #4597
- Fix y axis not being saved in glass by @ohowe1 in #4594
- [wpinet] Fix incorrect jni definitions by @ThadHouse in #4605
- [wpimath] Update units/base.h license header by @calcmogul in #4608
- [wpimath] Add macro for disabling units fmt support by @calcmogul in #4609
- Add additional angular acceleration units by @CoryNessCTR in #4610
- Add DifferentialDriveFeedforward classes which wrap LinearPlantInversionFeedforward by @CarloWoolsey in #4598
- [wpimath] Add missing open curly brace to units/base.h by @calcmogul in #4613
- [wpilibc] ShuffleboardComponent.WithProperties: Update type by @PeterJohnson in #4615
- [ntcore] Notify locally on SetDefault by @PeterJohnson in #4617
- [wpilibj] FieldObject2d: Fix close() by @PeterJohnson in #4619
- [glass] Fix NT Mechanism2D by @PeterJohnson in #4626
- Refactor python scripts under upstream_utils and wpiutil by @egeakman in #4614
- [cpp commands] Report error on CommandPtr use-after-move by @Starlight220 in #4575
- [cmd] Fix Trigger API docs (NFC) by @Starlight220 in #4599
- [wpimath] Put Rotation2d's value always in the -pi to pi scope by @ohowe1 in #4611
- [wpimath] Fix units docs for LinearSystemId::IdentifyDrivetrainSystem() by @calcmogul in #4600
- [myRobot] Disable spotbugs by @PeterJohnson in #4565
- [commands] Remove unsafe default command isFinished check by @Starlight220 in #4411
- Remove encoder reset comments on Swerve, Mecanum Odometry and Pose Estimation by @jlmcmchl in #4643
- Rework function signatures for Pose Estimation / Odometry by @jlmcmchl in #4642
- [wpimath] Add support for swerve joystick normalization by @r4stered in #4516
- Add AprilTagFieldLayout JSON file and move class to edu.wpi.first.apriltag by @pjreiniger in #4578
- [cmd] Change factories return type to CommandBase by @Starlight220 in #4655
- Fix non initialized hal functionality during motor safety init by @ThadHouse in #4658
- Fix documentation for AprilTagFieldLayout by @rzblue in #4657
- [apriltag] Fix FieldDimensions argument order by @calcmogul in #4659
- Provide mechanism to reset internals of NT instance by @virtuald in #4653
- [ntcore] Fix WaitForListenerQueue by @PeterJohnson in #4662
- Fix swerve examples to use getDistance for turning encoder by @sciencewhiz in #4652
- [wpimath] Fix Pose relativeTo documentation by @amquake in #4661
- [cscore] Add Arducam OV9281 exposure quirk by @PeterJohnson in #4663
- Rework odometry APIs to improve feature parity by @jlmcmchl in #4645
- [ntcore] Allow numeric-compatible value sets by @PeterJohnson in #4620
- [ntcore] Implement keep duplicates pub/sub flag by @PeterJohnson in #4666
- [wpilib] Update values on controllable sendables by @PeterJohnson in #4667
New Contributors
- @dellagd made their first contribution in #4545
- @CoryNessCTR made their first contribution in #4610
- @egeakman made their first contribution in #4614
Full Changelog: v2023.1.1-beta-3...v2023.1.1-beta-4
If you're starting from a 2022 robot project, you will need to import it to create a 2023 project.
MD5 Hashes
7fdb50f3c7ac2c73eb11c22e5bb320e6 Linux/WPILib_Linux-2023.1.1-beta-4.tar.gz
c8986c9f9a45f1bcf5fe91d4b065b673 Win64/WPILib_Windows-2023.1.1-beta-4.iso
62e201e0bedbfb7e078831ae622cfa71 macOS/WPILib_macOS-Intel-2023.1.1-beta-4.dmg
94d60871b0481d2c9335d4be98344a04 macOSArm/WPILib_macOS-Arm64-2023.1.1-beta-4.dmg
SHA256 Hashes
c5af9638a180c4fed04414cb3374e0b0f63a917ff04bf7d086f7bc404a96b0ad Linux/WPILib_Linux-2023.1.1-beta-4.tar.gz
5f18fdd5a568e4db218ac3cc1cb1887680f1c202b6d0309aa89cc6503ae2a659 Win64/WPILib_Windows-2023.1.1-beta-4.iso
651acf0fa826a4e467670d7f65abdc1801ae232da4aecbdd04ca0b4f60fc6b29 macOS/WPILib_macOS-Intel-2023.1.1-beta-4.dmg
fbd2d511b1e482e854708f8d2d885d8b791db3d2a20362418128958b25ae1f90 macOSArm/WPILib_macOS-Arm64-2023.1.1-beta-4.dmg
WPILib 2023.1.1 Beta 3 Release
Getting Started
This is the beta-3 release of WPILib for the 2023 season. This requires the 2023 v1.3 roboRIO image (either roboRIO 1 or roboRIO 2) [the same image as beta-2].
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.
Known issues:
- The Mac installers are currently not notarized, so it's necessary to remove the quarantine flag from the dmg using
xattr -d com.apple.quarantine WPILib_macOS-*.dmg
before mounting the dmg. - PortForwarder and kin do not work in Java.
What's Changed since beta-2:
This release adds Mac installers. There are two critical fixes in this release:
- [wpilib] Fix Shuffleboard SuppliedValueWidget by @PeterJohnson in #4559
- Fix joysticks either crashing or returning 0 by @ThadHouse in #4570
Other changes:
- [wpimath] Remove unused SymbolExports.h include from units/base.h by @calcmogul in #4541
- [wpilib] Fix Xbox/PS4 POV sim by @Starlight220 in #4546
- Add missing methods in CommandJoystick and More Specific Return Type For CommandPS4Controller & CommandJoystick by @ohowe1 in #4557
- [wpilib] Fix Xbox/PS4 POV sim for port number constructors by @mjansen4857 in #4548
- [wpimath] Fix docs for pose estimator local measurement models by @calcmogul in #4558
- [wpimath] Remove template argument from ElevatorFeedforward by @calcmogul in #4554
- [cmd] Change WrapperCommand to inherit CommandBase by @Starlight220 in #4561
- Update to Native Utils 2023.6.0 by @ThadHouse in #4563
- AprilTag ID to Pose API by @brennenputh in #4421
- Add comment about encoder reset back to pose estimator resetPosition() by @aryker in #4569
SingleJointedArmSim
: Check angle equals limit on wouldHit by @amquake in #4567- [ntcore] Various fixes and cleanups by @PeterJohnson in #4544
- [upstream-utils][mpack] Add upstream util for mpack by @pjreiniger in #4500
- [ntcore] Change Java event mask to EnumSet by @PeterJohnson in #4564
New Contributors
- @mjansen4857 made their first contribution in #4548
- @brennenputh made their first contribution in #4421
- @aryker made their first contribution in #4569
- @amquake made their first contribution in #4567
Full Changelog: v2023.1.1-beta-2...v2023.1.1-beta-3
If you're starting from a 2022 robot project, you will need to import it to create a 2023 project.
MD5 Hashes
971f5b62dbeb4d9da598e65afe0e643a Linux/WPILib_Linux-2023.1.1-beta-3.tar.gz
79524dddb32c8ce9afb09a0c0e6b8730 Win64/WPILib_Windows-2023.1.1-beta-3.iso
2f259724ddc79b17ff691102cf1c481d macOS/WPILib_macOS-Intel-2023.1.1-beta-3.dmg
e2b695e04063cfad89c39f6b9ba03f79 macOSArm/WPILib_macOS-Arm64-2023.1.1-beta-3.dmg
SHA256 Hashes
dfb0b9f62900a34f4749951fcc74e894c0cf786a7c970a24e986608482ef86f2 Linux/WPILib_Linux-2023.1.1-beta-3.tar.gz
15ef30eb37ea7fcb688003bf80d8e8b13ec784060669e5d75a6cde64141f5b3f Win64/WPILib_Windows-2023.1.1-beta-3.iso
6fcd7f39a6fab1b52b1a5828826270a3474970bf4ed03138045acb9966ced5b3 macOS/WPILib_macOS-Intel-2023.1.1-beta-3.dmg
e2b1d617dd9b5b55376368fc9f29c5062853818005ad3ebc8c40fb8bd1d7382e macOSArm/WPILib_macOS-Arm64-2023.1.1-beta-3.dmg
WPILib 2023.1.1 Beta 2 Release
Getting Started
This is the initial beta release of WPILib for the 2023 season (despite the name beta-2). This requires the 2023 v1.3 roboRIO image (either roboRIO 1 or roboRIO 2).
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. Other errata:
- The Mac installers have been reported as having an issue and have been removed for now--see wpilibsuite/WPILibInstaller-Avalonia#282.
- Shuffleboard addNumber() and kin in Java will result in simulation rapidly crashing--will be fixed in #4559.
- Joysticks return 0 or crash
If you're starting from a 2022 robot project, you will need to import it to create a 2023 project.
MD5 Hashes
fecd892c39a3b52a1ab371c80a6ae7fa Linux/WPILib_Linux-2023.1.1-beta-2.tar.gz
c2b53f33f611eeb6d15d816a766a1b47 Win64/WPILib_Windows-2023.1.1-beta-2.iso
SHA256 Hashes
6df8a1f3e09d82dc7114f4737f09ca2fda9f17842e2e8d077130d60b5a64bf10 Linux/WPILib_Linux-2023.1.1-beta-2.tar.gz
8f2756b1413e2e297ec416ca9b100ba496df0c9e69713bde965c9a4cf8747059 Win64/WPILib_Windows-2023.1.1-beta-2.iso
WPILib 2022.4.1 Release
This is the third update release of WPILib for the 2022 season.
Major Fixes
The Java runtime (JRE) on the roboRIO has been downgraded to the 2021 release to fix a deadlock issue. This was the actual root cause of the joystick bug in the 2022 kickoff release, and can also affect team code that uses Java synchronized blocks in other places. GradleRIO in 2022.4.1 projects will check the installed JRE on deploy and replace it with the 2021 version if necessary. Thanks to @sciencewhiz for isolating the issue and @ThadHouse for the GradleRIO fix.
Major New Features
High speed data logging for recording of telemetry data (including NetworkTables and joystick data) to a file on the robot (or USB stick if present). A new desktop Data Log Tool has been added to make it easy to download these files from the robot and convert them to CSV. Contributed by @PeterJohnson in #3780
Other Significant Changes
WPILib
- Absolute encoder API and behavior fixes by @ThadHouse in #4052
- Fix ADIS16448 IMU default constructor not working by @ThadHouse in #3989
- Fix joystick out of range error messages by @ThadHouse in #3988
- Add flush to MechanismRoot2d SetPosition by @sciencewhiz in #4011
- Set Persistent in Preferences Init methods by @sciencewhiz in #4025
- Check for signedness in ArcadeDriveIK() by @calcmogul in #4028
Commands
SysId
- Upgrade PWF to 2022.01.17 by @calcmogul in wpilibsuite/sysid#354
- Separate forward/backward plots by @Oblarg in wpilibsuite/sysid#353
- Display left and right datasets by @Piphi5 in wpilibsuite/sysid#362
- Add acceleration RMSE by @Oblarg in wpilibsuite/sysid#365
- Add theoretical mode by @Oblarg in wpilibsuite/sysid#374
- Make Spark Max encoder port the default instead of data port by @carelesshippo in wpilibsuite/sysid#385
- Fix NavX port description by @calcmogul in wpilibsuite/sysid#387
Glass
- Increase plot depth to 20K points by @PeterJohnson in #3993
- Support remapping of Enter key by @PeterJohnson in #3994
- Fix crash in PlotSeries::SetSource() by @PeterJohnson in #3991
Sim GUI
- Don't force-show Timing and Other Devices by @PeterJohnson in #4001
- Update sim match time to match real robot by @PeterJohnson in #4024
Various other contributions by @calcmogul, @virtuald, @modelmat, and @sciencewhiz. Welcome new contributors @carelesshippo, @jonahsnider, @LennyAbbas, and @AJahueyM!
RoboRIO Image Requirements
Important: As was the case with 2022.3.1, RoboRIO image 2022_v4.0 is required to use this release; this is installed by National Instruments FRC Game Tools 2022 f1 (note the "f1" in the version number). After installing 2022 f1, use the RoboRIO Imaging Tool to reimage your RoboRIO to 2022_v4.0. This release will not work with earlier 2022 RoboRIO images and will error out if a deploy is attempted to an earlier version.
Upgrading
Upgrading WPILib from earlier 2022 releases is easy: simply download and run the new installer and it will update your current installation. If you already have the 2022 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 running the installer is necessary to install upgraded desktop tools.
Documentation
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.
If you're returning from a previous season, check out what's new for 2022; be sure to read through this, as a lot has changed from 2021! You will need a new RoboRIO image for 2022; this is available via the FRC Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2020 or 2021 robot project, you will need to import your project to create a 2022 project. The import process is particularly important for 2022, as it will make a number of automated corrections for the various breaking package moves/renames that happened in 2022.
Known Issues
A complete list of known issues with this release can be found here. In particular, there is a warning against using the "onboard" I2C port (the MXP I2C port does not have an issue).
Development Team
WPILib is developed by a small team of volunteers and the FIRST community.
Hashes
MD5 Hashes
fe77f689d5da5f5d3b167f5ae50429b2 Linux/WPILib_Linux-2022.4.1.tar.gz
d8540a37a842e4cbefd311d0e9412155 Win32/WPILib_Windows32-2022.4.1.iso
9f867a4a8a7a48169668e75feba51d28 Win64/WPILib_Windows64-2022.4.1.iso
d22337a0b7a67ee4fb2358d5ce15f697 macOS/WPILib_macOS-2022.4.1.dmg
SHA256 Hashes
a3e95aac645c9a4fafcf65db552ae9bebf39cd574e516edeaa29ac735d1849e4 Linux/WPILib_Linux-2022.4.1.tar.gz
3e4bcefd1d312c9d90bef9945b8fea1c93275584f16d7480f1d25aafa38cd8bf Win32/WPILib_Windows32-2022.4.1.iso
ef872a4d96d1d854891e46b987f34aec868a9cfb3fe835e578def0a7874a67ff Win64/WPILib_Windows64-2022.4.1.iso
c9d936c83cbec3d2a647c8a9d07228a93f28ce2b3be8ce2438451a85cb25c03f macOS/WPILib_macOS-2022.4.1.dmg
WPILib 2022.3.1 Release
This is the second update release of WPILib for the 2022 season. This release tracks to RoboRIO image v4.0, which fixes the Analog Devices SPI gyros issue and is required per Team Update 8.
Important: Reimaging the RoboRIO to 2022_v4.0 is required to use this release; this is installed by National Instruments FRC Game Tools 2022 f1 (note the "f1" in the version number). After installing 2022 f1, use the RoboRIO Imaging Tool to reimage your RoboRIO to 2022_v4.0. This release will not work with earlier 2022 RoboRIO images and will error out if a deploy is attempted to an earlier version; similarly, older versions of WPILib will not work with the v4.0 image.
Upgrading WPILib from earlier 2022 releases is easy: simply download and run the new installer and it will update your current installation. If you already have the 2022 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.
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.
If you're returning from a previous season, check out what's new for 2022; be sure to read through this, as a lot has changed from 2021! You will need a new RoboRIO image for 2022; this is available via the FRC Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2020 or 2021 robot project, you will need to import your project to create a 2022 project. The import process is particularly important for 2022, as it will make a number of automated corrections for the various breaking package moves/renames that happened in 2022.
A complete list of known issues with this release can be found here. In particular, there is a warning against using the "onboard" I2C port (the MXP I2C port does not have an issue). Also, while overall AD gyro support has been fixed, there is a bug in this release in the ADIS16448 Java implementation's no-args constructor: to work around this, use ADIS16448_IMU(ADIS16448_IMU.IMUAxis.kZ, SPI.Port.kMXP, ADIS16448_IMU.CalibrationTime._1s);
instead of the no-args constructor.
WPILib is developed by a small team of volunteers and the FIRST community.
MD5 Hashes
41d7e725a90f2cbc9d3345a7cf5e2f69 WPILib_Linux-2022.3.1.tar.gz
33ae561bdd0bfac7571ae32672bb1d79 WPILib_Windows32-2022.3.1.iso
8be0f176d5bf767da226c5b66d1dc944 WPILib_Windows64-2022.3.1.iso
cd6eb0da4b8373cf8b41323e2692620c WPILib_macOS-2022.3.1.dmg
SHA256 Hashes
4c5239f6c22d0cef2917068ed09c6fe9fb57dc7c8cc94b461cbfaf4dfbab8725 WPILib_Linux-2022.3.1.tar.gz
b5e8cb2da8585b918dd8587a8a86f51ff6cc11a512ed1f01adaf4fa761338d60 WPILib_Windows32-2022.3.1.iso
017eacb040e94d13e30b9d3c3ae9111a7055a0c92c06a95bf8f8b9441030bee0 WPILib_Windows64-2022.3.1.iso
13a534ab2dbaff9c4692c46205bb200f26e5e32a486b811a218039aa0746d1b4 WPILib_macOS-2022.3.1.dmg
WPILib 2022.2.1 Release
This is an update release of WPILib for the 2022 season. This release fixes two critical bugs in the kickoff release:
- random loss of joystick updates (#3922)
- tools (e.g. Shuffleboard) not starting or quitting unexpectedly (#3919)
In addition, one major bug has been fixed (checking for vendor updates) as well as a variety of minor fixes to examples and other functionality/documentation.
This release does not fix the Analog Devices SPI gyros issue; that fix requires a new RoboRIO image and will be in a future release.
Upgrading from the kickoff 2022 release is easy: simply download and run the new installer and it will update your current installation. If you already have the 2022 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.
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.
If you're returning from a previous season, check out what's new for 2022; be sure to read through this, as a lot has changed from 2021! You will need a new RoboRIO image for 2022; this is available via the FRC Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2020 or 2021 robot project, you will need to import your project to create a 2022 project. The import process is particularly important for 2022, as it will make a number of automated corrections for the various breaking package moves/renames that happened in 2022.
A complete list of known issues with this release can be found here. In particular, Analog Devices SPI Gyros (including the ADXRS450) do not work in this release due to an issue with the v3 RoboRIO image, and there is a warning against using the "onboard" I2C port (the MXP I2C port does not have an issue).
WPILib is developed by a small team of volunteers and the FIRST community.
MD5 Hashes
7d46cd85f76ce784156f50db3d4576d9 WPILib_Linux-2022.2.1.tar.gz
cc72c71234c40519d79d3203fd2d06a7 WPILib_Windows32-2022.2.1.iso
feef49f2226a5ef50de43174dff305f3 WPILib_Windows64-2022.2.1.iso
6b1b9cdc5ace66e0fdf1231705560a76 WPILib_macOS-2022.2.1.dmg
SHA256 Hashes
00582c0cd252c2749ef985db28087e157e3263bcae9d7854eec127d124fe2e2b WPILib_Linux-2022.2.1.tar.gz
96ad0e15345a975e9d20e1abc85b9589da673202e469f21e841a0ff40f9ae5ec WPILib_Windows32-2022.2.1.iso
40a852b6db487790719b2d007f1bf5a052698238817d6ca8dcd0fe8f9faefc02 WPILib_Windows64-2022.2.1.iso
10269131a76d2277ead73c9e509075e84cc4d9a5c448377d3de3fdf457007e8d WPILib_macOS-2022.2.1.dmg
WPILib 2022.1.1 Kickoff Release
This is the kickoff release of WPILib for the 2022 season.
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.
If you're returning from a previous season, check out what's new for 2022; be sure to read through this, as a lot has changed from 2021! You will need a new RoboRIO image for 2022; this is available via the FRC Game Tools. Follow the WPILib installation guide to install WPILib.
If you're starting from a 2020 or 2021 robot project, you will need to import your project to create a 2022 project. The import process is particularly important for 2022, as it will make a number of automated corrections for the various breaking package moves/renames that happened in 2022.
A complete list of known issues with this release can be found here. In particular, Analog Devices SPI Gyros (including the ADXRS450) do not work in this release due to an issue with the v3 RoboRIO image, and there is a warning against using the "onboard" I2C port (the MXP I2C port does not have an issue).
WPILib is developed by a small team of volunteers and the FIRST community.
MD5 Hashes
ced4d15120943c0f1af5523f085d964e WPILib_Linux-2022.1.1.tar.gz
7ec70c0a41d41516b1dd02d1246a9821 WPILib_Windows32-2022.1.1.iso
cdcb1ae31a3981d8fd17629e90d42af3 WPILib_Windows64-2022.1.1.iso
ff2b44abf6691b4326551f92a008091e WPILib_macOS-2022.1.1.dmg
SHA256 Hashes
ec59a3acf05dda4ec75135d129e8f703eb40347329fd6281d76cdea150ff33b2 WPILib_Linux-2022.1.1.tar.gz
18ed99d77d649886edd62a0bfb8d117c37ea3252625d4b0886a616832865cc05 WPILib_Windows32-2022.1.1.iso
cf31ebefab0f999aef27cf59ccaa67cb34ea6eb9b7b2f64dc92e739ee99c303e WPILib_Windows64-2022.1.1.iso
e20bf05bcfbf778853db4690293fac6b6e518cdfe7539aeec63f3a7ebe1cfffb WPILib_macOS-2022.1.1.dmg
WPILib 2022.1.1 Release Candidate 1
Getting Started
This is the first release candidate for the initial release of WPILib for the 2022 season. This release requires the 2022 v2.x roboRIO image (either roboRIO 1 or roboRIO 2).
Check out what's new for 2022 and jump directly to the WPILib installation guide.
If you're starting from a 2021 robot project, you will need to import it to create a 2022 project. The import process is particularly important for 2022, as it will try to make a number of automated corrections for the various breaking package moves/renames that happened in 2022.
MD5 Hashes
e2d51d4aced1500a666a060fa7ffc90c Linux/WPILib_Linux-2022.1.1-rc-1.tar.gz
d6fe1e13bdc065f1a3ff9f9f49d63fe9 Win32/WPILib_Windows32-2022.1.1-rc-1.iso
63bdaa781b47085c256684ae5578efe3 Win64/WPILib_Windows64-2022.1.1-rc-1.iso
7045e52765fd2e3a117c1bc98764ce30 macOS/WPILib_macOS-2022.1.1-rc-1.dmg
SHA256 Hashes
c4c14022d1d61411dae17b06e456925aa82f9419fdbe1bc4e553820e5c5684e8 Linux/WPILib_Linux-2022.1.1-rc-1.tar.gz
86c36b1a61d7d03d390111289724d0125c9c5f9db5bd2b0b8649b0d99aee9467 Win32/WPILib_Windows32-2022.1.1-rc-1.iso
cf3a0a2457b36d6797432a1a6c7ce54e606a3aae130e0c1b88eed7b9434016d3 Win64/WPILib_Windows64-2022.1.1-rc-1.iso
ae6fefba81cbba73830320555363c432daf1b284a86fecc04d6f85fbe845cb30 macOS/WPILib_macOS-2022.1.1-rc-1.dmg