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
Version 2.10.0-beta (current)
Version 2.10.0-beta (current)
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 MuJoCoMJScenedynamics tasks. Subclasses can be implemented in Python.singleActuatorLTI— SISO subclass oflinearTimeInvariantSystemusingSingleActuatorMsgPayload.forceAtSiteLTI— LTI subclass reading and writingForceAtSiteMsgPayload.orbElemOffset— classical orbital element combiner with optional mean-anomaly increment interpretation.CmdForceInertialToForceAtSite— rotates inertial-frame force commands into a site-fixedForceAtSiteMsgPayload.OrbitalElementControl— LTI subclass computing orbital-element feedback and outputting inertial force commands.
scenarioFormationFlyingWithDrag— MuJoCo example for chief-deputy formation flying in LEO with differential cannonball drag and orbital-element feedback control.
- Removed the default
--cleanflag fromsetup.pyto allow incremental pip wheel builds. - TLE parsing is now robust to file ending differences between LF and CRLF.
- Updated
conanfile.pyto passcompiler.cstd=gnu17to avoidcspice/0067build failures on GCC 15-based Linux toolchains. - Updated World Magnetic Model (WMM) coefficients to the 2025 version.
- Local data fetches fall back to the
poochfetcher if local files are not found. - Ephemeris data kernels are no longer pre-fetched on initial local builds.
- Deprecation warnings for unconnected
sunInMsg,planetInMsg, andsunEclipseInMsginsimpleAntennafor ground-based antennas are suppressed. - The
pytestoptional flagshow_plotsis deprecated.
Version 2.9.0 (Jan. 28, 2026)
Version 2.9.0 (Jan. 28, 2026)
Infrastructure
- Release docs are deployed at https://avslab.github.io/basilisk and developer beta docs at https://avslab.github.io/basilisk/developer.
supportDatafiles are removed from wheels and source distributions to reduce package size.- Added automatic MD5 registry generation via
makeRegistry.pyfor versionedsupportData. - 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.
- Branching support (see BSK Principles 11) enabled for
extForceTorque,constraintDynamicEffector, andthrusterDynamicEffectorwhen attached to spinning body and linear translation effectors. linearTranslationOneDOFStateEffectornow supports attaching dependent effectors.- New TLE handling utilities
tleHandlingfor 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.hingedJointArrayMotorandjointMotionCompensator— new modules for hinged joint arrays.stepperMotor— kinematic profiler module for stepper motor-driven spacecraft components.simpleAntennaandantennaPowermodules added.- Fault modeling capability added to
magnetometer. prescribedRotation1DOFnow supports optional prescribed 1-DOF helical screw motion.SysModelMixinutility class added inpy_sys_model.ifor Python subclasses ofSysModel.
conditionTimeparameter added for efficient time-based events (preferred overconditionFunctionfor large event counts).exactRateMatch=Falseoption added to event creation.ConfigureStopTimenow supports<=(default) and>=stop conditions.
- 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
spinningBodyOneDOFStateEffectorandspinningBodyNDOFStateEffector. - 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.
Version 2.8.0 (Aug. 30, 2025)
Version 2.8.0 (Aug. 30, 2025)
- Python 3.8 support marked as deprecated.
opNavModeflag support invizSupportremoved (deprecation period ended).- New
vscmgGimbalRateServoandvscmgVelocitySteeringmodules. - Updated default Windows compiler to Visual Studio 17 2022; CI runs on Windows 11.
- Message recording speed improved by 1–4 orders of magnitude.
simpleNavnoise parameters can now be updated during simulation.- Added
canaryworkflow for Python 3.13 compatibility checks on each PR todevelop. - Added
scenarioBranchingPanelsscenario showcasing solar array deployment and joint locking. - Added Vizard 2.3.0 and 2.3.2 support.
Version 2.7.0 (Apr. 20, 2025)
Version 2.7.0 (Apr. 20, 2025)
- 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
reactionWheelStateEffectorfixed;.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
thrusterPlatformReferenceDCM transpose bug. SpacecraftSystemdeprecated.- Added Vizard 2.2.2 support.