Releases: Mechanical-Advantage/AdvantageKit
v26.0.1
This is the second release of AdvantageKit for 2026. Projects should be upgraded using the dependency manager in VSCode. Feedback, feature requests, and bug reports are welcome on the issues page.
This release fixes a minor issue related to logging and replaying FMS Game Data and is recommended for all teams. Further details on this change are provided below.
The image below represents the correct sequence of Game Data messages that a robot will receive throughout a match in 2026, with the enabled state in blue and the Game Data message in yellow. The message is an arbitrary string when the Driver Station first connects, resets to "" at the start of auto, and switches to "B" or "R" at the start of teleop.
![]()
This data is correctly available to robots via the
DriverStation.getGameSpecificMessage()method regardless of the version of AdvantageKit being used. However, AdvantageKit v26.0.0 incorrectly saves the following values to the log (skipping the blank message at the start of auto). The correct values are always available to the robot code, but log files produced by AdvantageKit v26.0.0 do not represent the real Game Data and break the determinism of log replay.![]()
AdvantageKit v26.0.1 fixes this issue, enabling accurate replay of official matches for robots that rely on FMS Game Data.
v26.0.0
This is the kickoff release of AdvantageKit for 2026. For more information, check the What's New in 2026? page of the documentation. Feedback, feature requests, and bug reports are welcome on the issues page. Thank you to everyone who contributed to the 2026 release of AdvantageKit, including @blaze-developer, @Crazypersonalph, @DJ-Laser, @katzuv, @lmaxwell24, @Ruthie-FRC, @spacey-sooty, @tbowers7, and @Theinatorinator!
To get started, we highly recommend starting with one of the template projects and copying code from other projects as necessary. Manually updating projects to 2026 is not recommended due to the risk of subtle breaking changes. The 2026 AdvantageKit templates include many small changes and optimizations compared to the 2025 templates.
Full Changelog (from v26.0.0-beta-1)
- Fixed the visibility of
LoggedPowerDistribution(#244, @tbowers7) - Fixed an issue causing WPILOG metadata to be invalid when switching units (#241, @lmaxwell24)
Template Projects
- Updated all template projects for 2026 WPILib and vendor libraries
- Switched to the built-in TunerConstants CANBus in the TalonFX swerve template (#239, @spacey-sooty)
- Fixed typos when logging gyro inputs in differential drive templates (#240, @Ruthie-FRC)
- Improved the efficiency of array logging in the vision template (#240, @Ruthie-FRC)
- Updated Git metadata logging to use modern switch statements in all templates
- Fixed the spelling of "Uncommitted" in all template projects (#238, @Crazypersonalph)
- Updated swerve AdvantageScope layouts for compatibility with the latest release of AdvantageScope
Documentation
- Added contribution guidelines
- Fixed several minor typos
v26.0.0-beta-1
This is the first beta release of AdvantageKit for 2026. For more information, check the What’s New in 2026? page of the documentation. Feedback, feature requests, and bug reports are welcome on the issues page. Thank you to everyone who contributed to this release, including @blaze-developer, @spacey-sooty, @Theinatorinator, @katzuv, @Ruthie-FRC, and @DJ-Laser!
THIS IS A BETA. You will encounter issues not present in stable releases. Users looking for a stable release should download AdvantageKit v4.1.2, the latest 2025 release.
Warning
This release does not include template projects because some vendor libraries are yet updated for 2026.
Full Changelog
- Added support for WPILib 2026
- Added support for unit metadata (docs)
- Added automatic logging of NetworkTables clients in system stats
- Added console logging of exceptions thrown during the robot lifecycle (#195, @blaze-developer)
- Added robot program console output to replay watch (#209, @spacey-sooty)
- Added
LoggedMechanism2d.generate3dMechanism(docs) for generating simplePose3darrays compatible with AdvantageScope's 3D field - Added WPILib
Colorlogging support (docs) (#180 & #219, @Theinatorinator & @blaze-developer) - Added a check to prevent running replay with HAL simulation extensions, which can create nondeterminism
- Added
LoggedDashboardChooser.onChange(docs) (#216, @blaze-developer) - Implemented network inputs as suppliers (#221, @katzuv)
- Added an option to force the use of struct/Protobuf serialization in
AutoLogOutput(docs) (#207, @spacey-sooty) - Added
AdvancedHooks(docs) for theLogger(docs) class - Empty the receiver queue when stopping the
Logger(docs) - Added support for radio logging in simulation when the team number is configured
- Added Javadocs to all APIs
- Removed 2025 deprecated features (
Logger.getRealTimestampand duplicateLoggedDashboardclasses) - Fixed input logging of mutable measures (#236)
- Fixed a bug causing the robot program to crash when
Measureoutput objects arenull(#218, @blaze-developer) - Fixed the
LogFileUtil.addPathSuffix(docs) method for input paths with dots (#186) - Fixed a bug that can cause replay watch to loop infinitely
- Fixed a bug that can cause replay watch to never finish when printing a large amount of text (#209, @spacey-sooty)
- Fixed a bug causing JSON and msgpack data to be inaccessible when copied from a replayed log
- Fixed a bug causing potential resource leaks when running replay watch (#230, @Ruthie-FRC)
Template Projects
- Added TalonFXS/CANdi support to swerve template
- Added support for
Pigeon2ConfigurationinTunerConstantsfor TalonFX(S) swerve template (#172, @DJ-Laser) - Switched to static instances for geometry classes where possible (#138, @spacey-sooty)
- Improved handling of Phoenix status signals used in multiple threads
- Replace usage of deprecated
Command.schedulemethod - Fixed debouncing of motor connections (#194, @blaze-developer)
- Fixed current logging in Spark differential drive templates
- Fixed setpoint units in Talon SRX differential drive templates
- Fixed misnamed function parameter documentation in
VisionIOPhotonVision(#220, @spacey-sooty)
Documentation
- Added API documentation
- Reorganized the sidebar for easier navigation
- Added pages for individual case studies
- Updated the Log Replay Comparison page based on the 2026 release of Hoot Replay
v27.0.0-alpha-3
Caution
This is a 2027 alpha release and should only be used by teams participating in the Systemcore alpha test. These teams can find more information in the alpha testing repository.
The 2026 beta of AdvantageKit will be available at a later date for use on the existing control system.
v27.0.0-alpha-2
Caution
This is a 2027 alpha release and should only be used by teams participating in the Systemcore alpha test. These teams can find more information in the alpha testing repository.
The 2026 beta of AdvantageKit will be available at a later date for use on the existing control system.
v27.0.0-alpha-1
Caution
This is a 2027 alpha release and should only be used by teams participating in the Systemcore alpha test. These teams can find more information in the alpha testing repository.
The 2026 beta of AdvantageKit will be available at a later date for use on the existing control system.
v4.1.2
This release adds support for WPILib 2025.3.2. Projects should be upgraded using the dependency manager in VSCode. Feedback, feature requests, and bug reports are welcome on the issues page.
- Updated to WPILib 2025.3.2
- Updated vendordep versions in all template projects
- Fixed replay for logs with invalid match types (#176)
- Fixed replay watch for projects without Spotless installed (#169)
- Fixed an issue causing invalid NetworkTables data to be published when switching between custom types (#167)
- Fixed an issue that may cause the RLOG server to stop accepting new connections under some conditions
v4.1.1
This is the third release of AdvantageKit for 2025, adding support for WPILib 2025.3.1. Projects should be upgraded using the dependency manager in VSCode. Feedback, feature requests, and bug reports are welcome on the issues page.
- Updated to WPILib 2025.3.1
- Updated vendordep versions in all template projects
v4.1.0
This is the second release of AdvantageKit for 2025. For more information, check the What's New in 2025? page of the documentation. Projects using AdvantageKit v4.0.0 can be upgraded using the dependency manager in VSCode. Projects running older versions of AdvantageKit (including the 2025 beta) cannot be upgraded in-place; start with one of the template projects and copy code from previous projects as necessary. Feedback, feature requests, and bug reports are welcome on the issues page.
Template Changes
- Fixed
DriveIOTalonSRXimplementation in diff drive and KitBot templates (9f96069) - Added vision template
- Updated WPILib and vendordep versions
Library Changes
v4.0.0
This is the kickoff release of AdvantageKit for 2025. For more information, check the What's New in 2025? page of the documentation. To get started, we highly recommend starting with one of the template projects and copying code from other projects as necessary. Feedback, feature requests, and bug reports are welcome on the issues page.
Notably, this release includes the 2025 KitBot template project and switches Maven hosting from GitHub Packages to the WPILib Artifactory site. This change will improve the stability of Maven hosting and simplify the installation process. Please see the updated installation docs for details, or download one of the updated template projects.
Warning
This release does not include the AdvantageKit vision template because the 2025 version of PhotonVision/PhotonLib is not available as of release. We will release the updated version of the vision template once PhotonVision 2025 is available.
Template Project Updates
Important
Teams updating from the 2025 beta template projects should carefully review and apply the relevant changes below. Additionally, teams should review the template updates published December 2024 related to annotation processing and garbage collection.
- All Projects: Removed
repositoriessection ofbuild.gradledue to new Maven hosting - TalonFX Swerve: Significant breaking changes to support 2025 Phoenix release (2b97121)
- TalonFX Swerve: Fixed drive base radius calculation (699709b)
- Spark/TalonFX Swerve: Updated
ChassisSpeedsmethods due to reverted WPILib change (7985f4c) - Spark/TalonFX Swerve & Differential Drive: Fixed imports to support 2025 NavX library (bcd9170)
- Spark Swerve & Differential Drive: Updated
setReferencecalls for compatibility with latest REVLib (a76275f) - Differential Drive: Removed invalid
countsPerRevolutionconfig for Spark implementation (13770ca) - Differential Drive: Removed unnecessary start delay from feedforward command (7141472)
- Vision: Added support for single-tag PhotonVision results (90be723)
- Vision: Fixed timestamp units in Limelight implementation (ef1f0a8 and bac2037)
- Vision: Fixed data array indices in Limelight implementation (d421ab8 and 2498207)

