> ## Documentation Index
> Fetch the complete documentation index at: https://docs.decimal.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> New features, improvements, and fixes in Decimal.

<div className="dcl-activity-scroll not-prose">
  <div className="dcl-activity">
    <ul className="dcl-activity-days" aria-hidden="true">
      <li>Sun</li><li /><li>Tue</li><li /><li>Thu</li><li /><li>Sat</li>
    </ul>

    <ul className="dcl-activity-squares">
      <li data-level="0" aria-hidden="true" />

      <li data-level="0" aria-hidden="true" />

      <li data-level="0" aria-hidden="true" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="4" />

      <li data-level="0" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="4" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="0" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="3" />

      <li data-level="0" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="0" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="0" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="2" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="2" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="2" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="1" />

      <li data-level="1" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="1" />

      <li data-level="2" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="2" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="1" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="1" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="2" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="0" />

      <li data-level="1" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="4" />

      <li data-level="0" />

      <li data-level="0" />

      <li data-level="4" />

      <li data-level="3" />

      <li data-level="3" />

      <li data-level="0" aria-hidden="true" />

      <li data-level="0" aria-hidden="true" />

      <li data-level="0" aria-hidden="true" />
    </ul>
  </div>
</div>

<Accordion title="Jump to a month">
  <div className="dcl-months">
    [August 2026](#august-12-2026)

    [July 2026](#july-31-2026)

    [June 2026](#june-25-2026)

    [May 2026](#may-2026)

    [April 2026](#april-2026)

    [March 2026](#march-2026)

    [February 2026](#february-2026)
  </div>
</Accordion>

<Update label="August 12, 2026" tags={["Integrations", "Agents"]}>
  ## Connect Auth0, Clerk, or WorkOS

  Identity questions no longer mean leaving the ticket. Connect your provider from **Settings → Integrations** and the agent checks SSO and directory sync while it investigates. See [Auth0](/integrations/auth0), [Clerk](/integrations/clerk), and [WorkOS](/integrations/workos).

  ## Secure links, roadmap answers, and your warehouse

  The agent reads what a customer sent through a [SendSafely](/integrations/sendsafely) link, instead of stopping at the link. Before it tells someone a feature doesn't exist, it checks [Canny](/integrations/canny) for the idea, with status, votes, and any ETA. [BigQuery](/integrations/bigquery) answers the number a ticket turns on, and [Solana](/integrations/solana) looks up a Mainnet transaction by signature.
</Update>

<Update label="August 9, 2026" tags={["Support"]}>
  ## Resize the ticket list to fit your work

  Drag any column border, double-click to reset, and your widths are waiting next time. Titles fit now too: the Ticket column starts wider.

  ## Transcripts say what the agent did

  A tool step names the log group it searched or the term it looked for, instead of handing you a result count and leaving you to guess.
</Update>

<Update label="August 6, 2026" tags={["Support", "Playground"]}>
  ## Format a signature the way you'd expect

  Select text and press **⌘B**, **⌘I**, or **⌘U**. Paste a link over a selection and it becomes a hyperlink. The preview shows exactly what your customer will see. Markdown typed by hand used to sit there as literal text, which was easy to mistake for broken.

  ## Sharper answers in Ask Data

  Ask something with an exclusion in it and you get one exact answer rather than an approximation. See [Ask Data](/playground/ask-data).

  Zendesk connections also hold up under heavy API traffic, and can idle 60 days instead of 30.
</Update>

<Update label="August 3, 2026" tags={["Support", "Knowledge Base"]}>
  ## Refunds check who actually paid

  Before issuing one, the agent compares the email that opened the ticket with the email on the payment. If they differ, the refund waits for a human, and the approval screen shows you both. Amounts now read **\$206.00** rather than 20600. See [Stripe](/integrations/stripe).

  ## Follow an article back to its ticket

  Hover the linked ticket to see its number, title, status, and assignee. **For you** remembers your choice across refreshes, and you can decide what it means under **Settings → Preferences**.
</Update>

<Update label="July 31, 2026" tags={["Support", "Playground"]}>
  ## The ticket you searched for comes first

  Search the list and the closest match sits at the top, instead of behind whatever arrived most recently. Column headers still sort explicitly, and clearing the search puts things back.

  ## Templates worth trusting, and a key for your voice

  Break ticket volume down by account or requester. Customer hotspots drops spam and test tickets, so your top accounts are the real ones. One for the keyboard crowd: hold **Option** for push-to-talk, or tap it for hands-free.
</Update>

<Update label="July 28, 2026" tags={["Playground"]}>
  ## Charts worth looking at

  Line charts have lost the white gap that sat at every data point. Hovering highlights the point you're on, and a full-size chart now sits in its own titled card, which helps when one answer carries several.
</Update>

<Update label="July 25, 2026" tags={["Agents", "Playground"]}>
  ## Drafts that don't guess

  When the agent drafts an acknowledgment, it reads your articles first, and it can't claim a feature, price, policy, or timeline that nothing backs up. Found nothing relevant? It acknowledges the message and stops there. These stay drafts for your team.

  ## Titles that tell you what happened

  A conversation names itself while the answer is still streaming, something like "Stripe webhook signature verification failing". A title you set by hand always wins.

  Admins can turn the public agent on or off in **Settings**.
</Update>

<Update label="July 7, 2026" tags={["Integrations", "Agents"]}>
  ## Zendesk over OAuth

  Authorize through Zendesk's own login instead of minding an API token, and tokens refresh themselves. Already on a token? Move across without losing your sync settings. See [Zendesk](/integrations/zendesk).

  **Yolo mode** is now called **Full autonomy**, which describes the toggle rather better. See [Full Autonomy](/support/full-autonomy).
</Update>

<Update label="July 4, 2026" tags={["Knowledge Base", "Slack"]}>
  ## Article diffs you can actually read

  Code blocks keep their special characters, ordered lists keep their numbering, and headings stop duplicating themselves halfway down.

  ## One Slack message, not two

  Reasoning and answer now arrive together. With [ClickHouse](/integrations/clickhouse) connected, the agent finds and queries your log tables mid-investigation, and shows you the SQL it ran.
</Update>

<Update label="July 1, 2026" tags={["Knowledge Base", "Integrations"]}>
  ## Compare article edits the way you'd read them

  The **diff** view now renders the whole article: headings, lists, code blocks. Changes show inline, green for an addition, struck-through red for a removal. Before this you got raw HTML tags and a few lines of context, and guessed at the rest.

  ## ClickHouse joins the logs integrations

  Add your endpoint, credentials, and database under **Settings → Integrations** and map your columns, without picking a single table up front. See [ClickHouse](/integrations/clickhouse).
</Update>

<Update label="June 25, 2026" tags={["Chat Widgets", "Integrations"]}>
  ## Make the widget sound like you

  Set your own header title and greeting from the embed snippet: add `headerTitle` and `greeting` to your `Decimal.theme()` call and the widget uses your wording instead of the default. A greeting with no subtitle collapses to a single line.

  ## Connect Intercom in one click

  Connecting Intercom is now a **Connect with Intercom** button and an OAuth handshake, with no API key to copy. Already on a key? **Switch to OAuth** swaps it over and keeps your synced history. See [Intercom](/integrations/intercom).
</Update>

<Update label="June 19, 2026" tags={["Support"]}>
  ## Attachments survive an escalation

  Attach a screenshot or a log file to a ticket you escalate and it lands on the Jira issue as a real attachment. They were failing silently as a **415** before.

  ## Escalations file as the right issue type

  A ticket tagged **Task** now creates a **Task**, rather than everything landing as a **Bug**. One for the triage queue: readiness checks run first, so an under-specified ticket comes back for detail before an issue exists.
</Update>

<Update label="June 16, 2026" tags={["Integrations", "Slack"]}>
  ## Hand over your MCP server's tools one at a time

  After a connection test, check off only the tools the agent may use, with **Select all** if you change your mind. Reopen it later and your choices are already ticked. See [MCP Servers](/integrations/mcp).

  ## Notion pages inside toggles and columns sync

  A page shared from inside a toggle, column, or callout used to vanish from both the sync and the shared list. It shows up now. See [Notion](/integrations/notion).
</Update>

<Update label="June 13, 2026" tags={["Support", "Integrations"]}>
  ## Decide whether a re-run writes back

  **Configure Re-run** has a new **Write to external system** checkbox. Leave it clear and the re-run stays local, a scratchpad for trying a different answer. Check it and the result flows to your ticketing system. Your everyday runs still write back automatically.

  ## Oodle links land in your region

  Log explorer links point at **US1** or **AP1** instead of a subdomain that never resolved, and the connect screen now has a region picker. See [Oodle](/integrations/oodle).
</Update>

<Update label="June 10, 2026" tags={["Support", "Integrations"]}>
  ## Two more log integrations: Render and Sumo Logic

  Add **Render** under Observability with your **API Key** and the workspace ID starting `tea-`, or **Sumo Logic** with your region and access keys. Either way the agent pulls those logs into an investigation the way it already does for Datadog. See [Render](/integrations/render) and [Sumo Logic](/integrations/sumologic).

  ## Filter tickets by type and portal visibility

  The filter dropdown gained **Type**, with a live count beside each one, and **Customer Portal**. Both apply to CSV exports, and both live in the URL, so a filtered view is something you can send a teammate.
</Update>

<Update label="June 7, 2026" tags={["Slack", "Integrations"]}>
  ## Long links stop breaking a conversation

  A long URL from a log tool used to spill across the page. It now collapses into a **View link** chip, with the full address on hover, both in Slack and in the app.

  ## Fewer fields for Oodle, more control over Zendesk

  Oodle takes two fields now, your instance and an API key, and fetches index patterns itself. On Zendesk, a field picker searches your live field list so you can leave custom fields out of a sync.
</Update>

<Update label="June 4, 2026" tags={["Slack", "Agents"]}>
  ## Share a screenshot and the bot reads it

  Drop an image or a PDF into a Slack thread and the bot looks at it: screenshots through vision, PDFs by pulling out their text, scanned pages as images. A file sent with only a short caption used to be skipped.

  ## Keep the agent out of a campaign's replies

  **Support Agent Settings** gained **Skip tickets with these subject lines**. Paste in a phrase from the blast and every reply, `Re:` threads included, waits for a human. Your list stays put if you turn it off.

  [Stripe](/integrations/stripe) also joined the integrations list this week, so the agent can verify a customer and find the payment a ticket is about.
</Update>

<Update label="May 2026" tags={["Agents", "Slack"]}>
  ## Work tickets from Slack

  Ask the bot for a ticket by ID, or search your tickets without leaving the conversation.

  ## Auto-close, beyond the pilot

  Auto-close and auto-acknowledgement opened up past the workspaces that trialled them. API keys moved to **Settings → API Keys**.
</Update>

<Update label="April 2026" tags={["Agents", "Chat Widgets"]}>
  ## Every agent, configured its own way

  Tone presets, an on and off switch, and a Tools tab for turning individual tools off. See [Agents](/agents/overview).

  ## Speak to a widget, read it in English

  Customers can talk instead of typing, and a reply can carry an English translation beside the original. The KB gap agent picked up write and review agents, so a proposed doc change arrives as a reviewed pull request. See [Automated Pull Requests](/knowledge-base/kb-gap-detection).
</Update>

<Update label="March 2026" tags={["Support", "Slack", "Knowledge Base"]}>
  ## Pull requests beside the ticket that caused them

  A PR viewer lists pull requests with rendered diffs and links back to the ticket that prompted the work. Ticket pages gained previous and next, so you can work a queue without returning to the list.

  ## Approve before it goes live

  Articles gained a visibility selector and nested collections, and routing categories and policies moved to a draft and approval flow. Connect more than one Slack workspace and filter conversations by workspace. Every API route now writes to an audit log.
</Update>

<Update label="February 2026" tags={["Knowledge Base", "Slack"]}>
  ## Doc gaps become pull requests

  The KB gap agent shipped with a dry-run mode: what a ticket reveals about your docs arrives as a proposed pull request, rather than a task for someone to remember.

  ## Slack conversations, in one place

  Slack conversations got a UI of their own, with an Observability dashboard alongside.
</Update>
