# Changelog

## 2026.1.17

* Empirical Method for CRT by [@mjjbycicle](https://github.com/mjjbycicle) in [#68](https://github.com/Yet-Another-Software-Suite/YAMS/pull/68)
* SmartMotorController Control Request Fix by [@thenetworkgrinch](https://github.com/thenetworkgrinch) in [#69](https://github.com/Yet-Another-Software-Suite/YAMS/pull/69)
* Fixed the DCMotorSim to work with the correct units by [@thenetworkgrinch](https://github.com/thenetworkgrinch) in [#72](https://github.com/Yet-Another-Software-Suite/YAMS/pull/72)
* Swerve drive sysId by [@thenetworkgrinch](https://github.com/thenetworkgrinch) in [#73](https://github.com/Yet-Another-Software-Suite/YAMS/pull/73)
* Inversions shouldn't apply in Simulation by [@thenetworkgrinch](https://github.com/thenetworkgrinch) in [#74](https://github.com/Yet-Another-Software-Suite/YAMS/pull/74)
* MaybeCRT by [@alexalex02](https://github.com/alexalex02) in [#70](https://github.com/Yet-Another-Software-Suite/YAMS/pull/70)
* Kitbot added by [@nobodyhere4](https://github.com/nobodyhere4) in [#62](https://github.com/Yet-Another-Software-Suite/YAMS/pull/62)

## 2026.1.16

* Fixed non-profiled Closed Loop Control in TalonFXS, TalonFX, and SparkMax.
* Added `Conversion` for ThriftyNova encoder readings to account for encoder ticks.
* Fixed `SwerveDrive` template.
* Added Shoot on the move example.
* [Added Hood + Turret example ](https://github.com/Yet-Another-Software-Suite/YAMS/pull/63)(by 9738)

## 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](https://github.com/akhaled247) in [#56](https://github.com/Yet-Another-Software-Suite/YAMS/pull/56)
* REV 2026 with Feedforwards and PIDs by [@thenetworkgrinch](https://github.com/thenetworkgrinch) in [#55](https://github.com/Yet-Another-Software-Suite/YAMS/pull/55)
* Added the option to loosely coupled followers. by [@thenetworkgrinch](https://github.com/thenetworkgrinch) in [#58](https://github.com/Yet-Another-Software-Suite/YAMS/pull/58)
* Allow for independently created config classes for constants files. by [@thenetworkgrinch](https://github.com/thenetworkgrinch) in [#59](https://github.com/Yet-Another-Software-Suite/YAMS/pull/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](https://github.com/Yet-Another-Software-Suite/YAMS/pull/54)
* Added support for user moment of inertia in ExponentialProfilePIDController [#50](https://github.com/Yet-Another-Software-Suite/YAMS/pull/50)
* Improved Exponential Elevator Examples [#46](https://github.com/Yet-Another-Software-Suite/YAMS/pull/46)
* Added ExponentialProfile.
* Add MapleSim Integration to SwerveDrive by [@konnorreynolds](https://github.com/konnorreynolds) in [#49](https://github.com/Yet-Another-Software-Suite/YAMS/pull/49)

## 2025.11.05

* Renamed `.withExternalGearing` to `.withExternalEncoderGearing`.&#x20;
* Added several new easy commands, like "Up", "Down", and "ZeroEncoder".&#x20;
* Moved commands to "SmartDashboard/Mechanisms/MECHNAME/MOTORNAME/Commands/".&#x20;
* 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 `Sensor`s 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.

{% columns %}
{% column %}

<figure><img src="https://gitbookio.github.io/onboarding-template-images/placeholder.png" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}

#### Product feature #1

* Feature description
* Feature description

[Read the documentation](https://www.gitbook.com/)

#### Product feature #2

* Feature description
* Feature description
* Feature description

[Read the documentation](https://gitbook.com/)

#### Product feature #3

* Feature description
* Feature description
* Feature description

[Read the documentation](https://gitbook.com/)
{% endcolumn %}
{% endcolumns %}

<details>

<summary>Improved</summary>

* Product improvement
* Product improvement
* Product improvement
* Product improvement
* Product improvement

</details>

<details>

<summary>Fixed</summary>

* Product fix
* Product fix
* Product fix
* Product fix
* Product fix

</details>

***

## June 2025

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

{% columns %}
{% column %}

<figure><img src="https://gitbookio.github.io/onboarding-template-images/placeholder.png" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}

#### Product feature #1

* Feature description
* Feature description

[Read the documentation](https://www.gitbook.com/)

#### Product feature #2

* Feature description
* Feature description
* Feature description

[Read the documentation](https://gitbook.com/)
{% endcolumn %}
{% endcolumns %}

<details>

<summary>Improved</summary>

* Product improvement
* Product improvement
* Product improvement
* Product improvement
* Product improvement

</details>

<details>

<summary>Fixed</summary>

* Product fix
* Product fix
* Product fix
* Product fix
* Product fix

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yagsl.gitbook.io/yams/changelog/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
