WPILib 2019.2.1 Update

I’m pleased to announce the availability of the 2019.2.1 update release of WPILib, the official FIRST libraries for robot programming in C++ and Java! This is an update to the kickoff release.

TL;DR: the 2019.2.1 release can be downloaded from GitHub.

The installation instructions for this this release are the same as for 2019.1.1. However, 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.

What’s Changed In This Release (since 2019.1.1)


  • [CameraServer] Fix FPS limiting to actually limit average FPS
  • [CameraServer] startAutomaticCapture(VideoSource) now returns the created MjpegServer
  • [Java CameraServer] Some MjpegServer functions were mistakenly package-private, are now public
  • [CameraServer] VideoSink now supports configuration via JSON, similar to VideoSource
  • [Java] Fixed Timer.get() handling of accumulated time
  • [Simulation] Fix Windows USB camera race condition
  • [Simulation] Add notifyNewData function to DriverStationSim class
  • The Watchdog implementation no longer clobbers its internal isExpired flag after callback (this lets the callback call Watchdog.disable)


  • Improve camera widget: change default compression, allow compression level of -1 for robot-side default compression (saves robot CPU)
  • Add widget for ultrasonic sensors
  • Fix saved settings handling


  • Exclude RobotBuilder backup files from the vscode file explorer
  • Fix some historical Eclipse references


  • Add Destination: Deep Space field image
  • Fix issue with centimeter and millimeter units

Visual Studio Code Extensions

  • Add helper prompts for selecting a folder above the project folder
  • Default deploy step to offline mode, and rename old offline flag
  • Don’t allow setting java.home in project level from extension, as this horribly breaks the git workflow
  • Fix simulation on Linux and Mac
  • Better handle invalid or empty java.home
  • Declare JDK version in build.gradle to better handle multiple JDKs being installed
  • Add message to indicate when a vendor library has been successfully installed
  • Properly run a build when installing a vendor library or a wpilib update online


  • [Mac] Make Python scripts for tools executable
  • [Mac] Users now need to extract the standalone utility (fixes issue)
  • [Windows] Fix missing year in frcvars.bat
  • Make WPILib icons transparent
  • Add support for managing vendor dependencies in standalone utility


  • Fix issue with simulateJava and more than one jar task in the project
  • Fix desktop JNI extraction failing when there are no libraries to extract
  • Allow disabling disableCacheCleanup (not recommended for most users)
  • Fix DebugInfo and DesktopInfo on multi-project builds
  • Download JRE during build process rather than waiting for deploy
  • Add support for 2019_v13 image… Great Scott!
  • Fix Clion support

Known Issues and Workarounds

See http://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/1028964-known-issues

  • The only “known issue” fixed in this release is “Installing and Using GradleRIO Directly May not Deploy JRE”