Skip to content

v2.8.0

Compare
Choose a tag to compare
@enykeev enykeev released this 10 Jul 06:17
· 6864 commits to master since this release
11e311b

Added

  • Orchestra - new StackStorm-native workflow engine. This is currently in beta. (new feature)

  • Added metrics for collecting performance and health information about the various ST2 services and functions. (new feature) #4004 #2974

  • When running a dev (unstable) release include git revision hash in the output when using st2 --version CLI command. (new feature) #4117

  • Update rules engine to also create rule enforcement object when trigger instances fails to match a rule during the rule matching / filtering phase due to an exception in the rule criteria (e.g. invalid Jinja expression, etc.).

  • This change increases visibility into rules which didn't match due to an exception. Previously this was only visible / reflected in the rules engine log file. (improvement) #4134

  • Add new GET /v1/ruleenforcements/views[/] API endpoints which allow user to retrieve RuleEnforcement objects with the corresponding TriggerInstance and Execution objects. (new feature) #4134

  • Add new status field to the RuleEnforcement model. This field can contain the following values - succeeded (trigger instance matched a rule and action execution was triggered successfully), failed (trigger instance matched a rule, but it didn't result in an action execution due to Jinja rendering failure or other exception). (improvement) #4134 #4152

  • Add trigger type reference based filtering to the /v1/triggerinstances API endpoint - e.g. /v1/triggerinstances?trigger_type=core.st2.webhook. (new feature) #4151

  • Add new --python3 flag to st2 pack install CLI command and python3 parameter to packs.{install,setup_virtualenv} actions. When the value of this parameter is True, it uses python3 binary when creating virtual environment for that pack (based on the value of actionrunner.python3_binary config option).

    Note 1: For this feature to work, Python 3 needs to be installed on the system, virtualenv package installed on the system needs to support Python 3 (it needs to be a recent version) and pack in question needs to support Python 3.

    Note 2: This feature is experimental and opt-in. (new feature) #4016 #3922 #4149

  • Add two new Jinja filters - basename (os.path.basename) and dirname (os.path.dirname). #4184

    Contributed by Florian Reisinger (@reisingerf).

Changed

  • Update st2 CLI to create the configuration directory and file, and authentication tokens with secure permissions (eg: readable only to owner) #4173

  • Refactor the callback module for the post run in runner to be more generic. (improvement)

  • Update various Python dependencies to the latest stable versions (gunicorn, gitpython, python-gnupg, tooz, flex). #4110

  • Update all the service and script entry points to use /etc/st2/st2.conf as a default value for the config file location.

  • This way users don't need to explicitly provide --config-file CLI argument when running various scripts (e.g. st2-track-result, st2-apply-rbac-definitions, etc.) and when they just want to use a default config file. (improvement) #4111

  • Update st2 CLI to print a warning if a non-unicode system locale which would prevent StackStorm to function correctly in some scenarios is used. (improvement) #4127 #4120

  • Upgrade various internal Python library dependencies to the latest stable versions (kombu, amqp, gitpython, pytz, semver, oslo.utils). (improvement) #4162

  • Move from keyczar library to cryptography library for handling symmetric encryption and decryption (secret datastore values).

    Note: This change is fully backward compatible since it just changes the underlying backend and implementation details. The same underlying encryption algorithm is used (AES256 in CBC mode with HMAC signature). (improvement) #4165

Fixed

  • Fixed a bug where secrets in pack configs weren't being masked.

    Recently we introduced support for nested objects and arrays. Secret parameters within these nested objects and arrays were not being masked. The fix involves us fully traversing deeply nested objects and arrays and masking out any variables marked as secret. This means we now support pack config JSON schemas with type: object and its corresponding parameters: {} stanza, along with type: array and its corresponding items: {} stanza. We still do NOT support JSON schema combinations that includes the anyOf, allOf, oneOf, and not keywords. (bug fix) #4139

    Contributed by Nick Maludy (Encore Technologies).

  • Style clean up to transport queues module and various config modules. (improvement)

  • Fixed CLI help for st2 action-alias match and execute. (#4174).

  • Fix regression in ?include_attributes query param filter in the /v1/executions API endpoint. (bug fix) #4226