Skip to content

Commit c947a9b

Browse files
committed
[#1346] update release notes
1 parent 7142e82 commit c947a9b

34 files changed

+69
-71
lines changed

docs/source/Support/bskKnownIssues.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Basilisk Known Issues
88

99
The use of ``cMsgCInterfacePy`` is deprecated. Use ``messaging`` instead.
1010

11-
Version |release|
12-
-----------------
11+
Version |release| (April 2, 2026)
12+
---------------------------------
1313
- When building from source on Python 3.13 using SWIG 4.4.0, a build failure may occur
1414
if ``pyLimitedAPI`` is set to an ABI lower than Python 3.13 (e.g., ``0x03080000``).
1515
SWIG 4.4.0 introduces a new C-API codepath for Python 3.13 that expects newer

docs/source/Support/bskReleaseNotes.rst

Lines changed: 67 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,71 @@ Basilisk Release Notes
2323
- `pip`-based installation and pre-compiled releases
2424
- integrating the `MuJoCo <https://mujoco.org>`_ library as an alternate dynamics engine
2525

26-
Version |release|
27-
-----------------
28-
.. include:: bskReleaseNotesSnippets/_compiled_latest.rst
29-
26+
Version |release| (April 2, 2026)
27+
---------------------------------
28+
- :beta:`Stochastic Integration`: Added support for stochastic dynamics (dynamics driven by Stochastic Differential Equations).
29+
- :beta:`Stochastic Integration`: Added stochastic dynamics support in core dynamics infrastructure (``DynamicObject``, ``StateData``,
30+
and ``DynParamManager``), including diffusion propagation APIs and support for shared noise sources.
31+
- :beta:`Stochastic Integration`: Added diffusion dynamics task support to ``MJScene`` via ``AddModelToDiffusionDynamicsTask()`` for
32+
MuJoCo systems with stochastic state dynamics.
33+
- :beta:`Stochastic Integration`: Added stochastic integrator base classes ``StateVecStochasticIntegrator``.
34+
- :beta:`Stochastic Integration`: Added ``svIntegratorWeakStochasticRungeKutta`` to support stochastic integrator implementations.
35+
- :beta:`Stochastic Integration`: Added :ref:`svStochasticIntegratorMayurama` (Euler-Mayurama), a 1-weak/1-strong stochastic integrator.
36+
- :beta:`Stochastic Integration`: Added two stochastic integrators: :ref:`svStochasticIntegratorW2Ito1` and :ref:`svStochasticIntegratorW2Ito2`. These are 2-weak-order stochastic integrators.
37+
- :beta:`Stochastic Integration`: Added MuJoCo models (:ref:`meanRevertingNoise`, :ref:`stochasticAtmDensity`, and
38+
:ref:`stochasticDragCoeff`) to model mean-reverting stochastic processes in dynamics-task modules.
39+
- :beta:`Stochastic Integration`: Added :ref:`meanRevertingNoiseStateEffector`, a generic spacecraft state effector that propagates a scalar
40+
Ornstein-Uhlenbeck mean-reverting stochastic state.
41+
- :beta:`Stochastic Integration`: Added :ref:`scenarioStochasticDrag` and :ref:`scenarioStochasticDragSpacecraft`, which illustrate how to
42+
use a state driven by stochastic dynamics to model randomly evolving atmospheric density (and thus drag force).
43+
The former scenario uses MuJoCo dynamics and the latter spacecraft dynamics.
44+
- :beta:`Stochastic Integration`: Added optional density correction support to :ref:`dragDynamicEffector` through
45+
``densityCorrectionStateName``, allowing drag density to be computed as
46+
``(1 + correction) * neutralDensity`` using a user-selected scalar state.
47+
- Updated :ref:`tleHandling` to map TLE mean elements in TEME to Basilisk osculating elements in J2000/ICRS and to generate TLEs using an SGP4-consistent mean-element iteration.
48+
- Fixed how the gravity spherical harmonic coefficient are loaded in ``loadGravFromFile()``. They were hard coded to 2nd order.
49+
- Added a new scenario, :ref:`scenario_FaultList`, that demonstrates the use of the fault modeling capabilities by selecting faults from :ref:`BSK_Faults`.
50+
- Added a ``Dockerfile`` to build Basilisk container images. See :ref:`bskContainers` for usage details.
51+
- Prebuilt multi-architecture (``linux/amd64``, ``linux/arm64``) container images are now published to GHCR on each release tag.
52+
- Updated :ref:`vizInterface` to bind to all network interfaces (``0.0.0.0``) by default, enabling Vizard connectivity when Basilisk is running inside a container.
53+
- Added :ref:`hillFrameRelativeControl`, a Hill-frame PD controller that computes an inertial force command to track deputy relative position and velocity with respect to a chief spacecraft.
54+
- Added :ref:`thrOnTimeToForce` module to convert thruster on-times to thruster forces for use in MuJoCo scenes
55+
- Fixed :ref:`reactionWheelStateEffector` mixed-model wheel logging so theta outputs are indexed correctly when balanced and jitter wheel models are used together.
56+
- Added a new :ref:`facetedSpacecraftModel` module to convert spacecraft facet geometry from the local facet frames to the spacecraft hub body frame. The module supports both fixed facets and single-axis articulating facets.
57+
- Added a new :ref:`facetedSpacecraftProjectedArea` module to compute the per-facet and total projected area of a faceted spacecraft model using a provided heading direction vector. The module supports three heading configuration options: direct general heading, Sun direction heading, and spacecraft inertial velocity heading.
58+
- Fixed :ref:`thrJointCompensation` hinged joint control sign convention so that the computed compensation torque is applied in the correct direction.
59+
- Added :ref:`scenarioThrArmControl`, a MuJoCo example scenario for spacecraft control using thruster arms.
60+
- Added Python 3.14 support across packaging and CI.
61+
- Updated platform install guides to document Basilisk support for Python 3.14.
62+
- Updated :ref:`tleHandling` TLE parsing to fail explicitly on unsupported catalog-ID encodings.
63+
- Added tests in ``test_readTLE.py`` to validate rejection of unsupported catalog-ID encoding.
64+
- Added ``sccache`` compiler caching to CI builds to speed up incremental C++ compilation. See :ref:`configureBuild` for how to use ``sccache`` locally.
65+
- Removed deprecated ``vizInterface.MultiSphereVector`` support; use ``vizInterface.MultiShapeVector``.
66+
- Removed deprecated ``vizInterface.MultiSphere`` and ``vizInterface.MultiSphereInfo`` aliases; use ``vizInterface.MultiShape`` and ``vizInterface.MultiShapeInfo``.
67+
- ``dragDynamicEffector``, ``facetDragDynamicEffector``, and ``cannonballDrag`` now accept an optional ``windVelInMsg`` (:ref:`WindMsgPayload`) to compute atmosphere-relative drag velocity; supersedes the former ``useAtmosphereRelativeVelocity``/``planetOmega_N`` flags.
68+
- Updated :ref:`scenarioDragDeorbit`, :ref:`scenarioDragRendezvous`, :ref:`scenarioAerocapture`, and :ref:`scenarioStochasticDragSpacecraft` to illustrate optional use of wind velocity input.
69+
- Added :ref:`windBase` abstract base class and :ref:`zeroWindModel` concrete implementation. The base class now handles co-rotating atmosphere calculations, while the zero wind model represents conditions with no additional wind perturbations beyond atmospheric co-rotation.
70+
- Removed Python 3.8 support from the build and CI configuration, and marked Python 3.9 support as deprecated for removal after March 2027.
71+
- Added :ref:`stripLocation` to support the strip imaging mode.
72+
- Updated :ref:`locationPointing` to include the new strip imaging mode.
73+
- Added new tests in ``test_locationPointing.py`` to verify the new strip imaging mode.
74+
- Created new message :ref:`StripStateMsgPayload` to interface :ref:`locationPointing` with the new :ref:`stripLocation`.
75+
- Added the scenario :ref:`scenarioStripImaging` showing how to perform strip imaging tasks.
76+
- Updated Python packaging metadata to use the PEP 639 license fields and require a newer setuptools version that supports them.
77+
- Added optional ``sunEclipseInMsg`` input to :ref:`facetSRPDynamicEffector` so that eclipse shadow conditions scale the SRP force and torque by the illumination factor.
78+
- Added documentation for the ``bsk-sdk`` plugin system, covering how to install,
79+
write, and distribute out-of-tree Basilisk plugins as standard Python wheels.
80+
- Added ``BSK_SUPPORT_DATA_CACHE`` environment variable to ``dataFetcher.py`` to allow overriding the default Pooch cache directory for support data files. See :ref:`addSupportData` for details.
81+
- Added missing docstring to ``gravBodyFactory.createSpiceInterface()`` that prevented it from being built.
82+
- Added a detailed note for ``spicePlanetFrames`` describing default ``IAU_*`` behavior, supported alternatives such as ``ITRF93`` and ``J2000``, and how frame-association FK kernels interact with this setting.
83+
- Added an ``examples`` optional dependency set so users can install example-only Python packages with ``pip install "bsk[examples]"`` or ``pip install -e ".[examples]"``.
84+
- Added a matching ``python conanfile.py --examples True`` build option for source checkouts, with example dependencies enabled by default and ``--examples False`` available to skip them.
85+
- Improved ``gravityEffector`` gravity-coefficient loading to always include the requested highest degree and consistently enforce ``maxDeg`` truncation.
86+
- Updated spherical-harmonic coefficient parsing to map values by explicit ``(degree, order)`` indices, handle missing entries as zero-filled terms, and reject duplicate or malformed rows.
87+
- Added :ref:`linkBudget`, a communication module that computes link Carrier-to-Noise Ratio (CNR) between two antennas including FSPL and optional atmospheric, pointing, and frequency-offset losses.
88+
- Fixed ``PythonVariableLogger`` to resume logging correctly after ``Reset()``, reject negative ``min_log_period`` values, and support indexed access for logged names that collide with class attributes such as ``times``.
89+
- Added :ref:`spacecraftChargingEquilibrium` module to solve coupled servicer/target equilibrium potentials with electron-beam current coupling.
90+
- Update the developer workflow on how release notes are added. The new method now adds small release notes RST snippets into ``docs/source/Support/bskReleaseNotesSnippets`` folder. A README.md file there explains how to do this.
3091
- Removed the default ``--clean`` flag from ``setup.py`` to allow for incremental pip wheel builds.
3192
- TLE parsing fixed to be robust to file ending issues between LF and CRLF.
3293
- Updated ``conanfile.py`` to pass ``compiler.cstd=gnu17`` during Conan build step to avoid ``cspice/0067``
@@ -69,8 +130,8 @@ Version |release|
69130
with differential cannonball drag and orbital-element feedback control.
70131

71132

72-
Version 2.9.0 (Jan. 28 2026)
73-
----------------------------
133+
Version 2.9.0 (Jan. 28, 2026)
134+
-----------------------------
74135
- Deploy both release docs at https://avslab.github.io/basilisk and developer beta
75136
docs at https://avslab.github.io/basilisk/developer.
76137
- Added :ref:`releaseGuide` on releasing a new version of Basilisk.

docs/source/Support/bskReleaseNotesSnippets/1004-stochastic-dynamics.rst

Lines changed: 0 additions & 19 deletions
This file was deleted.

docs/source/Support/bskReleaseNotesSnippets/1255_tleHandling_mean_osculating_mapping.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/source/Support/bskReleaseNotesSnippets/1256-gravity_load_fix.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/source/Support/bskReleaseNotesSnippets/1257-fault-example.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/source/Support/bskReleaseNotesSnippets/1268-docker-containers.rst

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/source/Support/bskReleaseNotesSnippets/1273-hill-frame-relative-control.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/source/Support/bskReleaseNotesSnippets/1275-thr-on-to-force.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/source/Support/bskReleaseNotesSnippets/1280-rw-mixed-jitter-theta-index.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)