Skip to content

v26.0.0-beta-1

Pre-release
Pre-release

Choose a tag to compare

@jwbonner jwbonner released this 17 Dec 10:00
0bef2ec

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 simple Pose3d arrays compatible with AdvantageScope's 3D field
  • Added WPILib Color logging 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 the Logger (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.getRealTimestamp and duplicate LoggedDashboard classes)
  • Fixed input logging of mutable measures (#236)
  • Fixed a bug causing the robot program to crash when Measure output objects are null (#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 Pigeon2Configuration in TunerConstants for 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.schedule method
  • 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