Version 2.13 Release Notes
Version 2.13.0b0
Added scenarioThrusterArm, scenarioRoboticGrappling, and scenarioAerobrake, which demonstrate effector branching across the supported parent and child effector pairings.
Added scenarioBranchingVerification, which verifies the branched equations of motion against the integrator’s formal order and the impulse-momentum theorems.
Fixed C++ Module: constraintDynamicEffector applying its constraint force and torque while the device status message commanded it off, which previously suppressed only the output message.
Added prescribed rotation and translation solar array deployment sequence scenarioRotTransArrayDeployment to examples, with unequal deployment rates and heavier panel elements to show the spacecraft hub’s response.
Fixed
BSpline.approximate()ignoring final-acceleration components because of incorrect constraint-vector indexing (GitHub issue 1563).GitHub issue 1573: Rust
MsgReaderports now exposeis_written,time_written(nanoseconds), andmodule_idfor the subscribed source message.Fixed out-of-bounds table reads in the C
debyeLength()utility for altitudes from 2,000 km through 30,000 km (GitHub issue 1581).Fixed out-of-bounds table reads for NaN altitude inputs to the C
debyeLength()utility; these inputs now produce an error diagnostic and return NaN.Fixed makeDraftModule path handling and generated test imports, preserved the caller’s working directory, and protected existing module files from validation and generation failures by staging replacements.
makeDraftModule now generates smoke tests that check module execution and output message publication, including recording and write timestamps. Removed unused placeholder test parameters; add numerical payload assertions when implementing the module algorithm.
Documented the actual C and C++ template behavior with runnable Python examples, moved general RST instruction to Module RST Documentation, and added the standard documentation outline to generated module drafts.
Renamed
dummytoupdateCounteranddumVectortosampleConfigVectorin C Module: cModuleTemplate and C++ Module: cppModuleTemplate to clarify runtime state versus configuration. Update assignments, logger field names, and C++ calls tosetUpdateCounter(),getUpdateCounter(),setSampleConfigVector(), andgetSampleConfigVector(); the old names are no longer available. Reset behavior and sample calculations are unchanged.Simplified C Module: cModuleTemplate and C++ Module: cppModuleTemplate updates by removing a redundant temporary vector while retaining the linear-algebra examples, configuration interfaces, and simulation behavior.
Documented the existing hub and wheel mass-property accounting for all three C++ Module: reactionWheelStateEffector models, including center-of-mass and parallel-axis contributions and guidance for switching models without double-counting (issue 600).
Added the opt-in
includeWheelMassPropertiessetting to C++ Module: reactionWheelStateEffector for automatic mass, center-of-mass, inertia, energy, and momentum accounting of balanced and simple-jitter wheels with axisymmetric inertia. The default preserves existing hub accounting (issue 600).Added initialization checks for finite, positive spin inertia in every wheel model and for valid mass, transverse inertia, and imbalance inputs in fully coupled wheels, independently of the mass-accounting option.
Updated BSK-SDK Release Guide with beta and release workflows, the single-command
--refresh-exampleversion update, and nightly source verification.Incremental native builds now refresh
Basilisk.getBuildInfo()whendocs/source/bskVersion.txtchanges, including in existing build trees with an old Conan-cached version.Split release notes into version-series pages and a single archive for versions before 2.0.0, preserving historical release bookmarks and the manual release workflow.
Group the example-script sidebar by its existing topic headings, with collapsible categories and automatic expansion for the current scenario.