Releases: nasa/fmdtools
fmdtools v2.0.6
This release brings in a range of improvements developed over the last month, mainly focused on (1) improving Coords and environments (2) improving search capabilities and (3) improving general code quality and test metrics. Note that some interfaces for the related classes (Coords, Problems, etc) will have changed with this release.
Release Notes - Resilience Analysis and Design - Version fmdtools 2.0.6
Sub-Task
- [RAD-449] - Fix Coords/FirePropagation bug: why do we have to turn "protect" off?
- [RAD-451] - Modify get_neighbors to get corner neighbors also
- [RAD-452] - Fix rounding for grid points in Coords
- [RAD-453] - Add ability to get/cache endclass in Problems
- [RAD-455] - Add optimization plots to Problem
- [RAD-457] - show_from/plot_trajectory: provide ability to set x/y labels and titles
- [RAD-460] - Adapt BurnedMap: Add ability to plot metrics over multi-scenario results
Story
- [RAD-399] - Use somewhat safer way of passing sequences
- [RAD-444] - Fix more easy style issues
- [RAD-445] - Improve doctest coverage
- [RAD-447] - Add to requirements: matplotlib >3.7 (won't work without it)
- [RAD-454] - Lessons learned from aerialdrm (short term)
- [RAD-461] - Fix a couple docs issues
Release Checklist
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch using git sync-into-dev |
x | No outside changes |
2 | Update version numbers in appropriate files | x | |
2a | "Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md pyproject.toml init.py" | x | |
2b | "Run a repository-wide search for the version number" | x | |
3 | Allow (or force) Bamboo CI to build tests and docs | x | |
4 | "Release to GitHub/remotes using git release v2.x.x ''Version 2.x.x'' " |
x | |
5 | Create a release in GitHub | x | |
5a | "incorporate a narrative summary of features and changes" | x | |
5b | "incorporate the auto-generated bitbucket release notes." | x | |
6 | "Update project plan" | x | |
6a | "Include any changed dependencies" | N/A | |
6b | "Include version in schedule" | x | |
6c | "Identify and include additional changes/activities" | N/A | |
7 | Update/check external CI resources as needed | x | |
7a | "Toggle CodeFactor so it updates" | x | Went from 84 to 42 issues, attributable to RAD-444 |
7b | "Check upload to PyPi" | x | Version up to date |
fmdtools v2.0.5
This release has some basic fixes to the fmdtools repo and classes:
- The documentation repository now builds as desired. This fixes an issue in 2.0.4 where sphinx did not use autodoc and automodule
- Some fixes to Coords (see: 3c5e236). Specifically, NaNs now masked over when performing array comparisons and rands now sync effectively between architectures and environments
Full Changelog: v2.0.4...v2.0.5
Release Checklist
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch using git sync-into-dev |
N/A | |
2 | Update version numbers in appropriate files | x | |
2a | "Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md pyproject.toml init.py" | x | |
2b | "Run a repository-wide search for the version number" | x | |
3 | Allow (or force) Bamboo CI to build tests and docs | x | |
4 | "Release to GitHub/remotes using git release v2.x.x ''Version 2.x.x'' " |
x | |
5 | Create a release in GitHub | x | |
5a | "incorporate a narrative summary of features and changes" | x | |
5b | "incorporate the auto-generated bitbucket release notes." | x | |
6 | "Update project plan" | x | |
6a | "Include any changed dependencies" | N/A | |
6b | "Include version in schedule" | x | |
6c | "Identify and include additional changes/activities" | N/A | |
7 | Update/check external CI resources as needed | x | |
7a | "Toggle CodeFactor so it updates" | x | No new issues |
7b | "Check upload to PyPi" | x | New programming language versions reflected |
fmdtools v2.0.4
This version brings a few changes to fmdtools, including features, bugfixes, and development changes. These changes include:
- Adding the ability to show class inheritance as a part of ModelGraphs
- Support/use of latest version of recordclass
- Explicit support of Python 3.10, 3.11, and 3.12 (which are now all automatically tested)
- Change to the overall development process to use CI tools rather than building and testing on a developer's local machine. As a result, the development process is much more streamlined, requires much less user setup, and tests/builds should be consistent.
Release Checklist
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch using git sync-into-dev |
x | |
2 | Update version numbers in appropriate files | x | |
2a | "Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md pyproject.toml init.py" | x | |
2b | "Run a repository-wide search for the version number" | x | |
3 | Allow (or force) Bamboo CI to build tests and docs | x | First full run using bamboo CI for multiple tests. |
4 | "Release to GitHub/remotes using git release v2.x.x ''Version 2.x.x'' " |
x | Added one additional piece - support for multiple versions in toml |
5 | Create a release in GitHub | x | |
5a | "incorporate a narrative summary of features and changes" | x | |
5b | "incorporate the auto-generated bitbucket release notes." | N/A | |
6 | "Update project plan" | x | |
6a | "Include any changed dependencies" | N/A | |
6b | "Include version in schedule" | x | |
6c | "Identify and include additional changes/activities" | Updated automated testing verbiage | |
7 | Update/check external CI resources as needed | x | |
7a | "Toggle CodeFactor so it updates" | x | Some issues introduced due to new docs/reports folders not being ignored. Those files now added to ignore for CodeFactor. |
7b | "Check upload to PyPi" | x | Now current with 2.0.4 tag (missed change in toml--will update with next release) |
fmdtools v2.0.3
Another build to ensure desired PyPi build (2.0.0-2.0.2 haven't built properly). Reflects some changes to documentation but that's all.
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch | x | |
1a | "Internal branches (e.g. main dev)" | x | |
1b | "External branches (e.g. main)" | x | |
2 | Run script run_all_tests.py and verify test results are appropriate | N/A | No changes since 2.0.0 |
2a | "Run full tests" | N/A | |
2b | "Regenerate badge" | N/A | |
3 | Update version numbers in appropriate files | x | |
3a | "Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md pyproject.toml" | x | Note - will add__init__.py to future releases |
3b | "Run a repository-wide search for the version number" | x | |
4 | Generate the documentation using "./make html" | x | |
5 | Commit and tag branch with the appropriate version. | x | |
5a | "git tag -a v2.x.x -m 'version 2.x.x'" | x | Note - will add signing to next release checklist as -s |
6 | Sync to remotes | x | |
6a | "Push release branch to github and internal remotes" | x | |
6b | "Push docs using git subtree split --prefix=_build/html --branch gh-pages , git push -f public gh-pages git branch -D gh-pages " |
x | |
7 | Create a release in GitHub | x | |
7a | "incorporate a narrative summary of features and changes" | x | |
7b | "incorporate the auto-generated bitbucket release notes." | x | |
8 | "Update project plan" | N/A | |
8a | "Include any changed dependencies" | N/A | |
8b | "Include version in schedule" | N/A | |
8c | "Identify and include additional changes/activities" | N/A | |
9 | Update/check external CI resources as needed | x | |
9a | "Toggle CodeFactor so it updates" | N/A | |
9b | "Check upload to PyPi" | x | Note - now downloads and installs as needed |
fmdtools v2.0.2
Test release for PyPi. See fmdtools v2.0.0.
fmdtools v2.0.1
Test release for PyPi. See fmdtools v2.0.0.
fmdtools version 2.0.0
This release is represents the second official release of fmdtools. The 2.0 milestone advances the overall goals of (1) extending modelling capabilities to enable the representation of human systems and distributed situation awareness in the context of systems-of-systems simulations, (2) improve the underlying modelling constructs and analysis methods to improve scalability, enable the adaptation and re-use of models, and improve the overall workflow, and (3) increase the overall maturity of the codebase. Additionally, version 2.0 is released under new license, Apache-2.0, to enable external usage and collaboration.
Compared to version 1.0, version 2.0 brings significant changes to both module organization and overall interfaces of the toolkit. If you were familiar with version 1.0, it is recommended to look through the documentation (see: https://nasa.github.io/fmdtools/).
For detailed understanding of what has changed in this development cycle, it is also recommended to review the updates for our alphas, betas and release candidates:
- https://github.com/nasa/fmdtools/releases/tag/v2.0-rc5
- https://github.com/nasa/fmdtools/releases/tag/v2.0-rc-4
- https://github.com/nasa/fmdtools/releases/tag/v2.0-rc-3
- https://github.com/nasa/fmdtools/releases/tag/v2.0-rc-2
- https://github.com/nasa/fmdtools/releases/tag/v2.0-rc-1
- https://github.com/nasa/fmdtools/releases/tag/v2.0-beta3
- https://github.com/nasa/fmdtools/releases/tag/v2.0-beta2
- https://github.com/nasa/fmdtools/releases/tag/v2.0-beta1
- https://github.com/nasa/fmdtools/releases/tag/v2.0-beta-0.0
- https://github.com/nasa/fmdtools/releases/tag/v2.0-alpha
Release Checklist
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch | x | |
1a | "Internal branches (e.g. main dev)" | x | |
1b | "External branches (e.g. main)" | x | |
2 | Run script run_all_tests.py and verify test results are appropriate | x | Errors from rc-6 removed |
2a | "Run full tests" | x | |
2b | "Regenerate badge" | x | |
3 | Update version numbers in appropriate files | x | 2.0.0 |
3a | "Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md pyproject.toml" | x | |
3b | "Run a repository-wide search for the version number" | x | |
4 | Generate the documentation using "./make html" | x | |
5 | Commit and tag branch with the appropriate version. | x | |
5a | "git tag -a v2.x.x -m 'version 2.x.x'" | x | |
6 | Sync to remotes | x | |
6a | "Push release branch to github and internal remotes" | x | |
6b | "Push docs using git subtree split --prefix=_build/html --branch gh-pages , git push -f public gh-pages git branch -D gh-pages " |
x | |
7 | Create a release in GitHub | x | |
7a | "incorporate a narrative summary of features and changes" | x | |
7b | "incorporate the auto-generated bitbucket release notes." | N/A | |
8 | "Update project plan" | x | |
8a | "Include any changed dependencies" | x | |
8b | "Include version in schedule" | x | |
8c | "Identify and include additional changes/activities" | x | |
9 | Update/check external CI resources as needed | x | |
9a | "CodeFactor" | x | 99 issues -> 71 issues |
10 | If release is 'stable' Upload to PyPI (see below | todo | Working on account recovery with PyPi support |
v2.0-rc-6
Version 2.0-rc-6 brings a number of changes to fmdtools graph functionality to better enable graphical specification and representation of models.
Some major updates include:
- Created ability to create hierarchical modelgraphs recursively and get properties like (1) generating code (2) methods (3) containers and parse flows, aggregations, and containments from architectures.
- Nodes in graphs now given names corresponding to their model id (e.g., pump.fxns.import_ee), rather than using a "flat" representation (import_ee)
- create_graph and as_modelgraph interfaces now can be used at the Object level to create networkx graphs as well as output ModelGraphs
- Reorganization of graph the
architecture
andflow
modules into their corresponding modules in define. - Some licensure/versioning fixes
Release Checklist
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch | x | |
1a | "Internal branches (e.g. main dev)" | x | |
1b | "External branches (e.g. main)" | x | |
2 | Run script run_all_tests.py and verify test results are appropriate | ||
2a | "Run full tests" | x | Tests pass with two warnings, added to jira |
2b | "Regenerate badge" | x | x |
3 | Update version numbers in appropriate files | x | |
3a | "Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md pyproject.toml" | x | |
3b | "Run a repository-wide search for the version number" | x | |
4 | Generate the documentation using "./make html" | x | |
5 | Commit and tag branch with the appropriate version. | x | |
5a | "git tag -a v2.x.x -m 'version 2.x.x'" | x | |
6 | Sync to remotes | x | |
6a | "Push release branch to github and internal remotes" | x | |
6b | "Push docs using git subtree push --prefix=_build/html public gh-pages " |
x | |
7 | Create a release in GitHub | x | |
7a | "incorporate a narrative summary of features and changes" | x | |
7b | "incorporate the auto-generated bitbucket release notes." | x | |
8 | "Update project plan" | x | |
8a | "Include any changed dependencies" | x | |
8b | "Include version in schedule" | x | |
8c | "Identify and include additional changes/activities" | x | |
9 | Update/check external CI resources as needed | x | |
9a | "CodeFactor" | x | Same as before |
10 | If release is 'stable' Upload to PyPI (see below | N/A |
v2.0-rc-5
Summary
This pre-release adds the following:
- Add more features to Coords to support modelling, visualization, and animating environments
- Supporting preliminary alignment between graph plots and our FRDL specification. This effort also refactored the graph module into a subpackage to support testing and future extensions, which means that any software using these graphs will need to adjust
import
s - Add/fix some bugs identified during new modelling efforts, like making it so non-default states sent to a model continue to be used in the model and deprecating methods in Function other than static_behavior and dynamic_behavior
- Improving testing coverage
- Docs no longer tracked (which was the case prior to
2.0-rc4
- Aside from this, the
fmdtools
development environment has shifted to usingPython 3.11
. While older versions of python may still be compatible, it is recommended to update to install fmdtools in aPython 3.11
environment to remain up-to-date with our developments.
Detailed Release Notes
Release Notes - Resilience Analysis and Design - Version fmdtools 2.0-rc-5
Story
- [RAD-374] - Create the ability to overlay multiple plots in the result.plot_metric_dist ()
- [RAD-378] - Close missing testing pieces
- [RAD-403] - Troupe fmdtools feature development opportunities
- [RAD-406] - Align Graph representation with FRDL
- [RAD-410] - Remove behavior() and condfaults() from function definition
Release Checklist
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch | x | |
1a | "Internal branches (e.g. main dev)" | x | |
1b | "External branches (e.g. main)" | x | |
2 | Run script run_all_tests.py and verify test results are appropriate | x | |
2a | "Run full tests" | x | |
2b | "Regenerate badge" | x | |
3 | Update version numbers in appropriate files | x | |
3a | "Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md pyproject.toml" | x | |
3b | "Run a repository-wide search for the version number" | x | |
4 | Generate the documentation using "./make html" | x | |
5 | Commit and tag branch with the appropriate version. | x | |
5a | "git tag -a v2.x.x -m 'version 2.x.x'" | x | |
6 | Sync to remotes | x | |
6a | "Push release branch to github and internal remotes" | x | |
6b | "Push docs using git subtree push --prefix=_build/html public gh-pages " |
x | |
7 | Create a release in GitHub | x | |
7a | "incorporate a narrative summary of features and changes" | x | |
7b | "incorporate the auto-generated bitbucket release notes." | x | |
8 | "Update project plan" | x | |
8a | "Include any changed dependencies" | x | |
8b | "Include version in schedule" | x | |
8c | "Identify and include additional changes/activities" | x | |
9 | Update/check external CI resources as needed | x | |
9a | "CodeFactor" | x | from 110 to 99 issues |
10 | If release is 'stable' Upload to PyPI (see below | N/A | N/A |
v2.0-rc-4
v2.0-rc-4 is mainly an update to documentation in preparation to the official v2.0 release.
Highlights include:
- Updated logo
- Improved organization of docs
- More resources for docs (figures/diagrams, etc)
- Removed minor bug in Result.get_values
Notes:
Release Notes - Resilience Analysis and Design - Version fmdtools 2.0-rc-4
Story
- [RAD-241] - Release documentation update
Full Changelog: v2.0-rc-3...v2.0-rc-4
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch | x | |
1a | "Internal branches (e.g. main dev)" | x | |
1b | "External branches (e.g. main)" | x | |
2 | Run script run_all_tests.py and verify test results are appropriate | x | |
2a | "Run full tests" | x | |
2b | "Regenerate badge" | x | |
3 | Update version numbers in appropriate files | x | updated to 2.0-rc-4 |
3a | "Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md pyproject.toml" | x | |
3b | "Run a repository-wide search for the version number" | x | |
4 | Generate the documentation using "./make html" | x | |
5 | Commit and tag branch with the appropriate version. | x | |
5a | "git tag -a v2.x.x -m 'version 2.x.x'" | x | |
6 | Sync to remotes | x | |
6a | "Push release branch to github and internal remotes" | x | |
6b | "Push docs using git subtree push --prefix=_build/html public gh-pages " |
x | |
7 | Create a release in GitHub | x | |
7a | "incorporate a narrative summary of features and changes" | x | |
7b | "incorporate the auto-generated bitbucket release notes." | x | |
8 | "Update project plan" | x | |
8a | "Include any changed dependencies" | x | |
8b | "Include version in schedule" | x | |
8c | "Identify and include additional changes/activities" | x | |
9 | Update/check external CI resources as needed | x | |
9a | "CodeFactor" | x | |
10 | If release is 'stable' Upload to PyPI (see below | x |