What's Changed
RTS capture expressions
Capture directives now support RestermScript expressions as an alternative to the existing {{...}} template syntax. The new form uses = after the capture name and a plain expression:
# template syntax (works as before)
# @capture global-secret auth.token {{response.json.token}}
# new RTS syntax
# @capture global-secret auth.token = response.json.token
# @capture request analytics.trace = response.headers["x-amzn-trace-id"]
Both styles can be used side by side in the same file. The parser figures out which mode to use based on whether the expression contains unquoted {{ markers.
One thing to watch out for: do not mix template markers with RTS function calls in the same expression (e.g. contains({{name}}, "x")). The parser will catch this and tell you to use either pure RTS or {{= ... }} instead.
capture.strict mode
By default, a capture path that does not match anything resolves to an empty string. If you would rather know about it, set capture.strict to true and Resterm will fail the request instead of swallowing the miss silently.
# @setting capture.strict true
# @capture file token = response.json.auth.tok
POST https://api.example.com/login
The setting accepts a few key variants (capture.strict, capture-strict, capture_strict)
Better capture error reporting
When a capture expression fails, the error now includes the request name, line number, and the expression itself, so you can tell which capture broke without having to guess. The JSON path walker was also rewritten to handle chained bracket indexes like json.matrix[0][1] and to report exactly where traversal stopped instead of returning an empty string with no explanation. Common typos like response.json..token (double dot) are caught at parse time with a warning.