Changelog
v3.3.1
1bf6e9ff (cli) refactoring get_dependency_versions (#389)
v3.3.0
0a442947 (all) updated dependencies with known vulnerabilities (#388)
v3.2.5 legacy
152d0623 : revert release workflow to use python 3.12
v3.2.4
66ed9d16 : problem building docs in CI workflow
v3.2.3
4e99dc36 : use inspect.getmro do determine argument type (#375)
v3.2.2
e21141ef : hanging after test finished (#374)
v3.2.1
a4804922 : replace pydoc-markdown with mkdocstrings (#373)
41147350 : dependencies update (#371)
f56d40fb : retry can raise failure_exception if set (#370)
e7bc9b81 : own identity for TestdataConsumer logger, to avoid confusion, since it's shared between all user instances of the same type running on the same worker. (#369)
c19a4565 : keystore: more ambigous message in RuntimeError when no value is found for key (#368)
5158f7f5 : IotHubUser: remove verbose info logging (#367)
d0fb8e09 : HttpClientTask: paths to client cert and key should be relative to context root (#366)
8490d6ff : RestApiUser: assume that cert/key files are relative to context root (GRIZZLY_CONTEXT_ROOT) (#365)
df745b38 : request task failure handling + spawning complete synchronization (#364)
d8da1c4e : bump locust version (#363)
f02b765b : no http retries (#362)
fd12f3f2 : IotHubUser: allow_already_exist argument for requests (#361)
v3.2.0
71c6aa31 : bad PR -- a lot of changes (#360)
cf9409eb : rewrite of testdata communication, and other improvements (#357)
f5c079b8 : ServiceBus improvements in async-messaged (#356)
95bbbb87 : CSV writers keep files open during test + user events for the writing (#355)
v3.1.1
392efca5 : new permutation interface (#354)
1187653d : Custom failure handling (#353)
v3.1.0
1e902cdb : testdata variable message handlers should run concurrent (#351)
c19bdfa5 : dump include variables in --dry-run (#350)
e1a01cec : improved handling of abort (ctrl + c) (#349)
854886bc : Async-messaged fixes; (#348)
3b98bc39 : IotHubUser support for receiving (C2D) messages (#346)
1c7a89bf : improvements of keystore protocol: push, pop and del (#345)
cd58490d : sub-render variables if they contain templates in SetVariableTask and HttpClientTask (#344)
a589ef6a : PUT support in HttpClientTask and file contents when declaring variables (#343)
95f7a27d : handle Mod nodes in jinja2 templates (#342)
20bd1104 : new atomic variable: AtomicJsonReader (#341)
v3.0.0
982e8d0f : rewrite of variable separation per scenario (#339)
60c78363 : update locust version to a official release (#337)
69e4c9a6 : geventhttpclient does not accept verify in request arguments (#336)
00338035 : variables per scenario (#335)
96bd4ff2 : fix for "Aborting test can fail when running distributed with MQ" (#333)
158e715a : override influxdb event with special named context key-values (#332)
fd54641d : general improvements (#330)
c42570d0 : increment value in keystore (#327)
47485f51 : merge environment configuration files (#326)
9dfabf94 : jsonpath filter one of, =| (#325)
v2.10.2
2d0336a7 : retry creating a service bus connection if it times out (#322)
953852b3 : fixing stability issues identified during ~5h tests (#321)
v2.10.1
ed82ea4d : do not touch cookies or authorization headers (#320)
v2.10.0
16c03465 : refresh token bug (#319)
830abee4 : credential support for ServiceBus* and BlobStorage* resources (#318)
366f0398 : AAD refactoring (#317)
a5969568 : ServiceBusUser and IteratorScenario improvements (#316)
af9b1647 : update databind version to 4.5.1 (#315)
8c561786 : dry run (#314)
82eec240 : improved AST parsing of jinja2 templates (#313)
907cdaf2 : set variable task resolve file value (#311)
aa93dae7 : disable sketchy dispatcher unittests (#312)
e9c5e3e7 : azure-servicebus version 7.12.1 (#310)
5c5b2e54 : execute python script step improvements (#309)
3e067ebe : Execute python script runs at module level (#308)
a22acea8 : fix for incorrect step expression for inline script (#307)
dfdbd292 : initialize variable values from files (#306)
v2.9.3
c74c22d0 : influxdb: add additional tags to writes (#305)
v2.9.2
53fe3e35 : resolve_variable: allow both environment configuration/variables and jinja variables in an input string (#304)
v2.9.1
12724cf7 : execute python scripts during behave phase of grizzly (#303)
v2.9.0
7dfa643e : custom dispatcher logic to be able to isolate user types to workers (#302)
d68318f0 : Support for gzipping payload sent to IoT hub (#301)
ee162bf7 : support templating for WaitBetweenTask (#300)
73ecf040 : change context variables during runtime via SetVariableTask (#292)
229092f5 : handle ENAMETOOLONG when creating a request task with source in context text. (#290)
45af414e : handle property validation on flat objects (#289)
v2.8.0
02957022 : geventhttpclient does not support cookies in request (#288)
f0c635c2 : async-messaged logging refatored (#287)
55da160b : find used variables in assig expressions {% .. %} (#285)
ab8b7e20 : rewrite of request events (#286)
05f63241 : Update issue templates
8a44416e : replace pylint+flake8 with ruff (#282)
b2101ede : service bus client unquote bug (#279)
7a1f1ecc : BlobStorageUser: support for RECEIVE/GET (#277)
97869ec3 : major documentation overhaul (#276)
v2.7.4
b4987581 : update IBM MQ redist URL (#274)
v2.7.3
cd70468a : bump pymqi version (#265)
cb6eab8b : AAD: check for error message before updating state (#264)
3116d546 : support for templating of expected_matches in response handlers (#263)
v2.7.2
fe4d1d9c : software based TOTP for AAD user authentication (#262)
37c021c5 : keystore -- share testdata between scenarios (#261)
b97fe65a : do not fire ResponseEvent for exceptions that are StopUser or RestartScenario (#258)
5e7f4b45 : include code of conduct in generated documentation (#257)
74cd98a8 : Create code of conduct (#255)
7a8d79df : async-messaged: reconnect to MQ queue manager if connection is broken (#253)
6ac36e6e : add support for ISO 8601-ish format in DateTask (no separators) :( (#254)
aa91d5dd : add support for sub log directories in requests/logs (#252)
v2.7.1
3e508501 : grizzly.auth.aad: flow token in step 2 now changes (#251)
v2.7.0
9a3ca4e4 : bump versions (#249)
47a1201a : Update issue templates (#245)
15779776 : persist flagged variables when test is stopping (#247)
b40cfcb2 : refactoring of handling RequestTask (#246)
0c2cbab4 : do not log scenario.failure_exception in LoopTask (#244)
52c72d1d : update novella (#243)
34b30626 : refactoring regarding GrizzlyContextScenario references for users (#241)
a2ea8941 : response handlers should execute even though payload/metadata is empty (#242)
7edebccb : custom jinja2/templating filters (#240)
c624dcb7 : handling of SIGINT/SIGTERM to gracefully stop test (#238)
v2.6.5
10942c9d : only allow writing a complete row at a time in AtomicCsvWriter (#237)
79a6f3f5 : rewrite grizzly.tasks.clients.servicebus to support more than one parent (#236)
v2.6.4
d41a2b15 : catch exceptions from task on_stop and log as errors (#235)
b8bf9e65 : AAD authentication improvements (#234)
df73fdcd : HTTP authentication support outside of RestApiUser (#231)
e9e62d42 : correct handling of return code from behave (#233)
56dc7531 : use docker composer v2 in code-quality workflow (#230)
v2.6.3
a52cfc5c : async messaged improvments (#228)
fa51b3ce : wrapper tasks implements on_start/stop (#227)
fd245ca6 : support for jsonpath expression filter on "flat" objects (#225)
f289d6d3 : prefix subscription name with id of user instance (#224)
c4e8acf2 : docs generate sort version (#223)
c79b5927 : E2E distributed tests takes too long time (#222)
55fb7060 : backing out PR #200, since interfere with logging of other tasks. (#221)
61db0889 : abort if async-messaged process is gone (#219)
9dbac3e5 : metadata is a dict, but when saved in a variable it should be a (json) string (#218)
c557a6eb : client task implementation for saving response metadata in variable (#217)
v2.6.2
5a00f706 : fixed documentation for missing path and fragment variables (#215)
7d653c53 : get current tasks the right way (#214)
1ac1c4d1 : RestApiUser, oauth2 token v2.0 flow (#213)
v2.6.1
v2.6.0
c01805fb : implementation of AtomicCsvWriter (#211)
1c2b824d : code maintenance 2023-03 (#209)
b0e3a68b : task on_start and on_stop functionality (#208)
16efa80a : grizzly.user implementation of on_start and on_stop (#207)
8906711a : use packaging.version instead of distutils.version (#206)
9e6eeec1 : rename grizzly.environment to grizzly.behave (#205)
47a61445 : updated locust version (#204)
69938441 : suppress error procuded in wrapped tasks to be logged to the error summary (#203)
v2.5.11
85650a55 : set a fixed time for one iteration of a scenario (#201)
30c9eadb : do not log internal flow exceptions as errors in conditionals (#200)
a7e13f04 : improvements of information printed when grizzly is running locust (#198)
5f09a9dc : fixed tags sorted incorrectly (#191)
8594a4fa : improved UntilTask traceability (#194)
v2.5.10
da7eb36b : async-messaged: gracefully close handler connections when terminating… (#190)
v2.5.9
32414118 : AtomicServiceBus: add argument consume (#189)
v2.5.8
1334c917 : updated shield.io url for github workflow status (#188)
59560193 : IoT hub, error handling (#187)
v2.5.7
fc436358 : tag measurements with scenario they belong to (#185)
67abbb50 : write user count per user class name to influx every 5 seconds (#184)
v2.5.6
516b119f : background variable declaration (#183)
2ae0c0b2 : updated workflow actions to remove warnings (#182)
v2.5.5
v2.5.4
65de8865 : concurrency fixes in MQ and SB related code (#180)
v2.5.3
d9c89199 : get messages from MQ with SYNCPOINT and configuration of max message size (#179)
784f6b89 : IotHubUser, for uploading files to Azure IoT Hub (#177)
1a4a826f : improved support for jinja2 expressions (#176)
c28e52d8 : grizzly.tasks.client.messagequeue needs unique worker for each instance of a scenario (#175)
5cceb577 : print returncode of locust to stdout (#174)
v2.5.2
70d1d245 : azure.servicebus receiver sometimes returns no message, even if there... (#173)
7b63d1b6 : better handling of arthmetic when parsing out variables from templates (#172)
caf9693d : on_consumer testdata variables needs information about current scenario (#171)
v2.5.1
599db8eb : instructions in example docs on how to install vscode extension (#169)
e57eea5d : corrected grizzly-cli run commands in example (#167)
161af067 : async-messaged returns un-encoded RFH2 payload after PUT (#165)
7d034b26 : removed deprecated set-output commands in workflow (#164)
5a35ffef : more MQ information (#162)
v2.5.0
ef6a4675 : move out docs extras from pyproject.toml (#158)
d4880ee2 : env conf inline resolving and "generic" UntilRequestTask (#157)
7285294b : refactoring of get_templates (#156)
b694acaa : implementation of %g (GUID/UUID) formatter for AtomicRandomString (#152)
a3854842 : Post XML, multipart/form-data and metadata per request (#151)
10883c87 : dependency update 2209 (#150)
1ce3a43c : persist variable values between runs (override initial value based on previous runs) (#149)
b39247e8 : declared and found variable cross-check (#148)
e4e353de : fixed broken release workflow (#147)
v2.4.6
1a6e07da : fix missing variables due to filter (pipe) in templates (#145)
e7e606b7 : checkout release tag correctly so edit url in docs is correct (#146)
cc5bf649 : added documentation for editor support (#144)
c37140aa : correct typings for release workflow inputs (#143)
c3ed2eb7 : document response handler expression arguments (#142)
3d2aa051 : documentation of metadata comments in feature files (#141)
5db8bfe3 : allow templating strings as input to WaitTask (#140)
e297da03 : e2e dist (#139)
7a491161 : run e2e tests distributed (#138)
b24db98b : create zmq socket for each request (#136)
9777db82 : fix for last task not being executed when user is stopping (#135)
v2.4.5
eba5ba1d : no testdata address, when running distributed (#134)
606c7a80 : changed mq version (#132)
v2.4.4
501b5960 : allow an arbritary number of matches (#130)
d8406a55 : loop task (#129)
a7928eea : TransformerContentType should be permutated in y direction (#128)
2bb8c045 : updated dependencies due to lxml security fix (#127)
aea3d97b : grizzly implementation of print_percentile_stats (#125)
4ba8066d : annotate non-enum custom types with __vector__ (#124)
fa4a2b16 : annotations for enums used in step expressions (#123)
v2.4.3
27ebe108 : mq rfh2 support (#122)
8b794ad1 : create list of tasks for pointer when switching (#121)
3e16160c : fixed examples for conditional task (#120)
v2.4.2
da3c335d : conditional tasks task (#119)
cbcb1b8b : new location for logo in repo (#118)
v2.4.1
1ce7f0ad : fix for documentation build and deploy (#117)
484f8010 : changed to novella build backend and improved documentation (#116)
v2.4.0
8e026ad8 : updated dependencies (#115)
5c747f53 : request wait task (#114)
6684c357 : TimerTask to measure "response time" for a group of tasks (#113)
5ceca1e2 : bug fixes in BlobStorageClient.put and scenario iterator (#112)
53ed0ad5 : remove debug print statement (#111)
4f0f01f7 : sort request statistics per scenario (#110)
35091c96 : grizzly.tasks.client must have a name (#109)
v2.3.1
c754a8aa : support ISO 8601 formated DateTime and Time (#107)
e33cd941 : client task ibm messagequeue (#103)
eabe7b8f : possibility to implement custom (non-grizzly) atomic variables (#102)
e4193dd4 : possibility to register custom locust message types and handlers (#101)
13b6c444 : scenario statistics (#98)
ba37b60a : validating response step expression updated (#97)
89149d9d : "end to end" (E2E) test cases (#95)
v2.3.0
b4fc150f : Change scenario hash to numerical index (#94)
6ecc7ab3 : support for parallell tasks (#92)
2f7025d9 : make tests runnable on windows (#91)
v2.2.1
0ae1b373 : automagically check pypi for package url if unknown (#90)
e6ef9d8f : install additional script dependencies correct (#89)
c0a53532 : add support for requirements-script.txt to pip-sync wrapper (#88)
67f3d269 : install and cache script requirements (#87)
ddd9929c : restructuring of code-quality workflow (#86)
v2.2.0
d45b62d1 : github action action-push-tag@v1 is broken (#85)
283fe3fe : bug fix for iterations to stop when not finishing (#84)
0ed596f2 : Feature/clients tasks (#81)
6e6496ed : create docs/licenses if it does not exist, before trying to write md file (#79)
0dd489a3 : restructure of documentation (#78)
v2.1.0
c4260a9e : Feature/response handlers (#77)
8278d17a : step to set user metadata/header key values (#75)
11de9b7f : clearer job name in code-quality workflow (#70)
b6845b79 : Feature/issue 64 pep518 (#69)
fbd96cfa : Feature/issue 61 pytz (#68)
v2.0.0
af5e639b : twine: command not found (#67)
052a5ab9 : Feature/dependency update round 2 (#66)
d4a3b935 : Feature/mq heartbeat (#65)
884b6761 : Feature/dependencies update (#63)
02c88045 : Plain text transformer fix, plus added rendering of date offset value (#62)
001cc5e5 : Bug/until task aborts (#60)
v1.5.3
7c2b7a91 : Feature/cli docs (#59)
a53f9159 : Bug/until stops too soon (#58)
f53bb8b8 : removed debug print statements (#56)
fb9f4933 : removed debug print statements (#56)
v1.5.2
fb9f4933 : removed debug print statements (#56)
v1.5.1
a2857569 : verify_certificates bug fixed (#55)
v1.5.0
1c57c7f0 : Feature/restart scenario (#54)
9326218f : MQ concurrency fix (#53)
cc178860 : renamed grizzly.tasks to grizzly.scenarios (#52)
281e9beb : fixed bug in parse_arguments if an argument value contained comma (#51)
v1.4.4
e13ff471 : Feature/date parse task (#50)
d16ef8e1 : handle exceptions during until retries (#49)
0994f9af : increased test coverage (#48)
eaaeab22 : Fix for doing retry upon receiving MQRC_TRUNCATED_MSG_FAILED while browsing messages (#47)
88202428 : support for templating in arguments in condition (#46)
v1.4.3
3e47adbd : fixed alignment i scenario summary (#45)
v1.4.2
e976144b : Bug/async messaged logging (#44)
b4b0be63 : Feature/request until (#42)
v1.4.1
e6d8fb3f : fix for ensuring correct data type in metric written to influx (#41)
v1.4.0
26b81305 : print start and stop date and time when finished (#40)
4aef0eef : request response_time fixes (#39)
fb95268f : updated dependencies and devcontainer (#38)
f98d904d : Feature/scenario info (#37)
v1.3.1
73827bf4 : error logging in transformer class (#35)
3e5e03aa : init racecondition (#36)
dd0c75a5 : support for request template files in combination with data tables (#34)
8d56f4fe : Feature/parameterize more (#33)
v1.3.0
60f39988 : transparent support for setting content type in endpoint (#32)
423bc994 : expression support for service bus functionality (#31)
2e2695df : support for offset in AtomicDate (#30)
41b78e89 : AtomicMessageQueue content type support (#29)
979d4bbb : unified arguments handling through out grizzly (#28)
6fad96e4 : simplified AtomicMessageQueue and AtomicServiceBus (#27)
64888c05 : implementation of getter tasks (http) (#26)
2d6862d7 : Restored dummy_pymqi.py, the added stuff wasn't needed
4f21a8d3 : MessageQueueUser: get messages that matches expression
1e1edc44 : run code quality workflow when PR is updated
6dc839c9 : corrected sentence in documentation for SleepTask
v1.2.0
6ee5fffe : added documentation for the different task types
1b91d79b : implementation of AtomicServiceBus variable
b867d471 : ServiceBus support in async-messaged
83c0ac9c : refactoring of grizzly_extras.messagequeue
9b9953e6 : included mypy extension in devcontainer
aea0c288 : implemented RECEIVE for ServiceBusUser
b046b60c : Changed spawn_rate to float and fixed tests
3ce0b102 : Changed spawn rate from int to float
a789a71d : Added support for user weight
29f7d047 : updated atomic variables getting value and arguments
81ccbed1 : change log level for grizzly_extras if started with verbose
v1.1.0
b78be958 : new task to parse data
b2ed98a1 : XmlTransformer: match parts of a document, and dump it to string
9c55e5a3 : move testdata production if variable has on_consumer = True
cfe9875b : specify external dependencies for users and variables in the objects themself
2140fe79 : new variable AtomicMessageQueue
1f6dba03 : refactoring for clearer distinction between utils and step helpers.
99fab953 : fixing empty changelog in workflow@github
c5ddeeb9 : generate changelog when building documentation
5e595637 : fixed missed float -> SleepTask change in test
2c688554 : improved base for adding different types of tasks
cb8db862 : reafactor LocustContext to GrizzlyContext
3f1137b9 : refactoring of grizzly.tasks
bd3382e0 : refactoring RequestContext to RequestTask
031a9595 : handle edge cases with Getitem nodes
ca7c17d7 : handle Getitem nodes when parsing templates for variables
a1cabb31 : only try to remove secrets from dicts
1145a651 : possibility to store json objects/list in variables
v1.0.1
dae7be58 : Corrected string comparison operator
4b8a8470 : Adjusted test for messagequeue
bd9bb977 : Fix for being able to log MQ request payload
cc5dfff6 : updated mkdocs to 1.2.3 due to CVE-2021-40978
604f5704 : fixed url
Back to top