New Ory Agent Security is now live! Claim your complimentary test drive. Get Started!

Skip to main content

v26.3.19

v26.3.19​

Jsonnet templates are cached without expiry​

Kratos fetches Jsonnet templates over HTTP for webhook bodies, courier messages, OIDC and SCIM claims mappers, and the JWT session tokenizer. Each template is now cached for as long as its URL stays the same, instead of being re-fetched every 60 minutes. Logins and registrations that run a blocking webhook get faster, because the template is no longer fetched again on a schedule. Courier and password migration templates were not cached at all before and are now cached on the same terms.

Every consumer shares one cache bounded at 100 MB, in place of four separate caches that reserved up to 350 MB between them, so a Kratos process uses less memory for templates than before. When the cache is full, the least used templates are dropped and fetched again the next time they are needed.

Templates addressed by content hash and templates supplied inline as base64:// are unaffected. Editing either already yields a new URL, or no fetch at all.

Breaking changes​

If you host a template at a URL you control and edit the file in place without changing the URL (OSS/OEL only), the new content is no longer picked up. Publish it at a different URL — a new path, or a version in the query string — and point template_uri, mapper_url, or claims_mapper_url at it. Self-hosted deployments can also restart Kratos.