Releases: wpilibsuite/allwpilib
WPILib 2020.3.2 Release
Getting Started
Download the appropriate file for your platform and see the installation instructions at Getting started.
For this release, it's okay to skip reinstalling Visual Studio Code, JDK, and the compiler if you already installed them with a previous release.
After you install the update, VS Code will prompt you when opening an older 2020 project whether or not you want to upgrade it to 2020.3.2.
What's Changed In This Release (since 2020.2.2)
WPILib
Java
- TrapezoidProfile: Fixed aliasing of m_initial to result in calculate() (#2284)
- Added more detail to RuntimeLoader failure message (#2309)
- Fixed null check order in SendableRegistry (#2314)
- Added methods for getting the color of an AddressableLED (#2366)
C++
- Removed "Set Camera Server Shared" message (#2285)
- Added missing include to ShuffleboardEventImportance.h (#2310)
- Added support to circular_buffer for types that are not implicitly convertible from int (#2350)
- Fixed two cases in circular_buffer where a reference was being returned to a constant (#2350)
- Made units of TrapezoidProfile public (#2342)
C++ and Java
- Don't create a duplicated state at knot points when generating trajectories using quintic splines (#2307)
- Added setEnabled method to RamseteController (#2313)
- Added hasElapsed and advanceIfElapsed functions to Timer class. We encourage teams to consider using these functions instead of hasPeriodPassed, which has the confusing behavior of resetting the timer--advanceIfElapsed has the same functionality as hasPeriodPassed. If you want to only check that the time period has elapsed, use hasElapsed instead (#2322)
- Fixed DifferentialDriveVoltageConstraint for tight turns with zero velocity (#2341)
- Fixed notifier race that could happen with very fast notifiers (#2370)
- Added a method for releasing a waiting interrupt (#2347)
- Added a way to access NetComm's SendConsoleLine function (#2337)
New Command Framework
- [C++] Fixed POVButton (#2294)
- [C++] Fixed ParallelRaceGroup multiple calls behavior--the Java version was correct, but the C++ version would only run once (#2339)
Documentation
- Added new speed controllers to shuffleboard docs and fix a few bad links/typos (#2288)
- Fixed DriveSubsystem.getHeading() javadoc (#2282)
- Added missing references to "f" in PIDSubsystem javadoc (#2318)
- Added note that only a single instance of ADXRS450 is supported (#2349)
Simulation
- Added support for naming I/O in the GUI. Nearly any name in the GUI (e.g. "PWM[0]") can be renamed by right clicking on it and changing the name (#2292)
- Added 2D field view to the GUI. The field image and robot image can be loaded or just a wireframe used. The robot can be moved and rotated with a mouse click + drag. The robot position is settable in robot code via the Field2d class (#2261)
- Changed Filesystem.getDeployDirectory() to src/main/deploy in simulation (#2293)
- Fixed ADXL345 and ADXL362 simulation Y value (#2332)
- Added SimulationInit and SimulationPeriodic functions. These can be used as an easy way to add code that runs only in simulation (#2377)
Examples
- Fixed GearsBot log methods not being called periodically (#2280)
- Fixed RamseteCommand RobotDrive watchdog (#2298)
- Added feed-forward and slew rate limiting to advanced drive examples (#2301)
- Examples which use SendableChooser now set a default option (#2361)
Templates
- Added missing methods to Timed and TimedSkeleton (#2306)
PathWeaver
- PathWeaver paths that used different units than meters would cause issues with WPILib trajectory following. For new projects, PathWeaver now defaults to converting to meters in the exported file, regardless of the units used in the project. For backwards compatibility, projects created with earlier versions will default to exporting in project units, but a warning is displayed recommending the setting be changed (wpilibsuite/PathWeaver#180)
RobotBuilder
- Replaced deprecated SendableChooser addObject with addOption (wpilibsuite/RobotBuilder#205)
Shuffleboard
- Fixed theme plugins (wpilibsuite/shuffleboard#645)
SmartDashboard
- Fixed StringChooser not showing up if a default wasn't set (wpilibsuite/SmartDashboard#133)
GradleRIO
- The Java simulation task now prefers the WPILib JDK and warns about potential missing runtimes (wpilibsuite/GradleRIO#401)
Visual Studio Code WPILib Extension
- Added setting for selecting a default extension (wpilibsuite/vscode-wpilib#349)
Known Issues and Workarounds
A list of known issues with this release can be found here.
MD5 Hashes
3984ead5799eec22f8a7edcdd904a3e7 WPILibInstaller_Windows32-2020.3.2.zip
d7001f51d247046310cf9dd56d133a95 WPILibInstaller_Windows64-2020.3.2.zip
c36048b7ed925d7914603c09722085f1 WPILib_Linux-2020.3.2.tar.gz
75ab40cde15893c898d6340f7f3edc44 WPILib_Mac-2020.3.2.tar.gz
SHA256 Hashes
eb6099eb64f1af081ed144da44aa0d2a7036a9ab58888f76426a1edbd22e132c WPILibInstaller_Windows32-2020.3.2.zip
65698bc0933b35763b6d62c0fb729634495102a1d7aedadd994dad66b772f4a5 WPILibInstaller_Windows64-2020.3.2.zip
3f915be4acd76eafa0d4db751c2eff3da97cac9233e5d58b78ae0dd44f2ad478 WPILib_Linux-2020.3.2.tar.gz
e1aa02d7026c923d4b2c8f32c5ec1872f7ef903ca27652af279f79d19cbd5f15 WPILib_Mac-2020.3.2.tar.gz
WPILib 2020.2.2 Update
Getting Started
Download the appropriate file for your platform and see the installation instructions at Getting started.
For this update, it's okay to skip reinstalling vscode, JDK, and the compiler if you already installed them with 2020.1.2.
After you install the update, vscode will prompt you when opening an older project whether or not you want to upgrade it to 2020.2.2.
What's Changed In This Release (since 2020.1.2)
WPILib
Java
C++
- Implement missing definition of PIDController::SetPID() (#2239)
- Don't add CommandBase to LiveWindow (#2255)
- Fix default command name (#2256)
C++ and Java
- Add Axis enum to XboxController (#2253)
- Fix typos in color names (#2265)
- Hook old and new commands into LiveWindow (#2053)
New Command Framework
- [C++] Fix JoystickButton and POVButton (#2259)
- [Java, C++] Fix CommandScheduler.cancelAll() when called from outside the run loop (#2251)
- [Java] Make Button class concrete (#2244)
Documentation
- Fix search in Javadocs (#2229)
- Clarify AddressableLED constraints on number of drivers and LED string length (#2231)
Simulation
- Default simulation voltage to 12V with user rails active (#2224)
- Handle save file having window size=0 (#2260)
- Fix SPI DIO count (#2272)
PathWeaver
- Fix waypoint arrow rotation (wpilibsuite/PathWeaver#164)
- Add field image for 2020 Infinite Recharge field image (wpilibsuite/PathWeaver#172)
- Fix error handling when exporting paths (wpilibsuite/PathWeaver#169)
RobotBuilder
- Fix frc namespace for CustomComponents (wpilibsuite/RobotBuilder#195)
- Fix case of Requires in C++ comments (wpilibsuite/RobotBuilder#193)
Known Issues and Workarounds
A list of known issues with this release can be found here.
MD5 Hashes
d9f2bc088b67b980f9669121dec23f72 WPILibInstaller_Windows32-2020.2.2.zip
4491e22ec4b439f9b2129bcc3bf1fb16 WPILibInstaller_Windows64-2020.2.2.zip
d0aca2f554f60564d01c167237a18f5b WPILib_Linux-2020.2.2.tar.gz
7cf11509193e75cd8325b4a6a409923c WPILib_Mac-2020.2.2.tar.gz
SHA256 Hashes
c9880322381e1271192be4dfac30631400c92e594bcd97e4685685f540a36097 WPILibInstaller_Windows32-2020.2.2.zip
19af78f5108a163f6633a8985bd6f1af8910904b7129921498d0d9fc613163cd WPILibInstaller_Windows64-2020.2.2.zip
132fd4208b4b56c0aa2f3b80131964b9ddf01ad5fd7b46bc3edd07a75448a612 WPILib_Linux-2020.2.2.tar.gz
00ab33d58a7497411688d5085e65cf874385bbcfead5d566bdad5c2dc183338b WPILib_Mac-2020.2.2.tar.gz
WPILib 2020.1.2 Kickoff Release
This is the kickoff release of WPILib for the 2020 season.
The documentation for WPILib has moved to a new location for 2020: 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 2020 and jump directly to the WPILib installation guide.
A list of known issues with this release can be found here.
MD5 Hashes
2a05c9f916acf9fbbe663b0f0c106f47 WPILibInstaller_Windows32-2020.1.2.zip
7a0ac1199248a2ad85c19119c4bdf8d2 WPILibInstaller_Windows64-2020.1.2.zip
05b36308e6f7ba96f4e3a577ead14c29 WPILib_Linux-2020.1.2.tar.gz
41a871012b40e027bdda72b467fe784f WPILib_Mac-2020.1.2.tar.gz
SHA256 Hashes
bd96274c7b41f010d9e97903b5b2f8f083d389ad4e37e4cd4c1152a6274ec4b6 WPILibInstaller_Windows32-2020.1.2.zip
15eadf3639558677a7e986e51e53d9b5eebe079606177a1c0d9fb4c84a80ceb3 WPILibInstaller_Windows64-2020.1.2.zip
ec8d215bb61d4e6bbb3775b8514536da13122e8293db6c5c6f59e0609ead8537 WPILib_Linux-2020.1.2.tar.gz
d14fe56b293ff2a9cddd7576801fa42c6f920e8e6c74cde9f2741864507ab375 WPILib_Mac-2020.1.2.tar.gz
WPILib 2020.1.1 Pre-Kickoff Release
This is the pre-kickoff release of WPILib for the 2020 season.
The documentation for WPILib has moved to a new location for 2020: 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 2020 and jump directly to the WPILib installation guide.
A list of known issues with this release can be found here.
MD5 Hashes
05b0e78a0d18a86cdeac68280968cdb5 WPILib_Linux-2020.1.1.tar.gz
8b64ac3ac8e05c620731bb43d11b0042 WPILib_Mac-2020.1.1.tar.gz
9eda16fa1a49f6301c0e5cfbad086e5e WPILibSuite_Windows32-2020.1.1.zip
47b50d85983d64f496884cbb4ca20d7d WPILibSuite_Windows64-2020.1.1.zip
SHA256 Hashes
554ef41d98f7c4a7258dbd46a32731de9b81e95596b8b98f0c4662204d032b38 WPILib_Linux-2020.1.1.tar.gz
3e30ca5e5c1282187bcc097cd024ccaae00a2d4d477282288613590740673a80 WPILib_Mac-2020.1.1.tar.gz
b0c220d7c22e8ad5f5366119ee2ab6343b2c2a1e41832a3808464cfaf3c7499e WPILibSuite_Windows32-2020.1.1.zip
c0ef4e971366fda94bc3b531dc6720cd4245f63292386786c18b068e0be22194 WPILibSuite_Windows64-2020.1.1.zip
WPILib 2019.4.1 Update
Getting Started
Download the appropriate file for your platform and see the installation instructions here: https://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/999999-installing-c-and-java-development-tools-for-frc
For this update, it's okay to skip reinstalling vscode, JDK, and the compiler if you already installed them with 2019.1.1, 2019.2.1 or 2019.3.2.
After you install the update, vscode will prompt you when opening an older project whether or not you want to upgrade it to 2019.4.1.
Installing Visual Studio Code
Visual Studio Code (vscode) is the recommended and supported IDE. However, it requires a separate download as part of the install process. Make sure to click the "Select/Download" button during the install process if you want to install vscode.
If you need to install vscode on an offline machine, run the installer first on an Internet-connected machine and click the "Select/Download vscode" button. Then copy both the installer and the downloaded OfflineVsCodeFiles zip file to the offline machine.
What's Changed In This Release (since 2019.3.2)
WPILib
- [HAL] Fix not being able to use SPI CS1 as an interrupt (#1614)
This fixes an issue with ADIS16470 not working properly.
Shuffleboard
- Fix NetworkTable host parsing (wpilibsuite/shuffleboard#588)
Visual Studio Code Extensions
- Fix empty source sets crashing header tree view (wpilibsuite/vscode-wpilib#218)
- Fix riolog missing messages (wpilibsuite/vscode-wpilib#222)
GradleRIO
- Only support v14 image
- Ignore roboRIO toolchain if not used (wpilibsuite/GradleRIO#321)
- Remove C++ executable before deploying. Solve needing to double deploy (wpilibsuite/GradleRIO#322)
Known Issues and Workarounds
See http://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/1028964-known-issues
MD5 Hashes
2eccacc02b432bd5864d508e70ea1bb1 WPILib_Linux-2019.4.1.tar.gz
df880a76f99c8dcdb8c560cf4e043693 WPILib_Mac-2019.4.1.tar.gz
17bede712c4f444ace7d95ef6c7f256c WPILibInstaller_Windows64-2019.4.1.zip
198b47ab83ff03ef1a76a43151af6768 WPILibInstaller_Windows32-2019.4.1.zip
WPILib 2019.3.2 Update
Getting Started
Download the appropriate file for your platform and see the installation instructions here: https://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/999999-installing-c-and-java-development-tools-for-frc
For this update, it's okay to skip reinstalling vscode, JDK, and the compiler if you already installed them with 2019.1.1 or 2019.2.1.
After you install the update, vscode will prompt you when opening an older project whether or not you want to upgrade it to 2019.3.2.
Installing Visual Studio Code
Visual Studio Code (vscode) is the recommended and supported IDE. However, it requires a separate download as part of the install process. Make sure to click the "Select/Download" button during the install process if you want to install vscode.
If you need to install vscode on an offline machine, run the installer first on an Internet-connected machine and click the "Select/Download vscode" button. Then copy both the installer and the downloaded OfflineVsCodeFiles zip file to the offline machine.
What's Changed In This Release (since 2019.2.1)
WPILib
- [CameraServer] Add switched "virtual" camera support via CameraServer.addSwitchedCamera() (#1600)
- [C++ CameraServer] Properly initialize default USB camera device number to zero so that plain StartAutomaticCapture() works (#1601)
- [CameraServer] startAutomaticCapture(VideoSource) now returns the created MjpegServer (#1544)
- [Java CameraServer] Some MjpegServer functions were mistakenly package-private, are now public (#1545)
- [CameraServer] VideoSink now supports configuration via JSON, similar to VideoSource (#1543)
- [CameraServer] Correctly handle USB cameras with integer menu settings (#1561)
- [CameraServer] Fix crash if invalid (null) source is set in MjpegServer (#1585)
- [Java] Make PIDBase setPIDSourceType and getPIDSourceType public (#1599)
- [Java] Fix Ultrasonic sensor runner thread to work with multiple ultrasonic sensors (#1598)
- [C++] Fix ShuffleboardComponent template type, WithWidget capitalization, and Windows simulation runtime issue (#1595)
- [C++/Java] Fix Watchdog printing of epochs after watchdog disable (#1580)
- [HAL] Allow multiple instances of the same PDP without flooding CAN bus (#1582)
- [HAL] Update GetStackTrace() to propertly report user errors (#1594)
- [NetworkTables] Fix quotes reading from persistent ini file (#1579)
- [Simulation] ds_socket Game-Specific Message is now properly initialized (#1555)
- [Simulation] Fix halsim DS button format (#1583)
- [Simulation] Remove prints and unnecessary items from Windows GetNetworkInterfaces() (#1573)
- [Simulation CameraServer] Add support for camera descriptions on Windows (#1572)
- [Simulation CameraServer] Add missing exposure property on Windows USB cameras (#1571)
Shuffleboard
- Fix robot preferences not having a search feature (wpilibsuite/shuffleboard#575)
- Fix remotely-assigned number settings not being applied (wpilibsuite/shuffleboard#580)
RobotBuilder
- Fix default command include path (wpilibsuite/RobotBuilder#136)
- Fix export of the PID getters in C++ (wpilibsuite/RobotBuilder#137)
- Re-enable export to LiveWindow in C++ and fix deprecated usage (wpilibsuite/RobotBuilder#138)
PathWeaver
- No changes (we decided to not swap left and right at this late date, as we assume teams using PathWeaver have already made this swap in their code by this point)
Visual Studio Code Extensions
- Build automatically upon opening new project. Building immediately after cloning from git or creating a new project helps ensure things are set up and working for offline use (wpilibsuite/vscode-wpilib#204)
- Update tools when wpilib is updated online (wpilibsuite/vscode-wpilib#206)
- Prevent multiple workspaces from crashing the extension (wpilibsuite/vscode-wpilib#207)
- C++ Extension updated from 0.20.1 to 0.21.0
GradleRIO
- Add debuginfo for GoogleTest binaries (wpilibsuite/GradleRIO#307)
- Support for future v14 image
Known Issues and Workarounds
See http://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/1028964-known-issues
WPILib 2019.2.1 Update
Getting Started
Download the appropriate file for your platform and see the installation instructions here: https://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/999999-installing-c-and-java-development-tools-for-frc
For this update, it's okay to skip reinstalling vscode, JDK, and the compiler if you already installed them with 2019.1.1.
After you install the update, vscode will prompt you when opening an older project whether or not you want to upgrade it to 2019.2.1.
Installing Visual Studio Code
Visual Studio Code (vscode) is the recommended and supported IDE. However, it requires a separate download as part of the install process. Make sure to click the "Select/Download" button during the install process if you want to install vscode.
If you need to install vscode on an offline machine, run the installer first on an Internet-connected machine and click the "Select/Download vscode" button. Then copy both the installer and the downloaded OfflineVsCodeFiles zip file to the offline machine.
What's Changed In This Release (since 2019.1.1)
Note: The original release notes mistakenly stated 3 changes were made (struck out below) that are in fact not included in this release. These changes will be included in the next release.
WPILib
- [CameraServer] Fix FPS limiting to actually limit average FPS (#1536)
[CameraServer] startAutomaticCapture(VideoSource) now returns the created MjpegServer (#1544)[Java CameraServer] Some MjpegServer functions were mistakenly package-private, are now public (#1545)[CameraServer] VideoSink now supports configuration via JSON, similar to VideoSource (#1543)- [Java] Fixed Timer.get() handling of accumulated time (#1531)
- [Simulation] Fix Windows USB camera race condition (#1534)
- [Simulation] Add notifyNewData function to DriverStationSim class (#1537)
- The Watchdog implementation no longer clobbers its internal isExpired flag after callback (this lets the callback call Watchdog.disable) (#1527)
Shuffleboard
- Improve camera widget: change default compression, allow compression level of -1 for robot-side default compression (saves robot CPU) (wpilibsuite/shuffleboard#571)
- Add widget for ultrasonic sensors (wpilibsuite/shuffleboard#568)
- Fix saved settings handling (wpilibsuite/shuffleboard#572)
RobotBuilder
- Exclude RobotBuilder backup files from the vscode file explorer (wpilibsuite/RobotBuilder#131)
- Fix some historical Eclipse references (wpilibsuite/RobotBuilder#132)
PathWeaver
- Add Destination: Deep Space field image (wpilibsuite/PathWeaver#132)
- Fix issue with centimeter and millimeter units (wpilibsuite/PathWeaver#134)
Visual Studio Code Extensions
- Add helper prompts for selecting a folder above the project folder (wpilibsuite/vscode-wpilib#189)
- Default deploy step to offline mode, and rename old offline flag (wpilibsuite/vscode-wpilib#183)
- Don't allow setting java.home in project level from extension, as this horribly breaks the git workflow (wpilibsuite/vscode-wpilib#182)
- Fix simulation on Linux and Mac (wpilibsuite/vscode-wpilib#181)
- Better handle invalid or empty java.home (wpilibsuite/vscode-wpilib#167 and wpilibsuite/vscode-wpilib#174)
- Declare JDK version in build.gradle to better handle multiple JDKs being installed (wpilibsuite/vscode-wpilib#168)
- Add message to indicate when a vendor library has been successfully installed (wpilibsuite/vscode-wpilib#170)
- Properly run a build when installing a vendor library or a wpilib update online (wpilibsuite/vscode-wpilib#199)
Installer
- [Mac] Make Python scripts for tools executable (wpilibsuite/WPILibInstaller#38)
- [Mac] Users now need to extract the standalone utility (fixes issue) (wpilibsuite/WPILibInstaller#42)
- [Windows] Fix missing year in frcvars.bat (wpilibsuite/WPILibInstaller#34)
- Make WPILib icons transparent (wpilibsuite/WPILibInstaller#35)
- Add support for managing vendor dependencies in standalone utility (wpilibsuite/vscode-wpilib#197)
GradleRIO
- Fix issue with simulateJava and more than one jar task in the project (wpilibsuite/GradleRIO#283)
- Fix desktop JNI extraction failing when there are no libraries to extract (wpilibsuite/GradleRIO#289)
- Allow disabling disableCacheCleanup (not recommended for most users) (wpilibsuite/GradleRIO#286)
- Fix DebugInfo and DesktopInfo on multi-project builds (wpilibsuite/GradleRIO#291)
- Download JRE during build process rather than waiting for deploy (wpilibsuite/GradleRIO#294)
- Add support for 2019_v13 image... Great Scott!
- Fix Clion support (wpilibsuite/GradleRIO#285)
Known Issues and Workarounds
See http://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/1028964-known-issues
- Only "known issue" fixed in this release is "Installing and Using GradleRIO Directly May not Deploy JRE"
WPILib 2019.1.1 Kickoff Release
This is the kickoff release of WPILib for the 2019 season.
See the installation instructions here: https://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/999999-installing-c-and-java-development-tools-for-frc