StackStorm v2.6.0 Release Notes

Release Date: 2018-01-19 // about 6 years ago
  • ➕ Added

    
    * 👉 Add new ``get_user_info`` method to action and sensor service. With this method, user can
      retrieve information about the user account which is used to perform datastore operations inside
      the action and sensor service. (new feature) #3831
    * ➕ Add new ``/api/v1/user`` API endpoint. This API endpoint is only available to the authenticated
      users and returns various metadata on the authenticated user (which method did the user use to
      authenticate, under which username the user is authenticated, which RBAC roles are assignment to
      this user in case RBAC is enabled, etc.) (new feature) #3831
    * The ``/api/v1/match_and_execute`` API endpoint matches a single alias and executes multiple times
      if the alias format has a ``match_multiple`` key set to ``true``. Please refer to the
      documentation for usage. #3884
    
      Contributed by @ahubl-mz.
    * ➕ Add ability to share common code between python sensors and python actions. You can now place
      common code inside a ``lib`` directory inside a pack (with an ``__init__.py`` inside ``lib``
      directory to declare it a python package). You can then import the common code in sensors and
      actions. Please refer to documentation for samples and guidelines. #3490
    * ➕ Add support for password protected sudo to the local and remote runner. Password can be provided
      via the new ``sudo_password`` runner parameter. (new feature) #3867
    * ➕ Add new ``--tail`` flag to the ``st2 run`` / ``st2 action execute`` and ``st2 execution re-run``
      CLI command. When this flag is provided, new execution will automatically be followed and tailed
      after it has been scheduled. (new feature) #3867
    * ➕ Added flag ``--auto-dict`` to ``st2 run`` and ``st2 execution re-run`` commands. This flag must now
      be specified in order to automatically convert list items to dicts based on presence of colon
      (``:``) in all of the list items (new feature) #3909
    * 👍 Allow user to set default log level used by all the Python runner actions by setting
      ``actionrunner.pythonrunner```` option in ``st2.conf`` (new feature) #3929
    * ⚡️ Update ``st2client`` package which is also utilized by the CLI so it also works under Python 3.
    
      Note: Python 2.7 is only officially supported and tested Python version. Using Python 3 is at
      your own risk - they are likely still many bugs related to Python 3 compatibility. You have been warned.
      (new feature) #3929 #3932
    
      Contributed by Anthony Shaw.
    * ➕ Add ``?limit=-1`` support for the API to fetch full result set (CLI equivalent flag
      ``--last/-n``). Post error message for ``limit=0`` and fix corner case where negative values for
      limit query param were not handled correctly. #3761 #3708 #3735
    * Only allow RBAC admins to retrieve all the results at once using ``?limit=-1`` query param, upate
      the code so ``api.max_page_size`` config option only applies to non-admin users, meaning users
      with admin permission can specify arbitrary value for ``?limit`` query param which can also be
      larger than ``api.max_page_size``. (improvement) #3939
    * ➕ Add new ``?include_attributes`` query param filter to ``/v1/executions/`` API endpoint
      With this filter user can select which fields to include in the response (whitelist approach,
      opposite of the existing ``?exclude_attributes`` filter).
    
      For example, if you only want to retrieve ``id`` and ``status`` field, the URL would look like
      this - ``/v1/executions?include_attributes=id,status``. (new feature) #3953 #3858 #3856
    
    🔄 Changed
    
    • st2actions.runners.pythonrunner.Action class path for base Python runner actions has been deprecated since StackStorm v1.6.0 and will be fully removed in StackStorm v2.7.0. If you have any actions still using this path you are encouraged to update them to use st2common.runners.base_action.Action path. #3803
    • 🔨 Refactor st2common Python package so it's fully self sustaining and can be used in a standalone manner. (improvement) #3803
    • 🔨 Refactor Python action runner so it only depends on st2common Python package (previously it also depended on st2actions) and can be used in a standalone mode. Previously pack config and and some other parameters were retrieved inside the Python process wrapper, but now they are retrieved inside the runner container and passed to the runner. This also makes it easier to add support for pack configs to other runners in the future. (improvement) #3803
    • ⚡️ Update various Python dependencies to the latest stable versions (kombu, amqp, apscheduler, gitpython, pymongo, stevedore, paramiko, prompt-toolkit, flex). #3830
    • Mask values in an Inquiry response displayed to the user that were marked as "secret" in the inquiry's response schema. #3825
    • 0️⃣ Real-time action output streaming is now enabled by default. For more information on this feature, please refer to the documentation - https://docs.stackstorm.com/latest/reference/action_output_streaming.html. You can disable this functionality by setting actionrunner.stream_output config option in st2.conf to False and restart the services (sudo st2ctl restart).

    🛠 Fixed

    
    * 🐎 Fully fix performance regressions for short Python runner actions introduced in the past and
      partially fixed in #3809. (bug fix) #3803
    * 🛠 Fix 'NameError: name 'cmd' is not defined' error when using ``linux.service`` with CentOS systems.
      #3843. Contributed by @shkadov
    * 🛠 Fix bugs with newlines in execution formatter (client) (bug fix) #3872
    * 🛠 Fixed ``st2ctl status`` to use better match when checking running process status. #3920
    * ✂ Removed invalid ``st2ctl`` option to re-open Mistral log files. #3920
    * ⚡️ Update garbage collection service and ``st2-purge-executions`` CLI tool and make deletion more
      efficient. Previously we incorrectly loaded all the execution fields in memory, but there was no
      need for that and now we only retrieve and load id which is the only field we need. #3936
    
      Reported by @kevin-vh.