Python 3.6 is no longer supported; Stackstorm requires at least Python 3.8.
This release adds support for Python 3.10 and 3.11, so StackStorm supports python 3.8 - 3.11.
Newer MongoDB versions are now supported. CI uses MongoDB 7.0.
Several st2.conf database options have been renamed or deprecated. Most of the options will continue to work using their old name.
However, if you use [database].ssl_keyfile and/or [database].ssl_certfile, you MUST migrate to [database].tls_certificate_key_file.
This new option expects the key and certificate in the same file. Use something like the following to create that file from your old files:
cat path/to/ssl_keyfile path/to/ssl_certfile > path/to/tls_certificate_key_file
Other options that were renamed under [database] are (more details available in st2.conf.sample):
ssl->tlsssl_cert_reqs->tls_allow_invalid_certificates(opt type change: string -> boolean)ssl_ca_certs->tls_ca_filessl_match_hostnames->tls_allow_invalid_hostnames(meaning is inverted: the new option is the opposite of the old)
Fixed
- Fixed #6021 and #5327 by adding max_page_size to api_opts and added limit and offset to list_values() methods of
both action_service and sensor_service - Fix
packs.getaction. Assumedmasteris primary branch on all packs. #6225 - Restore Pack integration testing (it was inadvertently skipped) and stop testing against
bionicandel7. #6135 - Fix Popen.pid typo in st2tests. #6184
- Bump tooz package to
6.2.0to fix TLS. #6220 (@jk464) - Shells via
pywinrmare initialized with the 65001 codepage to ensure raw string responses are UTF-8. #6034 (@Stealthii)
Changed
-
Removed code in all dist_utils.py that was sanitizing the
python_versionenvironment marker that limited packages in the requirements.txt only being installed on lower python versions. (by @skiedude) -
Bumped
jsonschema2.6.0 -> 3.2.0 now that python3.6 is not supported. #6118 -
Bumped many deps based on the lockfiles generated by pants+pex. #6181 #6227 #6200 #6252 #6268 #6329 (by @cognifloyd and @nzlosh)
-
Switch to python3's standard lib unittest from unittest2, a backport of python3 unittest features for python2. #6187 (by @nzlosh)
-
Drop Python 3.6 testing in CircleCI. #6080
Contributed by (@philipphomberger Schwarz IT KG) -
Refactor
tools/launchdev.shto usetmuxinstead ofscreen. #6186 (by @nzlosh and @cognifloyd) -
Updated package build container environment to use py3.8 and mongo4.4 #6129
-
Fix misc DeprecationWarnings to prepare for python 3.10 support. #6188 (by @nzlosh)
-
Update st2client deps: editor and prompt-toolkit. #6189 (by @nzlosh)
-
Updated dependency oslo.config to prepare for python 3.10 support. #6193 (by @nzlosh)
-
Updated unit tests to use redis for coordination instead of the NoOp driver. This will hopefully make CI more stable. #6245
Contributed by @FileMagic, @guzzijones, and @cognifloyd -
Renamed
[database].ssl*options to support pymongo 4, which we have to update to support newer MongoDB servers.
Please see the note above about migrating to the newer options, especially if you use[database].ssl_keyfile
and/or[database].ssl_certfile, as those options are ignored in StackStorm 3.9.0. #6250
Contributed by @cognifloyd -
Update mongoengine to 0.29 and pymongo to 4.6.3. The pymongo bump (from 3.x to 4.x) is a major update. #6252
Contributed by @cognifloyd -
Update CI from testing with mongo 4.4 to testing with MongoDB 7.0. #6246
Contributed by @guzzijones -
Relaxed
dnspythonpinning for compatibility with python 3.10 and greater. #6265
Contributed by @nzlosh -
Switched tests from
nosetesttopytest.st2-run-pack-testsalso uses pytest.
So, all pack tests must be runnable bypytest, which may require migration. #6291
Contributed by @nzlosh, @FileMagic, @guzzijones, and @cognifloyd. Pinned pytest-cov
to 5.0.0 for python 3.8 support. -
Migrated github actions from image ubunutu 20.04 with python 3.8.10 to image ubuntu 22.04 with python 3.8.12. #6301
Contributed by @nzlosh -
Regenerate pants lockfiles and drop passlib requirement. #6350
Contributed by @nzlosh
Added
-
Continue introducing
pants <https://www.pantsbuild.org/docs>_ to improve DX (Developer Experience)
working on StackStorm, improve our security posture, and improve CI reliability thanks in part
to pants' use of PEX lockfiles. This is not a user-facing addition.
#6118 #6141 #6133 #6120 #6181 #6183 #6200 #6237 #6229 #6240 #6241 #6244 #6251 #6253
#6254 #6258 #6259 #6260 #6269 #6275 #6279 #6278 #6282 #6283 #6273 #6287 #6306 #6307
#6311 #6314 #6315 #6317 #6319 #6312 #6320 #6321 #6323 #6324 #6325 #6326 #6327 #6328
#6329 #6330 #6337 #6356
Contributed by @cognifloyd -
Ensure
.pthfiles in the st2 virtualenv get loaded by pack virtualenvs. #6183
Contributed by @cognifloyd -
Allow
st2-rule-testerto run without a mongo connection if user is testing against localrule/trigger-instancefiles. #6208
Contributed by @jk464 -
Added a
get_resultmethod to theExecutionResourceManagerClass for st2client
Contributed by @skiedude -
Added new env var for tests:
ST2TESTS_SYSTEM_USER. When set, this will overridesystem_user.userin st2 conf
so that you can run tests on systems that do not have thestanleyuser. When running tests locally, use the
following to set system user to the current user:export ST2TESTS_SYSTEM_USER=$(id -un)#6242
Contributed by @cognifloyd -
Added experimental support for setting conf vars via environment variables. All settings in
st2.confcan be
overriden via enviornment vars in the format:ST2_<conf section>__<option name>(env vars are upper cased)
For example, the[database].passwordsetting inst2.confcould be overriden usingST2_DATABASE__PASSWORD.
This new feature is based on oslo_config's environment support, but patches it to use theST2_prefix.
If you experience any issues when using this experimental feature, please file an issue. #6277
Contributed by @cognifloyd -
Add new option
[messaging].prefixto configure the prefix used in RabbitMQ exchanges and queues.
The default isst2(resulting in exchange names likest2.executionandst2.sensor).
This is primarily designed to support safely running tests in parallel where creating a vhost for
each parallel test run would be a maintenance burden. #6282
Contributed by @cognifloyd -
Add python 3.10 and 3.11 to the GitHub Actions test matrix.
Contributed by @nzlosh, @guzzijones12, and @cognifloyd -
Copy systemd files and rpm/deb scriptlets from st2-packages.git for future packaging via pants. #6303 #6313
Cherry-picked by @cognifloyd -
Cherry-pick changes to runners.sh from st2-packages git repo. #6302
Cherry-picked by @cognifloyd -
Pinned DOCKER_API_VERSION in the circleci build to make sure the docker-cli api version does not exceed what
cicrleci docker24 <https://circleci.com/docs/guides/execution-managed/building-docker-images/>_ supports