> For the complete documentation index, see [llms.txt](https://docs.xenoraa.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xenoraa.com/xenoraa-release-notes/v6.x-releases.md).

# v6.x Releases

## v6.x Release Series

> 10 releases in this series. Last updated: 2026-07-09 17:52 UTC

### v6.9.0 — Xena AI — Phase 3 CRM Activities/Quotes/SalesOrders/Invoices (9 new tools, total: 86)

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`93c2651`](https://github.com/goesscay/xenoraa/commit/93c2651)

* crm\_get\_activity: view activity by subject/ID — returns type, status, priority, due\_at, related\_type/id + View/Edit buttons
* crm\_update\_activity: update type/subject/description/status/priority/due\_at on any activity by subject/ID
* crm\_complete\_activity: mark activity as completed — sets status=completed, records completed\_at
* crm\_get\_quote: view quote by quote\_number/subject/ID — returns stage, grand\_total, valid\_until + View/Edit buttons
* crm\_update\_quote: update subject/stage/valid\_until/notes/terms on any quote by quote\_number/subject/ID
* crm\_get\_sales\_order: view SO by so\_number/subject/ID — returns status, grand\_total, delivery\_date + View/Edit buttons
* crm\_update\_sales\_order: update subject/status/delivery\_date/notes/terms/purchase\_order/carrier on any SO
* crm\_update\_invoice: update subject/status/due\_date/notes/terms/amount\_paid (auto-recalculates balance\_due)
* crm\_mark\_invoice\_paid: mark invoice as paid — sets status=paid, balance\_due=0, records amount\_paid (default: full grand\_total)
* All 9 tools have thinking steps + suggestion chips in XenaController
* GitHub commit: 93c2651

***

### v6.8.0 — Xena AI — Phase 2 CRM Edit Tools (4 new tools, total: 77)

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`3a21dcd`](https://github.com/goesscay/xenoraa/commit/3a21dcd)

* crm\_update\_lead: update any field on a lead by name or ID
* Updatable: status, lead\_status, deal\_value, source, company, title, notes, email, mobile, phone, assigned\_to, priority
* Resolves by name (ILIKE on name+company) or lead\_id; returns updated\_fields + View+Edit buttons
* crm\_update\_contact: update any field on a contact by name or ID
* Updatable: first\_name, last\_name, email, phone, mobile, company, title, department, status, lead\_source, description
* Resolves by name (ILIKE on first\_name+last\_name+concat) or contact\_id
* crm\_update\_account: update any field on an account by name or ID
* Updatable: name, industry, annual\_revenue, employees, phone, email, website, status, city, country, description
* Resolves by name (ILIKE) or account\_id
* crm\_update\_forecast: update or auto-create forecast for any quarter+year
* Updatable: target\_amount, achieved\_amount, notes
* Auto-creates record if quarter+year not found; normalises 'Q3' -> 3
* Returns attainment\_pct + Edit button
* All 4 tools have thinking steps + suggestion chips in XenaController
* GitHub commit: 3a21dcd

***

### v6.7.0 — Xena AI — Phase 1 CRM Sales Module Tools (10 new tools, total: 73)

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`f695f18`](https://github.com/goesscay/xenoraa/commit/f695f18)

* crm\_count\_leads: total + status breakdown + link to /admin/crm2/sales/leads
* crm\_count\_contacts: total + lead\_source breakdown + link to /admin/crm2/sales/contacts
* crm\_count\_accounts: total + account\_type breakdown + total annual\_revenue + link
* crm\_count\_deals: total + stage breakdown + pipeline value + won\_this\_month + link
* crm\_forecast\_summary: all quarters for a year (target/achieved/attainment%) from crm\_forecasts
* crm\_get\_contact: find by name (ILIKE first\_name+last\_name) or contact\_id; View+Edit buttons
* crm\_get\_account: find by name (ILIKE) or account\_id; View+Edit buttons
* crm\_get\_forecast: find by quarter+year; target/achieved/gap/attainment%; Edit button
* crm\_create\_contact: creates crm\_contacts; splits name into first\_name/last\_name; View+Edit buttons
* crm\_create\_deal: creates crm\_deals; resolves account/contact by name; stage enum matches CrmDeal::STAGES
* All 10 tools have thinking steps + suggestion chips in XenaController
* GitHub commit: f695f18

***

### v6.6.1 — Xena AI — Auto-Resume Last Session on Drawer Open

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`78eb245`](https://github.com/goesscay/xenoraa/commit/78eb245)

* xena.js: autoResumeLastSession() — on first drawer open (xenaSession===null),
* fetches /admin/xena/history, takes sessions\[0], loads full message list via
* /admin/xena/session/{id}, renders all messages + action cards
* Shows subtle 'Resumed last conversation · + New Chat' bar at top of chat
* xenaStartNewChat() (window-exposed): resets xenaSession=null, clears chat,
* restores welcome screen + quick prompts, switches to chat tab
* New Chat button in History pane (#xenaNewChatBtn) wired to xenaStartNewChat()
* Auto-resume guard: only runs when xenaSession===null (first open per page load)
* Subsequent drawer opens preserve the active session
* First-time users (no history) see welcome screen as before
* GitHub commit: 78eb245

***

### v6.6.0 — Xena AI — Batch C: 11 New Tools

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`ab70b5b`](https://github.com/goesscay/xenoraa/commit/ab70b5b)

* general\_sales\_forecast: Pipeline forecast by stage with weighted revenue
* Queries crm\_deals (excludes won/lost); returns stage/deals/total\_value/avg\_probability
* Also returns won\_this\_month (closed\_at current month)
* general\_search\_all: Cross-module search across leads+contacts+accounts+deals+products
* ILIKE search; returns up to 5 results per module with view\_url per item
* Accepts: query (required)
* general\_reminders: Upcoming reminders + pending todos
* reminders table (is\_sent=false, remind\_at>=now); todos table (is\_completed=false)
* Returns overdue\_count for todos past due\_date
* pos\_sales\_summary: POS sales summary by period (today/week/month)
* Joins pos\_order\_items+products+product\_categories for top category breakdown
* Returns orders, revenue, avg\_order, by\_day, top\_categories
* ecommerce\_revenue\_trend: Month-by-month ecom revenue (ecom\_orders)
* Excludes cancelled orders; groups by YYYY-MM; default 6 months, max 12
* ecommerce\_list\_coupons: List ecom coupons (ecom\_coupons)
* Returns code, type, value, used\_count, max\_uses, is\_active, expires\_at
* Accepts: active\_only, limit
* accounts\_list\_payments: List payment records (acc\_payments)
* Filter by payment\_type (receipt/payment) and status
* Returns total\_receipts and total\_payments in summary
* accounts\_create\_payment: Record new payment (acc\_payments)
* Auto-generates payment\_number (PAY-YYYY-NNN)
* Sets status=received for receipts, paid for payments
* Accepts: amount(required), type, party\_name(required), date, method, notes
* crm\_list\_notes: List notes for a CRM record or all recent notes (crm\_notes)
* Resolves record by ILIKE name search across leads/contacts/deals/accounts
* Accepts: record\_name, record\_type, limit
* projects\_get: Full project detail with task breakdown (crm\_projects + crm\_project\_tasks)
* Returns task\_stats (total/pending/in\_progress/completed)
* Accepts: project\_name (ILIKE) or project\_id
* projects\_task\_summary: Task completion summary across all active projects
* Joins crm\_project\_tasks + crm\_projects; returns completion\_rate, overdue, high\_priority
* Also returns per-project breakdown (top 5 by task count)
* Total Xena tools: 63 (was 52)
* GitHub commit: ab70b5b

***

### v6.5.0 — Xena AI — Batch B: 8 New Tools

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`2d79696`](https://github.com/goesscay/xenoraa/commit/2d79696)

* crm\_list\_accounts: List CRM accounts with search/industry/status filter
* Returns name, type, industry, annual\_revenue, phone per account
* crm\_create\_account: Create CRM account (company)
* Accepts: name(required), type, industry, phone, email, website, annual\_revenue, city, country
* crm\_list\_vendors: List vendors/suppliers with category filter
* Returns name, category, status, phone per vendor
* crm\_list\_cases: List support cases with status/priority filter
* Sorted High→Medium→Low priority; shows case\_number, subject, status, priority
* Returns open case count in summary
* pos\_top\_products: Top selling POS products by quantity or revenue
* Joins pos\_order\_items + pos\_orders (tenant\_id scoped)
* Accepts: by (quantity|revenue), limit
* pos\_update\_stock: Update product stock quantity by name or ID
* ILIKE name search; updates products.qty\_in\_stock
* Returns old stock → new stock in card
* ecommerce\_update\_order\_status: Update ecom order status
* ILIKE order\_number search; auto-sets delivered\_at/shipped\_at/cancelled\_at timestamps
* Accepts: order\_number or order\_id, status (pending/confirmed/processing/shipped/delivered/cancelled)
* ecommerce\_get\_order: Get full ecom order detail with line items
* Joins ecom\_order\_items; returns all order fields + items list
* Total Xena tools: 52 (was 44)
* GitHub commit: 2d79696

***

### v6.4.0 — Xena AI — Batch A: 7 New Tools

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`409bbaf`](https://github.com/goesscay/xenoraa/commit/409bbaf)

* crm\_add\_note: Add note to lead/contact/deal/account by name or ID
* Auto-resolves record by ILIKE name search if ID not given
* Saves to crm\_notes (notable\_type/notable\_id polymorphic)
* crm\_list\_invoices: List CRM invoices with status filter (draft/sent/paid/overdue/cancelled)
* Returns invoice\_number, subject, status, grand\_total, balance\_due, total unpaid amount
* crm\_list\_sales\_orders: List CRM sales orders with status filter (draft/confirmed/delivered/cancelled)
* Returns so\_number, subject, status, grand\_total, delivery\_date
* projects\_list\_tasks: List project tasks with multi-filter (status/priority/project\_name/project\_id)
* Sorted by priority (high→medium→low) then due\_date; shows project name per task
* projects\_create\_task: Create task in a project
* Auto-resolves project by name (ILIKE) or defaults to most recent active project
* Accepts: name, project\_name, description, due\_date, priority, assigned\_to
* accounts\_bank\_balance: Show all active bank account balances (acc\_bank\_accounts)
* Returns total balance + per-account breakdown with bank name and type
* accounts\_revenue\_trend: Month-by-month income vs expense trend (acc\_income + acc\_expenses)
* Default 6 months, max 12; returns income/expense/profit per month
* Links to P\&L report
* Total Xena tools: 44 (was 37)
* GitHub commit: 409bbaf

***

### v6.3.3 — Xena AI — Step 3: Smart Cross-Search (crm\_smart\_search)

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`86d7b18`](https://github.com/goesscay/xenoraa/commit/86d7b18)

* New tool: crm\_smart\_search — searches BOTH crm\_leads AND crm\_contacts simultaneously
* Single lead match: full lead detail card (purple) with Open Lead button
* Single contact match: full contact detail card (blue) with Open Contact button
* Multiple matches: unified list card with \[Lead]/\[Contact] prefix per row
* Zero matches: friendly card with 'Create new lead?' suggestion
* XenaController: tool definition with 'USE THIS FIRST' instruction
* XenaController: SMART SEARCH RULE added to system prompt — use crm\_smart\_search
* when user says a name without 'lead'/'contact' qualifier
* XenaController: thinking steps + suggestion chips for crm\_smart\_search
* Fixes: 'open Priya', 'find Vikram', 'show me Arjun' now correctly finds person
* regardless of whether they are a lead or contact
* GitHub commit: 86d7b18

***

### v6.3.2 — Xena AI — Step 2: New Tools (crm\_create\_product + crm\_send\_quote\_email)

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`e0c4157`](https://github.com/goesscay/xenoraa/commit/e0c4157)

* crm\_create\_product: Creates a product in crm\_products table
* Accepts: name(required), price, category, qty, product\_code/sku, gst\_rate, hsn\_code, description, reorder\_level
* Returns detail card with View Product link
* Fixes: AI was asking for product details but not saving anything
* crm\_list\_products: Lists crm\_products with optional search/category filter
* Returns list card with price, stock, View All link
* crm\_list\_quotes: Lists crm\_quotes with optional stage filter
* Returns list card with quote number, subject, stage, amount
* crm\_send\_quote\_email: Sends quote email using tenant SMTP (crm\_mail\_configs)
* Builds professional HTML email with quote table (number, subject, total, valid\_until)
* Logs send to crm\_account\_emails table
* Returns success card with To, Subject, Amount, Sent At
* Fixes: AI was giving manual instructions instead of sending the email
* Also fixed crmGetInvoice: total\_amount → grand\_total (correct column name)
* GitHub commit: e0c4157

***

### v6.3.1 — Xena AI — 3 Bug Fixes (crm\_search\_leads + POS tables + status enum)

**Released:** 2026-07-07  |  **Category:** Xena AI  |  **Commit:** [`e8d18d9`](https://github.com/goesscay/xenoraa/commit/e8d18d9)

* Bug 1: Added crm\_search\_leads tool — new crmSearchLeads() in XenaActionService, new tool in XenaController
* Searches crm\_leads by name/email/mobile/company (ILIKE)
* Single match: full detail card (name, company, email, mobile, status, lead\_status, source, deal\_value)
* Multiple matches: list card with view links per lead
* Tool description: PREFER over crm\_search\_contacts when user asks about a person by name in CRM context
* Fixes: 'open Priya', 'view lead Vikram' now correctly searches leads not contacts
* Bug 2: Fixed POS table names in XenaActionService
* posTodaySales: pos\_orders WHERE user\_id → tenant\_id
* posLowStock: pos\_products → products (user\_id correct), threshold default 5→10
* posListProducts: pos\_products → products, added is\_active=true filter
* generalDashboardStats: pos\_orders WHERE user\_id → tenant\_id
* Fixes: 'relation pos\_products does not exist' crash on all POS queries
* Bug 3: Fixed crm\_list\_leads status enum in XenaController getTools()
* Added 'proposal\_sent' and 'not\_contacted' to enum (actual DB values)
* Fixes: filtering by 'proposal leads' or 'not contacted leads' returned zero results
* GitHub commit: e8d18d9

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xenoraa.com/xenoraa-release-notes/v6.x-releases.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
