Changelog

New updates and improvements

2026.1.4

  • Added Imperial YUnits.PoundSquareInches YUnits.PoundsSquareFeet

  • Deprecated withMOI(double) in favor of withMOI(MomentOfInertia).

  • Added withMOI(MomentOfInertia)

2026.1.2

  • Added SmartMotorControllerConfig().clone() to allow for clonable configs.

  • Added MechanismConfig.withSmartMotorController() for all mechanism and null param constructors

  • Added SensorData.set() overloads

  • 'Trapazoidal' Spelling Error Correction by @akhaled247 in #56

  • REV 2026 with Feedforwards and PIDs by @thenetworkgrinch in #55

  • Added the option to loosely coupled followers. by @thenetworkgrinch in #58

  • Allow for independently created config classes for constants files. by @thenetworkgrinch in #59

  • Changed SwerveInputStream.copy() to SwerveInputStream.clone()

  • Modified SmartMotorControllerConfig to allow for creation without a Subsystem but still require a subsystem eventually.

  • Modified SmartMotorController telemetry to only create Live Tuning and other useful commands if tunable setpoints are not enabled.

  • Added MechanismGearing(double...) overload

  • Added DifferentialDrive example.

2025.12.22

  • Added the ability to use multiple SMC's with Live Tuning in one subsystem

  • Added AdvantageKit example

  • Modified SwerveDrive to support AdvantageKit better.

  • Updated Telemetry Setup for standalone SMC's to be automatic.

  • Added Units to Telemetry Fields.

  • Added DoubleFlyWheel example.

  • Fixed ElevatorConfig comments saying "length" instead of "angle" #54

  • Added support for user moment of inertia in ExponentialProfilePIDController #50

  • Improved Exponential Elevator Examples #46

  • Added ExponentialProfile.

  • Add MapleSim Integration to SwerveDrive by @konnorreynolds in #49

2025.11.05

  • Renamed .withExternalGearing to .withExternalEncoderGearing.

  • Added several new easy commands, like "Up", "Down", and "ZeroEncoder".

  • Moved commands to "SmartDashboard/Mechanisms/MECHNAME/MOTORNAME/Commands/".

  • Fixed immutable SensorData fields.

  • Fixed SparkWrapper.setEncoderPosition to set the sim position correctly.

2025.11.02

  • Renamed SmartMotorControllerConfig.withZeroOffset to SmartMotorControllerConfig.withExternalEncoderZeroOffset

2025.10.31

  • Updated SwerveInputStream to use .with* for shared styling.

  • Added swerve_drive example.

2025.10.29

  • Added setpoint visualization to Arm Mechanism2d

  • Fixed ArmFeedforward calculation on Spark's, and Nova's. Changed velocity calculation from Rotations to Radians. Found by 8114 (The Rocketeers)

2025.10.27

  • Renamed Shooter to FlyWheel

  • Added Loop Time to each mechanism.

2025.10.14

  • Added YUnits which allows you to include more exotic units in your code.

  • Added Sensors which allow you to seamlessly fetch automatically modified sensor data during sim and real data when running IRL.

July 2025

See what’s new and improved in our July update.

Product feature #1

  • Feature description

  • Feature description

Read the documentation

Product feature #2

  • Feature description

  • Feature description

  • Feature description

Read the documentation

Product feature #3

  • Feature description

  • Feature description

  • Feature description

Read the documentation

Improved
  • Product improvement

  • Product improvement

  • Product improvement

  • Product improvement

  • Product improvement

Fixed
  • Product fix

  • Product fix

  • Product fix

  • Product fix

  • Product fix


June 2025

See what’s new and improved in our June update.

Product feature #1

  • Feature description

  • Feature description

Read the documentation

Product feature #2

  • Feature description

  • Feature description

  • Feature description

Read the documentation

Improved
  • Product improvement

  • Product improvement

  • Product improvement

  • Product improvement

  • Product improvement

Fixed
  • Product fix

  • Product fix

  • Product fix

  • Product fix

  • Product fix

Last updated