Releases: InstituteforDiseaseModeling/idmtools
v1.6.1
Additional Changes
#1165 - Support basic building of singularity images
#1315 - Assets should always return paths using posix style
#1321 - Comps CLI should have singularity build support
Bugs
#1271 - COMPS SSMT Version fetch should fetch latest compatible idmtools image
#1303 - Fix platform object assignment on AssetCollection
#1312 - Update analyze_manager.py to remove iterkeys in support of diskcache 5.1.0
#1313 - Support tags in prefix on AssetizeOutputs
Dependencies
#1281 - Update pytest requirement from ~=6.1.1 to ~=6.1.2
#1287 - Update allure-pytest requirement from ~=2.8.18 to ~=2.8.19
#1288 - Update junitparser requirement from ~=1.6.0 to ~=1.6.1
#1289 - Update sphinx-copybutton requirement from ~=0.3.0 to ~=0.3.1
#1290 - Bump pandas from 1.1.3 to 1.1.4
#1291 - Update more-itertools requirement from ~=8.5.0 to ~=8.6.0
#1293 - Latest numpy 1.19.4 (released 11/2/2020) breaks all idmtools tests in windows
#1298 - Update junitparser requirement from ~=1.6.1 to ~=1.6.2
#1299 - Update pygit2 requirement from ~=1.3.0 to ~=1.4.0
#1300 - Bump diskcache from 5.0.3 to 5.1.0
#1307 - Update requests requirement from ~=2.24.0 to ~=2.25.0
#1308 - Update matplotlib requirement from ~=3.3.2 to ~=3.3.3
#1309 - Update sphinx requirement from ~=3.3.0 to ~=3.3.1
#1310 - Update pytest-html requirement from ~=2.1.1 to ~=3.0.0
#1311 - Update tqdm requirement from ~=4.51.0 to ~=4.52.0
#1327 - Update allure-pytest requirement from ~=2.8.19 to ~=2.8.20
Documentation
#1279 - Add examples to override config values
#1285 - Examples should use Calculon instead of SLURM alias
#1302 - cookbook link for modifying-asset-collection is wrong
Platforms
#1264 - Comps CLI should have singularity build support
User Experience
#1170 - Add progress bar to upload of Assets through new callback in pyCOMPS
#1320 - Add progress bar to workitems
v1.6.0
Bugs
#300 - Canceling simulations using cli’s Restful api throws Internal server error (Local Platform)
#462 - Redis port configuration not working (Local Platform)
#988 - Fix issues with multi-threading and requests on mac in python 3.7 or lower
#1104 - Run AnalyzeManager outputs ini file used multiple times
#1111 - File path missing in logger messages when level set to INFO
#1154 - Add option for experiment run in COMPS to use the minimal execution path
#1156 - COMPS should dynamically add Windows and LINUX Requirements based on environments
#1195 - PlatformAnalysis should support aliases as well
#1198 - PlatformAnalysis should detect should find user’s idmtools.ini instead of searching current directory
#1230 - Fix parsing of executable on commandline
#1244 - Logging should fall back to console if the log file cannot be opened
CLI
#1167 - idmtools config CLI command should have option to use global path
#1237 - Add ability to suppress outputs for CLI commands that might generate pipe-able output
#1234 - Add AssetizeOutputs as COMPS Cli command
#1236 - Add COMPS Login command to CLI
Configuration
#1242 - Enable loading configuration options from environment variables
Core
#571 - Support multi-cores(MPI) on COMPS through num_cores
#1220 - Workflow items should use name
#1221 - Workflow items should use Assets instead of asset_collection_id
#1222 - Workflow items should use transient assets vs user_files
#1223 - Commands from WorkflowItems should support Tasks
#1224 - Support creating AssetCollection from list of file paths
Dependencies
#1136 - Remove marshmallow as a dependency
#1207 - Update pytest requirement from ~=6.1.0 to ~=6.1.1
#1209 - Update flake8 requirement from ~=3.8.3 to ~=3.8.4
#1211 - Bump pandas from 1.1.2 to 1.1.3
#1214 - Update bump2version requirement from ~=1.0.0 to ~=1.0.1
#1216 - Update tqdm requirement from ~=4.50.0 to ~=4.50.2
#1226 - Update pycomps requirement from ~=2.3.8 to ~=2.3.9
#1227 - Update sqlalchemy requirement from ~=1.3.19 to ~=1.3.20
#1228 - Update colorama requirement from ~=0.4.1 to ~=0.4.4
#1246 - Update yaspin requirement from ~=1.1.0 to ~=1.2.0
#1251 - Update junitparser requirement from ~=1.4.1 to ~=1.4.2
Documentation
#1134 - Add a copy to clipboard option to source code and command line examples in documentation
Feature Request
#1121 - Experiment should error if no simulations are defined
#1148 - Support global configuration file for idmtools from user home directory/local app directory or specified using an Environment Variable
#1158 - Pass platform to pre_creation and post_creation methods to allow dynamic querying from platform
#1193 - Support Asset-izing Outputs through WorkItems
#1194 - Add support for post_creation hooks on Experiments/Simulation/Workitems
#1231 - Allow setting command from string on Task
#1232 - Add a function to determine if target is Windows to platform
#1233 - Add property to grab the common asset path from a platform
#1247 - Add support for singularity to the local platform
Platforms
#230 - Entities should support created_on/modified_on fields on the Local Platform
#324 - Detect changes to Local Platform config
User Experience
#1127 - IDMtools install should not include emodpy, emodapi, etc when installing with idmtools[full]
#1141 - Add warning when user is using a development version of idmtools
#1160 - get_script_wrapper_unix_task should use default template that adds assets to python path
#1200 - Log idmtools core version when in debug mode
#1240 - Give clear units for progress bars
#1241 - Support disabling progress bars with environment variable or config
Special Notes
If you encounter an issue with matplotlib after install, you may need to run pip install matplotlib –force-reinstall
Workitems will require a Task starting in 1.7.0
Containers support on COMPS and early singularity support will be coming in 1.6.1
v1.5.2
Fix bug in autodetection of idmtools default SSMT image
v1.5.1
Bugs
- #1166 - Properly remove/replace unsupported characters on the COMPS platform in experiment names
- #1173 - Ensure assets are not directories on creation of Asset
Documentation
- #1191 - Remove idmtools.ini from examples to leverage configuration aliases. This change allows executing of examples with minimal local configuration
Feature Request
- #1127 - Remove emodpy from idmtools[full] and idmtools[idm] install options. This allows a more control of packages used in projects
- #1179 - Supply multiple default templates for template script wrapper. See the examples in the cookbook and the python path recipe.
- #1180 - Support Configuration Aliases. This provides out of the box configurations for common platform configurations. For example, COMPS environments have predefined aliases such as Calculon, Belegost, etc
Known Issues
- PlatformAnalysis requires an idmtools.ini
Upcoming breaking changes in 1.6.0
- Assets will no longer support both absolute_path and content. That will be mutually exclusive going forward
- The task API pre_creation method has a new parameter to pass the platform object. All tasks implementing the API will need to update the pre_creation method
- Deprecation of the delete function from AssetCollection in favor or remove.
- Upcoming features in the coming releases
- Ability to query the platform from task for items such as OS, supported workflows, etc
- Utility to Asset-ize outputs within COMPS. This should make it into 1.6.0
- HPC Container build and run utilities.
- Better integration of errors with references to relevant documentation(ongoing)
- Improved support for Mac OS
v1.5.0
1.5.0
Bugs
- #459 - There is no way to add simulations to existing experiment
- #840 - Experiment and Suite statuses not updated properly after success
- #841 - Reloaded experiments and simulations have incorrect status
- #842 - Reloaded simulations (likely all children) do not have their platform set
- #866 - Recursive simulation loading bug
- #898 - Update Experiment#add_new_simulations() to accept additions in any state
- #1046 - print(ac) cause maximum recursion depth exceeded while calling a Python object
- #1047 - datetime type is missing from IDMJSONEncoder
- #1048 - typo/bug: cols.append(cols)
- #1049 - The text should be generic not specific to asset collection in method from_id(…)
- #1066 - User logging should still be initialized if missing_ok is supplied when loading configuration/platform
- #1071 - Detect if an experiment needs commissioning
- #1076 - wi_ac create ac with tag wrong for Calculon
- #1094 - AssetCollection should check checksums when checking for duplicates
- #1098 - Add experiment id to CSVAnalyzer and TagAnalyzer
Dependencies
- #1075 - Update sphinx requirement from ~=3.2.0 to ~=3.2.1
- #1077 - Update sqlalchemy requirement from ~=1.3.18 to ~=1.3.19
- #1078 - Update pygithub requirement from ~=1.52 to ~=1.53
- #1080 - Bump docker from 4.3.0 to 4.3.1
- #1087 - Update more-itertools requirement from ~=8.4.0 to ~=8.5.0
- #1088 - Update paramiko requirement from ~=2.7.1 to ~=2.7.2
- #1101 - Update psycopg2-binary requirement from ~=2.8.5 to ~=2.8.6
- #1102 - Bump pandas from 1.1.1 to 1.1.2
- #1103 - Bump diskcache from 5.0.2 to 5.0.3
- #1107 - Update tqdm requirement from ~=4.48.2 to ~=4.49.0
- #1108 - Update pytest requirement from ~=6.0.1 to ~=6.0.2
Documentation
- #1073 - Update example and tests to use platform context
Feature Request
v1.4.0
Release notes to come shortly
v1.3.0
Bugs
#921 - PlatformAnalysis requires login before execution
#937 - RequirementsToAssetCollection fail with Max length
#946 - Upgrade pycomps to 2.3.7
#972 - Template script wrapper task should proxy calls where possible
#984 - Make idmtools_metadata.json default to off
Documentation
#481 - Overview of the local platform
#483 - Monitoring local experiments
#910 - Add documentation on plotting analysis output using matplotlib as an example
#925 - Platform Local - add documentation (getting started, run example, etc)
#965 - Add Analysis Output Format Support Table
#969 - Create base documentation for creating a new platform plugin
Feature Request
#830 - Support for python 3.8
#924 - YamlSimulationBuilder should accept a single function to be mapped to all values
Models
#834 - Add a COVASIM example with idmtools
Platforms
#852 - Add emodpy to SSMT image
User Experience
#682 - Support full query criteria on COMPS items
v1.2.2
Minor updates
v1.2.0
Bugs
#859 - After install idmtools, still can not find model ‘idmtools’
#873 - Task Plugins all need a get_type
#877 - Change RequirementsToAssetCollection to link AssetCollection and retrieve Id more reliability
#881 - With CommandTask, experiment must have an asset to run
#882 - CommandTask totally ignores common_assets
#893 - CommandTask: with transient asset hook, it will ignore user’s transient_assets
Developer/Test
#885 - Platform to lightly execute tasks locally to enable better testing of Task life cycle
Documentation
#482 - Running experiments locally
#768 - Update breadcrumbs for docs
#860 - Create .puml files for UML doc examples within docs, add new files to existing .puml in diagrams directory, link to files
#867 - Examples - document cli download experience for example scripts
#870 - CLI - update documentation to reflect latest changes
#875 - Enable JSON Documentation Builds on Help for future Help Features
#889 - Parameter sweeps with EMOD
#896 - Add version to docs build
#903 - Add version to documentation
Feature Request
#832 - Implement underlying API needed for reload_from_simulation
#876 - Add option to optionally rebuild tasks on reload
#883 - Add new task type TemplateScriptTask to support Templated Scripts
User Experience
#713 - Move all user output to customer logger
Release 1.1.0
Bugs
#430 - test_docker_operations.test_port_taken_has_coherent_error fails in Linux VM with no host machine
#650 - analyzer_manager.py _run_and_wait_for_mapping fail frequently in bamboo
#706 - Correct the number of simulations being submitted in the progress bar
#846 - Checking for platform not installed
#872 - python executable is not correct for slurm production
CLI
#342 - Add list of task to cli
#543 - develop idm cookie cutter templates needs
#820 - Add examples url to plugins specifications and then each plugin if they have examples
#869 - CLI: idmtools gitrepo view - CommandTask points to /corvid-idmtools
Core
#273 - Add kwargs functionality to CacheEnabled
#818 - Create Download Examples Core Functionality
#828 - Add a master plugin registry
Developer/Test
#652 - Packing process should be fully automated
#731 - Add basic testing to Github Actions to Pull Requests
#785 - Add a miniconda agent to the bamboo testing of idmtools
#833 - Add emodpy to idm and full extra installs in core
#844 - For make setup-dev, we may want put login to artifactory first
Documentation
#729 - Move local platform worker container to Github Actions
#814 - High Level Diagram of Packages/Repos for idmtools
#858 - Fix doc publish to ghpages
#861 - emodpy - add updated api diagram (API class specifications) to architecture doc
Platforms
#728 - Restructure local platform docker container build for Github Action
#730 - Move SSMT Image build to github actions
#826 - SSMT Build as part of GithubActions
User Experience
#10 - Configuration file creation command
#684 - Create process for Changelog for future releases
#819 - Create Download Examples CLI Command
#821 - Provide plugin method to get Help URLs for plugin
For changelog overtime, see https://institutefordiseasemodeling.github.io/idmtools/changelog.html