cpanel-ai-advisor (1.39-1+1.1.cpanel) stable; urgency=low

  * The AI Assistant no longer offers to delete an email account, forwarder, or other item that you did not name yourself. When it cannot tell which existing item you mean, it asks you instead of presenting an approval for something you did not request.

 -- Cory McIntire <cory.mcintire@webpros.com>  Tue, 28 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.38-1) stable; urgency=low

  * Require explicit mailbox targets before proposing email creation.
  * Improve reliability of streamed assistant responses.
  * Normalize optional action result fields without warnings.

 -- Cory McIntire <cory.mcintire@webpros.com>  Mon, 27 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.37-1) stable; urgency=low

  * Show a retry prompt when an AI Assistant response stream ends before completion.

 -- Cory McIntire <cory.mcintire@webpros.com>  Mon, 27 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.36-1) stable; urgency=low

  * The AI Assistant now adds a note when an answer describes steps for WHM,
  server administrators, or the classic cPanel interface, telling you
  which parts do not apply to your account. The answer itself is left
  intact.
  * Usage analytics sent from the AI Assistant backend now mask email
  addresses and session identifiers before they leave the server, matching
  what the browser already did.

 -- Jason Kiniry <jason.kiniry@webpros.com>  Mon, 27 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.35-1) stable; urgency=low

  * Prevent AI Assistant from displaying unsupported approval prompts in streamed replies.

 -- Cory McIntire <cory.mcintire@webpros.com>  Mon, 27 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.34-1) stable; urgency=low

  * A conversation turn is no longer rejected when the client sends an
  unexpected extra field inside an otherwise-valid history entry; the field
  is dropped before the request is sent, and the turn completes. An entry
  that is invalid beyond the extra field is still refused by the service.

 -- Maksym Lutsiv <maksym.lutsiv@webpros.com>  Mon, 27 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.33-1) stable; urgency=low

  * The AI Assistant no longer claims a change has been made while its approval
  card is still waiting to be approved, on either the streaming or the
  non-streaming interface, and no longer asks for a password that the approval
  does not need.
  * A conversation too large to process is now refused with a clear
  message on the streaming interface, instead of being sent onward.

 -- Cory McIntire <cory.mcintire@webpros.com>  Sun, 26 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.32-1) stable; urgency=low

  * Approval cards now name what an action will change, such as
  the mailbox, domain or database, and say when a password is being set
  without ever showing its value.
  * An approval card covering several actions at once now accounts for every
  one of them: an action whose target cannot be identified is disclosed and
  counted instead of being left out of the list in silence, and the
  remainder count matches the number of actions the card is approving.
  * A long target keeps the end of the name, so two similar domains can no
  longer be told apart only by the part that was cut off, and an
  internationalised domain is named as itself instead of being stripped
  back to ASCII.
  * A subdomain with more than one label, such as blog.shop, is now shown
  with its full domain name rather than the bare label.

 -- Cory McIntire <cory.mcintire@webpros.com>  Sun, 26 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.31-1) stable; urgency=low

  * Fixed a case where the AI Assistant could pick the wrong action,
  or claim it could not do something it can do, because almost none of the
  actions it can run were documented on the server. It now reads the
  summaries and descriptions cPanel ships for every API operation, instead
  of only the handful whose documentation a separate package happened to
  install.

 -- Cory McIntire <cory.mcintire@webpros.com>  Sun, 26 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.30-1) stable; urgency=low

  * The AI Assistant now describes a change in plain language before you
  approve it, for example "Create email account" instead of an internal
  function name, so you can tell what you are approving.
  * The AI Assistant now reads the API reference your server actually ships,
  so it fills in required details correctly instead of guessing them from an
  action's name. This makes requests that change something far more reliable.
  * Fixed the AI Assistant showing an internal error message from the AI
  service as though it were the answer to your question. A failed response is
  now reported as a failure, with advice to try again and where to get help.
  * Fixed the AI Assistant failing with a generic error after it had
  already made a change you approved, when it had proposed more than one
  change at once. The remaining change is now offered again for its own
  approval instead of ending the request in an error.
  * Fixed the AI Assistant sending some request details to the AI
  service in the wrong format, which could make a question fail with an error
  instead of being answered.
  * Fixed the AI Assistant spending a whole request retrying the same
  step and then reporting that it could not find an answer. It now notices
  when a step is being repeated with no effect, stops there, and tells you
  what it tried, what stopped it, and what to try next, keeping any results
  it had already found.
  * Fixed the AI Assistant silently dropping part of a large batch of
  changes. When a request plans more changes than one approval can cover, the
  approval now states how many were requested, how many are included, and how
  many were left out, and says so again after the changes run.
  * The AI Assistant now shows the changes it already made to your account when the assistant service fails part-way through, instead of leaving the reply blank.
  * Fix 404 errors for ai-advisor.js and ai-advisor.css on cPanel and WHM pages after upgrading from an early AI Advisor build.
  * The AI Assistant now reports the same email account total however you
  ask for it, and says what that total includes, so it matches the number on the
  Email Accounts page in cPanel.
  * Fixed the AI Assistant reporting an approved change as failed when the
  AI service became unreachable after the change had already been made, which led
  to duplicate attempts; it now lists exactly which changes completed.
  * The AI Assistant now applies its documented page-context
  limits - a size cap, a fixed set of allowed fields, and no nested
  data - to streaming chat as well as to non-streaming requests.
  * Fixed the AI Assistant abandoning its retry when a gateway error
  arrived with an error page attached, so a transient gateway failure now
  recovers instead of surfacing as a failed reply.

 -- Cory McIntire <cory.mcintire@webpros.com>  Sun, 26 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.29-1) stable; urgency=low

  * The AI Assistant can now create a subdomain when you have not named
  which domain to add it to, instead of reporting that a main domain must be
  specified.
  * The AI Assistant now reads the API documentation that ships with cPanel, so it
  no longer has to guess an action's parameters. Requests that change your account
  are far less likely to fail with a missing-information error.
  * The AI Assistant now describes what it is about to do in plain language when it
  asks you to approve a change, instead of showing an internal function name.

 -- Cory McIntire <cory.mcintire@webpros.com>  Sat, 25 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.28-1) stable; urgency=low

  * Fixed multi-step AI Assistant turns aborting on a single transient gateway
  error; added connection reuse across a turn's round-trips.
  * Fixed a connect/timeout failure to the AI Assistant backend silently skipping
  the transport retry instead of recovering.
  * Improved AI Assistant reliability by routing chat and confirm-action requests
  through the streaming gateway endpoint, which is more resilient to transient
  errors during multi-step conversations.
  * Fixed the AI Assistant reporting a multi-account batch as fully complete when
  some accounts could not be created, and prevented duplicate or oversized batch
  approvals when a request is phrased ambiguously.
  * Fixed the AI Assistant reporting an error after it had already created the
  requested email accounts, and fixed a request for a single email account being
  refused instead of created.
  * Fixed the AI Assistant reporting that email accounts had been queued when a
  required detail was missing, and stopped a mailbox password being included in
  the conversation history sent to the AI service.
  * Fixed email addresses created by the AI Assistant displaying in cPanel's
  internal form, with a plus instead of an at sign.
  * The AI Assistant now knows which domain your account uses, so asking it to
  suggest email addresses no longer produces addresses on a placeholder domain
  that cannot be created.

 -- Cory McIntire <cory.mcintire@webpros.com>  Sat, 25 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.27-1) stable; urgency=low

  * Warn when the AI Assistant's action corpus is present but undocumented.
  * Fix the AI Assistant being unable to read email accounts on a binary install.

 -- Cory McIntire <cory.mcintire@webpros.com>  Fri, 24 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.26-1) stable; urgency=low

  * The AI Assistant no longer risks leaking a user's prompt

 -- Cory McIntire <cory.mcintire@webpros.com>  Fri, 24 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.25-1) stable; urgency=low

  * Fix AI Assistant not finding the create-email action for common phrasings.

 -- Cory McIntire <cory.mcintire@webpros.com>  Fri, 24 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.24-1) stable; urgency=low

  * Improve AI Assistant action choice for disk/password queries.
  * Fix the AI Assistant listing email accounts on binary installs.
  * Stop the AI Assistant from returning its internal discovery preamble and tool catalog in the client-facing conversation history.

 -- Andy Baugh <andy.baugh@webpros.com>  Fri, 24 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.23-1) stable; urgency=low

  * The cPanel AI Assistant now tells you when your request itself was rejected
  as invalid, instead of always reporting a temporary outage.
  * Thu Jul 23 2026 Maksym Lutsiv <maksym.lutsiv@webpros.com> - 1.22-1
  * Stop the AI Assistant from returning its internal discovery preamble and tool catalog in the client-facing conversation history.
  * Wed Jul 22 2026 Andy Baugh <andy.baugh@webpros.com> - 1.21-1
  * Wed Jul 22 2026 Andy Baugh <andy.baugh@webpros.com> - 1.20-1
  * Remove vestigial prototype code.

 -- Jason Kiniry <jason.kiniry@webpros.com>  Thu, 23 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.19-1) stable; urgency=low

  * Verify the gateway TLS certificate and refuse to send to the gateway
  unauthenticated when no credential is available.

 -- Andy Baugh <andy.baugh@webpros.com>  Wed, 22 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.18-1) stable; urgency=low

  * The cPanel AI Assistant now enforces a per-account daily usage limit, plus an optional whole-server limit, with the caps tunable by the hosting provider.
  * The AI Assistant now fails closed - it stays disabled until a provider explicitly enables and authorizes it on the server.

 -- Andy Baugh <andy.baugh@webpros.com>  Wed, 22 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.17-1) stable; urgency=low

  * Add OpenAPI specfiles for API & SSE modules.
  * Report WebPros account link status (linked/link_url) from the AI Assistant status API so the Meridian hub can prompt the user to link their WebPros account for gateway authentication.

 -- Andy Baugh <andy.baugh@webpros.com>  Wed, 22 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.16-1) stable; urgency=low

  * Route the AI Assistant through the production semantic-search.plesk.com gateway.
  * Authenticate the AI Assistant to the gateway with the account's WebPros OIDC token, refreshed automatically.
  * Report WebPros account link status (linked/link_url) from AIAssistant::status so the Meridian hub can prompt the user to link their WebPros account for gateway auth.

 -- Andy Baugh <andy.baugh@webpros.com>  Tue, 21 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.15-1) stable; urgency=low

  * Root-only telemetry salt with privileged AdminBin derivation; CP_AI_* telemetry is now safe on by default (still consent-gated).

 -- Maksym Lutsiv <maksym.lutsiv@webpros.com>  Tue, 21 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.14-1) stable; urgency=low

  * Rework the AI Assistant action layer into a token-efficient discovery engine over the full cPanel API, with a single-use approval token required to run write actions.

 -- Andy Baugh <andy.baugh@webpros.com>  Mon, 20 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.13-1) stable; urgency=low

  * Fix AI Assistant email-account actions on binary cPanel installs.

 -- Jason Kiniry <jason.kiniry@webpros.com>  Fri, 17 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.12-1) stable; urgency=low

  * Instrument the AI assistant backend with CP_AI_* Mixpanel usage events (schema-validated, no PII, consent-gated).

 -- Maksym Lutsiv <maksym.lutsiv@webpros.com>  Thu, 16 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.11-1) stable; urgency=low

  * Fix bad comparison in featurelist items.

 -- Andy Baugh <andy.baugh@webpros.com>  Thu, 16 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.10-1) stable; urgency=low

  * Revert change to collect citations from answer route.

 -- Andy Baugh <andy.baugh@webpros.com>  Tue, 14 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.09-1) stable; urgency=low

  * Pass article citations through to streamed AI Assistant answers once the gateway provides them, and report truncated streamed answers honestly.

 -- Maksym Lutsiv <maksym.lutsiv@webpros.com>  Mon, 13 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.08-1) stable; urgency=low

  * Stop the AI Assistant narrating duplicate copies of action results; keep secrets out of its replies and stored history.

 -- Andy Baugh <andy.baugh@webpros.com>  Fri, 10 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.07-1) stable; urgency=low

  * Source AI assistant escalation contact from PublicContact

 -- Andy Baugh <andy.baugh@webpros.com>  Thu, 09 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.06-1) stable; urgency=low

  * Add a Leika/panel.ini provider switch (ai.enable_assistant) for the AI Assistant that hides its Feature Manager entries entirely when disabled, plus ai.enable_assistant_actions for the Act tier.

 -- Jason Kiniry <jason.kiniry@webpros.com>  Thu, 09 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.05-1) stable; urgency=low

  * Simplify and fix bugs in readonly actions layer

 -- Andy Baugh <andy.baugh@webpros.com>  Wed, 08 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.04-1) stable; urgency=low

  * Keep AI Assistant-generated passwords out of conversation history and the model's context, so they are shown to the user only once.
  * The cPanel AI Assistant can now take actions on your cPanel account
  for you: the assistant selects and runs the action, and any change is applied
  only after you approve it.

 -- Andy Baugh <andy.baugh@webpros.com>  Mon, 06 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.03-1) stable; urgency=low

  * Stream cPanel AI Assistant answers to the Meridian chat as they are
  generated.
  * Answer documentation questions in the cPanel AI Assistant with
  linked knowledge base articles.
  * The cPanel AI Assistant now always responds with an actionable next

 -- Andy Baugh <andy.baugh@webpros.com>  Wed, 01 Jul 2026 00:00:00 -0000

