Releases: RocketPy-Team/RocketPy
v1.6.2
🚀 What's Changed
This is another magnificent minor update of RocketPy Python library.
🐛 Bug Fixes:
- Fixed the problem with the Monte Carlo ellipses export to .kml process
- The Ellipses matplotlib plots were also updates, ensuring you can have the best of Monte Carlo simulation results without any problems.
📄Documentation Improvements:
- Fixed several minor errors and warning that were arising from the documentation building.
- Removed duplicated gitHub icon from the docs page.
- Added a new plot comparing simulated vs real apogee data
- Our README was also updated!
✨ Other improvements
- You can now check the structural to total mass ratio at the Rocket and Motor classes.
- We officialized our support to Python 3.13, the newest python version currently live!
📝 Summary of Pull Requests (PRs):
- DOC: Fix docs References and Examples Build. by @phmbressan in #711
- DOC: new comparison plot by @Gui-FernandesBR in #714
- BUG: fix export ellipses to kml function by @Gui-FernandesBR in #712
- ENH: add structural to total mass ratio for motor and rocket by @Lucas-Prates in #713
- DOC: Updates README by @Gui-FernandesBR in #720
- DEV: updates workflows to include python 3.13 by @Gui-FernandesBR in #719
- DEV: Updates master for v1.6.2 by @Gui-FernandesBR in #722
- REL: rocketpy v1.6.2 by @Gui-FernandesBR in #724
Full Changelog: v1.6.1...v1.6.2
v1.6.1
Installation
One can install this version of RocketPy by running: pip install rocketpy==1.6.1
.
Summary
This release brings many bug fixes and a deprecation, see details below:
Deprecation ⚠️
- DEP: deprecate NOAA's RuC sounding by @Gui-FernandesBR in #706
Bug Fixes 🛠️
- BUG:
savetxt
Not Accepting lambda Functions by @MateusStano in #698 - BUG: Single Point Functions Can Not Be Defined by @MateusStano in #700
- BUG: Vector encoding breaks MonteCarlo export. by @phmbressan in #704
- BUG: Rail Buttons Not Accepted in Add Surfaces by @MateusStano in #701
- BUG: Initialize
_Controller
Init Parameters by @MateusStano in #703 - BUG: Fix
Environment.max_expected_height
for custom atmosphere by @Gui-FernandesBR in #707 - BUG: Fix Motor Zero Dry Mass Check by @laurapgp in #710
- REL: v1.6.1 by @Gui-FernandesBR in #708
New Contributors
Full Changelog: v1.6.0...v1.6.1
v1.6.0
What's Changed
- ENH: generic surfaces pylint by @Lucas-Prates in #689
- DOC: Generic Surface by @MateusStano in #690
- TST: generic surfaces by @Lucas-Prates in #693
- ENH: Expand Polation Options for ND Functions. by @phmbressan in #691
- ENH: Free-Form Fins by @MateusStano in #694
- ENH: Generic Surfaces and Generic Linear Surfaces by @MateusStano in #680
- DEV: Prepare Master for v1.6 by @MateusStano in #696
- REL: v1.6.0 by @MateusStano in #697
Full Changelog: v1.5.0...v1.6.0
v1.5.0
We're excited to introduce RocketPy v1.5.0! This release includes powerful new features, bug fixes, and documentation improvements to enhance your rocketry simulations. You can now simulate virtual sensors, analyze local sensitivities, and explore additional flight examples! 🎉
New Features ✨
- Virtual Sensors: You can now simulate virtual sensors such as Barometers, GNSS Receivers, Accelerometers, and Gyroscopes, expanding your simulation capabilities!
- Local Sensitivity Analysis: Run sensitivity analyses on your simulations, making it easier to evaluate the impact of various parameters on the output variables
- STFT Function: A Short-Time Fourier Transform (STFT) function has been added to the Function class.
- GenericMotor Enhancements: Load engine data directly from .eng files using the new
load_from_eng_file()
method. - Rocket Axis Definition: Improved rocket axis definitions for clearer, more accurate simulations.
Bug Fixes 🛠️
- Zero Mass Flow Issue: Fixed the issue where liquid motors with zero mass flow rates were breaking exhaust velocity calculations.
- Rotational Equations of Motion (EOMs): Resolved an issue where rotational EOMs were not relative to the CDM.
- Pressure ISA Extrapolation: Corrected the extrapolation method to be linear.
- Frequency Response Plot: Fixed issues with the frequency response plot in the Flight class.
Documentation Updates 📚
- New Environment Class Docs: Fully updated and enhanced documentation for the Environment class. Check out the new pages for more clarity!
- Flight Examples: Two new flight examples—Cavour and Halcyon—have been added to the flight gallery, offering more insights for your simulations.
- Documentation Fixes: Various documentation warnings and dependency issues have been resolved.
What's Changed
- ENH: Sensors by @MateusStano in #583
- ENH: Barometer, ScalarSensors and InertialSensors by @MateusStano in #608
- DOC: New Environment class docs pages by @Gui-FernandesBR in #644
- DOC: Fix documentation warnings by @Gui-FernandesBR in #645
- ENH: Rocket Axes Definition by @MateusStano in #635
- DOC: Fix Documentation Requirements. by @phmbressan in #651
- DEV: fix tests with numpy2 by @Gui-FernandesBR in #652
- ENH: Add STFT function to Function class by @AdvaitChandorkar07 in #620
- BUG: fix the Frequency Response plot of Flight class by @Gui-FernandesBR in #653
- BUG: Pressure ISA Extrapolation as "linear" by @MateusStano in #675
- BUG: Rotational EOMs Not Relative To CDM by @MateusStano in #674
- ENH: Adds GNSS Receiver sensor by @MateusStano in #636
- ENH: Introducing local sensitivity analysis by @Lucas-Prates in #575
- ENH: Adds GenericMotor.load_from_eng_file() method by @juliomachad0 in #676
- BUG: Zero Mass Flow Tank causing Empty Velocity Data by @phmbressan in #677
- DOC : Halcyon Flight Example by @LUCKIN13 in #681
- DOC : Cavour Flight Example by @LUCKIN13 in #682
- ENH: Adds Sensors classes by @Gui-FernandesBR in #683
- ENH: Fix Orientation Param of Inertial Sensors by @MateusStano in #688
- DEV: Updates master to prepare v1.5.0 by @Gui-FernandesBR in #684
- REL: bumps rocketpy version to v1.5.0 by @Gui-FernandesBR in #692
New Contributors 👥
- @AdvaitChandorkar07 made their first contribution in #620
- @LUCKIN13 made their first contribution in #681
Full Changelog: v1.4.3...v1.5.0
v1.4.3
Installation
One can install this version of RocketPy by running: pip install rocketpy==1.4.3
Summary
The main change brought by this release:
- BUG: Rollback Prandtl-Glauert corrections for Tail and Nose
- This solves an issue where Prandtl-Glauert corrections regarding compressible flow were not correctly applied to the Tail and Nose of the Rocket.
What's Changed
- BUG: Rollback Prandtl-Glauert corrections for Tail and Nose. by @phmbressan in #685
- REL: Bump versioning to RocketPy v1.4.3. by @phmbressan in #687
Full Changelog: v1.4.2...v1.4.3
v1.4.2
What's Changed
- ENH: adding rocket radius to RailButtons class by @juliomachad0 in #643
- BUG: Time Node Merge Not Including Controllers by @MateusStano in #647
- REL: Bump versioning to RocketPy v1.4.2 by @Gui-FernandesBR in #648
Full Changelog: v1.4.1...v1.4.2
v1.4.1
This is a minor release of rocketpy, which means that a few changes were made to the source code, but no feature has been created.
Installation
You can install this specific version of rocketpy by running: pip install rocketpy==1.4.1
Summary of changes
- ENH: Insert apogee state into solution list during flight simulation #638
- This solves a problem where the free stream speed was not equals to zero at the apogee
- ENH: Environment class major refactor may 2024 #605
- The environment class has been completely refactored, without any breaking changes.
- Removed deprecated
all_plot_info_returned
andall_info_returned
methods - Reduced ~1000 code lines from the main
rocketpy/environment/environment.py
file, splitting the code into smaller files
- MNT: Refactor AeroSurfaces #634
- The
AeroSurface
class and its children has been re-organized in the package. No breaking changes were introduced.
- The
- We are adopting flake8 and pylint in our project. This will allow rocketpy to achieve an even higher level of readability, thus benefiting both developers and final users.
Pull Requests included in this release:
- MNT: Refactors the code to adopt pylint by @Gui-FernandesBR in #621
- MNT: Refactors the code to adopt flake8 by @Gui-FernandesBR in #631
- MNT: fix pylint errors in the
tests
module by @Gui-FernandesBR in #632 - DEV: setting up vscode workspace by @Gui-FernandesBR in #633
- MNT: Refactor
AeroSurfaces
by @MateusStano in #634 - ENH: Environment class major refactor may 2024 by @Gui-FernandesBR in #605
- DEV: adds scheduled test with pytest slow option by @Gui-FernandesBR in #639
- DOC: update rocketpy logo by @Gui-FernandesBR in #641
- ENH: Insert apogee state into solution list during flight simulation by @Gui-FernandesBR in #638
- MNT: Updates master for release
1.4.1
by @Gui-FernandesBR in #642 - REL: bumps rocketpy version to 1.4.1 by @Gui-FernandesBR in #646
Full Changelog: v1.4.0...v1.4.1
v1.4.0
What's Changed
Summary
🚀 New Features and Enhancements
- 📄 Documentation: Added comprehensive testing guidelines for RocketPy. #626
- 🌀 Roll Moment Calculation: Enhanced roll moment calculation considering CP and Thrust Eccentricities.
- ✨ Aerodynamics: Introduced Prandtl-Glauert correction for NoseCone and Tail surfaces.
- 📐 Design: RocketPy now supports power series nose cones for advanced designs.
🔧 Improvements and Updates
- 📊 Visualization: Streamlined the
SolidMotor
visualization by eliminating multiple plots for inertia components. #566 ⚠️ Warnings: Addressed several warnings to ensure smoother operation.- 🆕 Compatibility: RocketPy now supports the latest numpy 2.0! 🎉
- 🐍 Python Version: Upgraded the minimum Python version requirement to 3.9.
- 🌐 Documentation: Updated the RocketPy landing page to standard code docs. #584
Pull Requests included in this relase
- MNT: Alter PYPI classifier naming. by @phmbressan in #615
- BUG: pyproject.toml Main Module Finding. by @phmbressan in #616
- DOC: change rocketpy landing page to standard code docs. by @phmbressan in #584
- DEV: update develop branch with master by @Gui-FernandesBR in #618
- ENH: Add Prandtl-Glauert transformation to NoseCone and Tail by @MateusStano in #609
- ENH: CP and Thrust Eccentricity Effects Generate Roll Moment by @MateusStano in #617
- DEV: remove windows py3.8 from ci by @Gui-FernandesBR in #622
- MNT: Bump Minimum Python version to 3.9. by @phmbressan in #624
- MNT: Fix warnings in test suite and adds support for numpy 2.0 by @Gui-FernandesBR in #623
- ENH: implement power series nose cones (#475) by @Lucas-Prates in #603
- TST: Reorganize only the test_environment.py tests into Integration/Unit Tests by @lucasfourier in #577
- ENH: Eliminating multiple plots for inertia components by @dipesh2212 in #566
- DOC: Adding testing guidelines for RocketPy by @lucasfourier in #626
- TST: Reorganizing test_flight.py into unit and integration tests. by @lucasfourier in #627
- TST: Reorganizing testing modules into unit and integration tests by @lucasfourier in #628
- MNT: Updates master for release 1.4.0 by @Gui-FernandesBR in #629
- REL: v1.4.0 by @MateusStano in #630
New Contributors
- @dipesh2212 made their first contribution in #566
Installation
You can install this version by running pip install rocketpy==1.4.0
Full Changelog: v1.3.0...v1.4.0
v1.3.0.post1
What's Changed
- MNT: Alter PYPI classifier naming. by @phmbressan in #615
- BUG: pyproject.toml Main Module Finding. by @phmbressan in #616
Installation
To install this rocketpy version, you can use pip install rocketpy==v1.3.0.post1
.
Full Changelog: v1.3.0...v1.3.0.post1
v1.3.0
RocketPy v1.3.0 🚀
The newest RocketPy version is available now!
- You can install it with the command:
pip install rocketpy==1.3.0
- Check out our documentation page: RocketPy Docs
What is New ⭐
This release brings new features and improvements to RocketPy. Let's see all of them:
For users 🧑🔬
- 🚀 MonteCarlo Simulations!
- Integrate statistical variance into your simulations parameters!
- Easily generate alternative stochastic simulation scenarios.
- Plot all these possible scenarios in a histogram to get the most likely 🧪 .
- Draw ellipses to discover the most probable landing location 🎯 !
- ⚡ Speedup your Simulations!
- RocketPy is now faster! Some flights may have up to 50% cut in simulation time.
- 📃 Documentation Updates!
- Added Prometheus data to Flight Examples.
- Improvements to descriptions of
Environment
class and examples.
- 📈 Data Handling Capabilities
- The
Function
class can now remove outliers from your data. - Perform complex step differentiation in your
Function
s.
- The
- 🔨 Maintenance and Optimization Improvements
Function
validation rework for better error handling.- Exponential backoff approach to avoid
Environment
forecast server errors.
- 🐛 Many Bug Fixes
- Fix of
export_eng
method for liquid motors. - AirBrakes deployment remaining constant in post processing
Flight
phase. - Fixed plot drag curves issue when function source is callable
- Fix of
For Developers 🖥️
- Testing configs of
conftest.py
was split into several smaller files. - Refactors to
Environment
unit tests. - Deleted older
setup.py
in favor of recommendedpyproject.toml
. - Delete deprecated
tools.cached_property
.
Pull Requests Summary 🔎
- Enh/class analysis by @Sofia-ME in #118
- ENH: haversine and exportElipses by @FranzYuri in #247
- GIT: forcing develop into enh/class_dispersion by @Gui-FernandesBR in #268
- Enh/dispersion class/review by @Gui-FernandesBR in #267
- ENH: using pydantic with the dispersion class by @MateusStano in #336
- MAINT: move dispersion plots by @Gui-FernandesBR in #375
- ENH: Remove Pydantic From DispersionModel, Environment and SolidMotor by @MateusStano in #509
- ENH: Remove Pydantic from Remaining Classes by @MateusStano in #512
- ENH: Dispersion Class Overhaul by @MateusStano in #543
- MNT: Dispersion Renaming by @MateusStano in #549
- TST: Splitting conftest.py into several smaller files. by @lucasfourier in #556
- BUG: Motor method 'export_eng' for liquid motors bug fix. (solves #473) by @lucasfourier in #559
- ENH: Optional argument to show the plot in Function.compare_plots by @Gui-FernandesBR in #563
- ENH: adds
Function.remove_outliers
method by @Gui-FernandesBR in #554 - MNT: Update develop with Recent Hotfixes by @phmbressan in #567
- TST: Environment unit tests refactoring by @GabrielBarberini in #571
- DOC: Convert CompareFlights example notebooks to .rst files by @Gui-FernandesBR in #576
- ENH: adds new stability margin methods to flight by @Gui-FernandesBR in #572
- MNT: Refactor flight prints module by @Gui-FernandesBR in #579
- DEV: adds coverage configuration file and excluide exceptions from report by @Gui-FernandesBR in #570
- MNT: Refactor inertia calculations using parallel axis theorem by @Gui-FernandesBR in #573
- DOC: Improvements of Environment docstring phrasing. by @phmbressan in #565
- ENH: Function Validation Rework & Swap
np.searchsorted
tobisect_left
by @MateusStano in #582 - BUG: Swap
rocket.total_mass.differentiate
formotor.total_mass_flow rate
by @MateusStano in #585 - DEP: delete deprecated rocketpy.tools.cached_property by @Gui-FernandesBR in #587
- ENH: Exponential backoff decorator (fix #449) by @Gui-FernandesBR in #588
- MNT: Modularize Rocket Draw by @MateusStano in #580
- TST: temporary changing git actions by @Gui-FernandesBR in #590
- BLD: Change setup.py to pyproject.toml by @GabrielBarberini in #589
- FIX: Optional Dependencies Naming in pyproject.toml. by @phmbressan in #592
- DOC: Add a doctest to calculate density profile by @justincolinsmart in #591
- ENH: Flight simulation speed up by @Gui-FernandesBR in #581
- ENH: Complex step differentiation by @Gui-FernandesBR in #594
- BUG: Fix minor type hinting problems by @nalquas in #598
- ENH: Pre-calculate attributes in Rocket class by @Gui-FernandesBR in #595
- BUG: Air Brakes Deployment Constant at Post Process by @MateusStano in #586
- BUG: plot drag curves when function source is callable by @Gui-FernandesBR in #599
- MNT: refactor u_dot parachute method by @Gui-FernandesBR in #596
- ENH: Introducing the Monte Carlo class by @MateusStano in #232
- BUG: Fixes nose cone bluffness issue #610 by @Lucas-Prates in #611
- DOC: Solve Dependencies Conflicts and pyproject build by @phmbressan in #613
- ENH: Adds StochasticModel.visualize_attributes() method by @Gui-FernandesBR in #612
- DOC: Adds prometheus data, Spaceport America 2022 by @Gui-FernandesBR in #601
- TST: Prometheus acceptance test with apogee criteria by @Gui-FernandesBR in #602
- DOC: Monte carlo documentation updates by @Gui-FernandesBR in #607
- REL: Bump versioning to RocketPy v1.3.0 by @phmbressan in #614
New Contributors 🤝
We welcome new contributors, with special thanks to:
- @Sofia-ME made their first contribution in #118
- @justincolinsmart made their first contribution in #591
- @nalquas made their first contribution in #598
Full Changelog: v1.2.2...v1.3.0