1"use strict";(globalThis.webpackChunknudgebee=globalThis.webpackChunknudgebee||[]).push([[1229],{28846(e,i,n){n.r(i),n.d(i,{assets:()=>a,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"releases/server/archive/0.98.0","title":"0.98.0","description":"What\'s Changed","source":"@site/docs/releases/server/archive/0.98.0.md","sourceDirName":"releases/server/archive","slug":"/releases/server/archive/0.98.0","permalink":"/docs/releases/server/archive/0.98.0","draft":false,"unlisted":false,"editUrl":"https://github.com/nudgebee/nudgebee-docs/tree/main/doc-server/docs/releases/server/archive/0.98.0.md","tags":[],"version":"current","sidebarPosition":-98,"frontMatter":{"sidebar_position":-98},"sidebar":"datasourceSidebar","previous":{"title":"0.99.0","permalink":"/docs/releases/server/archive/0.99.0"},"next":{"title":"0.97.0","permalink":"/docs/releases/server/archive/0.97.0"}}');var t=n(74848),s=n(28453);const o={sidebar_position:-98},l=void 0,a={},c=[{value:"What's Changed",id:"whats-changed",level:2},{value:"\ud83c\udfd5 Troubleshoot",id:"-troubleshoot",level:3},{value:"\ud83c\udfd5 Notifications",id:"-notifications",level:3},{value:"\ud83c\udfd5 Tickets",id:"-tickets",level:3},{value:"\ud83c\udfd5 Workflow",id:"-workflow",level:3},{value:"\ud83c\udfd5 Cloud",id:"-cloud",level:3},{value:"\ud83c\udfd5 AI",id:"-ai",level:3},{value:"\ud83c\udfd5 Integrations",id:"-integrations",level:3}];function d(e){const i={h2:"h2",h3:"h3",li:"li",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h2,{id:"whats-changed",children:"What's Changed"}),"\n",(0,t.jsx)(i.h3,{id:"-troubleshoot",children:"\ud83c\udfd5 Troubleshoot"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"feat: Add LogGroup pattern clustering support for Loggly"}),"\n",(0,t.jsx)(i.li,{children:"fix: Hide misleading +100% on zero Savings widget"}),"\n",(0,t.jsx)(i.li,{children:"fix: Correctly escape custom fields in New Relic NRQL queries"}),"\n",(0,t.jsx)(i.li,{children:"fix: Improve custom label mapping configuration in webhooks"}),"\n",(0,t.jsx)(i.li,{children:"fix: Compute productivity score from real investigation durations"}),"\n",(0,t.jsx)(i.li,{children:"fix: Ensure Loggly field discovery waits for search execution to complete"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"-notifications",children:"\ud83c\udfd5 Notifications"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"feat: Optimize Notification improvements"}),"\n",(0,t.jsx)(i.li,{children:"fix: Correct timezone calculations in system notifications"}),"\n",(0,t.jsx)(i.li,{children:"fix: Resolve errors when saving or editing notification routing rules"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"-tickets",children:"\ud83c\udfd5 Tickets"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"fix: Correct default field mappings for incoming ServiceNow webhooks"}),"\n",(0,t.jsx)(i.li,{children:"fix: Render the ticket comment field as a multiline text area in the UI"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"-workflow",children:"\ud83c\udfd5 Workflow"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"feat: Scroll long workflows vertically instead of shrinking to fit"}),"\n",(0,t.jsx)(i.li,{children:"feat: Allow workflows to trigger on general events without explicit event type filters"}),"\n",(0,t.jsx)(i.li,{children:"fix: Add character limits and counters to workflow description fields"}),"\n",(0,t.jsx)(i.li,{children:"fix: Increase script and JSON editor character limit in the workflow builder"}),"\n",(0,t.jsx)(i.li,{children:"fix: Run the system knowledge graph compiler hourly to improve index freshness"}),"\n",(0,t.jsx)(i.li,{children:"fix: Resolve response buffering and parsing errors in Model Context Protocol (MCP) integrations"}),"\n",(0,t.jsx)(i.li,{children:"fix: Return correct error status codes on missing workflow executions"}),"\n",(0,t.jsx)(i.li,{children:"fix: Include execution details in dry-run query payloads"}),"\n",(0,t.jsx)(i.li,{children:"fix: Error on switch misconfiguration instead of silent success"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"-cloud",children:"\ud83c\udfd5 Cloud"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"fix: Ensure AWS integrations target correct regional endpoints dynamically"}),"\n",(0,t.jsx)(i.li,{children:"fix: Improve Datadog query retry behavior and cloud resource log indexing"}),"\n",(0,t.jsx)(i.li,{children:"fix: Correct default network addresses in self-hosted Helm installation configurations"}),"\n",(0,t.jsx)(i.li,{children:"fix: Fix Azure CLI auth race condition in parallel workspace commands"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"-ai",children:"\ud83c\udfd5 AI"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"fix: Prevent database query failures when LLM integration credential encryption fields are blank"}),"\n",(0,t.jsx)(i.li,{children:"fix: Prevent duplicate AI troubleshooting agent runs on Kubernetes events"}),"\n",(0,t.jsx)(i.li,{children:"fix: Support all regional Datadog sites in observability configurations"}),"\n",(0,t.jsx)(i.li,{children:"fix: Strip CLI time parameters when translating queries to Datadog APIs"}),"\n",(0,t.jsx)(i.li,{children:"fix: Extract Datadog query strings successfully from structured JSON input"}),"\n",(0,t.jsx)(i.li,{children:"fix: Gracefully handle empty query with agent prefix"}),"\n",(0,t.jsx)(i.li,{children:"fix: Update deployment agent permissions to support automatic migrations"}),"\n",(0,t.jsx)(i.li,{children:"fix: Convert background database deployment from StatefulSet to standard Deployment to improve scalability"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"-integrations",children:"\ud83c\udfd5 Integrations"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"fix: Disallow command-based stdio transport in Model Context Protocol configurations"}),"\n",(0,t.jsx)(i.li,{children:"fix: Support multiple Model Context Protocol (MCP) integration setups under a single account"}),"\n",(0,t.jsx)(i.li,{children:"fix: Propagate detailed database errors back to MSSQL workflow tasks"}),"\n",(0,t.jsx)(i.li,{children:"fix: Support Dynatrace Query Language (DQL) timeseries filters in metrics queries"}),"\n",(0,t.jsx)(i.li,{children:"fix: Support executing workflow tasks against Microsoft SQL Server and Oracle databases"}),"\n",(0,t.jsx)(i.li,{children:"fix: Resolve trace indexing failures in Dynatrace integration metrics sources"}),"\n"]})]})}function u(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},28453(e,i,n){n.d(i,{R:()=>o,x:()=>l});var r=n(96540);const t={},s=r.createContext(t);function o(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(s.Provider,{value:i},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.