Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
d614d2d
fix: passing inline parameters after support react 18 for response ti…
AlexVarchuk Jan 6, 2025
59ee73f
fix: displaying json example when showObjectSchemaExamples enabled (#…
AlexVarchuk Jan 8, 2025
981e4a8
chore: move @cfaester/enzyme-adapter-react-18 to devDependencies (#2625)
wadakatu Jan 16, 2025
8caddaf
chore(deps-dev): bump micromatch from 4.0.4 to 4.0.8 (#2578)
dependabot[bot] Jan 16, 2025
0e2d595
chore: fix vulnerabilities (#2648)
AlexVarchuk Jan 16, 2025
c765b34
chore: v2.3.0 (#2649)
AlexVarchuk Jan 16, 2025
153ec7a
fix: Prototype Pollution Vulnerability Affecting redoc <=2.2.0 (#2638)
KsAkira10 Jan 28, 2025
ae1ae79
docs: update options for future major release (#2646)
AlexVarchuk Jan 30, 2025
53a6afc
fix: unify redoc config (#2647)
AlexVarchuk Jan 30, 2025
3a74802
feat: add supporting react 19 in package.json (#2652)
AlexVarchuk Feb 5, 2025
6fa5a2a
fix: update version download/upload artifacts in cicd (#2656)
AlexVarchuk Feb 7, 2025
1243095
chore: v2.4.0 (#2658)
ivankropyvnytskyi Feb 7, 2025
cab07ba
chore(deps): bump prismjs from 1.29.0 to 1.30.0 (#2672)
dependabot[bot] Mar 11, 2025
7cedd59
chore(deps): bump dompurify from 3.1.3 to 3.2.4 (#2667)
dependabot[bot] Apr 8, 2025
1fa1327
chore(deps): bump esbuild and esbuild-loader (#2661)
dependabot[bot] Apr 8, 2025
1b4126f
feat: add keyboard navigation support to JsonViewer component (#2654)
ImBIOS Apr 14, 2025
2db293b
fix: enhance accessibility for menu items with keyboard support (#2655)
ImBIOS Apr 14, 2025
05a04c8
chore(deps): bump @babel/runtime from 7.23.2 to 7.27.0 (#2679)
dependabot[bot] Apr 14, 2025
4547613
chore: fix moderate vulnerabilities (#2683)
AlexVarchuk Apr 14, 2025
00bc6ed
chore: v2.5.0 (#2684)
AlexVarchuk Apr 14, 2025
3ae251b
docs: remove deprecated CLI commands from docs (#2691)
tatomyr May 20, 2025
ce27184
fix: fix headin slugs
RomanHotsiy May 28, 2025
ba863af
chore(deps-dev): bump http-proxy-middleware from 2.0.7 to 2.0.9 (#2687)
dependabot[bot] Jun 26, 2025
7a91902
chore(deps): bump form-data and @cypress/request (#2704)
dependabot[bot] Jul 22, 2025
4d15a1f
chore(deps-dev): bump webpack-dev-server from 4.15.1 to 5.2.1 (#2695)
dependabot[bot] Jul 30, 2025
0b55f34
chore(deps): bump brace-expansion (#2716)
dependabot[bot] Sep 5, 2025
d140213
chore: v2.5.1 (#2726)
DmitryAnansky Sep 26, 2025
65b6997
chore(deps): bump on-headers and compression (#2703)
dependabot[bot] Oct 9, 2025
a59afd5
chore(deps): bump openapi-sampler from 1.5.0 to 1.6.2 (#2732)
ivankropyvnytskyi Oct 15, 2025
3462357
chore: v2.5.2 (#2733)
ivankropyvnytskyi Oct 15, 2025
acdb04b
chore(deps-dev): bump cypress from 13.8.1 to 15.5.0 (#2737)
EvilCoreS Nov 5, 2025
81e19cb
Revert "chore(deps-dev): bump cypress from 13.8.1 to 15.5.0 (#2737)" …
EvilCoreS Nov 5, 2025
d41fd46
chore(deps-dev): use tmp >= 0.2.4 (#2739)
EvilCoreS Nov 5, 2025
59d217b
chore(deps): update handlebars and fast-xml-parser dependencies (#2785)
n0rahh May 12, 2026
0ac9628
Merge remote-tracking branch 'upstream/main' into SWI-10998
ckoegel May 19, 2026
88a0371
dompurify update
ckoegel May 19, 2026
5e62c80
package json
ckoegel May 19, 2026
e070bd5
snapshots
ckoegel May 19, 2026
af1f2c4
fix package
ckoegel May 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,63 @@
# [2.5.2](https://github.com/Redocly/redoc/compare/v2.5.1...v2.5.2) (2025-10-15)


### Bug Fixes

* Bumped `openapi-sampler` dependency to include the fix for `readOnly`/`writeOnly` handling in allOf.


# [2.5.1](https://github.com/Redocly/redoc/compare/v2.4.0...v2.5.1) (2025-09-26)


### Bug Fixes

* Bumped `mobx-react` dependency to address a security vulnerability.

# [2.5.0](https://github.com/Redocly/redoc/compare/v2.4.0...v2.5.0) (2025-04-14)


### Bug Fixes

* enhance accessibility for menu items with keyboard support ([#2655](https://github.com/Redocly/redoc/issues/2655)) ([2db293b](https://github.com/Redocly/redoc/commit/2db293bfb2973497dd33f31dc99e97f5bb90bbe8))


### Features

* add keyboard navigation support to JsonViewer component ([#2654](https://github.com/Redocly/redoc/issues/2654)) ([1b4126f](https://github.com/Redocly/redoc/commit/1b4126fde4531387f49c90f52efbd0c0e5f7b6ea))



# [2.4.0](https://github.com/Redocly/redoc/compare/v2.3.0...v2.4.0) (2025-02-07)


### Bug Fixes

* Prototype Pollution Vulnerability Affecting redoc <=2.2.0 ([#2638](https://github.com/Redocly/redoc/issues/2638)) ([153ec7a](https://github.com/Redocly/redoc/commit/153ec7a0b7245639f404c0b038b612ae7377c7db))
* unify redoc config ([#2647](https://github.com/Redocly/redoc/issues/2647)) ([53a6afc](https://github.com/Redocly/redoc/commit/53a6afc59624fe4591b0a0f1f20f41c0fbb5f1cf))


### Features

* add supporting react 19 in package.json ([#2652](https://github.com/Redocly/redoc/issues/2652)) ([3a74802](https://github.com/Redocly/redoc/commit/3a748022be3a7dc7f98669e1645dd5cda72f1abc))



# [2.3.0](https://github.com/Redocly/redoc/compare/v2.2.0...v2.3.0) (2025-01-16)


### Bug Fixes

* displaying json example when showObjectSchemaExamples enabled ([#2635](https://github.com/Redocly/redoc/issues/2635)) ([59ee73f](https://github.com/Redocly/redoc/commit/59ee73fefa8e8edb398940076bdd721fc284caa3))
* displaying nested items with type string ([#2634](https://github.com/Redocly/redoc/issues/2634)) ([85b622f](https://github.com/Redocly/redoc/commit/85b622fc581eb96303aeb85056aef36c74ea9f9d))
* passing inline parameters after support react 18 for response title ([#2640](https://github.com/Redocly/redoc/issues/2640)) ([d614d2d](https://github.com/Redocly/redoc/commit/d614d2d022df8bd1989cb0eaf76d087b52120d36))


### Features

* update pattern styling ([#2196](https://github.com/Redocly/redoc/issues/2196)) ([#2600](https://github.com/Redocly/redoc/issues/2600)) ([aa0879c](https://github.com/Redocly/redoc/commit/aa0879ca0235112918428fdff8f4c48d2c6c4adf))



# [2.2.0](https://github.com/Redocly/redoc/compare/v2.1.5...v2.2.0) (2024-10-16)


Expand Down
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This is a fork of the [Redocly/redoc](https://github.com/Redocly/redoc) project. It will be supported for the Bandwidth Organization only! If you would like to contribute or have any issues with the project, please contribute to the parent project and NOT this repository

Check failure on line 1 in README.md

View workflow job for this annotation

GitHub Actions / vale action

[vale] reported by reviewdog 🐶 [Rules.FutureTense] Avoid using future tense: "will be". Use present tense instead. Raw Output: {"message": "[Rules.FutureTense] Avoid using future tense: \"will be\". Use present tense instead.", "location": {"path": "README.md", "range": {"start": {"line": 1, "column": 87}}}, "severity": "ERROR"}



Expand Down Expand Up @@ -127,10 +127,8 @@
* [`x-displayName`](docs/redoc-vendor-extensions.md#x-displayname) - specify human-friendly names for the menu categories
* [`x-tagGroups`](docs/redoc-vendor-extensions.md#x-tagGroups) - group tags by categories in the side menu
* [`x-servers`](docs/redoc-vendor-extensions.md#x-servers) - ability to specify different servers for API (backported from OpenAPI 3.0)
* [`x-ignoredHeaderParameters`](docs/redoc-vendor-extensions.md#x-ignoredHeaderParameters) - ability to specify header parameter names to ignore
* [`x-additionalPropertiesName`](docs/redoc-vendor-extensions.md#x-additionalPropertiesName) - ability to supply a descriptive name for the additional property keys
* [`x-summary`](docs/redoc-vendor-extensions.md#x-summary) - for Response object, use as the response button text, with description rendered under the button
* [`x-extendedDiscriminator`](docs/redoc-vendor-extensions.md#x-extendedDiscriminator) - in Schemas, uses this to solve name-clash issues with the standard discriminator
* [`x-explicitMappingOnly`](docs/redoc-vendor-extensions.md#x-explicitMappingOnly) - in Schemas, display a more descriptive property name in objects with additionalProperties when viewing the property list with an object

## Releases
Expand Down
2 changes: 1 addition & 1 deletion demo/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ class DemoApp extends React.Component<
<RedocStandalone
spec={this.state.spec}
specUrl={proxiedUrl}
options={{ scrollYOffset: 'nav', untrustedSpec: true }}
options={{ scrollYOffset: 'nav', sanitize: true }}
/>
</>
);
Expand Down
6 changes: 6 additions & 0 deletions demo/museum.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,9 @@ components:
enum:
- event
- general
x-enumDescriptions:
event: Special event ticket
general: General museum entry ticket
example: event
Date:
type: string
Expand Down Expand Up @@ -776,6 +779,9 @@ x-tagGroups:
- name: Purchases
tags:
- Tickets
- name: Entities
tags:
- Schemas

security:
- MuseumPlaceholderAuth: []
4 changes: 4 additions & 0 deletions demo/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1083,6 +1083,10 @@ components:
- available
- pending
- sold
x-enumDescriptions:
available: Available status
pending: Pending status
sold: Sold status
petType:
description: Type of a pet
type: string
Expand Down
6 changes: 5 additions & 1 deletion demo/playground/hmr-playground.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ const userUrl = window.location.search.match(/url=(.*)$/);
const specUrl =
(userUrl && userUrl[1]) || (swagger ? 'museum.yaml' : big ? 'big-openapi.json' : 'museum.yaml');

const options: RedocRawOptions = { nativeScrollbars: false, maxDisplayedEnumValues: 3 };
const options: RedocRawOptions = {
nativeScrollbars: false,
maxDisplayedEnumValues: 3,
schemaDefinitionsTagName: 'schemas',
};

const container = document.getElementById('example');
const root = createRoot(container!);
Expand Down
159 changes: 102 additions & 57 deletions docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,111 +26,158 @@ Sets the minimum amount of characters that need to be typed into the search dial

_Default: 3_

### expandDefaultServerVariables

Enables or disables expanding default server variables.
### hideDownloadButtons

### expandResponses
Hides the 'Download' button for saving the API definition source file. **This setting does not make the API definition private**; it just hides the button.

Controls which responses to expand by default. Specify one or more responses by providing their response codes as a comma-separated list without spaces, for example `expandResponses='200,201'`. Special value 'all' expands all responses by default. Be careful: this option can slow down documentation rendering time.
### hideLoading

### expandSingleSchemaField
Hides the loading animation. Does not apply to CLI or Workflows-rendered docs.

Automatically expands the single field in a schema.
### hideSchemaTitles

### hideDownloadButton
Hides the schema title next to to the type.

Hides the 'Download' button for saving the API definition source file. **This setting does not make the API definition private**; it just hides the button.
### jsonSamplesExpandLevel

### hideHostname
Sets the default expand level for JSON payload samples (response and request body). The default value is 2, and the maximum supported value is '+Infinity'. It can also be configured as a string with the special value `all` that expands all levels.

If set to `true`, the protocol and hostname are not shown in the operation definition.
_Default: 2_

### hideLoading
### maxDisplayedEnumValues

Hides the loading animation. Does not apply to CLI or Workflows-rendered docs.
Displays only the specified number of enum values. The remaining values are hidden in an expandable area. If not set, all values are displayed.

### hideRequestPayloadSample
### onlyRequiredInSamples

Hides request payload examples.
Shows only required fields in request samples.

### hideOneOfDescription
### sortRequiredPropsFirst

If set to `true`, the description for `oneOf`/`anyOf` object is not shown in the schema.
Shows required properties in schemas first, ordered in the same order as in the required array.

### hideSchemaPattern
### schemasExpansionLevel

If set to `true`, the pattern is not shown in the schema.
Specifies whether to automatically expand schemas in Reference docs. Set it to `all` to expand all schemas regardless of their level, or set it to a number to expand schemas up to the specified level. For example, `schemasExpansionLevel: 3` expands schemas up to three levels deep. The default value is `0`, meaning no schemas are expanded automatically.

### hideSchemaTitles
### scrollYOffset

Hides the schema title next to to the type.
Specifies a vertical scroll-offset.
This setting is useful when there are fixed positioned elements at the top of the page, such as navbars, headers, etc.

### hideSecuritySection
Note that you can specify the `scrollYOffset` value in any of the following ways:
- as a number - a fixed number of pixels to be used as the offset.
- as a CSS selector - the selector of the element to be used for specifying the offset. The distance from the top of the page to the element's bottom is used as the offset.
- a function (advanced) - a getter function. Must return a number representing the offset (in pixels).

Hides the Security panel section.
### showExtensions

### hideSingleRequestSampleTab
Shows specification extensions ('x-' fields). Extensions used by Redoc are ignored. The value can be boolean or an array of strings with names of extensions to display. When used as boolean and set to `true`, all specification extensions are shown.

Hides the request sample tab for requests with only one sample.
### sanitize

### htmlTemplate
If set to `true`, the API definition is considered untrusted and all HTML/Markdown is sanitized to prevent XSS.

Sets the path to the optional HTML file used to modify the layout of the reference docs page.
### downloadUrls

### jsonSampleExpandLevel
Set the URLs used to download the OpenAPI description or other documentation related files from the API documentation page.

Sets the default expand level for JSON payload samples (response and request body). The default value is 2, and the maximum supported value is '+Infinity'. It can also be configured as a string with the special value `all` that expands all levels.
### schemaDefinitionsTagName

_Default: 2_
If a value is set, all of the schemas are rendered with the designated tag name. The schemas then render and display in the sidebar navigation (with that associated tag name).

### maxDisplayedEnumValues
### generatedSamplesMaxDepth

Displays only the specified number of enum values. The remaining values are hidden in an expandable area. If not set, all values are displayed.
The generatedSamplesMaxDepth option controls how many schema levels automatically generated for payload samples. The default is 8 which works well for most APIs, but you can adjust it if necessary for your use case.

### menuToggle
### hidePropertiesPrefix

If set to `true`, selecting an expanded item in the sidebar twice collapses it.
In complex data structures or object schemas where properties are nested within parent objects the hidePropertiesPrefix option enables the hiding of parent names for nested properties within the documentation.

_Default: true_

### nativeScrollbars

If set to `true`, the sidebar uses the native scrollbar instead of perfect-scroll. This setting is a scrolling performance optimization for big API definitions.
## Deprecated Functional settings

### onlyRequiredInSamples
### hideDownloadButton

Shows only required fields in request samples.
Hides the 'Download' button for saving the API definition source file. **This setting does not make the API definition private**; it just hides the button.

### pathInMiddlePanel
### downloadFileName

Shows the path link and HTTP verb in the middle panel instead of the right panel.
Sets the filename for the downloaded API definition source file.

### payloadSampleIdx
### downloadDefinitionUrl

If set, the payload sample is inserted at the specified index. If there are `N` payload samples and the value configured here is bigger than `N`, the payload sample is inserted last. Indexes start from 0.
Sets the URL for the downloaded API definition source file.

### requiredPropsFirst

Shows required properties in schemas first, ordered in the same order as in the required array.

### jsonSampleExpandLevel

Sets the default expand level for JSON payload samples (response and request body). The default value is 2, and the maximum supported value is '+Infinity'. It can also be configured as a string with the special value `all` that expands all levels.

_Default: 2_

### schemaExpansionLevel

Specifies whether to automatically expand schemas in Reference docs. Set it to `all` to expand all schemas regardless of their level, or set it to a number to expand schemas up to the specified level. For example, `schemaExpansionLevel: 3` expands schemas up to three levels deep. The default value is `0`, meaning no schemas are expanded automatically.

### scrollYOffset

Specifies a vertical scroll-offset.
This setting is useful when there are fixed positioned elements at the top of the page, such as navbars, headers, etc.
### expandDefaultServerVariables

Note that you can specify the `scrollYOffset` value in any of the following ways:
- as a number - a fixed number of pixels to be used as the offset.
- as a CSS selector - the selector of the element to be used for specifying the offset. The distance from the top of the page to the element's bottom is used as the offset.
- a function (advanced) - a getter function. Must return a number representing the offset (in pixels).
Enables or disables expanding default server variables.

### showExtensions
### expandResponses

Shows specification extensions ('x-' fields). Extensions used by Redoc are ignored. The value can be boolean or an array of strings with names of extensions to display. When used as boolean and set to `true`, all specification extensions are shown.
Controls which responses to expand by default. Specify one or more responses by providing their response codes as a comma-separated list without spaces, for example `expandResponses='200,201'`. Special value 'all' expands all responses by default. Be careful: this option can slow down documentation rendering time.

### expandSingleSchemaField

Automatically expands the single field in a schema.

### hideHostname

If set to `true`, the protocol and hostname are not shown in the operation definition.

### hideRequestPayloadSample

Hides request payload examples.

### hideOneOfDescription

If set to `true`, the description for `oneOf`/`anyOf` object is not shown in the schema.

### hideSchemaPattern

If set to `true`, the pattern is not shown in the schema.

### hideSecuritySection

Hides the Security panel section.

### hideSingleRequestSampleTab

Hides the request sample tab for requests with only one sample.

### menuToggle

If set to `true`, selecting an expanded item in the sidebar twice collapses it.

_Default: true_

### nativeScrollbars

If set to `true`, the sidebar uses the native scrollbar instead of perfect-scroll. This setting is a scrolling performance optimization for big API definitions.

### pathInMiddlePanel

Shows the path link and HTTP verb in the middle panel instead of the right panel.

### payloadSampleIdx

If set, the payload sample is inserted at the specified index. If there are `N` payload samples and the value configured here is bigger than `N`, the payload sample is inserted last. Indexes start from 0.

### showObjectSchemaExamples

Expand Down Expand Up @@ -162,12 +209,12 @@ When set to true, sorts tags in the navigation sidebar and in the middle panel a

_Default: false_

### untrustedDefinition
### untrustedSpec

If set to `true`, the API definition is considered untrusted and all HTML/Markdown is sanitized to prevent XSS.

## Theme settings

Change styles for the API documentation page. **Supported in Redoc CE 2.x**.
* `spacing`
* `unit`: 5 # main spacing unit used in autocomputed theme values later
* `sectionHorizontal`: 40 # Horizontal section padding. COMPUTED: spacing.unit * 8
Expand Down Expand Up @@ -248,7 +295,7 @@ For more information, refer to [Security definitions injection](./security-defin

### OpenAPI specification extensions

Redoc uses the following [specification extensions](https://redocly.com/docs/api-reference-docs/spec-extensions/):
Redoc uses the following [specification extensions](https://redocly.com/docs-legacy/api-reference-docs/spec-extensions/):
* [`x-logo`](./redoc-vendor-extensions.md#x-logo) - is used to specify API logo
* [`x-traitTag`](./redoc-vendor-extensions.md#x-traittag) - useful for handling out common things like Pagination, Rate-Limits, etc
* [`x-codeSamples`](./redoc-vendor-extensions.md#x-codesamples) - specify operation code samples
Expand All @@ -257,10 +304,8 @@ Redoc uses the following [specification extensions](https://redocly.com/docs/api
* [`x-displayName`](./redoc-vendor-extensions.md#x-displayname) - specify human-friendly names for the menu categories
* [`x-tagGroups`](./redoc-vendor-extensions.md#x-taggroups) - group tags by categories in the side menu
* [`x-servers`](./redoc-vendor-extensions.md#x-servers) - ability to specify different servers for API (backported from OpenAPI 3.0)
* [`x-ignoredHeaderParameters`](./redoc-vendor-extensions.md#x-ignoredheaderparameters) - ability to specify header parameter names to ignore
* [`x-additionalPropertiesName`](./redoc-vendor-extensions.md#x-additionalpropertiesname) - ability to supply a descriptive name for the additional property keys
* [`x-summary`](./redoc-vendor-extensions.md#x-summary) - For Response object, use as the response button text, with description rendered under the button
* [`x-extendedDiscriminator`](./redoc-vendor-extensions.md#x-extendeddiscriminator) - In Schemas, uses this to solve name-clash issues with the standard discriminator
* [`x-explicitMappingOnly`](./redoc-vendor-extensions.md#x-explicitmappingonly) - In Schemas, display a more descriptive property name in objects with additionalProperties when viewing the property list with an object


8 changes: 4 additions & 4 deletions docs/deployment/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ With Redocly CLI, you can bundle your OpenAPI definition and API documentation

First, you need to install the `@redocly/cli` package.

You can install it [globally](../../cli/installation.md#install-globally) using npm or Yarn.
You can install it [globally](../../cli/installation#install-globally) using npm.

Or you can install it during [runtime](../../cli/installation.md#use-npx-at-runtime) using npx or Docker.
Or you can install it during [runtime](../../cli/installation#use-npx-at-runtime) using npx or Docker.

## Step 2 - Build the HTML file

Expand All @@ -27,9 +27,9 @@ replacing `apis/openapi.yaml` with your API definition file's name and path:
redocly build-docs apis/openapi.yaml
```

See the [build-docs](../../cli/commands/build-docs.md) documentation for more information
See the [build-docs](../../cli/commands/build-docs) documentation for more information
on the different options and ways you can use the command.

Also, check out [Redocly CLI commands](../../cli/commands/index.md), for more
Also, check out [Redocly CLI commands](../../cli/commands), for more
information on the different things you can do with Redocly CLI including
linting, splitting, and bundling your API definition file.
Loading
Loading