Skip to main content
The current release is 2.10.0-beta. Full release history is available on GitHub Releases.
Basilisk is actively developed. Planned upcoming features include landing dynamics effectors, spacecraft charging modules, MuJoCo integration as an alternate dynamics engine, and pip-based pre-compiled releases.

Recent releases

New modules
  • thrJointCompensation — computes motor torques to prevent joint acceleration during thruster firing on systems with attached thruster arms.
  • inertialCartFeedback — computes an inertial-frame relative motion feedback control force.
  • DragGeometryMsgPayload — contains geometry information needed to compute aerodynamic drag on a body.
  • cannonballDrag — cannonball aerodynamic drag model intended for use with MuJoCo dynamics.
  • linearTimeInvariantSystem — abstract state-space LTI module for use in MuJoCo MJScene dynamics tasks. Subclasses can be implemented in Python.
  • singleActuatorLTI — SISO subclass of linearTimeInvariantSystem using SingleActuatorMsgPayload.
  • forceAtSiteLTI — LTI subclass reading and writing ForceAtSiteMsgPayload.
  • orbElemOffset — classical orbital element combiner with optional mean-anomaly increment interpretation.
  • CmdForceInertialToForceAtSite — rotates inertial-frame force commands into a site-fixed ForceAtSiteMsgPayload.
  • OrbitalElementControl — LTI subclass computing orbital-element feedback and outputting inertial force commands.
Scenarios
  • scenarioFormationFlyingWithDrag — MuJoCo example for chief-deputy formation flying in LEO with differential cannonball drag and orbital-element feedback control.
Fixes and improvements
  • Removed the default --clean flag from setup.py to allow incremental pip wheel builds.
  • TLE parsing is now robust to file ending differences between LF and CRLF.
  • Updated conanfile.py to pass compiler.cstd=gnu17 to avoid cspice/0067 build failures on GCC 15-based Linux toolchains.
  • Updated World Magnetic Model (WMM) coefficients to the 2025 version.
  • Local data fetches fall back to the pooch fetcher if local files are not found.
  • Ephemeris data kernels are no longer pre-fetched on initial local builds.
  • Deprecation warnings for unconnected sunInMsg, planetInMsg, and sunEclipseInMsg in simpleAntenna for ground-based antennas are suppressed.
  • The pytest optional flag show_plots is deprecated.
The supportData handling was migrated to a Pooch-based fetch system. This is a breaking change: the Denton flux model API changed. Use configureDentonFiles to pass support data locations. See Known Issues for details.
Infrastructure
  • Release docs are deployed at https://avslab.github.io/basilisk and developer beta docs at https://avslab.github.io/basilisk/developer.
  • supportData files are removed from wheels and source distributions to reduce package size.
  • Added automatic MD5 registry generation via makeRegistry.py for versioned supportData.
  • Added cp313 wheel builds for Python 3.13 with updated SWIG ABI support.
  • SWIG added as an explicit Python package dependency in requirements_dev.txt.
  • CI no longer automatically publishes git tags or wheels to PyPI; these steps are now manual.
  • Removed automated version bumping on merges to develop.
New modules and capabilities
  • Branching support (see BSK Principles 11) enabled for extForceTorque, constraintDynamicEffector, and thrusterDynamicEffector when attached to spinning body and linear translation effectors.
  • linearTranslationOneDOFStateEffector now supports attaching dependent effectors.
  • New TLE handling utilities tleHandling for parsing TLE files and converting to orbital elements.
  • New custom reaction wheel “NanoAvionics RW0” added to simIncludeRW.py.
  • MJSystemCoM, MJSystemMassMatrix, MJJointReactionForces — new MuJoCo extraction modules.
  • hingedJointArrayMotor and jointMotionCompensator — new modules for hinged joint arrays.
  • stepperMotor — kinematic profiler module for stepper motor-driven spacecraft components.
  • simpleAntenna and antennaPower modules added.
  • Fault modeling capability added to magnetometer.
  • prescribedRotation1DOF now supports optional prescribed 1-DOF helical screw motion.
  • SysModelMixin utility class added in py_sys_model.i for Python subclasses of SysModel.
Event system improvements
  • conditionTime parameter added for efficient time-based events (preferred over conditionFunction for large event counts).
  • exactRateMatch=False option added to event creation.
  • ConfigureStopTime now supports <= (default) and >= stop conditions.
Fixes
  • Fixed gravity potential computation typo in gravityEffector.
  • Fixed recording of 2D array message payload entries (regression introduced in 2.8.0).
  • Fixed unique state name collision between spinningBodyOneDOFStateEffector and spinningBodyNDOFStateEffector.
  • SPICE kernels are no longer reloaded per simulation instance, fixing slowdown in parallel runs and the 5000-kernel load limit.
  • Documentation quote typos causing Doxygen 1.15+ build errors are fixed.
BSKLogger now raises a BasiliskError exception when logging at BSK_ERROR level, stopping simulation immediately. Scripts that previously expected to continue after a BSK_ERROR must be updated.
The output format for non-numeric types in message recorders changed. The previous format was a numpy array of dictionaries; it is now a numpy array of objects. Use python conanfile.py --recorderPropertyRollback True to temporarily restore the legacy format (deprecated; removal scheduled for 2026/07).
  • Python 3.8 support marked as deprecated.
  • opNavMode flag support in vizSupport removed (deprecation period ended).
  • New vscmgGimbalRateServo and vscmgVelocitySteering modules.
  • Updated default Windows compiler to Visual Studio 17 2022; CI runs on Windows 11.
  • Message recording speed improved by 1–4 orders of magnitude.
  • simpleNav noise parameters can now be updated during simulation.
  • Added canary workflow for Python 3.13 compatibility checks on each PR to develop.
  • Added scenarioBranchingPanels scenario showcasing solar array deployment and joint locking.
  • Added Vizard 2.3.0 and 2.3.2 support.
  • Updated Linux and Windows CI builds to use SWIG 4.2.1.
  • Fixed premature simulation termination caused by reaction wheels with unlimited torque (useMaxTorque=False).
  • Safety mechanism added to limit excessive wheel acceleration.
  • Fixed eclipse calculation bug in SpacecraftLocation.
  • Memory leak for reactionWheelStateEffector fixed; .disown() removed across all BSK scripts.
  • C++ wrapped sensor objects (CSS, thrusters, reaction wheels) must now be stored on the simulation object to prevent premature garbage collection. See Known Issues.
  • Fixed thrusterPlatformReference DCM transpose bug.
  • SpacecraftSystem deprecated.
  • Added Vizard 2.2.2 support.
For the complete version history going back to version 0.3.3, see the Basilisk GitHub Releases page.

Build docs developers (and LLMs) love