WPILib

View Original

2025 Kickoff Release of WPILib

We are pleased to announce the availability of the 2025 kickoff release (2025.1.1) of WPILib, the official FIRST libraries for robot programming in Java, C++, and Python.

Changes for 2025

There have been many additions and new features added by the WPILib development team over the past year. We encourage all teams to read the New for 2025 page in the documentation for all the details! Some statistics (just for the main WPILib repository): 739 commits were made since 2024.3.2 by 36 contributors, touching nearly 3,900 files, with 457,830 added and 71,575 removed lines.

Notably, two new tools have been added to the WPILib installer. A new driver-focused dashboard, Elastic, was contributed by Nadav of FRC Team 353. Elliot Scher, a current WPI student, developed an AprilTag field layout calibration tool (WPIcal) inspired by FRC Team 1538's cowlibration tool. A new Vendor Dependency Manager in VS Code will help teams discover and install vendordeps. On the library front, Java annotation based logging has been added (Epilogue), and the Java units library has been refactored. The units library is a breaking change, but the new API is less complicated to use and more extensible.

Looking Forward to 2027

For the 2026 release, we anticipate that the majority of features will remain consistent with 2025. The WPILib team is excited for the 2027 Mobile Robot Controller and our focus is shifting towards the 2027 release so that teams will be able to take advantage of all the capabilities of the new controller.

Installation Instructions

Note: Minimum system requirements: WPILib requires 64-bit Windows 10 or 11 (Arm and 32-bit not supported), Ubuntu 22.04 or 24.04, or macOS 13.3 or higher. C++ teams should note that the latest version of Visual Studio 2022 is required for desktop builds. Mac users will need to have the Xcode Command Line Tools installed before running the installer. This can be done by running xcode-select --install in the Terminal.

Thanks and an Ask

WPILib is run by a small team of volunteers and the community. Many of the features and tools included in WPILib started as community projects or ideas. As the new season begins, we challenge you when writing the next exciting project or feature to think about how you can best share your work with the community! Some projects would be great additions to WPILib and we would love the chance to include them. This is also true of any issues you run into using the current library, we are always looking to make things better for teams! We encourage you to talk to us and discuss what you are doing and how it could fit into future plans. You can reach us on GitHub, Discord, and Chief Delphi.

WPILib's core members are as follows.

  • Amanda Bessette @arbessette
  • Ryan Blue @Ryan_Blue
  • Jonah Bonner @jwbonner
  • Sam Carlberg @SamCarlberg
  • Jason Daming @jdaming
  • Thad House @Thad_House
  • Peter Johnson @Peter_Johnson
  • Brad Miller @BradAMiller
  • Joe Pokorny @jpokornyiii
  • Joe Ross @Joe_Ross
  • Elliot Scher
  • Austin Shalit @AustinShalit
  • Yotam Shlomi @starlight220
  • Dustin Spicuzza @virtuald
  • Tyler Veness @calcmogul
  • David Vo @auscompgeek
  • Vasista Vovveti @vyo
  • Zhiquan Yeo @zeequeue

We would also like to call out the translation coordinators for the documentation. These people help make WPILib accessible to teams all around the world.

  • Ofek Ashery (Hebrew)
  • Regis Bekale (French)
  • Hasan Bilgin (Turkish)
  • Luca Carvalho (Portuguese)
  • Miguel Angel de León Adame (Spanish)
  • Jacob Lubecki (Japanese)
  • Bruno Toso (Portuguese)
  • Atlus Zhang (Chinese)
  • Min Zhang (Chinese)

Major past contributors to WPILib include Eli Barnett, Jaci Brunning, Evan Gilgenbach, Alex Henning, Jonathan Leitschuh, James Kuszmaul, Toby Macaluso, Prateek Machiraju, Paul Malmsten, Peter Mitrano, Kevin O'Brien, Grant Perkins, Patrick Plenefisch, Fred Silberberg, Dalton Smith, and Griffin Tabor.

In addition to these volunteers, many members of the community contribute code, open issues, give ideas, and provide feedback. A huge thanks to these members of the community for their amazing contributions to the library and to the many beta testers this fall.