github OneUptime/oneuptime 14.0.102

latest release: build-number-9429
2 hours ago

55 changes since 14.0.101: 18 new or improved features, 16 bug fixes, 1 performance improvement, 3 documentation updates and 17 maintenance changes. The busiest areas: MCP, API and Telemetry.

✨ New and improved

  • MCP
    • The coding agent plugin package for Cursor's Marketplace and the Claude directory (#5530)
    • Each release publishes the coding agent plugin to its own repository (#5540)
    • The ChatGPT plugin carries the coding agent skills, for ChatGPT and Codex (#5573)
  • Analytics: The marketing webhook reports a project's first payment and a subscription ending, and a converted trial reaches Google Analytics (#5539)
  • Blog: Posts link related posts, show their last update, and are sent to IndexNow (#5541)
  • Hosts: Which hosts need attention first, each host's health and readings, four new alerts and uptime (#5535)
  • Product marks: One-colour inline SVG everywhere, no logo images (#5521)
  • Resource pages: Details cards say only what the hero and header do not, one casing in every language; a Proxmox part says when it cannot be read (#5553)
  • Security: In your logs and traces under Connected Signals; monitors, cloud resources, serverless functions and a member's on-call and teams; the Security card in browser fixtures (#5522)
  • Session Length: Admin Dashboard > Settings > Session Length - how long a sign-in lasts, for password and SSO sign-ins (Enterprise) (#5570)
  • Sign In: Continue with Google on the sign-up and sign-in pages (#5542)
  • Signup: Keep the Google Ads campaign a visitor came from (#5579)
  • Telemetry: Leave a facet value out (is not) in the Logs, Traces, Exceptions and Metrics explorers (#5574)
  • Terraform: People by email address in every resource, oneuptime_user by email, team members invited by address (#5536)
  • VMware: World-class vCenter pages - Needs attention, each host's real state, a page for every part, Host Not Responding (#5575)
  • Navigation, next: every side menu lights a row's list, only long words hyphenate (tested in WebKit), every trail title in every language (#5524)
  • Terraform/OpenTofu provider audit (block 48): choices checked at plan time, imports that settle, secrets kept secret, rows imported by what they join (#5576)
  • i18n(dashboard): the session length and Google Ads column titles in every language (4add1ba)

🐛 Bug fixes

  • API
    • The OpenAPI spec lists the fields and operators a telemetry query takes, time ranges and attribute filters included (#5537)
    • The OpenAPI spec lists every field a list can filter, sort and select by, with the operators each takes (#5543)
    • The OpenAPI spec lists the fields a telemetry record is created with, and that an update changes none (#5552)
    • A telemetry create's spec lists the fields with a default too, and an update of an entity key is refused (#5554)
    • Telemetry records can be created through the API, and are kept for their retention (#5556)
  • MCP
    • The website and README say how to connect an AI agent: the address, signing in and the plan it needs (#5527)
    • A filter written another way, such as MongoDB's $regex, is refused with an error that says how to write it, instead of matching nothing (#5533)
  • Telemetry
    • A group by is held to the same column permissions as a select (#5551)
    • A create writes each value as its column's type, and refuses one that is not (#5555)
  • Accounts: An invitation's sign-up link no longer sends the invitee's email and claim token to Google Analytics (#5532)
  • Blog: AI answers cite a post's page, not its Markdown copy (#5531)
  • Hosts: A failed systemd unit's alert names the unit and says how to look at it (eba396d)
  • Permissions: A member limited to some labels or to what they own creates telemetry only for those resources (#5567)
  • Signup: Long ad links and phone numbers typed with spaces no longer block sign-up, and Microsoft sign-ups keep their campaign (#5528)
  • Website: The VMware page lists Host Not Responding and says twenty-five monitors; the queues mockup reads #5553's labels (689f603)
  • Workspace: A reaction's name loses its colons in one pass (be5990c)

⚡ Performance

  • MCP: AI agents load the tool list in about 59,000 tokens instead of 300,000, and look up a resource's fields with oneuptime_describe_resource (#5529)

📚 Documentation

  • Sign In
    • Continue with Google's Google Cloud project and OAuth clients are set up (#5544)
    • Continue with Google's branding is verified and shown on Google's sign-in screen (#5545)
  • Telemetry: The Services list's Technology column, as each language's Dashboard draws it (049ba46)
🧰 Maintenance (17)
  • Telemetry
    • The create statement suite reads both rows without the s flag (944eed3)
    • The group-by permission suites stand in for the project's plan, as CI runs them with billing on (e2cc33a)
    • The create-values suite stands in for the project's plan, as CI runs it with billing on (5c9a29c)
  • E2E
    • The Kubernetes pages fixture matches a network metric by its whole name (6e03339)
    • The checks that mean the status page app ask for /status-page/ (eabb86b)
  • Logos
    • Continue with Google keeps Google's full-colour G, as Sign in with Microsoft keeps its logo (5e35c76)
    • The Traces Analytics and Code suites read the controls and marks #5521 draws (684beb0)
  • Ops
    • A suite only the Playwright image runs may launch WebKit (f222b3f)
    • The coding agent plugin release suite runs a step's script from a file (b779bdb)
  • API: The Resource AI access route test finds the Host CRUD router #5535 mounts through HostAPI (3f930d8)
  • Blog: #5541's suites time the fastest of a few runs, and escape with escapeRegExp (0e812d6)
  • Common: The signup campaign suite types its spies as @jest/globals makes them (85f6033)
  • Docs: The website may name a docs page's Markdown copy for an AI agent (b41fa6a)
  • Hosts: The host Overview's (i) wiring reads its one Details card as #5535 built it (250eea1)
  • MCP: The coding agent plugin's suite reads its skills' examples as the server now does (1ee3274)
  • SMS: The Twilio number lists take a grouped number, as the phone field does (9c2f00b)
  • Translations: The extractor's pinned source roots include #5553's three (8e70fcd)

⬆️ 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.102 of the chart.

Full changelog: 14.0.101...14.0.102

Contributors: @simlarsen

Don't miss a new oneuptime release

NewReleases is sending notifications on new releases.