2027 migration¶
This template targets WPILib 2026 and roboRIO-era assumptions. Treat a 2027 migration as a deliberate engineering task, not a dependency bump before an event.
Main risks¶
WPILib 2027 and Systemcore change hardware and API assumptions. Legacy dashboard APIs, SPI IMUs, and several old patterns are removed or incompatible. This template already avoids SmartDashboard, Shuffleboard, and SPI-only IMU assumptions, but the full dependency stack still needs review.
Migration checklist¶
- Update GradleRIO and WPILib together.
- Update Java toolchain requirements.
- Update vendor JSON files:
- Phoenix 6
- AdvantageKit
- PhotonLib
- PathPlannerLib
- BLine-Lib
- Review CTRE hardware support for the target runtime.
- Review PhotonVision support for the target runtime.
- Review AdvantageKit logging and replay support.
- Review the Systemcore hardware/configuration boundary.
- Compile.
- Run unit tests.
- Run desktop simulation.
- Run replay.
- Revalidate every dashboard topic.
- Re-run drivetrain calibration and wheel-radius validation.
- Re-test BLine autonomous loading.
- Re-test PathPlanner teleop pathfinding.
- Re-test PhotonVision pose fusion.
Do not reintroduce removed APIs¶
Avoid:
- SmartDashboard
- Shuffleboard
- SPI-only IMU assumptions
- legacy command patterns
- direct dashboard NetworkTables publishers for normal telemetry
Use AdvantageKit outputs and explicit dashboard contracts instead.
Systemcore review points¶
Before migrating deployment assumptions, review:
- filesystem paths
- log storage
- deploy directory behavior
- device discovery
- CAN bus naming
- camera startup behavior
- NT4 publishing
- robot program launch settings
Anything that assumes roboRIO filesystem layout or vendor startup timing should be tested on the target platform.
Acceptance criteria¶
Call the migration complete only when:
- robot code builds without unsupported APIs
- unit tests pass
- sim starts
- replay works without hardware
- logs contain expected topics
- drivetrain sim behaves plausibly
- real module IO connects on hardware
- camera IO connects on hardware
- one BLine auto loads and follows safely
- one teleop navigation goal pathfinds and cancels safely
- the driver dashboard sees the documented topic contract