1"use strict";(self.webpackChunkwindmilldocs=self.webpackChunkwindmilldocs||[]).push([["10096"],{16080(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>l});var o=t(26776),i=t(74848),r=t(28453);let a={slug:"token-expiration-notifications",title:"Token expiration notifications",tags:["Core"],version:"v1.650.0",description:"Windmill now monitors API token expiration and notifies owners via email 7 days before expiry and upon deletion. A new instance setting controls critical alerts for token expiry.",features:["Email notifications sent to token owners 7 days before expiration and when expired tokens are deleted.",'New "Alert on token expiry" instance setting to enable critical alerts for expiring/expired tokens.',"New TokenExpiringSoon and TokenExpired workspace webhook event types."],docs:"/docs/core_concepts/critical_alerts#token-expiration-notifications"},s,c={authorsImageUrls:[]},l=[];function p(e){return(0,i.jsx)(i.Fragment,{})}function d(e={}){let{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},28453(e,n,t){t.d(n,{R:()=>a,x:()=>s});var o=t(96540);let i={},r=o.createContext(i);function a(e){let n=o.useContext(r);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(r.Provider,{value:n},e.children)}},26776(e){e.exports=JSON.parse('{"permalink":"/changelog/token-expiration-notifications","source":"@site/changelog/2026-03-05-token-expiration-notifications/index.md","title":"Token expiration notifications","description":"Windmill now monitors API token expiration and notifies owners via email 7 days before expiry and upon deletion. A new instance setting controls critical alerts for token expiry.","date":"2026-03-05T00:00:00.000Z","tags":[{"inline":true,"label":"Core","permalink":"/changelog/tags/core"}],"readingTime":0,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"token-expiration-notifications","title":"Token expiration notifications","tags":["Core"],"version":"v1.650.0","description":"Windmill now monitors API token expiration and notifies owners via email 7 days before expiry and upon deletion. A new instance setting controls critical alerts for token expiry.","features":["Email notifications sent to token owners 7 days before expiration and when expired tokens are deleted.","New \\"Alert on token expiry\\" instance setting to enable critical alerts for expiring/expired tokens.","New TokenExpiringSoon and TokenExpired workspace webhook event types."],"docs":"/docs/core_concepts/critical_alerts#token-expiration-notifications"},"unlisted":false,"prevItem":{"title":"Variables and resources in flow env","permalink":"/changelog/flow-env-variables-resources"},"nextItem":{"title":"Enforce HTTP route workspace prefix instance-wide","permalink":"/changelog/http-route-workspace-prefix"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.