llms.txt
Search Documentation
Search through all documentation pages
v4.x

v4.0.20 Changelog

See what's new in Kener v4.0.20, including new features, improvements, and bug fixes

New features

Sitemap configuration

Admins can now configure how sitemap.xml is generated from Manage → Site Configurations → Sitemap. Three modes are available:

Mode Behaviour
Auto Automatically includes all pages, visible active monitors, and current/previous month event pages
Manual Only the URLs you explicitly add are included
Off Returns a 404 for /sitemap.xml

In Auto mode you can also add extra manual URLs alongside the auto-generated ones. The sitemap URL is shown in the admin UI for easy copying.

HEIC/HEIF image support

All image upload fields — logo, favicon, social preview, page logo, monitor image — now accept HEIC and HEIF formats (common on iPhones). Uploaded HEIC/HEIF images are automatically converted to JPEG server-side using heic-convert before processing with sharp.

The default BODY_SIZE_LIMIT has been increased to 3 MB (from the SvelteKit default of 512 KB) to accommodate larger image uploads. You can override this via the BODY_SIZE_LIMIT environment variable.

Improvements

Open Graph & Twitter Card meta tags

All public-facing pages now emit complete Open Graph and Twitter Card meta tags:

  • Status pages (/, /[page_path]) — og:title, og:description, og:type, og:image, twitter:card, twitter:image
  • Incident pages — article-type OG tags with the first comment as description
  • Maintenance pages — article-type OG tags with the maintenance description
  • Event pages — OG tags with month-specific title and description
  • Monitor pages — OG tags with monitor name and status

Improved SEO semantics

  • Page headers and incident/maintenance titles are now wrapped in proper <h1>/<h2> HTML heading tags for better SEO structure.
  • robots meta tag (noindex, nofollow) added to admin, account, and embed layouts to prevent search engines from indexing private pages.
  • robots.txt expanded with explicit Allow/Disallow rules and entries for AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, etc.).

Page-level SEO field key fix

Page-level SEO settings now use the correct keys (metaPageTitle, metaPageDescription, socialPagePreviewImage) consistently. Previously, the dashboard controller read metaTitle/metaDescription/socialPreviewImage which didn't match what the page settings form saved. Pages with zero monitors also now correctly return SEO metadata.

Separate save buttons for page settings

The page settings UI now has separate Save buttons and loading states for Display settings and SEO settings, so saving one section doesn't affect the other.

Bug fixes

  • Fixed image upload error handling on pages — non-OK responses are now caught before attempting to parse JSON.
  • Removed unused MonitorAlerting.svelte component and stale llms.txt/sitemap.xml server handlers.