90 changes since 14.0.106: 20 new or improved features, 23 bug fixes, 7 documentation updates and 40 maintenance changes. The busiest areas: Translations, Network and Data Observability.
✨ New and improved
- Data Observability
- On-Call
- Translations
- Teams
- Crossplane: Manage your OneUptime project from Kubernetes with a Crossplane provider (#6613)
- Monitors: Monitoring Logs on every monitor but Manual, with what each telemetry check saw (#6640)
- Network: Naming rules - name discovered devices by your naming convention (#6619) (#6670)
- Notifications: Delivery success and time-to-send metrics for platform SLOs (#6669)
- Rum: Product analytics part 2 - custom events and metrics, with event trends, funnels and user retention (#6612)
- Slo: Post error budget policy changes to Slack, Microsoft Teams and Mattermost (#6595)
- Telemetry: Usage shows exceptions as their own signal, apart from traces (#6588)
- UI polish: The Arabic Dashboard's last English words and right-to-left lines (#6654)
- Arabic, part 2: the Dashboard translated through (#6633)
🐛 Bug fixes
- Network
- A new naming rule starts on, without asking "Enabled?" on its create form (2979daa)
- The naming lookup table's error is drawn as every field's error is (6209c20)
- The naming preview's old-to-new arrow points the right way on a right-to-left page (1dbd2e6)
- A discovered host's naming rule shows from small screens up even under a stylesheet that forces .hidden (1ace8ea)
- Predicting a scanned host's site runs the site assignment rules with a pattern allowance of its own (eda8519)
- The naming rule engine reads its rules as every rule engine does, and says when a read comes back full (0e0ad7f)
- Translations
- The Admin Dashboard says "Filter by" and "Copied to clipboard" as the Dashboard now does, in 14 languages (fca0ce7)
- The two-factor setup key's strings sit before the Accounts form page's sentences again, in every locale (313f0e0)
- The network naming rules and data lineage pages read in Arabic (4c24c25)
- Session Replay's empty-list sentence names its placeholder {{diagnosis}}, so the health word guard reads it as no word for health (b90164f)
- Monitors
- Teams
- Ask AI: A code commit or pull request that rewrites a file Ask AI read only in an earlier answer says so before you approve it (#6569)
- Audit Logs: A failing export warns before entries are lost, whatever retention a project stores, and the API holds the retention to 7 to 180 days (#6560)
- Data Observability: A Dataverse host's cloud is read with the cloud's own suffix pattern (745e0b8)
- Notifications: App compiles again - MailService's send no longer declares a required argument after an optional one (7d73bd9)
- Rum: The recorder diagnostics explain the five product analytics codes, in every language (067c51c)
- Status Pages: Team-added webhook subscribers follow the private network settings (#6608)
- Twilio: One project default for SMS and one for calls (#6602)
- Two Factor Auth: QR codes draw again, and a setup key is offered for anyone who cannot scan (#6649)
- UI: Five product analytics and data observability descriptions fit their 150 characters, in every language (5ba70ef)
📚 Documentation
- Translations
- The translated telemetry, network, Ceph and telemetry monitor pages name the criteria as each language's Dashboard now draws them (f0297cd)
- The translated monitor pages name each criteria check, condition and aggregate as their language's Dashboard now draws it (2024b87)
- The translated database health monitor page names its checks as each language's Dashboard now draws them (bb24b2c)
- The translated Session Replay page names Maximum Value as each language's Dashboard draws it (b8fb237)
- The translated probe, check, criteria and integration pages name each criterion as their language's Dashboard draws it (2c6bb2f)
- Data Security: The Data Security overview lists Microsoft Dataverse among the databases you run, in every language (6ce8688)
- Ko: Two Korean pages' particles suit the bold labels before them (b855973)
🧰 Maintenance (40)
- Rum
- The session replay and product analytics erasure suites hold erasure to the product analytics events it now deletes (c9184ee)
- The erasure trace ids suite stands in for the product analytics events a batch now deletes, between the summaries and the header (126c997)
- The User Flows wiring finds its menu item in the Product Analytics section, where it moved (54abdda)
- The product analytics docs facts read the page and the side menu as the Events, Funnels and User Retention pages made them (c4fd9e8)
- The RUM settings menu test finds User Flows under Product Analytics, where it moved (227beff)
- Teams
- The shared resources review lists a team's owner tables, read by every member as teams are (7841e2f)
- The offline lists' fixture answers a team's owners, which the Teams list reads since teams have owners (d4b541d)
- The detail cards' fixture answers a team's owners, which the team page's Owners card reads (29d18e9)
- Data Observability
- Notifications
- Owners
- Session Replay
- Slo
- Telemetry
- AI: The release suite's daily AI limits test opens the Daily limits card's Edit, beside Limits per run's (609e1c9)
- Alerts: The alert docs facts read the Root Cause page as it now draws its field, in the reader's language (a6e4e2d)
- Ask AI: The Ask AI fixture's header leaves Search off below lg, as the Dashboard's does, so a Persian phone fits its translated Ask AI button (cac6f13)
- Audit Logs: A naming rule's lookupKey is listed as no secret - it names what the rule's lookup table is keyed by (3fcda83)
- Dashboards: A Persian dashboard table's threshold reads in Persian digits, as Persian writes every number (d5ac210)
- Deps: Node-forge 1.4.3 and fast-xml-parser 5.12.0, past the advisories published today (053189e)
- Monitors: The root cause sentence's linear-time check times the work with fastestRun (ba52820)
- Network: The rule criteria subject suite knows a naming rule's kind, so it reads "All network devices" (d2fa81d)
- On-Call: The create steps guard reads the on-call fan-out inside the page timing that now wraps it, and holds that wrapper to it (feb9ae5)
- Onboarding: The release suite's empty monitors tile test presses the explanation's Create Monitor, which the empty table no longer repeats (96fdf0a)
- Ops: The Postgres suites check reads a flag from a suite's code, not from a template literal quoting another suite's (333e77e)
- Perf: The router gate's speed check times the two apps' batches in turns, so a busy stretch of the runner slows both alike (4c28193)
- Status Pages: The Arabic page's tab order is read from one frame, as the browser suites read the boxes they compare (c31cb37)
- Syslog: The speed checks time a whole message as the fastest of three runs, as they time each rule's pattern (9eddb77)
- Types: The naming rules and two-factor setup tests type-check under Common's compile-tests again (c6c1f7a)
- UI: The provider logos guard keeps the two-factor QR code's SVG data URL on purpose, as a code and not an icon (77e928f)
- Workflows: The workflow docs keep the Send Email step's Email Body in English with its other settings (0aca5ef)
- Common's compile-tests type-checks the server tests again (8 errors in 6 files from recent merges) (#6643)
- Prettier over 37 files merged unformatted since 14.0.106 was cut, as js-lint asks (60da7de)
- Three suites use the shared regex escape, and draw a tab-free character without a first-only replace (b2d876e)
⬆️ 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.107 of the chart.
Full changelog: 14.0.106...14.0.107
Contributors: @nawazdhandala, @simlarsen