Dev.to
6/19/2026

Your runtimes have an expiry date. I baked the EOL calendar into the app so it works offline.
Short summary
The author demonstrates building offline-first EOL tracking into self-hosted tools by baking a baseline calendar into the app with optional network refresh. Implementation uses longest-match-first version matching to handle variant schemes (3.11.4 → 3.11 → 3) and explicitly suppresses checks for projects without formal EOL. The pattern keeps air-gapped deployments secure while allowing optional updates without breaking self-contained operation.
- •Offline-first EOL calendar: bake baseline into app, make network refresh optional
- •Version matching: try longest cycle first (major.minor → major) to handle 3.11.4, 8.0.36, 20.11.1
- •Distinguish unknown from ok, explicitly suppress checks for projects without EOL
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



