What's Changed
[1.1.22] — 2026-04-03
Added
- Step Functions mock config —
SFN_MOCK_CONFIG(orLOCALSTACK_SFN_MOCK_CONFIG) env var pointing to a JSON file that mocks Task state responses; fully compatible with the AWS Step Functions Local mock config format:MockedResponseswith invocation indexing ("0","1-2", etc.),#TestCaseNameARN suffix onStartExecution,ReturnandThrowper attempt. Contributed by @maxence-leblanc (issue) - Step Functions
TestStateAPI — execute a single state in isolation without creating a state machine; supports Pass, Task, Choice, Wait, Succeed, Fail state types;inspectionLevel(INFO/DEBUG) returns data transformation details;mockparameter for Task states withresult/errorOutput;stateNameto extract a state from a full definition; Retry/Catch evaluation withRETRIABLE/CAUGHT_ERRORstatus
Fixed
- CloudWatch Logs
GetLogEventspagination —nextForwardTokenandnextBackwardTokennow return the caller's token when at end of stream, preventing SDK clients from looping infinitely; token-based offset pagination now works correctly - EventBridge → Lambda crash —
asyncio.run()inside the running event loop replaced with direct synchronous dispatch; PutEvents with Lambda targets no longer crashes - Step Functions StartSyncExecution crash —
_call_lambdareplacedasyncio.run()with direct_execute_function()call; sync Lambda Task states no longer crash /_ministack/configendpoint hardened — now whitelists allowed config keys instead of accepting arbitrary__import__+setattron any module- S3 path traversal in persistence —
_persist_objectvalidates paths stay withinDATA_DIRusingos.path.realpath()prefix check; blocks../in S3 keys - Lambda worker reset —
reset()now acquires lock and callsworker.kill()(cleans up temp dirs) instead of bare_proc.terminate() - DynamoDB
_stream_recordscleared on reset — stream records no longer accumulate unboundedly across resets - Lambda ESM position tracking cleared on reset —
_kinesis_positionsand_dynamodb_stream_positionsnow cleared onreset() - License — updated year 2026
Tests
- 851 tests total, all passing