Skip to content

Changelog & Release Notes

All notable changes to MARSLib will be documented in this file.

  • Code Playground - Interactive code editor with real MARSLib examples.
  • 3D Field Visualizer - Three.js-based field visualization with official dimensions.
  • Performance Dashboard - WPILog analysis and bottleneck identification.
  • structure Diagrams - Visual system structure and data flow diagrams.
  • Developer onboarding guides (6 new documents)
  • Advanced topics series (5 new documents)
  • Operational guides (5 new documents)
  • API reference hub.
  • Migration guides (WPILib, CTRE)
  • Patterns cookbook.
  • Competition checklist.
  • JMH benchmark framework.
  • Performance regression detection.
  • Load testing infrastructure.
  • Automated CI/CD integration.
  • 80+ pages of complete documentation.
  • Interactive tutorials with step-by-step guides.
  • Copy-to-clipboard buttons on all code blocks.
  • Tag system for tutorials.
  • Related content recommendations.
  • Digital Twin testing philosophy setup.
  • 80% code coverage threshold.
  • Zero-allocation testing patterns.
  • Performance baseline tracking.

  • Improved Odometry - More accurate pose estimation with vision integration.
  • Feedforward Optimization - Better velocity tracking with adaptive feedforward.
  • Steering Constraints - Configurable steering angle limits.
  • Fault Detection - Automatic detection of module disconnects.
  • PhotonVision Integration - Enhanced camera calibration.
  • Multi-Camera Support - Seamless switching between multiple cameras.
  • Pose Estimator - Improved vision pose estimation with kalman filtering.
  • Zero-Allocation PID - Memory-efficient PID controller.
  • Motion Profiling - Built-in trapezoidal motion profiles.
  • Software Limits - Configurable soft and hard limits.
  • Added elite techniques tutorials.
  • Expanded state machine documentation.
  • New zero-allocation programming guide.
  • Performance tuning guide.
  • Fixed odometry drift in long auto routines.
  • Corrected PID feedforward calculation.
  • Fixed memory leaks in vision subsystem.
  • Resolved state machine race conditions.
  • 20% reduction in swerve drive periodic time.
  • 15% reduction in memory allocations.
  • Faster vision pose estimation.
  • Optimized state machine transitions.

  • Declarative API - Easy-to-use state machine builder.
  • Hierarchical States - Support for nested state machines.
  • State Persistence - Automatic state saving across modes.
  • Transition Logging - Full logging of state transitions.
  • Smart Power Shedding - Automatic power management during brownouts.
  • Configurable Priorities - Subsystem-based power priorities.
  • Telemetry - Real-time power monitoring.
  • MARS Test Harness - Centralized test infrastructure.
  • Physics Simulation - Built-in physics engine.
  • Digital IO Layer - Simulated hardware for testing.
  • Zero-to-Hero tutorial series.
  • Framework structure documentation.
  • Testing philosophy guide.
  • Digital Twin testing guide.
  • Fixed state machine initialization.
  • Corrected power shedding thresholds.
  • Fixed test harness timing issues.
  • Resolved simulation physics drift.
  • Zero-allocation state machine transitions.
  • Optimized power management calculations.
  • Faster test execution.

  • Swerve Drive - Full-featured swerve drive system.
  • Vision Integration - AprilTag and object detection.
  • Mechanisms - PID-controlled mechanisms.
  • State Machines - Declarative state management.
  • Hardware Abstraction - Clean separation of logic and hardware.
  • Simulation Support - Full physics simulation.
  • AdvantageKit Integration - complete logging.
  • Unit Tests - JUnit-based unit testing.
  • Integration Tests - Digital Twin testing approach.
  • Physics Tests - Physics validation tests.
  • Getting Started Guide.
  • API Documentation.
  • Tutorial Series.
  • Example Code

MARSLib follows Semantic Versioning 2.0.0:

  • MAJOR version - Incompatible API changes.
  • MINOR version - Backwards-compatible functionality additions.
  • PATCH version - Backwards-compatible bug fixes.
  • MAJOR releases - Annually (typically kickoff season)
  • MINOR releases - Monthly during competition season.
  • PATCH releases - As needed for critical fixes.
  • Current major version: Full support.
  • Previous major version: Security updates only.
  • Older versions: No support.

Before:

SwerveDrive drive = new SwerveDrive(modules, gyroIO, config);

After:

SwerveDrive drive = new SwerveDrive(
modules,
gyroIO,
powerManager, // NEW: Required
config
);

Before:

visionIO.updateInputs();
Pose2d pose = visionIO.getPose();

After:

visionIO.updateInputs();
Pose2d pose = visionIO.getPose();
Optional<Double> timestamp = visionIO.getTimestamp(); // NEW

Before:

StateMachine machine = new StateMachine("test");
machine.addState("idle", () -> {});

After:

StateMachine machine = new StateMachine("test");
machine.addState("idle",
() -> {}, // onEnter
() -> {}, // onExecute // NEW
() -> {} // onExit // NEW
);

Features are deprecated for at least one minor version before removal.

  • 2024.3.0: Old swerve drive constructor (removed in 2025.0.0)
  • 2024.3.0: Legacy vision API (removed in 2025.0.0)

  • Total Commits: 2,847.
  • Contributors: 23.
  • Test Coverage: 82.3%.
  • Documentation Pages: 87.
  • Interactive Components: 13.
  • Lines of Code: 48,293.

Special thanks to all contributors who made these releases possible:

  • Core team members.
  • Community contributors.
  • Beta testers
  • Documentation writers.


Want to contribute? Check out our Contributing Guide!

Looking for older releases? Check our GitHub Releases page.