Releases: RocketPy-Team/RocketPy
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
v1.2.2
What's Changed
- BUG: wrong rocket mass in parachute u_dot method by @Gui-FernandesBR in #569
- REL: Update version to 1.2.2 by @Gui-FernandesBR in #574
Installation
To install this rocketpy version, you can use pip install rocketpy==1.2.2
Full Changelog: v1.2.1...v1.2.2
v1.2.1
This is a minor release focused to solve a specific bug that was discovered when simulating a rocket with a diameter transition.
What's Changed
- BUG: Add reference area factor correction to aero surfaces (solves #557) by @giovaniceotto in #558
- REL: bump up rocketpy version to v1.2.1 by @Gui-FernandesBR in #562
Full Changelog: v1.2.0...v1.2.1
v1.2.0
v1.2.0 🚀
The newest version of RocketPy is officialy released
- You can already download it using pip:
pip install rocketpy==1.2.0
📦 - Don't forget to check the documentation page: RocketPy Docs 📚
What is new 🌟
This releases includes new features and enhancements that will improve the rocketpy experience for both users and developers. Let's check it:
For users 👩🔬👨🔬
- 🚀 Air Brakes Simulation!
- One can now simulate Rockets with Air Brakes and customized control functions!
- Fine tune your rocket for hitting that bullseye apogee.
- 📃 The documentation pages:
- Added juno3 flight example
- Data import through headered CSV Related Docs updated.
- Speedup notebooks and collab docs by not cloning the whole repository.
- 📊 Data handling and exporting:
- Import flight data to RocketPy with
FlightDataImporter
class. - Added
Function
low pass signal filtering. - Support for headered CSV on
Function
inputs. - Export any rocketpy data to a CSV with
Function.savetxt
.
- Import flight data to RocketPy with
- 🛠️ Various maintenance updates and code optimizations.
- Function priority on reverse arithmetic operations.
- Parachute trigger is now case insensitive.
- Updates and speedups do
Function
interpolation methods. - Rocket power on and off drag plots joined into one.
- Added a argument for optional datasource mutation on
Function.set_discrete
. - Fixed framing of 3D Flight Trajectory plots.
- Fixed Rockets without a motor not being drawn.
- Fixed a specific bug in which fin flutter analysis did not find any fins.
For devs 💻
- Testing refactors by splitting into unit and non unit testing.
- Added documentation for tests.
- Update GitHub actions workflow.
- Precalculate barometric heights to speed up simulation.
- Makefiles updates and addition of new commands.
Commit summary 🔍
- MNT: update develop by @Gui-FernandesBR in #487
- Doc/adding tst to docs by @lucasfourier in #491
- ENH: Function Reverse Arithmetic Priority by @phmbressan in #488
- GIT: Set code owners as @RocketPy-Team/code-owners by @giovaniceotto in #493
- ENH: Parachute trigger doesn't work if "Apogee" is used instead of "apogee" by @Gui-FernandesBR in #489
- MNT: Add repr method to Parachute class by @Gui-FernandesBR in #490
- ENH: Get Instance Attributes by @MateusStano in #477
- TST: solid_motor.py testing refactors by @lucasfourier in #494
- TST: Splitting unit testing module from non unit testes inside the new 'unit' folder for the several testing modules. by @lucasfourier in #499
- DOC: Update CSV Header Related Docs by @MateusStano in #495
- TST: Add unit test for get_value_opt method by @Gui-FernandesBR in #505
- MNT: Update interpolation method in linearly_interpolated_func by @Gui-FernandesBR in #504
- ENH: optimize
get_value_opt
in class Function by @styris00 in #501 - ENH: add Function.low_pass_filter method by @kalounis in #508
- ENH: Alternative for State History by @MateusStano in #507
- ENH: create FlightDataImporter class by @Gui-FernandesBR in #474
- DOC: add juno3 flight example by @Gui-FernandesBR in #513
- BUG: EmptyMotor is breaking the Rocket.draw() method by @Gui-FernandesBR in #516
- MNT: update github actions with logical sequence of tests by @Gui-FernandesBR in #500
- BUG: fin_flutter_analysis doesn't find any fin set by @Gui-FernandesBR in #510
- ENH : Add of a line for saving the filtered dataset by @kalounis in #518
- BUG: 3D trajectory plot not labeling axes by @Gui-FernandesBR in #533
- ENH: Argument for Optional Mutation on Function Discretize by @phmbressan in #519
- ENH: adds new Function.savetxt method by @Gui-FernandesBR in #514
- ENH: improve Function.low_pass_filter and adds docs by @Gui-FernandesBR in #538
- MNT: Encapsulate quaternion conversions by @Gui-FernandesBR in #537
- ENH Precalculate Barometric Height by @MateusStano in #511
- ENH: Shepard Optimized Interpolation - Multiple Inputs Support by @phmbressan in #515
- DOC: Installing imageio library on dispersion analysis notebook by @Lucas-Prates in #540
- DOC: Replacing git clone command with curl in notebooks. by @Lucas-Prates in #544
- ENH: Air Brakes by @MateusStano in #426
- ENH: Function inputs from CSV file header. by @phmbressan in #542
- ENH: Plotting both power on and off drag curves in a single plot. by @juliomachad0 in #547
- MNT: update Makefile by @Gui-FernandesBR in #539
- BUG: Elliptical Fins Draw by @MateusStano in #548
- MNT: small fixes before v1.2 by @Gui-FernandesBR in #550
- BUG: fix
get_controller_observed_variables
in the air brakes examples by @Gui-FernandesBR in #551 - BUG: Update flight trajectory plot axes limits by @Gui-FernandesBR in #552
- MNT: Final refactor before v1.2 by @Gui-FernandesBR in #553
- ENH: update master with develop for version 1.2.0 by @Gui-FernandesBR in #536
- REL: Update version to 1.2.0 by @Gui-FernandesBR in #555
New Contributors 🤝
We welcome new contributors, with special thanks to:
- @styris00 made their first contribution in #501
- @kalounis made their first contribution in #508
- @ClementMonaco made their first contribution in #508
- @Lucas-Prates made their first contribution in #540
- @juliomachad0 made their first contribution in #547
Full Changelog: v1.1.5...v1.2.0
v1.1.5
RocketPy v1.1.5 🚀
This newest version of RocketPy is available now!
- Install and check it out by using pip:
pip install rocketpy==1.1.5
📦 - Don't forget to check the documentation page: RocketPy Docs 📚
What's Changed
- BUG: Invalid Arguments on Two Dimensional Discretize (HOTFIX). by @phmbressan in #521
- BUG: Parachute Pressures not being Set before All Info. by @phmbressan in #534
- REL: Update RocketPy version to 1.1.5 by @Gui-FernandesBR in #535
Full Changelog: v1.1.4...v1.1.5
v1.1.4
RocketPy v1.1.4 🚀
This newest version of RocketPy is available now!
- Install and check it out by using pip:
pip install rocketpy==1.1.4
📦
What's Changed
- FIX: changes Generic Motor exhaust velocity to cached property by @giovaniceotto in #497
- DOC: Change from % to ! in the first cell to run properly in Colab. by @giovaniceotto in #496
Full Changelog: v1.1.3...v1.1.4