github OneUptime/oneuptime 14.0.109

latest release: build-number-9519
38 minutes ago

229 changes since 14.0.108: 63 new or improved features, 88 bug fixes, 2 performance improvements, 11 documentation updates and 65 maintenance changes. The busiest areas: Translations, AI and Dashboards.

✨ New and improved

  • Dashboards
    • The last texts in code reach the translator (Session Replay rail, user flows, telemetry, trace pipelines, teams, users, workflows) (#6751)
    • Widget badges say the widget's name, and the User Retention widget draws the periods that fit (#6838)
    • How OneUptime works from Help and Home, and definitions on the words people trip on (#6949)
    • Import from PagerDuty, UptimeRobot and others from an empty Monitors, On-Call or Status Pages list, or by the tool's name in Search (#6964)
    • The logo goes Home, side menus remember their folds, Search and Help on phones, and Search finds more (#6970)
    • A widget's Live Preview never leaves the board (#6859) (#7104)
    • A widget that is not set up yet asks for a click only where a click opens its settings (#7313)
    • Products that fit the project, and pins that follow the person (#7323)
  • AI
    • The Remediation step says what happened in plain words (#6860) (#6916)
    • Ask AI answers "how do I...?" from the docs, and takes you to the page (#7007)
    • Ask AI sets up a website monitor, paging and a status page from a sentence, on one approval card (#7240)
    • Test LLM Provider shows the request, response, headers and status it saw (#7355)
  • Mattermost
    • Rules say when they name a team the bot was taken out of (#6921)
    • Summaries pick the Mattermost team of their channels (#6930)
    • One project works in every team its Mattermost bot is in (aff23d2)
  • Monitors
    • Catch revoked SSL certificates in Website, API and SSL Certificate monitors (#6787)
    • Guided setup from a website address to a tested notification, on one page (#7004)
    • "When this goes down" says who is told when a monitor fails, and names every break (#7009)
  • Self-Hosted
    • A server that cannot send email says so, and tells its admin, instead of saying it sent (#6877)
    • A server setup checklist where the first admin lands, with test email, SMS and call buttons (#6960)
    • npm run doctor says what is wrong with an installation, and OneUptime Health shows it in every edition (#7001)
  • Slack
    • Say when a rule's Slack workspace no longer has OneUptime, and pick the workspace of on-call user groups (#6773)
    • An organization's Slack workspaces update at once when an admin adds OneUptime to one or removes it (#6782)
    • Back to Slack opens a channel in its own workspace in Slack Enterprise organizations (#6914)
  • Data Observability
    • Draw a lineage card's hidden tables where they are, and follow one column up and down the diagram (#6763)
    • Card bodies line up with their titles, lineage chips never cut mid-word, Tab pans the lineage drawing (#6955)
  • On-Call
    • Send a test page to yourself, a member or a policy, and watch each message arrive - without an incident (#6946)
    • A guided setup pages you by phone, SMS or push, escalates to a teammate, and ends with a test page (#7109)
  • Website
    • Home asks what you came to do, and the Welcome checklist is shared, ticks when things work, and knows your plan (#6948)
    • Invited members see when they are on call and whether OneUptime can reach them, ending in a test page (#6972)
  • Analytics: See where each project stops in its first hour: activation milestones, a Setup column in Admin > Projects, and a documented funnel (#6894)
  • Audit Logs: Sign-ins, sign-outs and session timeouts are recorded in the audit log (#6791)
  • Charts: Legends keep the page's series order, and Product Analytics' day charts label their ticks as dates (#7005)
  • Data alert lineage: Follow a column check's column, and say Cause on the cause pipeline's arrow (#6839)
  • Docs: A front page that asks what you want to do, search that reads every page and forgives typos, docs in Cmd/Ctrl+K, and Was this page helpful? (#7206)
  • Email: Sign the server's own Amazon SES in with its IAM role (#7000) (#7377)
  • Errors: Every error says what happened and what to do next, with a reference when the server could not explain it (#7266)
  • Exceptions: Two header buttons, Where it happened on the Overview, and one Fix with AI task (#6923)
  • Feedback: Tell OneUptime what was hard - one question at the end of each guided setup, Give feedback in Help, and an inbox in the Admin Dashboard (#7353)
  • Guided setup: A lost run never makes a second monitor, and the summary's severity reads right in every language (#7059, #7060) (#7190)
  • Incidents: Delete resolved incidents and alerts after a time you choose, and keep Synthetic screenshots out of their logs (#6940)
  • Layout fixes: Status page grid on phones, Infrastructure list fit, whole-word Fix pills (#7199)
  • On-call test page: Preview in the reader's words, a walk priced level by level, every acknowledger noted (#7193)
  • Right-to-left pages: English names keep their start in Status Page Resources, Affected Resources, role cards and header facts (#6979)
  • Security: Search query is a noun, Hindi records sentences read for every connector, Health pills never cut short (#6996)
  • Session Replay: Name the Watch Session Replays grant where identity is hidden; tab switcher in the reader's digits, picker on screen (#7225)
  • Setup Health: One list of what in your setup would stop people from being told, each with its fix (#7293)
  • Status Pages: Add a custom domain without leaving the page, and see what each DNS check found (#6954)
  • Status Pages, Telemetry: Guided setups to publish a status page, and to send telemetry and get alerted on it (#7081)
  • Translations: Session Replay, telemetry, trace pipeline, team, Slack and workflow keys in every language (#6868)
  • Network naming rules and Power BI views and refreshes in every Dashboard language, and a lookup key's kind in whole sentences (#6837)
  • Count status page subscribers' webhooks, and time held pages and pages again from when they were due (#6842)
  • Security Events read fully in every Dashboard language, and docs quote labels as drawn (#6861)
  • SLO figures, widgets, chart line names and docs in the reader's language (#6904)
  • Home is one overview page: its numbers open the products' own lists (#6857) (#6981)
  • Numbers in the reader's language: product examples, User Flows shares, telemetry totals (#6994)
  • Update AGENTS.md by removing obsolete content (#7136)
  • Dashboard words in the reader's language: CSV imports, explorer sentences, Search as a noun, one Hindi word for incident (#7201)
  • Charts step in the reader's time zone; custom time ranges name their years (#7204)
  • When this goes down: owners owner rules add, status pages through monitor groups, every language (#7205)
  • Leave out network devices whose monitor is off or archived, and show honeycomb tooltips in full screen (#7226)
  • License wording in the reader's language: Settings > License, the edition pill's name, the user count line (#7315)
  • Say LLM provider, name the record's daily AI token limit, link alerts' AI settings (#7316)

🐛 Bug fixes

  • Translations
    • Keep counts with their slash, and read the Tatweel as Arabic, in right-to-left sentences (#6869)
    • One meaning per Dashboard key: CSV line, Open, tab counts, permission names, Persian signal words (#6991)
    • The edition badge in the reader's language on the sign-in pages and in the Admin Dashboard (#7006)
    • Phone numbers read +447700900123 in every language (#7137)
    • A check's alert condition and OneUptime's status page notes read in the reader's language (#7187)
    • Host, Kubernetes, timeline and count-pair figures in the reader's digits (#7218)
    • The Dashboard's pages in Persian, and the status page grid and widget words (#7088, #7089) (#7227)
    • The on-call setup's add-balance path reads as the Dashboard draws it in Spanish, Hindi, Italian and Norwegian (f20bf90)
    • Setup health's Add Notification Rule reads as the Dashboard's add buttons do, in nine languages (82271eb)
    • Persian sign-in copy names the Passkeys page as the Persian Dashboard draws it (df26dd7)
    • The error words sit before the Accounts form page's sentences again, in every locale (f7558c2)
    • Open OneUptime Health names the page as the Admin Dashboard words it, in every language (b6782fb)
    • Setup Health says health with Japanese's and Hindi's one word, on the Dashboard and in the docs (cbdd35f)
  • AI
    • A result a long answer left out is no longer counted as seen, by the loop detector or the code-change check (#6977)
    • The "Go to" arrow in Ask AI points the reading direction in Arabic and Persian, and two guards pass again (#7010)
    • Investigation reasons in the API name the LLM Providers setting, as the AI card does (#7140)
    • Setup health's fixes name Notification Settings and Billing with the folded section each is in (bb76849)
    • Ask AI's setups select only what every reader may read; who members are and the project's name are read as OneUptime (7628443)
    • The Test LLM Provider dialog's request and response read in every language (0a41541)
    • Ask AI's page catalog has the User Profile's feedback words and settings Search has (8e14d4a)
    • The Admin Dashboard's Persian LLM provider cost field says what the Dashboard's says (07f27b3)
  • On-Call
    • The Connect user group dialog stays one page, and main's long-form guard passes again (#6786)
    • A dropped connection no longer marks a sent notification as Error (#6961)
    • No send result over the person's answer, error answers recorded, old Sending rows settled (#7219)
    • A label block never weighs a test page's severity against every labelled record (5adbcce)
    • The guided setup reads and turns on SMS and calls through the channels' one definition (b974943)
    • The guided setup asks who may add balance before it recharges (b740324)
  • Dashboards
    • Side-menu counts update after bulk deletes and resolves, and follow live changes (#6919)
    • English names and titles cut at their own end on Arabic and Persian boards (#6986)
    • Card bodies line up with their titles in every product (#6956) (#7171)
    • Typed English lines read their own way on Arabic and Persian pages; site coordinates keep their minus sign (#7086, #7099) (#7189)
    • The telemetry setup's alert step draws one filled button, written as one choice (f923363)
  • Code
    • A task past 200 turns pushes to its open pull request and shows its newest turns (#7002)
    • A Log link opens the turn it names, and task rows read each task's newest turn (#7130, #7131) (#7257)
    • A reader who has just come to the end of a task's page is followed to the newest step, and one who has just scrolled up is left there (90a3ce5)
  • Docs
    • Quote the rail's renamed vital labels and the translated Other pages (#6777)
    • The docs search marks the words it found without building a pattern from them (5af4009)
    • The Self-Hosting Guide's Kubernetes check links to the chart's troubleshooting guide instead of downloading diagnose.sh from GitHub (52b2a1d)
  • Feedback
    • The first-week check-in's links hand AppLink a string, so the Dashboard compiles (9fc3541)
    • The ease question's scores keep their look while an answer is sent (4f0bbff)
    • The GitHub issue's English is worded beside the issue builder, not in a Dashboard component (05a22c2)
  • Monitors
    • Monitors with monitoring turned off no longer count as problems in the mobile app, dashboard lists and Ask AI (#6953)
    • Findings read as whole sentences; window types and their description in every language (#6993)
    • Time with monitoring off no longer counts in uptime, status pages, SLOs or group graphs (#6997)
  • Admin
    • The setup checklist takes the Backups page's address from Common, so the Community build never names it (3f74242)
    • The Feedback page's two tables say they keep the server's order, so the Admin Dashboard compiles (0bd4134)
  • Admin Health
    • npm run doctor and diagnose.sh send the cluster key to a POST /doctor, and the GET takes none (06414d3)
    • npm run doctor and diagnose.sh send the cluster key URI-encoded, so a key with special characters is accepted (53eee2d)
  • Ask AI
    • A read's card drawn plain, a table's short words kept whole, and lines read then lost said so (#7172)
    • A read's card in the reader's language, and the PDF card draws all of its text (#7175, #7202) (#7322)
  • Audit Logs
    • A failing audit log export warns a day before its waiting entries are deleted, even after the retention changes (#7155)
    • A failing export's email says entries are being lost once their date has passed (#7321)
  • Data Security
    • A store's kind longer than its column wraps instead of being cut (01c5c61)
    • Telemetry scans read every service's traces and AI calls again (3af8d09)
  • Email
    • A screenshot a description references many times stays fast and small (#6951)
    • A screenshot or link defined once shows at every reference, even in a field cut to fit (#7198)
  • Slo
    • Rule windows, the 1x note, the create form's help and checks and the Settings budget line in the reader's language (#7161)
    • The recommended error budget policy is added whole, its 0% tier included (#6978); reminder intervals run 1 minute to a year (#7350)
  • Status Pages
    • Uptime bars are the visitor's own days, and a monitor group's day adds up to at most a day (#6883)
    • A resource off the grid sets its two axes apart the reader's way (9c1a682)
  • Telemetry
    • An ingestion budget answer that is not a status never takes an explorer down; offline explorer suites green (#6486) (#7138)
    • Keep an exporter header whose value holds '=', and warn about a header that cannot be read (#7139)
  • UI
    • What you save in an Edit dialog shows at once, without a reload (#6929)
    • The no-email, invitation link, custom domain and feedback descriptions fit their two lines again (9964c9a)
  • Workspace
    • Summaries say which channels did not get them (#6998)
    • Test Rule failures in their own dialog, Slack says which channels it could not find, unsendable summaries stop retrying every minute (#7200)
  • App Platforms: Say why an app's numbers are empty, count App Service instances and show its Azure Monitor metrics (#6792)
  • Glossary: A dropdown whose title is a defined term keeps its name, and so does the word (b762ca7)
  • Guided Setup: The website setup sends someone who may not page a team to a project owner or admin, not to "a project admin" alone (3dc067d)
  • Helm: The exporter headers and every other env value from a setting reach the pods whole (#7163) (#7317)
  • Infra: Systemd kinds as written, Rollout Status names its badge's states, Last seen on two lines (#6995)
  • Mattermost: A rule's team that is not a Mattermost id names none (3a72f01)
  • Migrations: The network device re-stamp runs above the runbook migrations, as every migration added since 14.0.108 does (e6e1a48)
  • Models: Product feedback's kind and a project milestone say the values they take as their enum's (a87959f)
  • Monitor Group, Status Pages: Monitors with monitoring off decide no status (#6478) (#6980)
  • Network Devices: Device polls stop failing on lock timeouts, and rates stay right while a telemetry backlog drains (#7385)
  • Notification: Delivery reports are never undone or lost, and a failed WhatsApp page shows on the on-call timeline (#6867)
  • Products: Choosing and pinning products refuse in sentences that say what to do next (04aff4d)
  • Search: One or two letters inside a word no longer hide a page's initials (116b31b)
  • Security: A logs and traces search the server could not explain says why once, on its one line (3a32c7e)
  • Shell: A page whose connection drops before its Tailwind arrives still draws the can't-start card inside its window, with no uncaught error (2319c78)
  • Slack: Rules that name no workspace follow an organization's new default when OneUptime leaves the old one (#6902)
  • Tables: English names read their own way in Arabic and Persian lists and cards (#6849)
  • Terraform: Read monitor step values written another way as OneUptime stores them (#6765)
  • Twilio: On-call test pages and the server setup's test sends say which Twilio account they use (aea52dc)
  • Workspace Summary: Lookback Period (Days) takes 1 to 365 whole days, and a summary stored below a day covers 7 (#7352) (#7382)
  • The reds on main - Common compile-tests, revocation cache, Milestone words, docs and guards (#6952)
  • Reach Help, Search and the Glossary at tablet widths (#7037) (#7197)

⚡ Performance

  • Sign In: The sign-in pages, a status page and a public dashboard download 7 KiB less before they draw - a title's word with its definition loads only where a word is marked (5cf9800)
  • Status Pages: A status page downloads 18 KiB less before it draws - a side menu's count no longer loads socket.io to find no live connection open (736be41)

📚 Documentation

  • AI: The Korean Ask AI page's object particle after Auto-run suits the word (13da2a7)
  • Guides: Follow one page from start to finish to get paged by phone, SMS or push, or to publish a status page on your own domain (#7398)
  • Introduction: A glossary of every word OneUptime uses, Which One Do I Use? for the look-alikes, and a fuller Core Concepts (#6870)
  • Inviting People: What Invite does on a self-hosted server that cannot send email, in all 17 languages (#7159)
  • Marketplace: Google Cloud Marketplace will sell self-hosted OneUptime Enterprise only, not OneUptime Cloud (#6785)
  • Mattermost: A button in a team the bot was taken out of says so (4322b02)
  • Monitors: Monitor Templates names Request headers as each language's Dashboard draws it (10b2d6f)
  • On-Call: The Russian escalation rules name a team responder as the Dashboard draws it (4766051)
  • Self Hosting: A Self-Hosting Guide from install to a test email, and a config.env that opens on HOST (#7008)
  • Ux: The rulebook names the Persian words guard and the widget setup line guard (a633674)
  • Website: The welcome checklist names the guided setup each step opens, in all 17 languages (#7144) (#7312)
🧰 Maintenance (65)
  • E2E
    • The Enterprise specs read Audit Logs' sentence with sign-ins and sign-outs (7e8b309)
    • A workflow's Advanced section stays open after a reload once opened by hand (663e5d1)
    • The navigation search fixture writes its dates in the German and Arabic it draws (de6ca79)
    • Data Observability's Overview that cannot be read says #6836's words and offers Try again (037dc24)
    • The Monitor Overview fixture answers GET /global-config/vars as the server does (3dbd747)
    • How OneUptime works waits for a definition Escape put away to leave the page before reading the next word's, for Dashboard Offline UI (17) (f435a22)
  • Status Pages
    • The group day bars' reference check runs as test.each over the zones, as no-loop-func asks (8fcc123)
    • A test report for a page that is gone expects the words #6836 gave it (5532c11)
    • Public link is the guided setup's word again, and the address cards still never say it (7b37bf8)
    • The Resources page's header starts with View Documentation, New Group after it for someone who can create (b6ab512)
    • Arabic lists a CSV column's valid values with its own comma (283e3c6)
  • AI
    • The setup plan's chat-turn tests run on a project that pays as it goes, as Common Test bills (1fecc73)
    • Prettier on the Test LLM Provider dialog's exchanges and their suites, and the suite's arrows with block bodies (293ab3f)
    • The setup plan's room tests say the project may pay as you go (c964d75)
  • Dev
    • Agents file follow-up issues only for broken things (#6934)
    • The UX rulebook, every rule a page keeps with the test that enforces it (#6999)
    • UPDATE AGENTS.md - condense it and move the migration and notification guides to Docs (#7123)
  • Security
    • The case and approval pages' no-views check leaves the product's Pin out (a9bf448)
    • Case setup pages that cannot be read say #6836's words, and Try again reads them again (59f0e32)
    • The Persian Templates menu's English name and first line are lines of their own that read left to right (6dd80bf)
  • CI
    • UxRulebookInStep and PhoneNumberTextGuard pass again on main (#7188)
    • Drop MobileApp's audit exception for the glob advisory, which its new lockfile no longer has (93b44ab)
  • Data Security
    • The telemetry findings card's failed read says what the server could not explain (ce9819c)
    • The scanner's loading test type-checks under compile-tests (fec4969)
  • Docs
    • The Teams page's 58-byte 404 is checked against the error answer as it is written now (fa3a865)
    • The upgrade guide's bold "team" is prose that is also a Dashboard word now (8006aaa)
  • Errors
    • The explanation suite draws BasicForm without a type argument, as every other suite does (0b37fd2)
    • The error message scan and its guard name their patterns, as wrap-regex asks (d422c60)
  • Feedback
    • The feedback service's spies name the methods they stand in for, and the migration suite drops an unused import (dc1ff21)
    • The feedback guard's and API's patterns named, and the migration's name public, as the lint rules ask (5306d3a)
  • Incidents
    • The link dialog's already-linked error still reaches the translating Alert (565510e)
    • A refused Custom Fields on Create save shows what an unexplained error means (c625f03)
  • Monitors
    • A monitor page's failed read says what an unexplained error means (0b6ff42)
    • The overview's side column holds When this goes down, and the uptime summary asks in the Dashboard's zone (7b83e68)
  • On-Call
    • The readiness page's On-call rules link is told from the rules' defined term (9d4fe6b)
    • The Redis counter guard lists the test pages counted per project and hour (a3b626c)
  • Products
    • The registry's lists-and-Code table is typed as the onboarded products it holds (724f48d)
    • The products suites type their spies and mocks as jest-mock's, which @jest/globals hands back (1d0126b)
  • Public Dashboard
    • A bare Server Error keeps the sent theme and says what it means (51f8d75)
    • A metadata or domain read that fails with a bare Server Error says what it means (44cb1ed)
  • Push
    • The older relay answers an error as relays before #6836 did (c3063a9)
    • A refused repeat change that only says Server Error says what it means (0844d26)
  • Search
    • "uptime" opens the website guided setup first, the imports from UptimeRobot and Uptime Kuma right after it (78a9717)
    • The refresh-aware request guard knows Search's read of the docs' public search, as it knows the Glossary's (abd5223)
  • Telemetry
    • The setup API suite's service has its type, as the typedef rule asks (02a4b2d)
    • An ingestion budget answer that is not a status says what the server could not explain (a7cfcf3)
  • Admin: The Admin Dashboard's unfolded menu lists Feedback (07e770a)
  • Custom Fields: A record's Custom Fields card that cannot be read says #6836's words (398e183)
  • Dashboards: The bar color preview's failed read says what an unexplained error means (80ca457)
  • Dates: The dates guard knows the year a yearly chart axis writes (6d1fc2b)
  • Deps: App's MCP server takes hono 4.13.16 and @hono/node-server 2.1.6, past their new advisories (0e02bb3)
  • Journeys: The seven core jobs a newcomer does are counted on every pull request, and fail when one gets longer (#6882)
  • Mobile App: Take Expo SDK 57's latest patch releases (expo 57.0.33) (36da33f)
  • Navbar: Setup health, a page of Home, lights no product (5a641bb)
  • Network: The packet loss row is checked by running it, now that its numbers follow the sentence's digits (e87b5bc)
  • Openstack: The amphora certificate with 21 days left is dated from today (0cecc3d)
  • Runbooks: Each runbook menu test starts from the menu's defaults, not a fold an earlier test made (1171ddb)
  • Server: The sign-in link and push switch suites count reads of their switch, not push's sending health (f3bd6c7)
  • Session Replay: The prerendered vitals spec reads the fact's Navigation label (bb23a24)
  • Settings: Project Settings' Basic holds Products, between Project and Labels (d4958c3)
  • Traces: The every-language suites read a sentence a count splits as the one marked sentence it is (b5b0c9c)
  • Translations: The extract test knows Setup health's words and an unexplained error's, and that Feedback is skipped (ec793b4)
  • White Label: A bare Server Error on read shows what it means (0487e78)
  • Workspace: A channel members read that fails shows what an unexplained server error means (c0138db)
  • npm audit fix (#7184)

⬆️ Upgrade

Back up first, then follow the upgrade guide. On Docker Compose, run npm run update on the release branch. On Kubernetes, helm upgrade to version 14.0.109 of the chart.

Full changelog: 14.0.108...14.0.109

Contributors: @nawazdhandala, @simlarsen

Don't miss a new oneuptime release

NewReleases is sending notifications on new releases.