-
Fix bug: Update dependency versions in requirements file.
-
Add "test" field to workflow table for workflow debugging.
-
Fix bug: Run pending jobs CLI does not change status of pending jobs fast enough.
-
Fix bug: App version numbers with invalid characters cause Agave registration to fail.
- Fix bug: Non-required inputs to Agave jobs cannot be passed as empty strings.
-
Fix bug: Environment variables not passed to workflow step subprocesses.
-
Fix bug: Add src/geneflow/data/ directories to MANIFEST.in.
- Fix bug: Add MANIFEST.in file to correctly include extra package files.
-
Fix bug: Agave token username not correctly populated when impersonating user.
-
Fix bug: Command-line options with zero (boolean) or >1 equal signs are not properly handled.
-
Fix bug: Local and Agave context log files not placed in systematic location.
-
Fix bug: Extraneous Agave 404 warning messages are printed when checking if files/dirs exist.
- Fix bug: Agave context not properly referenced when running with user impersonation.
-
Fix bug: Agave token errors (401) and not found errors (404) are correctly detected in error message.
-
Fix bug: Default number of Agave call retries and delay can be set in config file.
-
Clean-up and re-organization of Agave code.
-
Fix bug: Length of app description must be validated as less than 64 characters.
-
Add "gf" as an additional console script to run GeneFlow.
-
Add "-v" and "--version" options to display GeneFlow version.
-
Update agavepy module names for Python 3.7 compatibilty
-
Add "Executing Containers in Apps" tutorial to documentation.
-
Add "Build a Container for an App" tutorial to documentation.
-
Add "Multi-Step Worflow" tutorial to documentation.
-
Simplify logging format and information for non-debug level logging.
-
Include workflow and app version and repo info in job logs.
- Fix bug: ensure that URL values passed to URL quote function are strings
-
Add "Conditional Execution in Apps" tutorial to documentation.
-
Add --force option to overwrite existing workflow directory when installing from a Git repo.
-
Fix bug: input files or directories with spaces should be handled correctly.
-
Add "Piped Execution in Apps" tutorial to documentation.
- Add "Basic Workflow and App Inputs" tutorial to documentation.
- Set the default Singularity command to "-s exec" and allow custom commands for both Singularity and Docker
-
Add "One-Step Workflow: Hello World" tutorial to documentation.
-
Fix bug: disallow GeneFlow from installing with Python >=3.7 until all dependencies have been validated for compatibility.
-
Add "Basic App: Hello World" tutorial to documentation.
-
Fix bug: "Any" datatypes for inputs or parameters should be processed similar to "File" or "Directory" datatypes.
-
Add ability to store app log files in consistent and structured location: "_log" folder.
-
Fix security vulnerability: pyyaml>=4.2b1
-
Fix security vulnerability: Jinja2>=2.10.1
-
Fix security vulnerability: SQLAlchemy>=1.3.0
-
Add "multi" exec feature to app config, allowing multiple execution items in a single block.
-
Add "else" conditional to exec blocks.
-
Add "str_contain" and "not_str_contain" tests to conditional blocks in app config.
-
Fix bug: shell invoke method not catching non-zero exit codes.
-
Fix bug: workflow string parameters that contain whitespace are truncated
-
Fix bug: step, input, and parameter dependencies in app templates not checked for validity when creating DAG.
-
Fix bug: invalid input URIs not correctly handled when using CLI.
-
Fix Agave import checks so that the agave module is not required for local execution.
-
Fix conditional 'if' block bug in app script jinja2 template. Require all items to be lists rather than dicts to allow repeated use of conditional keys.
-
Fix error message logging to database so that messages are more descriptive.
- Fix agave file list limit bug. Set limit to 1000000.
-
Fix agave def template issue: JSON dict comma for default values.
-
Fix wrapper script template issues: move SCRIPT_DIR definition to top of script.
-
Add script_default field to app config.yaml file.
-
Update installation documentation to include Sphinx and Ubuntu dependencies.
-
Add app creation documentation.
-
Add ability to generate app definitions from Jinja templates. Apps can now be fully defined with a single config.yaml file.
-
Add "make-app" sub-command for app development.
-
Add recursive directory creation for work and output URIs.
-
Update documentation to include more detailed information about workflow definition and command-line usage.
-
Error messages and formatting improved to be more descriptive and sensible to users.
-
Fixed bug: Error messages from step classes not logged to database.
-
Fixed bug: GeneFlow attempts to connect to Agave even when running a non-Agave workflow.
-
Fixed bug: GeneFlow unable to clone repos from CDC GitLab due to self-signed cert.
-
Add 'enable' boolean field to workflow table.
-
Change URI check messages to "INFO" rather than "ERROR".
-
Add "requests" library to setup.py.
-
Fix bug: default template values ignored if not string type.
-
Refactor workflow definition for inputs and parameters.
-
Modularize CLI sub-commands.
-
Add install-workflow sub-command that replaces bash scripts.
-
Add WorkflowInstaller class.
-
Add async notifications to job definition and workflow class functionality.
-
Add optional functionality to accept job parameters on CLI instead of in job file.
-
Add support for GENEFLOW_PATH environment variable.
-
Add help sub-command.
-
Remove "type" from workflow and app definitions.
-
Add support for multiple execution contexts in app definitions.
-
Add "execution" section to job definition for specifying execution context and method.
-
Add 25 apps to the app store.
-
Add Agave app publication functionality to CLI.
-
Add database migration functionality to CLI.
-
Add CLI functionality to run pending jobs in DB.
-
Re-enable job-step logging to DB.
-
Add support for relative app links to workflow definition.
-
Enable multi-process execution of jobs from CLI
-
Pylint and Pydocstyle code cleanup
-
Add app and workflow methods to geneflow CLI entrypoint
-
Remove hardcoded SGE "queue" from Agave job templates
-
Refactor to use graph data structure
-
Integrate existing non-object-oriented functions into new or existing classes
-
Add automated tests with "behave"
-
Improve code styling and docstrings with "pylint" and "pydocstyle"
-
Enable Agave functionality
-
Package project for PIP installation
-
Update documentation