cpanel-ai-advisor (1.02-1) stable; urgency=low

  * Fix the AI Assistant returning error when page context was included.
  * Fix AI Assistant chat reporting a config error in the interface.
  * Fix the AI Assistant chat reporting as unavailable in the cPanel interface.
  * The AI Assistant is now aware of the page you are viewing, so its
  answers can be tailored to what is on screen.

 -- Andy Baugh <andy.baugh@webpros.com>  Tue, 23 Jun 2026 00:00:00 -0000

cpanel-ai-advisor (1.01-1) stable; urgency=low

  * Implement featurelist entry gating
  * De-duplicate URLs returned from the gateway
  * Add code to support meridian

 -- Andy Baugh <andy.baugh@webpros.com>  Wed, 17 Jun 2026 00:00:00 -0000

cpanel-ai-advisor (1.00-1) stable; urgency=low

  * Initial RPM packaging of AI Advisor as standalone WHM plugin
  * Extracted from cPanel core into OBS-packaged plugin
  * MCP graceful degradation for cPanel 110+ compatibility
  * Widget injection via global_banner.html.tt (upcp-safe)
  * Self-bootstrapping JS replaces template-include approach

 -- Andy Baugh <andy.baugh@webpros.com>  Fri, 10 Apr 2026 00:00:00 -0000

