Version 2.7 Release Notes
Version 2.7.0 (April 20, 2025)
Updated Linux and Windows CI builds to use
swig4.2.1Updated CI scripts to run on latest macOS and no longer use Ubuntu 20.04
Updated makeDraftModule to remove redundant comments and implementation of the destructor, using only a header-defaulted destructor with
= default;syntax.Fixed issue where reaction wheels with unlimited torque (
useMaxTorque=False) would end simulation prematurelyAdded safety mechanism to limit excessive wheel acceleration and provide warning messages
Fixed a bug in the C++ Module: spacecraftLocation module that prevented proper eclipse calculation in some cases.
Added support for Vizard release 2.2.2, including transition from MultiSphere to MultiShape, and SWIG structure deprecation through aliasing.
Fixed scenario name mismatch in scenarioRerunMonteCarlo that prevented rerunning example Monte Carlo simulation scenarios.
Fixed bug in C Module: thrusterPlatformReference where a DCM had an incorrect transpose operation.
Memory Leak for
reactionWheelStateEffectorfixed via destructor update, swig update, and removing.disown()in RW factory classes.Removed the use of
.disown()in all BSK scripts. Python code is modified to ensure required message of class instance are retained in memory if needed. This removes a memory leak issue when running lots of instances of BSK in Monte Carlo runs.C++ wrapped sensor objects (CSS, thrusters, reaction wheels) must now be stored on the simulation object to prevent premature garbage collection. This change affects all scenarios using these components. See Basilisk Known Issues for detailed explanation and examples. Users upgrading from previous versions must update their scripts to store these objects on their simulation instance to prevent segmentation faults. Once again, this change replaces the previous use of
.disown()with a more robust memory management approach.Added comprehensive unit tests for avsEigenSupport including tests for vector and matrix operations and conversions.
Updated install requirements to not manually install
cmake, but have it installed with pip by including it inrequirements_dev.txt. Aconandependency requires Basilisk to usecmake<4.0for now.Add support for python 3.13 by removing the use of
eval()and mostexec()methods, rewrotemethodizeEvent()inSimulationBaseClass.py. If you use python 3.13+ the scope of theeval()method has changed (see https://peps.python.org/pep-0667/).Added
lla2fixedframe()function in vizSupport which provides ability to define Locations on a parent body by providing latitude/longitude/altitude relative to reference ellipsoid.Fixed a bug in C++ Module: radiationPressure where
parseAndLoadXML()would raise a ValueError when using VS Code’s debugger. The error occurred in Python 3.10.12 because numpy arrays that reference other arrays cannot be resized without settingrefcheck=False. This fix allows debugging scenarios that use the radiation pressure module.Enhanced FSW effector interface modules to zero output messages in their reset methods, ensuring safe management of effector states when algorithms are disabled. This prevents potential runaway operations by clearing stale control values.
Updated scenarioDeployingSolarArrays to use the new
P-frame designation for the prescribed motion bodyDeleted deprecated
prescribedRot1DOFandprescribedTransmodules. They have been replaced a while ago with C++ Module: prescribedRotation1DOF and C++ Module: prescribedLinearTranslation.[BETA] Mujoco Support: Added a new
DynamicObjectfor multi-body dynamics that uses the MuJoCo library. Information about using mujoco is found in Multi-body Dynamics with MuJoCo. This is a work in progress, and is not yet ready for general use. This system will be expanded to include more features and capabilities in future releases.Added support for showing
QuadMapquadrilateral surface meshes in Vizard, with scenario scenarioQuadMaps detailing usage. Allows users to draw quads on celestial bodies and spacecraft.Added
fixedframe2lla()function in vizSupport which is useful for computing QuadMap mesh interpolationsAdded QuadMap mesh support functions (quadMapSupport) for displaying camera FOV boxes as projected on the surface of a reference ellipsoid, and drawing rectangular latitude/longitude defined regions.
Updated
THRSimConfigto use a shared pointer to avoid duplication of configuration data across the simulation and to enable access and updates to the parameters during simulation. This change has been implemented in both thethrusterDynamicsEffectorandthrusterStateEffectormodules.[BETA] Mujoco Support: Added
StatefulSysModelfor models in the dynamics task ofMJScenethat need to declare continuous-time states. Modified scenarioDeployPanels to illustrate the use ofStatefulSysModel.