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

# Changelog

> Updates and changes to the halal.sh API.

This page tracks new endpoints, breaking changes, methodology version updates,
and coverage expansion. Within `/v1`, we only ever add fields, endpoints, and
enum values — see [Versioning](/authentication#versioning-and-stability).

<Update label="July 2026" description="Cross-listing resolution and smarter search matching">
  * **Cross-listings and secondary share classes now resolve to their company's
    data.** Compliance results, health analyses and filings are stored once
    against a company's canonical listing. Requesting a different listing of the
    same company — an ADR, a foreign line, or a second share class — previously
    read that listing's own (empty) rows, so
    [`GET /instruments/{symbol}/health`](/api-reference/screening/health) and
    [`/history`](/api-reference/screening/history) could return `404` for a
    company we had fully analysed. Both now resolve to the canonical company and
    return the same answer for every listing of it. Responses still echo the
    symbol and name you asked for. Fixes-only: no field or shape changed.
  * **`GET /instruments/{symbol}/evidence` now honours the exchange prefix.** It
    previously ignored the country part of the identifier, so a prefixed symbol
    that collides with a US ticker (`TYO:GS` — GS Yuasa, not Goldman Sachs)
    could return the wrong company's packet. Cached packets are keyed per
    listing.
  * **[`GET /search`](/api-reference/screening/search) matches multi-word
    queries word-by-word.** A query whose words are separated in the target name
    now matches: `Technology fund` finds *Vanguard Information **Technology**
    Index **Fund***, where it previously returned nothing. Whole-phrase matches
    still rank above scattered-word matches, so existing single-word queries
    return the same results in the same order.
  * **`%` and `_` in a search query are now literal characters**, not SQL
    wildcards. `a%e` returns funds and companies actually containing "a%e"
    rather than three unrelated tickers.
</Update>

<Update label="July 2026" description="Search now returns ETFs">
  * **[`GET /search`](/api-reference/screening/search) now returns ETFs
    alongside stocks.** Every result carries a `type` discriminator
    (`stock` | `etf`). Stock items are unchanged; ETF items expose Shariah
    purity (`purity_percentage`, `badge_color`) and `match_coverage_percent`
    instead of a compliance `status`. This is additive — existing stock-only
    integrations keep working and can ignore ETF rows by `type`.
  * **New `types` filter.** Pass `types=stock` (or `types=etf`) to narrow to one
    kind; omit it for both. Any value outside the `{stock, etf}` allow-list
    returns `400`.
  * The MCP `search_instruments` tool returns the mixed results automatically
    and tags each hit with its `type`.
</Update>

<Update label="June 2026" description="Personal API, MCP, and filter screening included with Plus">
  * **Personal API, MCP, and universe-filter screening are now included with [Plus](https://halal.sh/plans) (\$8/mo).** Live keys, full MCP access, and filter-mode screening all come with the single paid tier.
  * The previously-planned consumer Pro tier is discontinued. (Building a product *on* halal.sh remains the separate [developer plan](https://halal.sh/developers).)
</Update>

<Update label="June 2026" description="Key dashboard moved to halal.sh/account/api">
  * **Key management has a new home.** Create and revoke keys at
    [halal.sh/account/api](https://halal.sh/account/api);
    [halal.sh/developers](https://halal.sh/developers) is now the commercial
    overview page. Live keys come with the
    [halal.sh Plus plan](https://halal.sh/plans).
  * **The MCP setup guide moved to [/mcp-server](/mcp-server)**, because
    `docs.halal.sh/mcp` is the hosted docs-MCP endpoint itself.
  * **Setup guides for ChatGPT, Claude, Gemini CLI, Cursor, and VS Code** on
    the [MCP server](/mcp-server) page. The ChatGPT and Claude apps connect by
    signing in with a halal.sh account; no key handling needed.
</Update>

<Update label="Pre-release" description="v1 surface finalized">
  The `/v1` API surface is finalized and stable:

  * **Instruments** — overview, compliance, financials, Evidence Packet,
    compliance history, and financial health.
  * **Screening** — batch screening by symbol, and search.
  * **ETFs** — purity, paginated holdings with per-holding compliance, and
    purity history.
  * **Methodology** — list and detail for `aaoifi-ss21@2026.1`.

  Sandbox keys are live for the curated universe. This changelog will record all
  changes once live keys are generally available.
</Update>

**What to expect going forward**

* New endpoint announcements
* Methodology version bumps (e.g. `aaoifi-ss21@2026.1` → `2026.2`)
* Breaking-change notices with migration guides (new major versions only)
* Coverage-expansion updates
