# @scalar/types

## 0.26.0

### Minor Changes

- [#10781](https://github.com/scalar/scalar/pull/10781): feat: add a Halloween theme preset with a moonlit sky, bats, and pumpkin accents

## 0.25.2

### Patch Changes

- [#10763](https://github.com/scalar/scalar/pull/10763): feat(api-reference): give the localhost playground a developer toolbar with a side panel for its tools

  On localhost, the developer toolbar becomes a sticky bar above the reference, which renders as a bordered card. Configure, Share, Deploy and Generate SDK open in a side panel beside the card; Deploy is now a waitlist sign-up for hosting on Scalar. The Generate SDK buttons in the client libraries card and the request examples, and the sidebar's "Generate SDKs & MCP" card and API client button, no longer show on localhost. Hosted references are unchanged.

## 0.25.1

### Patch Changes

- [#10761](https://github.com/scalar/scalar/pull/10761): feat(api-reference): give the localhost playground a developer toolbar with a side panel for its tools

  On localhost, the developer toolbar becomes a sticky bar above the reference, which renders as a bordered card. Configure, Share, Deploy and Generate SDK open in a side panel beside the card; Deploy is now a waitlist sign-up for hosting on Scalar. The Generate SDK buttons in the client libraries card and the request examples, and the sidebar's "Generate SDKs & MCP" card and API client button, no longer show on localhost. Hosted references are unchanged.

## 0.25.0

### Minor Changes

- [#10697](https://github.com/scalar/scalar/pull/10697): Add `urlRouting: false` to keep API reference navigation in internal state without reading or changing the host page URL.

### Patch Changes

- [#10721](https://github.com/scalar/scalar/pull/10721): Update compatible dependencies while retaining the existing Node.js support and five-day release-age policy.

## 0.24.0

### Minor Changes

- [#10213](https://github.com/scalar/scalar/pull/10213): Add per-reference Markdown rendering hooks and an explicitly loaded Mermaid plugin with interactive diagrams, keyboard panning, and zoom controls.

  Provide Markdown hooks before mounting the embedded client modal so its initial render receives the configured hooks. The Mermaid viewer uses customizable Scalar theme styles and an intentional light drawing surface.

  Isolate Markdown plugin cleanup failures so other plugins still release their resources when content changes or unmounts.

### Patch Changes

- [#10597](https://github.com/scalar/scalar/pull/10597): Render AsyncAPI string discriminators with inherited schema variants and effective discriminator values.
- [#10628](https://github.com/scalar/scalar/pull/10628): Add developer-tools controls for parameter and schema expansion, model names, required properties, and schema property ordering. Preserve explicit toggle overrides of supplied configuration.
- [#10640](https://github.com/scalar/scalar/pull/10640): Translate the built-in descriptions of integer and string formats (`int32`, `date-time`, `binary` and others) into the configured locale.
- [#10595](https://github.com/scalar/scalar/pull/10595): Display AsyncAPI channel summaries and addresses separately, and label missing or null addresses as unknown in channel content and search results.

## 0.23.2

### Patch Changes

- [#10554](https://github.com/scalar/scalar/pull/10554): Render AsyncAPI boolean schemas with explanations in message payloads, headers, and reusable models.
- [#10565](https://github.com/scalar/scalar/pull/10565): Inherit AsyncAPI operation metadata and replies from traits using recursive merge rules, and use inherited titles in navigation.
- [#10536](https://github.com/scalar/scalar/pull/10536): feat(api-reference): show an "Explore Scalar" call to action in the sidebar footer on localhost instead of the "Generate MCP" fan-out. The button expands on hover or focus into a card with the Scalar stickers and opens a dialog (morphing into it where the View Transitions API is available) with "Sign up for Scalar" and "Book a demo" actions. Public hosts, configured MCP servers and `mcp.disabled` keep their current footer. Adds `exploreScalar` translations to `ApiReferenceTranslations` and a `startViewTransition` helper to `@scalar/helpers/dom`.
- [#10567](https://github.com/scalar/scalar/pull/10567): Search AsyncAPI channels, operations, messages, channel parameters, and nested payload and header fields.
- [#10534](https://github.com/scalar/scalar/pull/10534): feat(api-reference): add Generate SDK buttons to the developer tools, client libraries and request examples that open the Explore Scalar dialog when running locally and the document does not list its own SDKs
- [#10525](https://github.com/scalar/scalar/pull/10525): Display the AsyncAPI application identifier in the introduction when present.
- [#10555](https://github.com/scalar/scalar/pull/10555): Show empty optional fields of expanded object query parameters in a searchable Add parameter picker.
- [#10508](https://github.com/scalar/scalar/pull/10508): Add built-in Traditional Chinese (Taiwan) translations for `zh-TW`, including case and underscore variants, across API Reference, API Client, and schema blocks.

## 0.23.1

### Patch Changes

- [#10483](https://github.com/scalar/scalar/pull/10483): Add a request body schema view to the API Client so users can inspect all writable fields alongside custom examples without changing their request payload.
- [#10491](https://github.com/scalar/scalar/pull/10491): Use OpenAPI 3.2 tag categories to keep badges and audience labels out of navigation groups and display them on operations.

## 0.23.0

### Minor Changes

- [#10473](https://github.com/scalar/scalar/pull/10473): Add `featuredClients` to choose which clients are shown as tabs in the "Client Libraries" block, and in which order.
- [#10449](https://github.com/scalar/scalar/pull/10449): Add `hideModelNames` to show structural types instead of model names in schema type labels and operation headings.
- [#10443](https://github.com/scalar/scalar/pull/10443): Add a showExtensions allowlist to display OpenAPI extensions on operations, parameters, response headers, and schema fields without a custom plugin, with a schema-style value tree from the blocks package.
- [#10420](https://github.com/scalar/scalar/pull/10420): Add `maxVisibleRequestBodyProperties` to control the initial request body property limit (default 12, or 0 for unlimited) independently of nested schema expansion. Show the number of hidden properties in the overflow control.

### Patch Changes

- [#10431](https://github.com/scalar/scalar/pull/10431): Keep explicit authentication field clears separate from configured defaults, add field-local reset actions, and prevent clearing fixed-choice OAuth settings.

## 0.22.4

### Patch Changes

- [#10372](https://github.com/scalar/scalar/pull/10372): fix: improve keyboard and screen reader access to code blocks and multiselect comboboxes
  - The code block scroller is exposed as a named group ("Code sample: Shell cURL" in the API Reference, localizable via `operation.codeSample`) so screen readers announce it when it receives focus
  - The code block copy button now has a stable accessible name ("Copy Shell code") in every state, including while its visible label is hidden
  - In multiselect comboboxes such as the auth scheme picker, Space toggles the active option while the search query is empty instead of hiding the whole list

## 0.22.3

### Patch Changes

- [#10402](https://github.com/scalar/scalar/pull/10402): Keep failed requests visible in the response panel and explain possible CORS or network causes for browser fetch failures.

## 0.22.2

### Patch Changes

- [#10369](https://github.com/scalar/scalar/pull/10369): fix: address a batch of screen reader and keyboard accessibility findings

  Corrects programmatic semantics only, with no change to how anything renders:
  the current sidebar item now reports `aria-current`, the single content type
  readout leaves the tab order, collapsible sections no longer announce their
  title twice, the password toggle reports its state through `aria-pressed`, the
  two document download buttons get distinct accessible names, response status
  tabs announce what each code means, and the client picker and its search field
  get accessible names.

## 0.22.1

### Patch Changes

- [#10192](https://github.com/scalar/scalar/pull/10192): Mock-server XML response bytes now use the shared schema-aware serializer instead of `json2xml`, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.

  Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.

  Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with `X-Scalar-XML-Error`, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values.

- [#10335](https://github.com/scalar/scalar/pull/10335): Clarify operation authentication tooltips with separate headings, readable scheme types, API key locations and names, and formatted descriptions.

## 0.22.0

### Minor Changes

- [#10310](https://github.com/scalar/scalar/pull/10310): Connect SDK code samples to named request body examples using optional example and contentType fields. Keep the example switcher available for static samples and use the selected request example in API client snippets. Display unavailable linked samples as a localized status message in all supported languages.

### Patch Changes

- [#10186](https://github.com/scalar/scalar/pull/10186): Show a clear error when a request uses a Fetch-forbidden method (CONNECT, TRACE, or TRACK), including methods changed by pre-request scripts, instead of throwing while building the request.
- [#10189](https://github.com/scalar/scalar/pull/10189): Translate the whole-query editor label and explanation in all supported API Client locales.

## 0.21.0

### Minor Changes

- [#10191](https://github.com/scalar/scalar/pull/10191): Support OpenAPI 3.2 OAuth device authorization with verification codes, cancellable token polling, stored credentials, and OAuth metadata discovery. Add mock device authorization and approval endpoints with pending, denial, expiry, and polling backoff responses.

  Use consistent form-encoded Basic credentials and environment substitution across OAuth token and refresh flows. Allow HTTP metadata and verification links on local development hosts and reserved test domains, coerce discovery fields consistently, and report device-code expiry clearly.

- [#10283](https://github.com/scalar/scalar/pull/10283): Add `expandAllParameters`, defaulting to `true`. Set it to `false` to start operation parameters collapsed and expand each parameter on click.
- [#10178](https://github.com/scalar/scalar/pull/10178): Support OpenAPI 3.2 streaming item schemas in the workspace store, request body examples, and API reference schema views. Frame generated and structured examples as JSON Lines, JSON Sequence, or server-sent events while preserving explicit wire-format strings.

  Preserve generated falsy request examples (`0`, `false`, and empty strings) for non-streaming bodies as well.

  Use cURL `--data-binary` for supported streaming media types, making framed body handling explicit. Authored arrays and objects are framed as stream records; authored wire-format strings remain unchanged. SSE records with no valid fields are safely omitted with one console warning per serialization call reporting the omitted count, including when all records are omitted.

### Patch Changes

- [#10175](https://github.com/scalar/scalar/pull/10175): Support API Client UI translations through `localization.translations.apiClient`, including the client embedded in API Reference. Ship client translations for English, Russian, Spanish, French, German, Simplified Chinese, Arabic, and Portuguese to match API Reference. Preserve English fallbacks across package providers and react to locale, direction, and translation updates.
- [#10222](https://github.com/scalar/scalar/pull/10222): Add a Copy as Markdown button to operations and webhooks in both API Reference layouts. Add a browser entry point for converting resolved OpenAPI documents to Markdown.
- [#10212](https://github.com/scalar/scalar/pull/10212): Improve type safety for schema display metadata, schema property merging, deprecated configuration migration, and cyclic test fixtures. Load Vite declarations for raw playground imports.

## 0.20.1

### Patch Changes

- [#10232](https://github.com/scalar/scalar/pull/10232): Intersect enum values when merging allOf schemas so inherited properties show only allowed values.

  Preserve sibling keywords when merging nested allOf properties. Display an explanation when enum constraints allow no values, and omit empty enum annotations.

## 0.20.0

### Minor Changes

- [#9675](https://github.com/scalar/scalar/pull/9675): feat: move schema-vocabulary translation keys from `common.*` into `schema.*` and drive localization through the new shared `@scalar/localization` engine.

  If you customize `localization.translations`, schema-related keys have moved namespace — for example `common.nullable` is now `schema.nullable` and `common.required` is now `schema.required`. Only `description`, `httpMethod`, and `path` remain under `common`.

- [#10126](https://github.com/scalar/scalar/pull/10126): refactor(api-reference): remove the legacy schema layout and the `schemaLayout` option

  The legacy schema layout — a bordered card per nesting level behind a "Show Child Attributes" pill — is deleted, together with the `schemaLayout` configuration option that selected it. The tree layout is the only schema renderer.

  The `schemaLayout` option never shipped in a release, so there is no `schemaLayout` value to remove from your configuration. Five translation keys the deleted markup owned are removed from `ApiReferenceTranslations`, and therefore from the `ApiReferenceTranslationKey` union: `schema.childAttributes`, `schema.hideChildAttributes`, `schema.showChildAttributes`, `operation.hideHeaders` and `operation.showHeaders`. They labelled the "Show Child Attributes" pill and the headers disclosure toggle, neither of which renders any more. If you override any of them in `localization.translations`, delete those entries — TypeScript will otherwise report an unknown-property error on the object literal.

  The class names the tree already carried (`.schema-card`, `.property`, `.property--level-N` and their family) are unchanged, so `customCss` keeps working.

- [#10074](https://github.com/scalar/scalar/pull/10074): feat(api-reference)!: the tree layout is the schema renderer

  The tree layout is the schema renderer, so every visual baseline that renders a schema changes with this release and is regenerated per suite.

- [#10074](https://github.com/scalar/scalar/pull/10074): feat(api-reference): the tree schema layout

  The tree layout replaces the bordered card per nesting level and the "Show Child Attributes" pill with the visual grammar of a tree: a continuous rail per depth that hangs from the parent property's text column, and a discrete disclosure control in each expandable property's own gutter. The control is a real button whose accessible name is the property name alone and whose child count rides `aria-describedby`; property descriptions stay visible instead of being swallowed into a button label. Types render as token runs — `array of Planet` instead of `array Planet[]`, with a `$ref` link as the type itself — collapsed objects show a preview of what they hold, short enums render inline in the type position or wrap as chips instead of a row per value, and a `$ref` cycle says `recursive` in its own signature line instead of offering a toggle that descends forever. Rails fade with depth, capped so the deepest ones never wash out into the page. In a narrow container — the same `max-width: 900px` query the sections already use — the indent tightens and the controls shrink, so a deep tree still fits and the outermost control clears the page edge instead of being clipped by it. Collapsed subtrees that were opened once stay reachable with find-in-page via `hidden="until-found"` where the engine supports it, against a budget shared by every tree in the reference, with Safari falling back to unmounting exactly as before.

  Printing temporarily expands the whole tree and restores the reader's expansion state afterwards.

- [#10074](https://github.com/scalar/scalar/pull/10074): feat(api-reference): one disclosure grammar across every surface in the tree layout

  The tree layout now reaches the surfaces the schema renderer never covered. Response headers fold into the tree as a child group named Headers, keyed into the expansion store so expand-all and deep links finally reach them — and the headers card's long-standing CSS syntax error is fixed along the way. Callbacks trade their native `details`/`summary` for the gutter control, and gain breadcrumbs, so a property inside a callback body is addressable for the first time. AsyncAPI message headers and payloads gain breadcrumbs the same way. Parameter rows keep rendering their type, required marker and description inline: a disclosure may hide child elements, never child information, and the classic layout starts passing `collapsableItems` — previously omitted, which silently made `expandAllResponses` a no-op there. Model properties in the classic layout gain anchors.

  Group titles — Body, Responses, Query Parameters, Callbacks — become real headings through the document outline (`operationSection`, level 4), never hardcoded tags.

  One flagged feature ships with this: `schemaKeyboardNav` (default off) adds APG-tree arrow-key navigation over the gutter toggles.

- [#10102](https://github.com/scalar/scalar/pull/10102): Allow response hooks to return a replacement Response before the client processes its body, status, and headers. Add the onResponseReceived configuration callback for API References. Existing hooks can still read responses and return nothing.

### Patch Changes

- [#10081](https://github.com/scalar/scalar/pull/10081): Keep the `mutualTLS` security scheme type instead of turning it into an apiKey form, and show read-only authentication guidance for mutual TLS and unsupported browser broker credentials.
- [#10074](https://github.com/scalar/scalar/pull/10074): fix(api-reference): accessibility pass over the schema tree and parameter rows

  Restores list semantics on the four lists the theme reset strips, which Safari and VoiceOver otherwise drop entirely. Gives the parameter row trigger a real focus indicator instead of drawing one on its 12px caret. Makes the Default and Examples popovers dismissible with Escape and openable by click or tap, with `aria-expanded` on their triggers — previously they revealed on hover and focus through CSS alone, so Enter did nothing and touch could not reach them at all. Names the copy buttons that previously announced as their bare value, adding `common.copyDefault` and `common.copyExample` across all eight locales. Gives the single content type readout a role, and honours `prefers-reduced-motion`.

  The collapsible section trigger no longer nests the copy-link button inside the toggle button. Nested buttons are invalid, and the parser hoisted the inner one out, so the copy-link sat outside the control it appeared to belong to. The toggle moved inside the anchor instead, where it has to stay inline so the copy-link keeps aligning to the last line of a wrapped heading; it stretches its own hit area back across the full row, so the click target is the whole section row exactly as before.

  `ScreenReader` moves off the deprecated `clip` property to `clip-path` and adds `white-space: nowrap`, so multi-word announcements are no longer split at wrapped word boundaries. Its visually-hidden style is now a shared `.screenreader-only` class rather than a scoped one, so other components can hide text without wrapping it in the component.

  No visual change: every fix above is either invisible, or applies only to focus, hover, or an explicit reduced-motion preference.

## 0.19.0

### Minor Changes

- [#9981](https://github.com/scalar/scalar/pull/9981): Load the modern ESM build of the API Reference by default

  The generated HTML now loads the code-split ESM build (`.../@scalar/api-reference/esm.js`, added in #9871) as a `<script type="module">` by default, instead of the monolithic UMD bundle. Because it is code-split, less JavaScript blocks the first render.

  To keep the classic UMD bundle (loaded via `<script src>` and the `window.Scalar` global), set `cdn` to a UMD URL — for example to pin a version — or pass `bundle: false`. You can also pass `bundle: 'https://.../esm.js'` to load a specific ESM build.

  When a `nonce` is set (a strict, nonce-based CSP) the UMD bundle is used automatically, because the ESM build's `import`-loaded chunks cannot be nonced. Pass `bundle: true` to force the ESM build if your CSP uses `'strict-dynamic'`.

- [#9937](https://github.com/scalar/scalar/pull/9937): Add a way to open the request body editor in the Form view by default. Set the `defaultRequestBodyView: 'form'` config option, or the `x-scalar-default-request-body-view` extension in your OpenAPI document (which also works per source). Defaults to `raw`, and falls back to `raw` when a body cannot be shown as a form.

### Patch Changes

- [#9990](https://github.com/scalar/scalar/pull/9990): Fix `@scalar/types` leaking into the published type declarations. `@scalar/openapi-parser` referenced `@scalar/types` from its `.d.ts` files while only depending on it as a `devDependency`, so consumers hit `TS2307` (cannot find module). `@scalar/types` is now a regular dependency, and the package uses the shared `UnknownObject` and `AnyObject` utility types from `@scalar/types/utils` directly instead of defining its own local copies (`AnyObject` was added to `@scalar/types/utils` alongside the existing `UnknownObject`).

  The generic `AnyObject` and `UnknownObject` types are no longer re-exported from `@scalar/openapi-parser`. Import them from `@scalar/types/utils` instead.

## 0.18.3

### Patch Changes

- [#9983](https://github.com/scalar/scalar/pull/9983): Bump the `zod` catalog to `^4.4.3` so the standalone bundle ships a single `zod` instead of two (`4.3.5` from `@scalar/types` plus `4.4.3` from the `ai` / `@ai-sdk` peer). This makes `standalone.js` ~68KB raw / ~18KB gzip smaller.
- [#9967](https://github.com/scalar/scalar/pull/9967): Add a new `@scalar/openapi-validator` package that validates OpenAPI documents on its own. `@scalar/openapi-parser` now uses it under the hood.

  Two type-level changes in `@scalar/openapi-parser` are worth noting:
  - `ErrorObject.path` is now `string | string[]` instead of `string[]`. Schema errors carry a JSON Pointer string, semantic errors carry path segments — both shapes were already produced at runtime, the type just says so now. Narrow with `Array.isArray` before treating it as a list.
  - The unused `ValidationOutcome` type and the internal `OpenApiDocument` alias are no longer exported.

## 0.18.2

### Patch Changes

- [#9941](https://github.com/scalar/scalar/pull/9941): Republish every package through npm trusted publishing. No functional changes.

## 0.18.1

### Patch Changes

- [#9872](https://github.com/scalar/scalar/pull/9872): Bump shared runtime dependencies: `js-base64` (`^3.7.8` -> `^3.9.2`) and `type-fest` (`^5.3.1` -> `^5.8.0`).
- [#9893](https://github.com/scalar/scalar/pull/9893): Show schema `pattern` as a hover dropdown in the API reference, similar to examples. Long regex patterns are now revealed on hover instead of being truncated inline.
- [#9913](https://github.com/scalar/scalar/pull/9913): Add Julia (HTTP.jl) as a code example target. The new `julia/http` client generates HTTP.jl snippets, including headers, query parameters, cookies, basic auth, JSON bodies (as `Dict`s serialized with `JSON.json`), url-encoded bodies and `HTTP.Form` multipart uploads. Julia syntax highlighting and a Julia icon are included, so the client shows up in the code example picker like any other language.

## 0.18.0

### Minor Changes

- [#9868](https://github.com/scalar/scalar/pull/9868): Control OAuth2 flow tabs from your OpenAPI document. Add `x-order` to a flow to set the order of the tabs in the auth section (the first tab is selected by default, so the lowest `x-order` also becomes the default flow), and add `x-scalar-ignore` to a flow to hide its tab — useful for flows that cannot run in the browser, like Client Credentials, which usually fails on CORS. `x-scalar-ignore` on a whole security scheme now hides it from the auth selector too.

## 0.17.1

### Patch Changes

- [#9684](https://github.com/scalar/scalar/pull/9684): Type the `defaultHttpClient` config against the real client ids. `targetKey` and `clientKey` were plain `string`, so there was no autocomplete and no error when the value was wrong — for example passing the display title `'Fetch'` instead of the client id `'fetch'`, which silently did nothing. They are now typed to the actual targets and clients, in both the `@scalar/types` and `@scalar/schemas` definitions.

## 0.17.0

### Minor Changes

- [#9711](https://github.com/scalar/scalar/pull/9711): feat: add `pluginUrls` configuration option to load API Reference plugins from URLs

  Each entry must point to an ESM module that exports a plugin (the same shape as the `plugins` entries) as its default export. The standalone build (`Scalar.createApiReference`) imports the modules before the API reference mounts and registers their default exports alongside the plugins passed directly. Unlike `plugins`, the new option is JSON-serializable, so integrations that pass their configuration as JSON (for example the Docker container or Scalar for Aspire) can load plugins without replacing the whole bundle.

### Patch Changes

- [#9683](https://github.com/scalar/scalar/pull/9683): Surface the required OAuth scopes for an operation as a dedicated "OAuth scopes" section below the description (above parameters), instead of only inside the "Auth Required" badge popover. Scopes are de-duplicated across security alternatives and shown in both the modern and classic layouts, as well as on AsyncAPI operations.
- [#9680](https://github.com/scalar/scalar/pull/9680): Tie a snippetz plugin's `client` to its `target` at the type level. Before, a plugin could pair any target with any client (for example `node` + `curl`) without a type error. Now `target: 'node'` only allows node clients, and TypeScript catches mistakes like using the display title `'Fetch'` where the lowercase client id `'fetch'` is expected.
- [#9685](https://github.com/scalar/scalar/pull/9685): Type the `hiddenClients` config against the real target and client ids. It was `Record<string, boolean | string[]> | string[] | true`, so there was no autocomplete and no error on a typo. An array entry is now typed as a target (`'node'`), a client name (`'fetch'`), or a full id (`'node/fetch'`), and the record form is keyed by target. Runtime stays permissive, so unknown names are still ignored gracefully as before.

## 0.16.4

### Patch Changes

- [#9719](https://github.com/scalar/scalar/pull/9719): docs: update the Scalar platform overview block in the README

## 0.16.3

### Patch Changes

- [#9710](https://github.com/scalar/scalar/pull/9710): Republish so the updated README (with the Scalar platform overview) reaches npm. Also renames the README generator metadata in package.json from `readme` to `scalarReadme`: npm treats a `readme` field as the readme text itself, so affected packages were published with a literal `[object Object]` readme on the registry instead of README.md.

## 0.16.2

### Patch Changes

- [#9639](https://github.com/scalar/scalar/pull/9639): Add a read-only accessor for the global authentication state to the plugin API. Plugin lifecycle hooks (`onInit`, `onConfigChange`) now receive an `auth` accessor alongside `config`, and the plugin manager exposes `getAuthState()` for view components. Plugins can read stored secrets and the selected security schemes via `auth.export()`, `auth.getAuthSecrets(documentName, schemeName)`, and `auth.getAuthSelectedSchemas(payload)` without being able to mutate auth.

## 0.16.1

### Patch Changes

- [#9630](https://github.com/scalar/scalar/pull/9630): Render AsyncAPI tags without the extra horizontal indentation on nested channels, and replace the empty "Operations" card in an AsyncAPI tag header with a "Channels" card that lists the channels in the tag.

## 0.16.0

### Minor Changes

- [#9597](https://github.com/scalar/scalar/pull/9597): Add API Reference UI localization configuration with built-in English, Russian, Spanish, French, German, Simplified Chinese and Arabic translations, including automatic RTL direction for Arabic locales.

  Update the shared theme reset so text inputs align to the logical start by default for RTL documents.

  Add a `mergeObjects` deep-merge helper to `@scalar/helpers`, used by the localization layer to merge translation overrides onto the built-in locale.

### Patch Changes

- [#9577](https://github.com/scalar/scalar/pull/9577): Stop marking the per-source `title` and `slug` as deprecated. They are the supported way to name a document and its URL when using multiple `sources`, so the deprecation note (and editor strike-through) was misleading.

## 0.15.0

### Minor Changes

- [#9515](https://github.com/scalar/scalar/pull/9515): feat: add `requestBuilt` client plugin hook and `onRequestBuilt` configuration callback that receive the exact fetch `Request` that is sent over the wire

  The hook runs after the request has been built, right before it is sent. Header mutations apply to the outgoing request and the body bytes match what the server receives, which makes request signing possible: hashing the body of a rebuilt `multipart/form-data` request would produce a different multipart boundary than the request that is actually sent.

## 0.14.0

### Minor Changes

- [#9478](https://github.com/scalar/scalar/pull/9478): Add `content.start` plugin view slot and `sidebar` visibility option for plugin view components.
  - **`content.start`**: A new view slot that renders custom plugin components **before** the Introduction/Info section (at the top of the content area).
  - **`sidebar` option on `ViewComponent`**: Plugins can now opt-in to display a sidebar entry for their custom views by providing `sidebar: { show: true, label: 'My Page' }`. Omitting `sidebar` or setting `show: false` hides the entry from the sidebar. The entry hooks into the existing navigation, so clicking it scrolls to the plugin view and it highlights as it scrolls into view.

### Patch Changes

- [#9529](https://github.com/scalar/scalar/pull/9529): Remove the unused `isLoading` configuration option. It was never wired to a consumer, so it had no effect on the rendered references.
- [#9528](https://github.com/scalar/scalar/pull/9528): Remove the unused `onSpecUpdate` configuration option. It was never wired to a consumer, so the callback never fired.

## 0.13.3

### Patch Changes

- [#9342](https://github.com/scalar/scalar/pull/9342): fix: resolve operations when OpenAPI path items use `$ref`

  Path entries and webhooks can reference `components.pathItems` instead of inlining operations. Navigation, mutators, search, and markdown export now resolve path-item references before reading HTTP methods and path-level parameters.

## 0.13.2

### Patch Changes

- [#9471](https://github.com/scalar/scalar/pull/9471): Restore support for the deprecated `source` install command on `x-scalar-sdk-installation`. When set, it is appended to `description` as a fenced code block (or used on its own when there is no `description`). `description` remains the promoted field.

## 0.13.1

## 0.13.0

### Minor Changes

- [#9398](https://github.com/scalar/scalar/pull/9398): feat: read code samples from x-readme, x-stainless and x-scalar extensions

  In addition to `x-codeSamples`, the code sample picker now reads custom samples from `x-scalar-examples`, `x-stainless-snippets`, `x-stainless-examples`, and `x-readme.code-samples`. When more than one is present on an operation, the highest-priority source is used (x-scalar-examples > x-stainless-snippets > x-stainless-examples > x-readme > x-codeSamples).

- [#9422](https://github.com/scalar/scalar/pull/9422): Add a `nonce` option for Content Security Policy support.

  When you pass a `nonce`, the rendered HTML stamps it onto the inline `<script>` and the CDN `<script>` tag (and Scalar's own `<style>` tags, plus a matching `<meta property="csp-nonce">`). This lets the API Reference run under a strict `script-src` with no `unsafe-inline` and no `unsafe-eval`.

  ```ts
  ApiReference({
    url: '/openapi.json',
    // Match this value in your `script-src` CSP directive.
    nonce: 'r4nd0m',
  })
  ```

  Note: `style-src` still needs `'unsafe-inline'`. The reference renders inline `style="…"` attributes, which a CSP nonce can never authorize (nonces only apply to `<script>`, `<style>` and `<link>` elements), so a nonce-only `style-src` is not possible. The win is a fully strict `script-src`.

- [#9400](https://github.com/scalar/scalar/pull/9400): feat(api-reference): add `expandAllSchemaProperties` config option.

  When enabled, nested schema properties are expanded by default while keeping the
  "Show/Hide Child Attributes" button available for manual collapsing. Expansion
  is cycle-safe: every finite branch is expanded fully, and self-referential
  ($ref or inline) schemas stop at the point they would otherwise recurse forever.

### Patch Changes

- [#9438](https://github.com/scalar/scalar/pull/9438): feat(api-reference): add an AsyncAPI server selector

  Adds a server selector for AsyncAPI documents in the API reference introduction. It mirrors the OpenAPI server selector but works with the AsyncAPI server shape (a named map of `host`/`protocol`/`pathname`), labelling each server with its constructed connection URL.

  Server selection and variable changes are now persisted to the workspace store via new `asyncapi-server:update:selected` and `asyncapi-server:update:variables` events and their mutators, mirroring the OpenAPI wiring.

## 0.12.3

### Patch Changes

- [#9340](https://github.com/scalar/scalar/pull/9340): feat: add getChannelConnectionContext for AsyncAPI WebSocket channels

  Add channel connection context helpers that resolve channel, messages, parameters, servers, security, and connection URL for WebSocket client UI.

- [#9309](https://github.com/scalar/scalar/pull/9309): feat: add `modelsSectionLabel` configuration (`'Models' | 'Schemas' | string`) to use OpenAPI-style Schemas terminology in the sidebar, content, and search.
- [#7618](https://github.com/scalar/scalar/pull/7618): feat(api-reference): add `setPageTitle` to customize the browser tab title

  Pass a `setPageTitle` function to control the browser tab title. It is called whenever the section in view changes — on sidebar clicks, on scroll, and when switching documents — and receives the section title and the active OpenAPI document:

  ```js
  setPageTitle: ({ title, document }) => `${document.title} – ${title}`
  ```

## 0.12.2

### Patch Changes

- [#9313](https://github.com/scalar/scalar/pull/9313): feat: add AsyncAPI connection URL builder and server list helpers

## 0.12.1

### Patch Changes

- [#9311](https://github.com/scalar/scalar/pull/9311): feat: add typed AsyncAPI WebSocket binding schema
  - Add `asyncApiWsBindingObject` for `bindings.ws` with `method`, `query`, `headers`, and `bindingVersion`
  - Add `asyncApiSchemaObjectOrReference` (Schema Object | Reference Object) for WebSocket binding fields that exclude Multi Format Schema Object
  - Regenerate `@scalar/types/asyncapi/3.1` types

## 0.12.0

### Minor Changes

- [#9264](https://github.com/scalar/scalar/pull/9264): feat: add AsyncAPI 3.1 types and `@scalar/types/asyncapi/3.1` export
- [#9297](https://github.com/scalar/scalar/pull/9297): feat: add asyncapi extensions

### Patch Changes

- [#9169](https://github.com/scalar/scalar/pull/9169): feat: add `customFetch` to the api-reference configuration and forward it to the API client so requests (including "Test Request" calls) use the custom fetch — enabling things like `credentials: 'include'`. The previous `fetch` option is deprecated and migrated automatically with a console warning.
- [#9294](https://github.com/scalar/scalar/pull/9294): refactor: move the schemas to the schemas folder and generate the types from schemas
- [#9292](https://github.com/scalar/scalar/pull/9292): refactor: move extensions to the schema package

## 0.11.0

### Minor Changes

- [#9211](https://github.com/scalar/scalar/pull/9211): feat: write pure types without using the zod schemas

## 0.10.0

### Minor Changes

- [#8844](https://github.com/scalar/scalar/pull/8844): feat: write pure types without using the zod schemas

## 0.9.6

## 0.9.5

## 0.9.4

## 0.9.3

## 0.9.2

## 0.9.1

### Patch Changes

- [#8862](https://github.com/scalar/scalar/pull/8862): add `python/aiohttp` as a supported code snippet client and expose it through shared snippet client types and config schemas
- [#8810](https://github.com/scalar/scalar/pull/8810): refactor: move telemetry to an optional plugin

## 0.9.0

### Minor Changes

- [#8771](https://github.com/scalar/scalar/pull/8771): feat(snippetz): migrate R code snippets from httr to httr2

### Patch Changes

- [#8817](https://github.com/scalar/scalar/pull/8817): feat(snippetz): add a Laravel HTTP client plugin for PHP snippets

  Added a new `php/laravel` client generator in `@scalar/snippetz`, including comprehensive request coverage for headers, cookies, auth, query params, JSON, multipart, form-encoded, binary, and fallback bodies.

  Updated generated client registries and schema wiring so the new client is available across Scalar:
  - `@scalar/types` `GROUPED_CLIENTS` / `AVAILABLE_CLIENTS`
  - `@scalar/workspace-store` reference-config schema
  - generated docs and integration client enums

  Updated api-client expectations for the increased total built-in client count.

## 0.8.0

### Minor Changes

- [#8695](https://github.com/scalar/scalar/pull/8695): feat: suport pre/post request scripts

## 0.7.6

### Patch Changes

- [#8661](https://github.com/scalar/scalar/pull/8661): fix(api-client): support OAuth redirect callback override for Electron-friendly flows
- [#8664](https://github.com/scalar/scalar/pull/8664): refactor: replace wildcard export barrels with explicit named re-exports

## 0.7.5

### Patch Changes

- [#8574](https://github.com/scalar/scalar/pull/8574): feat: make external urls configurable

## 0.7.4

### Patch Changes

- [#8466](https://github.com/scalar/scalar/pull/8466): chore: new build pipeline

## 0.7.3

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.4.1**
  - [#8420](https://github.com/scalar/scalar/pull/8420): fix TypeScript access to navigator.userAgentData in isMacOS without ts-expect-error

## 0.7.2

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.4.0**
  - [#8336](https://github.com/scalar/scalar/pull/8336): feat: support flushing any pending operations

## 0.7.1

### Patch Changes

- [#8381](https://github.com/scalar/scalar/pull/8381): feat: add mcp config support

## 0.7.0

### Minor Changes

- [#8322](https://github.com/scalar/scalar/pull/8322): chore: bump required node version to >=22 (LTS)

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.3.0**
  - [#8322](https://github.com/scalar/scalar/pull/8322): chore: bump required node version to >=22 (LTS)

## 0.6.10

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.2.18**
  - [#8314](https://github.com/scalar/scalar/pull/8314): chore: limit concurrent operations while migrating workspaces

## 0.6.9

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.2.17**
  - [#8310](https://github.com/scalar/scalar/pull/8310): refactor: move helpers to the helpers package to share primitive helpers

## 0.6.8

### Patch Changes

- [#8274](https://github.com/scalar/scalar/pull/8274): feat(agent): add config to hide search api

## 0.6.7

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.2.16**
  - [#8248](https://github.com/scalar/scalar/pull/8248): fix: local storage migration script

## 0.6.6

### Patch Changes

- [#8212](https://github.com/scalar/scalar/pull/8212): chore: version bump

#### Updated Dependencies

- **@scalar/helpers@0.2.15**
  - [#8212](https://github.com/scalar/scalar/pull/8212): chore: version bump

## 0.6.5

### Patch Changes

- [#8207](https://github.com/scalar/scalar/pull/8207): chore: version bump

#### Updated Dependencies

- **@scalar/helpers@0.2.14**
  - [#8207](https://github.com/scalar/scalar/pull/8207): chore: version bump

## 0.6.4

### Patch Changes

- [#8174](https://github.com/scalar/scalar/pull/8174): feat: add `createAnySecurityScheme` config option to control generic auth scheme creation

#### Updated Dependencies

- **@scalar/helpers@0.2.13**
  - [#7826](https://github.com/scalar/scalar/pull/7826): feat: added migrator for v1 local storage to v2 indexdb

## 0.6.3

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.2.12**
  - [#8178](https://github.com/scalar/scalar/pull/8178): chore: package bump due to ci failure

## 0.6.2

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.2.11**
  - [#8016](https://github.com/scalar/scalar/pull/8016): feat: move history and auth into their own store

## 0.6.1

### Patch Changes

- [#8000](https://github.com/scalar/scalar/pull/8000): fix(agent): change enabled flag to disabled
- [#7995](https://github.com/scalar/scalar/pull/7995): feat: enable/disable agent scalar

#### Updated Dependencies

- **@scalar/helpers@0.2.10**
  - [#7963](https://github.com/scalar/scalar/pull/7963): feat: unify is-object helpers

## 0.6.0

### Minor Changes

- [#7959](https://github.com/scalar/scalar/pull/7959): feat(agent): add agent scalar to localhost

## 0.5.10

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.2.9**
  - [#7894](https://github.com/scalar/scalar/pull/7894): fix: the import and export of redirect to proxy

## 0.5.9

### Patch Changes

- [#7866](https://github.com/scalar/scalar/pull/7866): chore: expose har types

## 0.5.8

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.2.8**
  - [#7751](https://github.com/scalar/scalar/pull/7751): fix: auth persistence

## 0.5.7

### Patch Changes

#### Updated Dependencies

- **@scalar/helpers@0.2.7**
  - [#7720](https://github.com/scalar/scalar/pull/7720): feat: escape XML in json2xml

## 0.5.6

### Patch Changes

- [#7661](https://github.com/scalar/scalar/pull/7661): fix: all issues for client modal v2 preparation

#### Updated Dependencies

- **@scalar/helpers@0.2.6**
  - [#7661](https://github.com/scalar/scalar/pull/7661): fix: all issues for client modal v2 preparation

## 0.5.5

### Patch Changes

- [#7605](https://github.com/scalar/scalar/pull/7605): fix: all issues for client modal v2 preparation

#### Updated Dependencies

- **@scalar/helpers@0.2.5**
  - [#7605](https://github.com/scalar/scalar/pull/7605): fix: all issues for client modal v2 preparation

## 0.5.4

### Patch Changes

- [#7567](https://github.com/scalar/scalar/pull/7567): feat: add code samples to client v2

#### Updated Dependencies

- **@scalar/helpers@0.2.4**
  - [#7581](https://github.com/scalar/scalar/pull/7581): fix: npm publish job
  - [#7567](https://github.com/scalar/scalar/pull/7567): feat: add code samples to client v2

## 0.5.3

### Patch Changes

- [#7498](https://github.com/scalar/scalar/pull/7498) [`bb52d9a`](https://github.com/scalar/scalar/commit/bb52d9a21e53628270bab93c0f03b5731c9c97c6) Thanks [@marcalexiei](https://github.com/marcalexiei)! - feat: add `PostDataCommon` to `/snippetz` export`

## 0.5.2

### Patch Changes

- [#7506](https://github.com/scalar/scalar/pull/7506) [`72cd82f`](https://github.com/scalar/scalar/commit/72cd82fb8df63a9e5d0db1202978aebfefd0457a) Thanks [@marcalexiei](https://github.com/marcalexiei)! - fix: use caret version for `zod`

## 0.5.1

### Patch Changes

- [#7387](https://github.com/scalar/scalar/pull/7387) [`bfd814a`](https://github.com/scalar/scalar/commit/bfd814a4219660face190041cc4845182b56ab03) Thanks [@geoffgscott](https://github.com/geoffgscott)! - hotfix: patch exports from build tooling bug

## 0.5.0

### Minor Changes

- [#7373](https://github.com/scalar/scalar/pull/7373) [`cbedfab`](https://github.com/scalar/scalar/commit/cbedfab576502069be27ceacbea145a917214e47) Thanks [@marcalexiei](https://github.com/marcalexiei)! - feat(types): legacy - remove unused types

- [#7373](https://github.com/scalar/scalar/pull/7373) [`cbedfab`](https://github.com/scalar/scalar/commit/cbedfab576502069be27ceacbea145a917214e47) Thanks [@marcalexiei](https://github.com/marcalexiei)! - feat(types): removes `export *` from non-index exports

### Patch Changes

- [#7320](https://github.com/scalar/scalar/pull/7320) [`44aeef0`](https://github.com/scalar/scalar/commit/44aeef01073801165e339163462378b7b62ff68d) Thanks [@hanspagel](https://github.com/hanspagel)! - feat: rename showToolbar to showDeveloperTools

## 0.4.0

### Minor Changes

- [#7129](https://github.com/scalar/scalar/pull/7129) [`6ec8c29`](https://github.com/scalar/scalar/commit/6ec8c299d912111b029e8058979d00968b70691a) Thanks [@geoffgscott](https://github.com/geoffgscott)! - Simplify ApiReferences state management and migrate to new shared sidebar component. Eliminates the useSidebar and useNav hooks in favour of event bubbling and centralized state management in ApiReference.vue

### Patch Changes

- [#7086](https://github.com/scalar/scalar/pull/7086) [`eb022f2`](https://github.com/scalar/scalar/commit/eb022f2c8f93c84a04c0093fefe8a1e05d6ec80d) Thanks [@hanspagel](https://github.com/hanspagel)! - feat: new `content.end` slot for the plugin API

- [#7094](https://github.com/scalar/scalar/pull/7094) [`eba18d0`](https://github.com/scalar/scalar/commit/eba18d06267a163a8f91396a66f817100ee59461) Thanks [@geoffgscott](https://github.com/geoffgscott)! - Migrate to workspace store as primary source of truth.

- Updated dependencies [[`2239843`](https://github.com/scalar/scalar/commit/2239843150ed16d1ca35b0b1f8e90cd3e35be7ce)]:
  - @scalar/openapi-types@0.5.1

## 0.3.2

### Patch Changes

- f3e17d8: fix(types): allow async callbacks for event handlers
- Updated dependencies [f69e7cc]
  - @scalar/openapi-types@0.5.0

## 0.3.1

### Patch Changes

- 1e01464: Adds a new ApiReferenceConfigWithSource type and make the base ApiReferenceConfig type agnostic of any document sources.
- Updated dependencies [15c4240]
  - @scalar/openapi-types@0.4.1

## 0.3.0

### Minor Changes

- 008a0f3: feat: migrate to Zod 4

### Patch Changes

- Updated dependencies [008a0f3]
  - @scalar/openapi-types@0.4.0

## 0.2.16

### Patch Changes

- 005fba9: feat: documentDownloadType: 'direct'

## 0.2.15

### Patch Changes

- abe3842: Add analytic events to api-client + add telemetry option

## 0.2.14

### Patch Changes

- 792c937: Configurable option for sidebar to show method path instead of method summary.

## 0.2.13

### Patch Changes

- 50032be: feat: added config options for sorting schema properties

## 0.2.12

### Patch Changes

- 6a88108: feat: add option to expandAllResponses and expandAllModelSections
  - @scalar/openapi-types@0.3.7

## 0.2.11

### Patch Changes

- ccf875a: feat: support x-scalar-credentials-location extension
- 94d6d0c: fix: remove old ssr state and update nuxt for workspace store
- Updated dependencies [ccf875a]
  - @scalar/openapi-types@0.3.7

## 0.2.10

### Patch Changes

- fb62e1b: feat: add externalDocs

## 0.2.9

### Patch Changes

- 591562f: feat: add support for x-scalar-security-body extension
- Updated dependencies [591562f]
  - @scalar/openapi-types@0.3.6

## 0.2.8

### Patch Changes

- c10e191: feat(oauth2): add support for x-tokenName extension

## 0.2.7

### Patch Changes

- ad2e3e6: feat: new onBeforeRequest hook to modify the request

## 0.2.6

### Patch Changes

- 2d7f995: refactor: use more common straight apostrophe ' instead of the real apostrophe ’
- Updated dependencies [2d7f995]
  - @scalar/openapi-types@0.3.5

## 0.2.5

### Patch Changes

- Updated dependencies [533469b]
  - @scalar/openapi-types@0.3.4

## 0.2.4

### Patch Changes

- 1468280: feat: allow fine gained download button file type control

## 0.2.3

### Patch Changes

- 221e35f: feat: added webhooks
- Updated dependencies [221e35f]
  - @scalar/openapi-types@0.3.3

## 0.2.2

### Patch Changes

- Updated dependencies [05c22c7]
  - @scalar/openapi-types@0.3.2

## 0.2.1

### Patch Changes

- 4440949: chore: bumping packages
- Updated dependencies [4440949]
  - @scalar/openapi-types@0.3.1

## 0.2.0

### Minor Changes

- 483ca93: chore: require Node 20 (or above)

### Patch Changes

- Updated dependencies [483ca93]
  - @scalar/openapi-types@0.3.0

## 0.1.16

### Patch Changes

- be8a6ec: chore: remove unused HarRequestWithPath

## 0.1.15

### Patch Changes

- f711ab5: feat: add auth persistance to references
- 0222ad4: feat: render specification extensions with React
- cb9428c: Support additional query parameters for the OAuth authorization request (prompt, audience, anything), and handle OAuth authorization denials
- 67aa0f4: fix: render correct queries with form data
- Updated dependencies [cb9428c]
  - @scalar/openapi-types@0.2.3

## 0.1.14

### Patch Changes

- 8c7bad8: chore: move build tooling to esbuild
- Updated dependencies [8c7bad8]
  - @scalar/openapi-types@0.2.2

## 0.1.13

### Patch Changes

- e8457cb: Unify themes across scalar. Cleanup interface and remove CJS build.

## 0.1.12

### Patch Changes

- 62c4ce3: feat: SvelteKit API Reference integration
  - @scalar/openapi-types@0.2.1

## 0.1.11

### Patch Changes

- eb4854d: fix: types of authentication config

## 0.1.10

### Patch Changes

- Updated dependencies [fa8ed84]
  - @scalar/openapi-types@0.2.1

## 0.1.9

### Patch Changes

- 17e7d02: chore: export more types from the base types package for commonjs apps

## 0.1.8

### Patch Changes

- feaa314: feat(themes): add laserwave theme

## 0.1.7

### Patch Changes

- 9def02e: feat: added new callback for execution request
- 3745d77: feat: new plugin system

## 0.1.6

### Patch Changes

- 3783345: feat: add some callbacks to sidebar items

## 0.1.5

### Patch Changes

- e09dab3: feat: multiple configurations with multiple sources
- 04e27a1: feat: support x-default-scopes
- Updated dependencies [e62e677]
- Updated dependencies [82f16a5]
  - @scalar/openapi-types@0.2.0

## 0.1.4

### Patch Changes

- 8efedf3: fix: allow async functions in onDocumentSelect
- 82a4ba8: chore: move security schemes into types package for future reference
- 57feba6: feat: added new auth config (v2)

## 0.1.3

### Patch Changes

- 543a16c: feat: allow to explicitly set the default source
- 57e96a0: feat: add onDocumentSelect callback when switching multi configs

## 0.1.2

### Patch Changes

- 7a8965c: chore: remove spec prefix
- 49dffff: feat: expose the isLoading prop to control loading of references

## 0.1.1

### Patch Changes

- 39c0f47: chore: export multi doc types

## 0.1.0

### Minor Changes

- 5f9a8a2: feat!: remove the spec prefix, make content and url top-level attributes

## 0.0.41

### Patch Changes

- fc6a45e: refactor: use import aliases

## 0.0.40

### Patch Changes

- 4d03e0f: feat: multiple documents

## 0.0.39

### Patch Changes

- bab7990: refactor: move HtmlRenderingConfiguration type to types package
- 2c621d4: refactor: move snippetz types to @scalar/types

## 0.0.38

### Patch Changes

- 7f1a40e: fix: hiddenClients can be a boolean

## 0.0.37

### Patch Changes

- 89d8b75: feat: new ApiReferenceConfiguration type
- 8a04b8d: fix: adds vendor specific mime type support
  - @scalar/openapi-types@0.1.9

## 0.0.36

### Patch Changes

- 4db5161: feat: allow multiple tokens for bearer auth

## 0.0.35

### Patch Changes

- 946a5df: feat: add front-end redirect
- cf14cbb: fix: show _/_ mimetype in example response
- Updated dependencies [c10bbf5]
  - @scalar/openapi-types@0.1.9

## 0.0.34

### Patch Changes

- Updated dependencies [e350f23]
  - @scalar/openapi-types@0.1.8

## 0.0.33

### Patch Changes

- 54fdfcb: chore: remove spec wording
- fa6afe8: chore: code formatting
  - @scalar/openapi-types@0.1.7

## 0.0.32

### Patch Changes

- f500435: chore: stricter TypeScript configuration
- b5727ef: feat: allow pre-selecting multiple and complex auth
- 34e6f52: feat: upgrade to stricter tsconfig
- f2b082a: feat: add onLoaded event

## 0.0.31

### Patch Changes

- a30e7cc: fix: package doesn’t work with `moduleResolution: NodeNext`

## 0.0.30

### Patch Changes

- Updated dependencies [f9bf5f1]
  - @scalar/openapi-types@0.1.7

## 0.0.29

### Patch Changes

- be34e7d: feat: adds value to server variables schema

## 0.0.28

### Patch Changes

- 702c386: feat: add support for stability
- f1f39b0: feat: rewmove custom Server type

## 0.0.27

### Patch Changes

- b552db5: feat: add url customization functions for references

## 0.0.26

### Patch Changes

- 60cd6f1: feat: render the operation description from the new store
- 60cd6f1: chore: deprecated the TransformedOperation type
- Updated dependencies [13333e6]
  - @scalar/openapi-types@0.1.6

## 0.0.25

### Patch Changes

- c263aaf: chore: improve the comment for UnknownObject

## 0.0.24

### Patch Changes

- fbef0c3: chore: remove httpsnippet-lite

## 0.0.23

### Patch Changes

- c2f5f08: feat: adds hideClientButton option configuration

## 0.0.22

### Patch Changes

- baaad1c: refactor: deprecated the `proxy` configuration attribute, and use `proxyUrl` everywhere
- c984ac8: feat: adds servers to information reference config

## 0.0.21

### Patch Changes

- 9d23f95: chore: deprecate Parameters, use Parameter instead

## 0.0.20

### Patch Changes

- f67c3bc: feat: add framework themes

## 0.0.19

### Patch Changes

- Updated dependencies [a607115]
  - @scalar/openapi-types@0.1.5

## 0.0.18

### Patch Changes

- fb798c8: chore: make OpenAPI document URLs the default, deprecated `content`

## 0.0.17

### Patch Changes

- Updated dependencies [2b540b9]
  - @scalar/openapi-types@0.1.4

## 0.0.16

### Patch Changes

- dbbe38f: feat: add framework identifier for debugging purposes

## 0.0.15

### Patch Changes

- Updated dependencies [8759e7f]
  - @scalar/openapi-types@0.1.3

## 0.0.14

### Patch Changes

- e911047: Add default exports
- Updated dependencies [e911047]
  - @scalar/openapi-types@0.1.2

## 0.0.13

### Patch Changes

- 9dc2ab7: feat: new `operationsSorter` option

## 0.0.12

### Patch Changes

- 8f12149: chore: add point to declaration file

## 0.0.11

### Patch Changes

- f961940: feat: remove @scalar/themes from the dependencies of @scalar/types

## 0.0.10

### Patch Changes

- Updated dependencies [7beeef3]
  - @scalar/themes@0.9.31

## 0.0.9

### Patch Changes

- Updated dependencies [121bc7e]
  - @scalar/themes@0.9.30

## 0.0.8

### Patch Changes

- dc9aff2: chore: replace proprietary ScalarResponse with OpenAPI ResponseObject
- Updated dependencies [c577cde]
- Updated dependencies [dc9aff2]
  - @scalar/themes@0.9.29
  - @scalar/openapi-types@0.1.1

## 0.0.7

### Patch Changes

- a07cfc8: feat: allow to hide the Test Request button
- 023ca15: feat: adds favicon configuration
- 85872b6: feat: allow to hide search sidebar

## 0.0.6

### Patch Changes

- Updated dependencies [b4f9f97]
  - @scalar/openapi-types@0.1.0

## 0.0.5

### Patch Changes

- Updated dependencies [80a3c46]
  - @scalar/themes@0.9.28

## 0.0.4

### Patch Changes

- Updated dependencies [bb13304]
  - @scalar/themes@0.9.27

## 0.0.3

### Patch Changes

- Updated dependencies [abb8ddd]
  - @scalar/themes@0.9.26

## 0.0.2

### Patch Changes

- 910b1c2: Add build step for path resolution

## 0.0.1

### Patch Changes

- 78db8f5: feat: use new @scalar/types package
- Updated dependencies [78db8f5]
  - @scalar/themes@0.9.25
