github wpilibsuite/allwpilib v2027.0.0-alpha-7
WPILib 2027.0.0 Alpha 7

pre-release5 hours ago

This is an alpha release of WPILib for the 2027 season. Please join the discussions regarding Systemcore alpha testing at https://github.com/wpilibsuite/SystemcoreTesting/. This release incorporates hundreds of changes since alpha 6, including a number of breaking changes that will require code updates. Some notable changes:

  • The main class has reverted to the 2026 approach (a factory loader); this will require a manual fix when upgrading from a previous 2027 alpha release (see below)
  • SmartDashboard, SendableChooser, and Sendable APIs have been replaced with Telemetry and Tunables APIs. The new version of SendableChooser is called Selectable. While wpilib-docs has not yet been updated, API documentation and initial migration guides from the 2026 APIs are available for telemetry and tunables
  • All constants (including enumerated values) have been changed to ALL_CAPS style
  • The desktop GUI tools and simulation GUI now use SDL rendering and gamepad access for consistency with the 2027 Driver Station
  • Commands v3 Mechanism is now an interface instead of a class
  • Gamepad face buttons have been renamed and there's now a default deadband on axes
  • Catch2 is now the default test framework for C++ (instead of GoogleTest)
  • DriverStationDisplay has been added--this is a text display integrated into the DS that supports ANSI escape codes
  • Update to C++23. MSVC 2026 is now required for C++ on Windows and G++ 14.x is required for C++ on Linux. wpi::expected and fmt::format have been replaced with std::expected and std::format
  • The WPILib AprilTag and CameraServer libraries have been moved to vendordeps. AprilTagFields is now part of an integrated Fields class
  • Integer (raw) timestamps are now nanoseconds instead of microseconds. Datalog and NT still use microseconds in files/network comms.
  • Alert moved to wpiutil and has added functionality; usage reporting also moved to wpiutil. Joystick warnings are now alerts
  • Updated hardware support (e.g. brownout, quadrature encoders, counters)
  • All CAN device classes now take a CANPort enum
  • More package moves in Java and header moves in C++. Some geometry classes moved to shape, Preferences moved to preferences
  • Native Arm64 Installers are included for Windows and Linux.

Vendors are working on releasing updates to sync with this release. Alpha 6 and prior vendordeps will not work with Alpha 7. Systemcore image 14 is required for this release. FIRST Driver Station Alpha 7 is also required for this release.

If you're starting from a 2026 or earlier 2027 Alpha robot project, you will need to import your project to create a 2027 project. The import process is important, as it will make a few automated corrections for some breaking changes. It is also necessary to import vendor libraries again, since older vendor libraries must be updated to be compatible with 2027 Alpha 7 projects. If you're upgrading from an earlier 2027 alpha release, you will need to additionally fix the Main class by changing Robot.class to Robot::new or creating a new project and copying Main.java from it.

The 2027 documentation for WPILib is located at https://docs.wpilib.org/en/latest/.

If you're new to WPILib, start with Getting Started.

System Requirements: WPILib requires 64-bit Windows 11 (32-bit is not supported), Ubuntu 26.04, or macOS 15 or higher. C++ teams should note that the latest version of Visual Studio 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.

Known issues with this release can be found in Systemcore Testing issues.

WPILib is developed by a small team of volunteers and the FIRST community.

Downloads

What's Changed since 2027.0.0-alpha-6 (not an exhaustive list)

WPILib

Drivers

Commands v3

Math

XRP/Romi

NetworkTables

  • Add API to get and set user data on NT_Topic by @ThadHouse in #8962
  • Add PubSubOption to disable handle signaling by @PeterJohnson in #8972
  • Split SetServerTeam and SetServerFixed, add mDNS resolver by @ThadHouse in #8992
  • Fix publish-triggered announcements being blocked by subscription announcements by @cjlawson02 in #8515
  • Multiple bugfixes

Javac Plugin

  • Add compiler check for integer division in floating-point contexts by @SamCarlberg in #8885

Simulation / Glass / GUI

Util

DataLog

  • Multiple bugfixes

Telemetry/Tunable

AprilTag/Fields

New Contributors

Full Changelog: v2027.0.0-alpha-6...v2027.0.0-alpha-7

SHA256 Hashes

bd5efaaff1abd7042c58c5e8f364fbc5cb0d84f656245d361872b54113ab30a2  WPILib_Linux-Arm64-2027.0.0-alpha-7.tar.gz
65378b77bf4499e80639d4506c9571af7e85e75e56b1be1667257afeb4db2ec8  WPILib_Linux-x64-2027.0.0-alpha-7.tar.gz
6c4fe800f1dd004d4bb11d269f7b22872c8bf82869b1491a871381559d38275e  WPILib_Windows-Arm64-2027.0.0-alpha-7.iso
05f5b3af9e2d3866b71cd8883833864d23917b5d316f8b10e2d76630e8b1a84e  WPILib_Windows-x64-2027.0.0-alpha-7.iso
2bcdd506537dc4efea058285f2065c30d413ba2ae56fc8d5b4cbbe9286f11a2e  WPILib_macOS-Arm64-2027.0.0-alpha-7.dmg
5edc92ad1b54519bff430295f30233ebcefaa30f2c97aa364dce1ad263907920  WPILib_macOS-Intel-2027.0.0-alpha-7.dmg

Don't miss a new allwpilib release

NewReleases is sending notifications on new releases.