StackStorm v3.2.0 Release Notes

Release Date: 2020-04-29 // almost 4 years ago
  • ๐Ÿš€ https://stackstorm.com/2020/04/30/stackstorm-v3-2-0-released/

    โž• Added

    • โž• Add support for blacklisting / whitelisting hosts to the HTTP runner by adding new
      url_hosts_blacklist and url_hosts_whitelist runner attribute. (new feature)
      #4757
    • โž• Add user parameter to re_run method of st2client. #4785
    • Install pack dependencies automatically. #4769
    • โž• Add support for immutable_parameters on Action Aliases. This feature allows default
      parameters to be supplied to the action on every execution of the alias. #4786
    • โž• Add get_entrypoint() method to ActionResourceManager attribute of st2client.
      #4791
    • โž• Add support for orquesta task retry. (new feature)
    • โฑ Add config option scheduler.execution_scheduling_timeout_threshold_min to better control the cleanup of scheduled actions that were orphaned. #4886

    ๐Ÿ”„ Changed

    โœ… Install pack with the latest tag version if it exists when branch is not specialized.
    (improvement) #4743

    Implement "continue" engine command to orquesta workflow. (improvement) #4740

    โšก๏ธ Update various internal dependencies to latest stable versions (apscheduler, eventlet,
    kombu, amqp, pyyaml, mongoengine, python-gnupg, paramiko, tooz, webob, bcrypt).

    ๐ŸŽ Latest version of mongoengine should show some performance improvements (5-20%) when
    writing very large executions (executions with large results) to the database. #4767

    ๐Ÿ‘Œ Improved development instructions in requirements.txt and dist_utils.py comment headers
    (improvement) #4774

    Add new actionrunner.stream_output_buffer_size config option and default it to -1
    ๐ŸŽ (previously default value was 0). This should result in a better performance and smaller
    CPU utilization for Python runner actions which produce a lot of output.
    (improvement)

    Reported and contributed by Joshua Meyer (@jdmeyer3) #4803

    โš™ Add new action_runner.pip_opts st2.conf config option which allows user to specify a list
    ๐Ÿ’ป of command line option which are passed to pip install command when installing pack
    dependencies into a pack specific virtual environment. #4792

    ๐Ÿ”จ Refactor how orquesta handles individual item result for with items task. Before the fix,
    when there are a lot of items and/or result size for each item is huge, there is a negative
    ๐ŸŽ performance impact on write to the database when recording the conductor state. (improvement)

    โœ‚ Remove automatic rendering of workflow output when updating task state for orquesta workflows.
    This caused workflow output to render incorrectly in certain use case. The render_workflow_output
    function must be called separately. (improvement)

    โšก๏ธ Update various internal dependencies to latest stable versions (cryptography, jinja2, requests,
    โฑ apscheduler, eventlet, amqp, kombu, semver, six) #4819 (improvement)

    ๐Ÿ‘Œ Improve MongoDB connection timeout related code. Connection and server selection timeout is now
    0๏ธโƒฃ set to 3 seconds. Previously a default value of 30 seconds was used which means that for many
    โฑ connection related errors, our code would first wait for this timeout to be reached (30 seconds)
    before returning error to the end user. #4834

    โฌ†๏ธ Upgrade pymongo to the latest stable version (3.10.0.). #4835 (improvement)

    โšก๏ธ Updated Paramiko to v2.7.1 to support new PEM ECDSA key formats #4901 (improvement)

    โœ‚ Remove .scrutinizer.yml config file. No longer used.

    Convert escaped dict and dynamic fields in workflow db models to normal dict and dynamic fields.
    (performnce improvement)

    โž• Add support for PEP 508 <https://www.python.org/dev/peps/pep-0508/stackstorm/st2#environment-markers>_
    environment markers in generated requirements.txt files. (improvement) #4895

    ๐Ÿ‘‰ Use pip-compile from pip-tools instead of pip-conflict-checker (improvement) #4896

    ๐Ÿ”จ Refactor how inbound criteria for join task in orquesta workflow is evaluated to count by
    task completion instead of task transition. (improvement)

    ๐Ÿš€ The workflow engine orquesta is updated to v1.1.0 for the st2 v3.2 release. The version upgrade
    ๐Ÿš€ contains various new features and bug fixes. Please review the release notes for the full list of
    ๐Ÿš€ changes at https://github.com/StackStorm/orquesta/releases/tag/v1.1.0 and the st2 upgrade notes
    for potential impact. (improvement)

    ๐Ÿ›  Fixed

    ๐Ÿ›  Fix the action query when filtering tags. The old implementation returned actions which have the
    provided name as action name and not as tag name. (bug fix) #4828

    Reported by @AngryDeveloper and contributed by Marcel Weinberg (@winem)

    ๐Ÿ›  Fix the passing of arrays to shell scripts where the arrays where not detected as such by the
    st2 action_db utility. This caused arrays to be passed as Python lists serialized into a string.

    Reported by @kingsleyadam #4804 and contributed by Marcel Weinberg (@winem) #4861

    ๐Ÿ›  Fix ssh zombies when using ProxyCommand from ssh config #4881 [Eric Edgar]

    ๐Ÿ›  Fix rbac with execution view where the rbac is unable to verify the pack or uid of the execution
    because it was not returned from the action execution db. This would result in an internal server
    error when trying to view the results of a single execution.
    Contributed by Joshua Meyer (@jdmeyer3) #4758

    ๐Ÿ›  Fixed logging middleware to output a content_length of 0 instead of Infinity
    ๐Ÿ‘ when the type of data being returned is not supported. Previously, when the value was
    set to Infinity this would result in invalid JSON being output into structured
    ๐Ÿ”Š logs. (bug fix) #4722

    Contributed by Nick Maludy (@nmaludy Encore Technologies)

    ๐Ÿ›  Fix the workflow execution cancelation to proceed even if the workflow execution is not found or
    completed. (bug fix) #4735

    โž• Added better error handling to contrib/linux/actions/dig.py to inform if dig is not installed.
    ๐Ÿ”€ Contributed by JP Bourget (@punkrokk Syncurity) #4732

    โšก๏ธ Update dist_utils module which is bundled with st2client and other Python packages so it
    โœ… doesn't depend on internal pip API and so it works with latest pip version. (bug fix) #4750

    ๐Ÿ›  Fix dependency conflicts in pack CI runs: downgrade requests dependency back to 0.21.0, update
    ๐Ÿ›  internal dependencies and test expectations (amqp, pyyaml, prance, six) (bugfix) #4774

    ๐Ÿ›  Fix secrets masking in action parameters section defined inside the rule when using
    GET /v1/rules and GET /v1/rules/<ref> API endpoint. (bug fix) #4788 #4807

    Contributed by @Nicodemos305 and @jeansfelix

    ๐Ÿ›  Fix a bug with authentication API endpoint (POST /auth/v1/tokens) returning internal
    server error when running under gunicorn and whenauth.api_url config option was not set.
    (bug fix) #4809

    Reported by @guzzijones

    ๐Ÿ›  Fixed st2 execution get and st2 run not printing the action.ref for non-workflow
    actions. (bug fix) #4739

    Contributed by Nick Maludy (@nmaludy Encore Technologies)

    โšก๏ธ Update st2 execution get command to always include context.user, start_timestamp and
    end_timestamp attributes. (improvement) #4739

    ๐Ÿ›  Fixed core.sendmail base64 encoding of longer subject lines (bug fix) #4795

    Contributed by @stevemuskiewicz and @guzzijones

    โšก๏ธ Update all the various rule criteria comparison operators which also work with strings (equals,
    ๐Ÿš€ icontains, nequals, etc.) to work correctly on Python 3 deployments if one of the operators is
    of a type bytes and the other is of a type unicode / string. (bug fix) #4831

    ๐Ÿ›  Fix SSL connection support for MongoDB and RabbitMQ which wouldn't work under Python 3 and would
    result in cryptic "maximum recursion depth exceeded while calling a Python object" error on
    connection failure.

    NOTE: This issue only affected installations using Python 3. (bug fix) #4832 #4834

    Reported by @alexku7.

    ๐Ÿ›  Fix the amqp connection setup for WorkflowExecutionHandler to pass SSL params. (bug fix) #4845

    Contributed by Tatsuma Matsuki (@mtatsuma)

    ๐Ÿ›  Fix dependency conflicts by updating requests (2.23.0) and gitpython (2.1.15). #4869

    ๐Ÿ›  Fix orquesta syntax error for with items task where action is misindented or missing. (bug fix)
    PR StackStorm/orquesta#195.

    ๐Ÿ›  Fix orquesta yaql/jinja vars extraction to ignore methods of base ctx() dict. (bug fix)
    ๐Ÿ›  PR StackStorm/orquesta#196. Fixes #4866.

    ๐Ÿ›  Fix parsing of array of dicts in YAQL functions. Fix regression in YAQL/Jinja conversion
    functions as a result of the change. (bug fix) PR StackStorm/orquesta#191.

    Contributed by Hiroyasu Ohyama (@userlocalhost)

    โœ‚ Removed

    • โœ‚ Removed Ubuntu 14.04 from test matrix #4897