NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3910 most downloaded on npm
See https://github.com/Redocly/redocly-cli
Last release today
30 Sep 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 58 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
777 releases · first in 2020
One column per quarter.
Added new property ref to assertation object.
ref to assertation object.--lint-config option for the lint command. Use it to validate the configuration file with appropriate severity level.filter-in and filter-out.--run-id option for the push command. The --run-id option renamed to the --batch-id, added the --batch-size option.The join command supports a new option --without-x-tag-groups. Use it to skip the creation and population of x-tagGroups.
join command supports a new option --without-x-tag-groups. Use it to skip the creation and population of x-tagGroups.requireAny to assertation object.showSecuritySchemeType and disableTryItRequestUrlEncoding configuration options.additionalItems array type.Broken release.
Broken release.
Fixed types for Callback and NamedCallbacks.
Callback and NamedCallbacks.scalar-property-missing-example built-in rule that didn't work on examples containing falsy values.Added three new built-in rules: response-contains-header, response-contains-property, scalar-property-missing-example.
response-contains-header, response-contains-property, scalar-property-missing-example.bundle command supports a new option --keep-url-references. Use it to prevent Redocly CLI from resolving external URL references during bundling.addinionalItems, minContains and maxContains array types.lang value in the x-codeSamples specification extension).Updated types. Added hideTryItPanel, schemaDefinitionsTagName configuration options and x-hideTryItPanel, x-tags OpenAPI specification extensions.
hideTryItPanel, schemaDefinitionsTagName configuration options and x-hideTryItPanel, x-tags OpenAPI specification extensions.Added the --public option to the push command. With this option, you can upload OpenAPI descriptions and make them publicly accessible.
--public option to the push command. With this option, you can upload OpenAPI descriptions and make them publicly accessible.assert/{assert name}process.* in core package that caused crashes in client-side builds.preview-docs hot reload.Technical release for changing the package name from @redocly/openapi-cli to @redocly/cli.
Technical release for changing the package name from @redocly/openapi-cli to @redocly/cli.
This change is reflected in all Redocly product documentation, in the npm package name (more on that in the "Deprecated" section), and in the official…
{% admonition type="warning" name="Product name change" %} The product name has changed from OpenAPI CLI to Redocly CLI.
This change is reflected in all Redocly product documentation, in the npm package name (more on that in the "Deprecated" section), and in the official project GitHub repository.
The change also affects the CLI commands. The legacy name openapi is supported for now, but we strongly recommend you use the new name redocly.
(To illustrate, if you previously used openapi lint, now you should use redocly lint).
If you encounter any issues and suspect they may be related to this change, let us know by reporting an issue.
{% /admonition %}
lint.extends section in the Redocly configuration file supports file paths and URLs as values. This means you can define your own lint rulesets in local or remote files, and list those files in the extends section. The following example shows how to do it:extends:
- recommended
- ./path/to/local/lint-ruleset.yaml
- https://url-to-remote/lint-ruleset.yaml
The contents of those referenced files must correspond to the standard format used in the rules object to configure the rules. Here is an example lint-ruleset.yaml file referenced above:
rules:
tags-alphabetical: error
lint command supports a new output formatting option called codeclimate that you can use with the --format argument.@redocly/openapi-cli npm package. From this version forward, use @redocly/cli instead.The lint command supports using unevaluatedProperties as boolean in OAS 3.1.x and no longer reports this as an error.
lint command supports using unevaluatedProperties as boolean in OAS 3.1.x and no longer reports this as an error.Resolved an issue with the push command skipping dependencies.
push command skipping dependencies.Introduced configurable rules - a new, powerful lint feature, which helps you enforce API design standards without coding (named assertions at the tim
assertions at the time of the release).push command supports a new --skip-decorator option.openapi preview-docs failing during authorization.Nothing published for this version
Updated types to support validation of the Redocly configuration file according to the new file structure.
Internal changes of redocly.yaml config structure - add new mock server options to redocly.yaml schema.
redocly.yaml config structure - add new mock server options to redocly.yaml schema.redocly.yaml file.Internal changes of redocly.yaml config structure.
redocly.yaml config structure.lint command highlighting the entire file when servers are missing in OAS3. Now it highlights only the openapi field, indicating an incorrect OpenAPI description.lint command highlighting all parent values when one of the child fields has an empty value instead of highlighting the field itself.Fixed an issue with process.env assignment that caused crashes in client-side builds.
process.env assignment that caused crashes in client-side builds.no-path-parameter rule reporting false-positives.Allowed to name the config file either .redocly.yaml (deprecated) or redocly.yaml.
.redocly.yaml (deprecated) or redocly.yaml.spec rule triggers an error when a parameter is missing schema or content fields.- Internal improvements ---
Fixed an issue with the lint command crashing when the servers.url field is empty in the OpenAPI description.
lint command crashing when the servers.url field is empty in the OpenAPI description.lint command crashing when an enum value is invalid.Added the webhooks and x-webhooks support to the split command.
Removed support for using OpenAPI CLI behind a proxy server.
Added support for using OpenAPI CLI behind a proxy server.
lint command not reporting errors when securityDefinitions.basic contains the unsupported additionalProperty in OAS2.no-invalid-media-type-examples built-in rule that didn't work on examples containing a $ref.lint command incorrectly reporting boolean schemas for array items as invalid.isPathParameter failing because of an incorrect brace.Fixed an issue with date-time conversion in YAML files.
oauth2-redirect.html file being absent when served by preview-docs command.Fixed the remove-x-internal decorator to remove references to removed x-internal components.
remove-x-internal decorator to remove references to removed x-internal components.remove-unused-components decorator that strips remotely referenced components.Added the remove-x-internal built-in decorator.
remove-x-internal built-in decorator.--remove-unused-components option to the bundle command.Fixed an issue with backslashes in $refs to paths with the split command in a Windows environment.
$refs to paths with the split command in a Windows environment.Exported mapTypeToComponent function.
mapTypeToComponent function.Added the --host option to the preview-docs CLI command.
--host option to the preview-docs CLI command.Fixed an issue with const not handled correctly by the lint command.
const not handled correctly by the lint command.Resolved another backward compatibility issue with older versions of portal.
Fixed another backward compatibility issue with regions: save old config key to support old portal versions.
Fixed a backward compatibility issue with REDOCLY_DOMAIN in the EU region introduced in the previous release.
REDOCLY_DOMAIN in the EU region introduced in the previous release.Added support for the region option with the login, push, and other commands.
login, push, and other commands.paths-kebab-case rule that disallowed paths with trailing slashes.example property when the schema is an array.Implemented new --extends and --metafile options for the bundle command.
Fixed an issue with hot reloading when running a preview of reference docs with openapi preview-docs.
openapi preview-docs.item or section.no-server-trailing-slash when server url is a root.Added a new built-in rule: operation-4xx-response.
Fixed an issue with OAS 3.1 meta keywords reported as not expected.
info-license-url rule.no-invalid-media-type-examples.Added three built-in decorators - info-description-override, tag-description-override, operation-description-override - that let you modify your API d
info-description-override, tag-description-override, operation-description-override - that let you modify your API descriptions during the bundling process. Use these decorators in the lint section of your redocly.yaml file to point OpenAPI CLI to Markdown files with custom content. That custom content replaces any existing content in the info.description field, and in tags.description and operation.description fields for specified tag names and operation IDs.The following examples show how to add the decorators to the redocly.yaml file:
lint:
decorators:
info-description-override:
filePath: ./my-custom-description.md
lint:
decorators:
tag-description-override:
tagNames:
pet: ./my-custom-description.md
lint:
decorators:
operation-description-override:
operationIds:
updatePet: ./my-custom-description.md
bundle command to return a non-zero code when it detects an error when used with the --lint option.Fixed an issue with the --format option not working with the bundle command.
Fixed an issue with the --format option not working with the bundle command.
Fixed a validation issue with the non-string openapi value in API descriptions. The lint command now warns if the value is not string instead of crashing.
Upgraded the js-yaml package from v.3 to v.4 with YAML 1.2 support. This resolves issues with parsing timestamps and example strings with leading zero
js-yaml package from v.3 to v.4 with YAML 1.2 support. This resolves issues with parsing timestamps and example strings with leading zeros in YAML.Resolved an issue with the --max-problems option that was not working with the bundle command.
--max-problems option that was not working with the bundle command.Improved validation of values for the following fields in the Schema Object: multipleOf, maxLength, minLength, maxItems, minItems, maxProperties, minP
multipleOf, maxLength, minLength, maxItems, minItems, maxProperties, minProperties.Fixed an issue with the join command crashing when trying to resolve $ref.
join command crashing when trying to resolve $ref.Resolved an issue with the preview-docs command not working when running openapi-cli in a Docker container.
Resolved an issue with the preview-docs command not working when running openapi-cli in a Docker container.
Improved the security of local documentation previews by removing query parameters from the request URL.
Internal improvements to configuration types.
Simplified the login check query to improve performance.
Added a function for linting the redocly.yaml configuration file.
Added a function for linting the redocly.yaml configuration file.
Published the OpenAPI CLI quickstart guide as part of our Google Season of Docs 2021 project.
Updated and improved the introductory content and installation instructions for OpenAPI CLI as part of our Google Season of Docs 2021 project.
Updated and improved the introductory content and installation instructions for OpenAPI CLI as part of our Google Season of Docs 2021 project.
Implemented improvements to the internal CD process.
- Internal changes. ---
Resolved an issue with transitive $ref resolution in the JSON schema validator.
Resolved an issue with transitive $ref resolution in the JSON schema validator.
If the JSON schema validator crashes, OpenAPI CLI reports the problem in the output instead of crashing itself.
The operation-operationId rule no longer triggers a warning when one or more operations in the callbacks object don't have operationId defined.
operation-operationId rule no longer triggers a warning when one or more operations in the callbacks object don't have operationId defined.Our official OpenAPI CLI documentation is now open-source! 🥳 You can find the source of all pages published on our website in the docs folder of the o
Our official OpenAPI CLI documentation is now open-source! 🥳 You can find the source of all pages published on our website in the docs folder of the openapi-cli repository. We invite you to help us improve the documentation and make it more usable for everyone. Please make sure to always follow our Code of conduct in all your contributions.
Implemented support for OpenAPI 3.1 in typeExtension plugins.
Resolved a crash caused when processing properties with the null value.
Resolved a "Maximum call stack size exceeded" issue in the JSON schema validator caused by recursive oneOf.
Implemented improvements to the openapi-cli package to reduce the size of the browser bundle.
openapi-cli package to reduce the size of the browser bundle.Removed unused keywords in OpenAPI 3.1.
Removed unused keywords in OpenAPI 3.1.
Resolved an issue with the openapi bundle command failing because of the missing js-yaml dependency.
Resolved an issue with the plugin ID being prefixed to all rules, preprocessors and decorators multiple times (for example, when using the preview-doc
preview-docs command and changing configuration files).The bundle command now supports an optional --lint parameter.
bundle command now supports an optional --lint parameter.Improved the error messages for kebab-case and implemented detection of snake_case usage in paths.
The join command does not overwrite an existing x-displayName of a tag with the tag's name property.
Implemented support for OpenAPI 3.1. You can now lint, validate, and bundle your OAS 3.1 descriptions with OpenAPI CLI.
Resolved a validation issue for enum items with the nullable property. Validation errors are no longer reported when nullable: true for enum items tha
enum items with the nullable property. Validation errors are no longer reported when nullable: true for enum items that contain a null value.The browser field in package.json is now set to simplify using openapi-core in browser-based builds.
browser field in package.json is now set to simplify using openapi-core in browser-based builds.Your coding agent can read these notes before it upgrades. Set up the MCP server →