All Versions
72
Latest Version
Avg Release Cycle
83 days
Latest Release
518 days ago

Changelog History
Page 2

  • v3.0.0 Changes

    April 26, 2019

    โž• Added

    ๐Ÿ‘ Allow access to user-scoped datastore items using {{ st2kv.user.<key name> }} Jinja template
    0๏ธโƒฃ notation inside the action parameter default values. (improvement) #4463

    Contributed by Hiroyasu OHYAMA (@userlocalhost).

    โž• Add support for new python_versions (list of string) attribute to pack metadata file
    ๐Ÿ‘ (pack.yaml). With this attribute pack declares which major Python versions it supports and
    works with (e.g. 2 and 3).

    ๐Ÿ“‡ For backward compatibility reasons, if pack metadata file doesn't contain that attribute, it's
    assumed it only works with Python 2. (new feature) #4474

    โšก๏ธ Update service bootstrap code and make sure all the services register in a service registry once
    they come online and become available.

    ๐Ÿ”ง This functionality is only used internally and will only work if configuration backend is
    ๐Ÿ”ง correctly configured in st2.conf (new feature) #4548

    โž• Add new GET /v1/service_registry/groups and
    GET /v1/service_registry/groups/<group_id>/members API endpoint for listing available service
    registry groups and members.

    Also add corresponding CLI commands - st2 service-registry group list, st2 service registry member list [--group-id=<group id>]

    NOTE: This API endpoint is behind an RBAC wall and can only be viewed by the admins. (new feature)
    #4548

    Add support for ?include_attributes and ?exclude_attributes query param filter to the
    โšก๏ธ GET /api/v1/executions/{id} API endpoint. Also update st2 execution get CLI command so it
    only retrieves attributes which are displayed. (new feature) #4497

    Contributed by Nick Maludy (@nmaludy Encore Technologies)

    โž• Add new --encrypted flag to st2 key set CLI command that allows users to pass in values
    which are already encrypted.

    ๐Ÿšฆ This attribute signals the API that the value is already encrypted and should be used as-is.

    โšก๏ธ st2 key load CLI command has also been updated so it knows how to work with values which are
    already encrypted. This means that st2 key list -n 100 -j < data.json ; st2 key load data.json will now also work out of the box for encrypted datastore values (values which have
    encrypted: True and secret: True attribute will be treated as already encrypted and used
    as-is).

    The most common use case for this feature is migrating / restoring datastore values from one
    StackStorm instance to another which uses the same crypto key.

    Contributed by Nick Maludy (Encore Technologies) #4547

    โž• Add source_channel to Orquesta st2() context for workflows called via ChatOps. #4600

    ๐Ÿ”„ Changed

    ๐Ÿ”„ Changed the inquiries API path from /exp to /api/v1. #4495

    ๐Ÿ”จ Refactored workflow state in orquesta workflow engine. Previously, state in the workflow engine
    is not status to be consistent with st2. Other terminologies used in the engine are also revised
    to make it easier for developers to understand. (improvement)

    โšก๏ธ Update Python runner code so it prioritizes libraries from pack virtual environment over StackStorm
    system dependencies.

    For example, if pack depends on six==1.11.0 in pack requirements.txt, but StackStorm depends
    on six==1.10.0, six==1.11.0 will be used when running Python actions from that pack.

    Keep in mind that will not work correctly if pack depends on a library which brakes functionality used
    by Python action wrapper code.

    Contributed by Hiroyasu OHYAMA (@userlocalhost). #4571

    ๐Ÿ‘Œ Improved the way that the winrm-ps-script runner sends scripts to the target Windows
    host. Previously the script was read from the local filesystem and serialized as one long
    ๐Ÿ’ป command executed on the command line. This failed when the script was longer than either
    ๐Ÿ 2047 or 8191 bytes (depending on Windows version) as the Windows command line uses this
    as its maximum length. To overcome this, the winrm-ps-script runner now uploads the
    script into a temporary directory on the target host, then executes the script.
    (improvement) #4514

    Contributed by Nick Maludy (Encore Technologies)

    โšก๏ธ Update various internal dependencies to latest stable versions (apscheduler, pyyaml, kombu,
    mongoengine, pytz, stevedore, python-editor, jinja2). #4637

    โšก๏ธ Update logging code so we exclude log messages with log level AUDIT from a default service
    ๐ŸŒฒ log file (e.g. st2api.log). Log messages with level AUDIT are already logged in a
    ๐ŸŒฒ dedicated service audit log file (e.g. st2api.audit.log) so there is no need for them to also
    ๐ŸŒฒ be duplicated and included in regular service log file.

    ๐ŸŒฒ NOTE: To aid with debugging, audit log messages are also included in a regular log file when log
    level is set to DEBUG or system.debug config option is set to True.

    Reported by Nick Maludy. (improvement) #4538 #4502 #4621

    โž• Add missing --user argument to st2 execution list CLI command. (improvement) #4632

    Contributed by Tristan Struthers (@trstruth).

    โšก๏ธ Update decrypt_kv Jinja template filter so it to throws a more user-friendly error message
    when decryption fails because the variable references a datastore value which doesn't exist.
    (improvement) #4634

    โšก๏ธ Updated orquesta to v0.5. (improvement)

    ๐Ÿ›  Fixed

    ๐ŸŽ Refactored orquesta execution graph to fix performance issue for workflows with many references
    ๐Ÿ”จ to non-join tasks. st2workflowengine and DB models are refactored accordingly. (improvement)
    StackStorm/orquesta#122.

    ๐Ÿ›  Fix orquesta workflow stuck in running status when one or more items failed execution for a with
    items task. (bug fix) #4523

    ๐Ÿ›  Fix orquesta workflow bug where context variables are being overwritten on task join. (bug fix)
    StackStorm/orquesta#112

    ๐Ÿ›  Fix orquesta with items task performance issue. Workflow runtime increase significantly when a
    ๐Ÿ”’ with items task has many items and result in many retries on write conflicts. A distributed lock
    is acquired before write operations to avoid write conflicts. (bug fix) StackStorm/orquesta#125

    ๐Ÿ›  Fix a bug with some API endpoints returning 500 internal server error when an exception contained
    unicode data. (bug fix) #4598

    ๐Ÿ›  Fix the st2 workflow inspect command so it correctly passes authentication token. (bug fix)
    #4615

    ๐Ÿ›  Fix an issue with new line characters (\n) being converted to \r\n in remote shell
    command and script actions which use sudo. (bug fix) #4623

    โšก๏ธ Update service bootstrap and st2-register-content script code so non-fatal errors are
    0๏ธโƒฃ suppressed by default and only logged under DEBUG log level. (bug fix) #3933 #4626 #4630

    ๐Ÿ›  Fix a bug with not being able to decrypt user-scoped datastore values inside Jinja expressions
    using decrypt_kv Jinja filter. (bug fix) #4634

    Contributed by Hiroyasu OHYAMA (@userlocalhost).

    ๐Ÿ›  Fix a bug with user-scoped datastore values not working inside action-chain workflows. (bug fix)
    #4634

    Added missing parameter types to linux.wait_for_ssh action metadata. (bug fix) #4611

    ๐Ÿ›  Fix HTTP runner (http-request) so it works correctly with unicode (non-ascii) body payloads.
    (bug fix) #4601 #4599

    Reported by Carlos Santana (@kknyxkk) and Rafael Martins (@rsmartins78).

    ๐Ÿ›  Fix st2-self-check so it sets correct permissions on pack directories which it copies over
    to /opt/stackstorm/packs. (bug fix) #4645

    ๐Ÿ›  Fix POST /v1/actions API endpoint to throw a more user-friendly error when writing data file
    to disk fails because of incorrect permissions. (bug fix) #4645

  • v2.10.4 Changes

    March 15, 2019

    ๐Ÿ›  Fixed

    ๐Ÿ›  Fix inadvertent regression in notifier service which would cause generic action trigger to only
    be dispatched for completed states even if custom states were specified using
    action_sensor.emit_when config option. (bug fix)
    Reported by Shu Sugimoto (@shusugmt). #4591

    ๐ŸŒฒ Make sure we don't log auth token and api key inside st2api log file if those values are provided
    via query parameter and not header (?x-auth-token=foo, ?st2-api-key=bar). (bug fix) #4592
    #4589

    ๐Ÿ›  Fix rendering of {{ config_context. }} in orquesta task that references action from a
    different pack (bug fix) #4570 #4567

    โž• Add missing default config location (/etc/st2/st2.conf) to the following services:
    โฑ st2actionrunner, st2scheduler, st2workflowengine. (bug fix) #4596

    โšก๏ธ Update statsd metrics driver so any exception thrown by statsd library is treated as non fatal.

    Previously there was an edge case if user used a hostname instead of an IP address for metrics
    backend server address. In such scenario, if hostname DNS resolution failed, statsd driver would
    ๐Ÿ‘ป throw the exception which would propagate all the way up and break the application. (bug fix) #4597

    Reported by Chris McKenzie.

  • v2.10.3 Changes

    March 07, 2019

    ๐Ÿ›  Fixed

    
    * ๐Ÿ›  Fix improper CORS where request from an origin not listed in ``allowed_origins`` will be responded
      with ``null`` for the ``Access-Control-Allow-Origin`` header. The fix returns the first of our
      allowed origins if the requesting origin is not a supported origin. Reported by Barak Tawily.
      (bug fix)
    
  • v2.10.2 Changes

    February 28, 2019

    โž• Added

    Add support for various new SSL / TLS related config options (ssl_keyfile, ssl_certfile,
    ssl_ca_certs, ssl_certfile, authentication_mechanism) to the messaging section in
    st2.conf config file.

    ๐Ÿ”ง With those config options, user can configure things such as client based certificate
    authentication, client side verification of a server certificate against a specific CA bundle, etc.

    0๏ธโƒฃ NOTE: Those options are only supported when using a default and officially supported AMQP backend
    with RabbitMQ server. (new feature) #4541

    โž• Add metrics instrumentation to the st2notifier service. For the available / exposed metrics,
    ๐Ÿ“„ please refer to https://docs.stackstorm.com/reference/metrics.html. (improvement) #4536

    ๐Ÿ”„ Changed

    โšก๏ธ Update logging code so we exclude log messages with log level AUDIT from a default service
    ๐ŸŒฒ log file (e.g. st2api.log). Log messages with level AUDIT are already logged in a
    ๐ŸŒฒ dedicated service audit log file (e.g. st2api.audit.log) so there is no need for them to also
    ๐ŸŒฒ be duplicated and included in regular service log file.

    ๐ŸŒฒ NOTE: To aid with debugging, audit log messages are also included in a regular log file when log
    level is set to DEBUG or system.debug config option is set to True.

    Reported by Nick Maludy. (improvement) #4538 #4502

    โšก๏ธ Update pyyaml dependency to the latest version. This latest version fixes an issue which
    could result in a code execution vulnerability if code uses yaml.load in an unsafe manner
    on untrusted input.

    NOTE: StackStorm platform itself is not affected, because we already used yaml.safe_load
    everywhere.

    Only custom packs which use yaml.load with non trusted user input could potentially be
    affected. (improvement) #4510 #4552 #4554

    โšก๏ธ Update Orquesta to v0.4. #4551

    ๐Ÿ›  Fixed

    ๐Ÿ›  Fixed the packs.pack_install / !pack install {{ packs }} action-alias to not have
    redundant patterns. Previously this prevented it from being executed via
    st2 action-alias execute 'pack install xxx'. #4511

    Contributed by Nick Maludy (Encore Technologies)

    ๐Ÿ›  Fix datastore value encryption and make sure it also works correctly for unicode (non-ascii)
    values.

    Reported by @dswebbthg, @nickbaum. (bug fix) #4513 #4527 #4528

    ๐Ÿ›  Fix a bug with action positional parameter serialization used in local and remote script runner
    not working correctly with non-ascii (unicode) values.

    This would prevent actions such as core.sendmail which utilize positional parameters from
    working correctly when a unicode value was provided.

    Reported by @johandahlberg (bug fix) #4533

    ๐Ÿ›  Fix core.sendmail action so it specifies charset=UTF-8 in the Content-Type email
    header. This way it works correctly when an email subject and / or body contains unicode data.

    Reported by @johandahlberg (bug fix) #4533 4534

    ๐Ÿ›  Fix CLI st2 apikey load not being idempotent and API endpoint /api/v1/apikeys not
    honoring desired ID for the new record creation. #4542

    ๐Ÿ”’ Moved the lock from concurrency policies into the scheduler to fix a race condition when there
    โฑ are multiple scheduler instances scheduling execution for action with concurrency policies.
    #4481 (bug fix)

    โž• Add retries to scheduler to handle temporary hiccup in DB connection. Refactor scheduler
    service to return proper exit code when there is a failure. #4539 (bug fix)

    โšก๏ธ Update service setup code so we always ignore kombu library heartbeat_tick debug log
    messages.

    ๐ŸŒฒ Previously if DEBUG log level was set in service logging config file, but --debug
    service CLI flag / system.debug = True config option was not used, those messages were
    ๐ŸŒฒ still logged which caused a lot of noise which made actual useful log messages hard to find.
    (improvement) #4557

  • v2.10.1 Changes

    December 20, 2018

    ๐Ÿ›  Fixed

    
    * ๐Ÿ›  Fix an issue with ``GET /v1/keys`` API endpoint not correctly handling ``?scope=all`` and
      ``?user=<username>`` query filter parameter inside the open-source edition. This would allow
      user A to retrieve datastore values from user B and similar.
    
      NOTE: Enterprise edition with RBAC was not affected, because in RBAC version, correct check is
      in place which only allows users with an admin role to use ``?scope=all`` and retrieve / view
      datastore values for arbitrary system users. (security issue bug fix)
    
  • v2.10.0 Changes

    December 13, 2018

    โž• Added

    
    * โž• Added ``notify`` runner parameter to Orquesta that allows user to specify which task(s) to get
      notified on completion.
    * โž• Add support for task delay in Orquesta workflows. #4459 (new feature)
    * โž• Add support for task with items in Orquesta workflows. #4400 (new feature)
    * โž• Add support for workflow output on error in Orquesta workflows. #4436 (new feature)
    * โž• Added ``-o`` and ``-m`` CLI options to ``st2-self-check`` script, to skip Orquesta and/or Mistral
      tests. #4347
    * ๐Ÿ‘ Allow user to specify new ``database.authentication_mechanism`` config option in
      ``/etc/st2/st2.conf``.
    
      By default, SCRAM-SHA-1 is used with MongoDB 3.0 and later and MONGODB-CR (MongoDB Challenge
      Response protocol) for older servers.
    
      Contributed by @aduca85 #4373
    * โž• Add new ``metadata_file`` attribute to the following models: Action, Action Alias, Rule, Sensor,
      TriggerType. Value of this attribute points to a metadata file for a specific resource (YAML file
      which contains actual resource definition). Path is relative to the pack directory (e.g.
      ``actions/my_action1.meta.yaml``, ``aliases/my_alias.yaml``, ``sensors/my_sensor.yaml``,
      ``rules/my_rule.yaml``, ``triggers/my_trigger.yaml`` etc.).
    
      Keep in mind that triggers can be registered in two ways - either via sensor definition file in
      ``sensors/`` directory or via trigger definition file in ``triggers/`` directory. If
      ``metadata_file`` attribute on TriggerTypeDB model points to ``sensors/`` directory it means that
      trigger is registered via sensor definition. (new feature) #4445
    * โž• Add new ``st2client.executions.get_children`` method for returning children execution objects for
      a specific (parent) execution. (new feature) #4444
    
      Contributed by Tristan Struthers (@trstruth).
    * ๐Ÿ‘ Allow user to run a subset of pack tests by utilizing the new ``-f`` command line option in the
      ``st2-run-pack-tests`` script.
    
      For example:
    
      1. Run all tests in a test file (module):
    
         st2-run-pack-tests -j -x -p contrib/packs/ -f test_action_download
    
      2. Run a single test class
    
         st2-run-pack-tests -j -x -p contrib/packs/ -f test_action_download:DownloadGitRepoActionTestCase
    
      3. Run a single test class method
    
         st2-run-pack-tests -j -x -p contrib/packs/ -f test_action_download:DownloadGitRepoActionTestCase.test_run_pack_download
    
      (new feature) #4464
    
    ๐Ÿ”„ Changed
    
    • โฑ Redesigned and rewritten the action execution scheduler. Requested executions are put in a persistent queue for scheduler to process. Architecture is put into place for more complex execution scheduling. Action execution can be delayed on request. (improvement)
    • ๐Ÿ‘ core.http action now supports additional HTTP methods: OPTIONS, TRACE, PATCH, PURGE.

    Contributed by @emptywee (improvement) #4379

    • โšก๏ธ Runner loading code has been updated so it utilizes new "runner as Python package" functionality which has been introduced in a previous release. This means that the runner loading is now fully automatic and dynamic.

    All the available / installed runners are automatically loaded and registering on each StackStorm service startup.

    This means that st2ctl reload --register-runners flag is now obsolete because runners are automatically registered on service start up. In addition to that, content.system_runners_base_path and content.runners_base_paths config options are now also deprecated and unused.

    For users who wish to develop and user custom action runners, they simply need to ensure they are packaged as Python packages and available / installed in StackStorm virtual environment (/opt/stackstorm/st2). (improvement) #4217

    • ๐Ÿšš Old runner names which have been deprecated in StackStorm v0.9.0 have been removed (run-local, run-local-script, run-remote, run-remote-script, run-python, http-runner). If you are still using actions which reference runners using old names, you need to update them to keep it working. #4217
    • โšก๏ธ Update various CLI commands to only retrieve attributes which are displayed in the CLI from the API (st2 execution list, st2 execution get, st2 action list, st2 rule list, st2 sensor list). This speeds up run-time and means now those commands now finish faster.

    If user wants to retrieve and view all the attributes, they can use --attr all CLI command argument (same as before). (improvement) #4396

    • โšก๏ธ Update various internal dependencies to latest stable versions (greenlet, pymongo, pytz, stevedore, tooz). #4410

    • ๐Ÿ‘Œ Improve st2.conf migration for the new services by using prod-friendly logging settings by default #4415

    • ๐Ÿ”จ Refactor Orquesta workflow to output on error. Depends on PR https://github.com/StackStorm/orquesta/pull/101 and https://github.com/StackStorm/orquesta/pull/102 (improvement)

    • ๐Ÿ“‡ Rename st2client.liveactions to st2client.executions. st2client.liveactions already represented operations on execution objects, but it was incorrectly named.

    For backward compatibility reasons, st2client.liveactions will stay as an alias for st2client.executions and continue to work until it's fully removed in a future release.

    ๐Ÿ›  Fixed

    
    * ``st2 login`` CLI commands now exits with non zero exit code when login fails due to invalid
      credentials. (improvement) #4338
    * ๐Ÿ›  Fix ``st2 key load`` that errors when importing an empty file #43
    * ๐Ÿ›  Fixed warning in ``st2-run-pack-tests`` about invalid format for ``pip list``. (bug fix)
    
      Contributed by Nick Maludy (Encore Technologies). #4380
    * ๐Ÿ›  Fix a bug with ``st2 execution get`` / ``st2 run`` CLI command throwing an exception if the
      result field contained a double backslash string which looked like an unicode escape sequence.
      CLI incorrectly tried to parse that string as unicode escape sequence.
    
      Reported by James E. King III @jeking3 (bug fix) #4407
    * ๐Ÿ›  Fix a bug so ``timersengine`` config section in ``st2.conf`` has precedence over ``timer``
      section if explicitly specified in the config file.
    
      Also fix a bug with default config values for ``timer`` section being used if user only
      specified ``timersengine`` section in the config. Previously user options were incorrectly
      ignored in favor of the default values. (bug fix) #4424
    * ``st2 pack install -j`` now only spits JSON output. Similarly, ``st2 pack install -y`` only spits
      YAML output. This change would enable the output to be parsed by tools.
      The behavior of ``st2 pack install`` hasn't changed and is human friendly. If you want to get meta
      information about the pack as JSON (count of actions, sensors etc), you should rely on already
      existing ``st2 pack show -j``.
    
      Reported by Nick Maludy (improvement) #4260
    * ๐Ÿ›  Fix string operations on unicode data in Orquesta workflows, associated with PR
      https://github.com/StackStorm/orquesta/pull/98. (bug fix)
    * ๐Ÿ›  Fix access to st2 and action context in Orquesta workflows, associated with PR
      https://github.com/StackStorm/orquesta/pull/104. (bug fix)
    * โš   ``st2ctl reload --register-aliases`` and ``st2ctl reload --register-all`` now spits a warning when
      trying to register aliases with no corresponding action registered in the db.
    
      Reported by nzlosh (improvement) #4372.
    
  • v2.9.3 Changes

    March 07, 2019

    ๐Ÿ›  Fixed

    
    * ๐Ÿ›  Fix improper CORS where request from an origin not listed in ``allowed_origins`` will be responded
      with ``null`` for the ``Access-Control-Allow-Origin`` header. The fix returns the first of our
      allowed origins if the requesting origin is not a supported origin. Reported by Barak Tawily.
      (bug fix)
    
  • v2.9.2 Changes

    December 19, 2018

    ๐Ÿ›  Fixed

    ๐Ÿ›  Fix an issue with GET /v1/keys API endpoint not correctly handling ?scope=all and
    ?user=<username> query filter parameter inside the open-source edition. This would allow
    ๐Ÿ‘‰ user A to retrieve datastore values from user B and similar.

    NOTE: Enterprise edition with RBAC was not affected, because in RBAC version, correct check is
    in place which only allows users with an admin role to use ?scope=all and retrieve / view
    ๐Ÿ”’ datastore values for arbitrary system users. (security issue bug fix)

  • v2.9.1 Changes

    October 03, 2018

    ๐Ÿ”„ Changed

    
    * Speed up pack registration through the ``/v1/packs/register`` API endpoint. (improvement) #4342
    * 0๏ธโƒฃ Triggertypes API now sorts by trigger ref by default. ``st2 trigger list`` will now show a sorted
      list. (#4348)
    * โšก๏ธ Update ``st2-self-check`` script to include per-test timing information. (improvement) #4359
    
    ๐Ÿ›  Fixed
    ~~~~~
    
    * โšก๏ธ Update ``st2sensorcontainer`` service to throw if user wants to run a sensor from a pack which is
      using Python 3 virtual environment.
    
      We only support running Python runner actions from packs which use mixed Python environments
      (StackStorm components are running under Python 2 and particular a pack virtual environment is
      using Python 3). #4354
    * โšก๏ธ Update ``st2-pack-install`` and ``st2 pack install`` command so it works with local git repos
      (``file://<path to local git repo>``) which are in a detached head state (e.g. specific revision
      is checked out). (improvement) #4366
    * ๐Ÿ›  Fix a race which occurs when there are multiple concurrent requests to resume a workflow. #4369
    
  • v2.9.0 Changes

    September 16, 2018

    โž• Added

    
    * โž• Add new runners: ``winrm-cmd``, ``winrm-ps-cmd`` and ``winrm-ps-script``.
      The ``winrm-cmd`` runner executes Command Prompt commands remotely on Windows hosts using the
      WinRM protocol. The ``winrm-ps-cmd`` and ``winrm-ps-script`` runners execute PowerShell commands
      and scripts on remote Windows hosts using the WinRM protocol.
    
      To accompany these new runners, there are two new actions ``core.winrm_cmd`` that executes remote
      Command Prompt commands along with ``core.winrm_ps_cmd`` that executes remote PowerShell commands.
      (new feature) #1636
    
      Contributed by Nick Maludy (Encore Technologies).
    * โž• Add new ``?tags``, query param filter to the ``/v1/actions`` API endpoint. This query parameter
      allows users to filter out actions based on the tag name . By default, when no filter values are
      provided, all actions are returned. (new feature) #4219
    * โž• Add a new standalone standalone ``st2-pack-install`` CLI command. This command installs a pack
      (and sets up the pack virtual environment) on the server where it runs. It doesn't register the
      content. It only depends on the Python, git and pip binary and ``st2common`` Python package to be
      installed on the system where it runs. It doesn't depend on the database (MongoDB) and message
      bus (RabbitMQ).
    
      It's primary meant to be used in scenarios where the content (packs) are baked into the base
      container / VM image which is deployed to the cluster.
    
      Keep in mind that the content itself still needs to be registered with StackStorm at some later
      point when access to RabbitMQ and MongoDB is available by running
      ``st2ctl reload --register-all``. (new feature) #3912 #4256
    * โž• Add new ``/v1/stream/executions/<id>/output[?output_type=all|stdout|stderr]`` stream API
      endpoint.
    
      This API endpoint returns event source compatible response format.
    
      For running executions it returns any output produced so far and any new output as it's produced.
      Once the execution finishes, the connection is automatically closed.
    
      For completed executions it returns all the output produced by the execution. (new feature)
    * โž• Add new ``core.inject_trigger`` action for injecting a trigger instance into the system.
    
      Keep in mind that the trigger which is to be injected must be registered and exist in the system.
      (new feature) #4231 #4259
    * โž• Add support for ``?include_attributes`` query param filter to all the content pack resource
      get all (list) API endpoints (actions, rules, trigger, executions, etc.). With this query
      parameter user can control which API model attributes (fields) to receive in the response. In
      situations where user is only interested in a subset of the model attributes, this allows for a
      significantly reduced response size and for a better performance. (new feature) (improvement)
      #4300
    * Add new ``action_sensor.emit_when`` config option which allows user to specify action status for
      which actiontrigger is emitted. For backward compatibility reasons it defaults to all the action
      completed states. (improvement) #4312 #4315
    
      Contributed by Shu Sugimoto.
    * ๐Ÿ‘Œ Improve performance of schedule action execution (``POST /v1/executions``) API endpoint.
    
      Performance was improved by reducing the number of duplicated database queries, using atomic
      partial document updates instead of full document updates and by improving database document
      serialization and de-serialization performance. (improvement) #4030 #4331
    * Ported existing YAQL and Jinja functions from st2common to Orquesta. (new feature)
    * โž• Add error entry in Orquesta workflow result on action execution failure. (improvement)
    
    ๐Ÿ”„ Changed
    
    • 0๏ธโƒฃ st2 key list command now defaults to --scope=all aka displaying all the datastore values (system and current user scoped) . If you only want to display system scoped values (old behavior) you can do that by passing --scope=system argument to the st2 key list command (st2 key list --scope=system). (improvement) #4221
    • The orquesta conductor implemented event based state machines to manage state transition of workflow execution. Interfaces to set workflow state and update task on action execution completion have changed and calls to those interfaces are changed accordingly. (improvement)
    • ๐Ÿ”„ Change GET /v1/executions/<id>/output API endpoint so it never blocks and returns data produced so far for running executions. Behavior for completed executions is the same and didn't change - all data produced by the execution is returned in the raw format.

    The streaming (block until execution has finished for running executions) behavior has been moved to the new /stream/v1/executions/<id>/output API endpoint.

    This way we are not mixing non-streaming (short lived) and streaming (long lived) connections inside a single service (st2api). (improvement)

    • โฌ†๏ธ Upgrade mongoengine (0.15.3) and pymongo (3.7.1) to the latest stable version. Those changes will allow us to support MongoDB 3.6 in the near future.

    New version of mongoengine should also offer better performance when inserting and updating larger database objects (e.g. executions). (improvement) #4292

    • ๐Ÿ›ฐ Trigger parameters and payload schema validation is now enabled by default (system.validate_trigger_parameters and system.validate_trigger_payload config options now default to True).

    This means that trigger parameters are now validated against the parameters_schema defined on the trigger type when creating a rule and trigger payload is validated against payload_schema when dispatching a trigger via the sensor or via the webhooks API endpoint.

    This provides a much safer and user-friendly default value. Previously we didn't validate trigger payload for custom (non-system) triggers when dispatching a trigger via webhook which meant that webhooks API endpoint would silently accept an invalid trigger (e.g. referenced trigger doesn't exist in the database or the payload doesn't validate against the payload_schema), but TriggerInstanceDB object would never be created because creation failed inside the st2rulesengine service. This would make such issues very hard to troubleshoot because only way to find out about this failure would be to inspect the st2rulesengine service logs. (improvement) #4231

    • ๐Ÿ‘Œ Improve code metric instrumentation and instrument code and various services with more metrics. Also document various exposed metrics. Documentation can be found at https://docs.stackstorm.com/latest/reference/metrics.html (improvement) #4310
    • โž• Add new metrics.prefix config option. With this option user can specify an optional prefix which is prepended to each metric key (name). This comes handy in scenarios where user wants to submit metrics from multiple environments / deployments (e.g. testing, staging, dev) to the same backend instance. (improvement) #4310
    • ๐Ÿ‘Œ Improve st2 execution tail CLI command so it also supports Orquesta workflows and arbitrarily nested workflows. Also fix the command so it doesn't include data from other unrelated running executions. (improvement) #4328
    • ๐Ÿ”„ Change default NGINX configuration to use HTTP 308 redirect, rather than 301, for plaintext requests. #4335
    • ๐Ÿ‘Œ Improve performance of the GET /v1/actions/views/overview API endpoint. (improvement) #4337

    ๐Ÿ›  Fixed

    
    * ๐Ÿ›  Fix an issue with ``AttributeError: module 'enum' has no attribute 'IntFlag'`` error which would
      appear when using Python 3 for a particular pack virtual environment and running on RHEL /
      CentOS. (bug fix) #4297
    * ๐Ÿ›  Fix a bug with action runner throwing an exception and failing to run an action if there was an
      empty pack config inside ``/opt/stackstorm/configs/``. (bug fix) #4325
    * ๐Ÿ›  Fix ``action_sensor.enable`` config option so it works correctly if user sets this option to a
      non-default value of ``True``. (bug fix) #4312 #4315
    
      Contributed by Shu Sugimoto.
    * โšก๏ธ Update ``GET /v1/actions/views/entry_point/<action ref>`` to return correct ``Content-Type``
      response header based on the entry point type / file extension. Previously it would always
      incorrectly return ``application/json``. (improvement) #4327
    
    ๐Ÿ—„ Deprecated
    
    • ๐Ÿšš The CloudSlang runner is now deprecated. In StackStorm 3.1 it will be removed from the core StackStorm codebase. The runner code will be moved to a separate repository, and no longer maintained by the core StackStorm team. Users will still be able to install and use this runner, but it will require additional steps to install.
    • ๐Ÿ The winexe-based Windows runners are now deprecated. They will be removed in StackStorm 3.1. They have been replaced by pywinrm-based Windows runners. See https://docs.stackstorm.com/latest/reference/runners.html#winrm-command-runner-winrm-cmd for more on using these new runners.