- Updated
form-datato 4.0.4 for Redocly CLI v1. - Updated @redocly/respect-core to v1.34.5.
- Resolved an issue where
dotenv@16.6.0injected an unintended message into the output. - Updated @redocly/respect-core to v1.34.4.
- Updated Redoc to v2.5.0.
- Updated @redocly/openapi-core to v1.34.3.
- Updated @redocly/openapi-core to v1.34.2.
- Improved OpenTelemetry data serialization.
- Updated @redocly/respect-core to v1.34.1.
- Added global execution timeout timer to
respectcommand execution to prevent infinite test runs. You can configure this timer using theRESPECT_TIMEOUTenvironment variable (defaults to 1 hour).
- Updated @redocly/respect-core to v1.34.0.
- Fixed
generate-arazzocommand to properly handle output file paths. Theoutput-fileparameter must have a value when provided. - Updated @redocly/respect-core to v1.33.1.
- Added support for generating workflows from OpenAPI operations without operationIds. The
generate-arazzocommand now automatically generates operationPaths using the URL pattern:{$sourceDescriptions.<name>.url}#/paths/<path>/<method>.
- Updated @redocly/respect-core to v1.33.0.
- Fixed step execution to respect severity levels when handling step failures. Previously, steps would always break workflow execution on failure when onFailure is omitted, but now they properly consider the configured severity level (e.g.,
warn|offseverity allows subsequent steps to execute). - Updated @redocly/openapi-core to v1.32.2.
- Added support for
basic,bearer, andapiKeysecurity schemes in workflow generation withgenerate-arazzocommand. - Updated @redocly/openapi-core to v1.32.1.
- Added support for linting, preprocessors, decorators, and type extensions for Overlay v1 documents.
- Updated OAS3 Schema type definition to correct
typekeyword enum, removednull. - Fixed an issue where JSON logs did not properly capture data from nested external workflows.
- Updated @redocly/openapi-core to v1.32.0.
- Updated @redocly/openapi-core to v1.31.3.
- Fixed
sourceDescriptionname generation ingenerate-arazzocommand when using OpenAPI files that contain multiple periods "." in their filenames. - Updated @redocly/respect-core to v1.31.2.
- Added the missing
respect-coreimport in Redocly CLI package. - Updated @redocly/openapi-core to v1.31.1.
- Added the
generate-arazzocommand to scaffold Arazzo description templates out of OpenAPI descriptions. - Added the
respectcommand to test APIs against Arazzo description files.
- Updated @redocly/openapi-core to v1.31.0.
- Added OAuth 2.0 Device authorization flow that enables users to authenticate through Reunite API.
- Updated
operation-tag-definedbuilt-in rule to verify tags are defined on the operation prior to matching them to a global tag. - Updated @redocly/openapi-core to v1.30.0.
- Added typings and interfaces for Overlay Specification v1.0.0.
- Fixed a problem where the
splitcommand produced backslashes instead of forward slashes in$refs on Windows. - Fixed an issue where the
no-invalid-media-type-examplesrule crashed instead of reporting an error when it failed to resolve an example from a $ref. - Updated @redocly/openapi-core to v1.29.0.
- Fixed an issue where the
build-docscommand produced incorrect output. - Updated @redocly/openapi-core to v1.28.5.
- Fixed an issue where the
build-docscommand failed when React 19 was installed in the project folder. - Updated @redocly/openapi-core to v1.28.4.
- Updated @redocly/openapi-core to v1.28.3.
- Updated @redocly/openapi-core to v1.28.2.
- Updated @redocly/openapi-core to v1.28.1.
- Switched to using native
fetchAPI instead ofnode-fetchdependency, improving performance and reducing bundle size.
- Updated @redocly/openapi-core to v1.28.0.
- Updated the
sideNavStyleconfiguration schema to include thepath-onlyoption. - Updated @redocly/openapi-core to v1.27.2.
- Fixed an issue where running the
previewcommand failed because one of its dependencies could not be resolved. The issue occurred when Realm was not installed in thenode_modulesof the project. - Updated @redocly/openapi-core to v1.27.1.
- Added the ability to override default problem messages for built-in rules.
- Fixed an issue where
apis' root inredocly.yamlwas not resolved properly when the value ofrootwas a URL. - Updated the Redocly CLI command
redocly build-docsto usestdoutinstead ofstderrfor simple logs. - Updated @redocly/openapi-core to v1.27.0.
- Fixed an issue where an API alias's root path might be resolved incorrectly for configuration files located outside the root folder.
- Updated @redocly/openapi-core to v1.26.1.
- Introduced the
structrule and deprecated thespecrule. Added thespecruleset, which enforces compliance with the specifications.
- Fixed an issue where the CLI would fail to run on Windows due to a breaking change in the Node.js API.
- Fixed an issue where
joinwould throw an error when a glob pattern was provided. - Updated
sourceDescriptionsto enforce a valid type field, ensuring compliance with the Arazzo specification. - Updated @redocly/openapi-core to v1.26.0.
- Clarified usage of the
--outputoption in thebundlecommand. - Updated @redocly/openapi-core to v1.25.15.
- Resolved an issue where overrides for the severity of configurable rules were ignored.
- Updated @redocly/openapi-core to v1.25.14.
- Added the possibility to skip configurable rules using the
--skip-ruleoption. - Updated @redocly/openapi-core to v1.25.13.
- Fixed an issue where valid Redocly tokens were not recognized.
- Updated @redocly/openapi-core to v1.25.12.
- Fixed an issue with the
remove-x-internaldecorator where bundling API descriptions containing discriminators could fail when using Node.js v17 or earlier. - Fixed API descriptions bundling. Previously, schemas containing nulls in examples were causing failures.
- Updated @redocly/openapi-core to v1.25.11.
- Fixed
component-name-uniqueproblems to include correct location. - Fixed the
remove-x-internaldecorator, which was not removing the reference in the corresponding discriminator mapping while removing the original$ref. - Updated @redocly/openapi-core to v1.25.10.
- Updated @redocly/openapi-core to v1.25.9.
- Added the
REDOCLY_SUPPRESS_UPDATE_NOTICEenvironment variable so that users can skip version updates. - Fixed bundling with the
--dereferencedoption. Previously, references to external files were not substituted with references to components, causing them to become invalid. - Fixed an issue where using
externalValueas a property name was causing the API description validation process to fail. - Updated @redocly/openapi-core to v1.25.8.
- Updated redoc to v2.2.0.
- Removed the support of the
x-inheritextension for Arazzo description files. - Updated @redocly/openapi-core to v1.25.7.
- Changed the
x-operationextension in Arazzo, enabling users to make requests with this extension without an API description file. - Removed the support of the
x-parametersextension for Arazzo description files. - Updated @redocly/openapi-core to v1.25.6.
- Fixed an issue where the bundle command did not resolve links in
externalValue. - Fixed an issue where the plugins in external NPM packages could not be resolved if the CLI package was installed globally.
- Updated @redocly/openapi-core to v1.25.5.
- Added a warning message to the
pushandpush-statuscommands to notify users about upcoming or ongoing resource deprecation. - Updated @redocly/openapi-core to v1.25.4.
- Updated @redocly/openapi-core to v1.25.3.
- Fixed
camelCaseassertion for single-letter values. - Updated @redocly/openapi-core to v1.25.2.
- Added additional checks to
criteria-uniqueArazzo rule. - Updated @redocly/openapi-core to v1.25.1.
- Added a cache for resolved plugins to ensure that plugins are only instantiated once during a single execution.
- Updated @redocly/openapi-core to v1.25.0.
- Added Respect and Arazzo rules:
no-criteria-xpath,no-actions-type-end,criteria-unique.
- Fixed an issue where custom rules were not applied to Arazzo descriptions.
- Updated @redocly/openapi-core to v1.24.0.
- Fixed a bug where bundling multiple API description files specified as CLI arguments, along with the
--outputoption, stored the result in a single file instead of a folder. - Updated @redocly/openapi-core to v1.23.1.
- Added support for the
outputoption in the per-API configuration so that the destination file can be specified in configuration.
- Fixed the absolute path for importing plugins in Windows.
- Added the ability to run the
ejectcommand without specifying components, which displays a selectable list of all available components. - Updated @redocly/openapi-core to v1.23.0.
- Updated @redocly/openapi-core to v1.22.1.
- Updated the Arazzo validation types for workflows input, parameter objects, and criteria to match the specification.
- Added Arazzo rulesets so that users can customize their linting rules for this format.
- Updated @redocly/openapi-core to v1.22.0.
- Updated @redocly/openapi-core to v1.21.1.
- Added the
ejectandtranslatecommands for use with the new Reunite-hosted product family.
- Updated @redocly/openapi-core to v1.21.0.
- Get more helpful error messages when there's a problem importing a plugin.
- Updated @redocly/openapi-core to v1.20.1.
- Added support for ESM plugins and importing of plugins directly from npm package:
@vendor/package/plugin.jsinstead of./node_modules/@vendor/package/plugin.js. - Added
info-license-strictrule as a replacement of theinfo-license-urlto support the OpenAPI 3.1 changes to allow identifier or URL license details. - Changed plugins format to export a function instead of an object for compatibility with other Redocly products. The backwards compatibility with an old format of plugins is maintained.
- Added support for webhooks in stats and fixed a crash that occurred when tags were not included in webhooks.
- Updated @redocly/openapi-core to v1.20.0.
- Added support for AsyncAPI 3.0 description linting.
- Fixed an issue where
patternPropertiesincorrectly caused linting errors due to a missingPatternPropertiesnode. - Updated @redocly/openapi-core to v1.19.0.
- Allowed the
theme.openapiconfiguration option to accept settings specific to Redoc 2.x and earlier. - Fixed an issue in the OpenAPI
specrule wheredependentSchemaswas parsed as an array. It is now correctly parsed as a map. - Fixed bundling of
$refsinsidepatternProperties. - Updated AsyncAPI v2 typings to abide by JSON Schema draft-07 specification.
- Updated @redocly/openapi-core to v1.18.1.
- Added support for Arazzo description linting.
- Removed
additionalItemsfrom OAS 3.0.x typings. This keyword is not supported by the specification. - Updated @redocly/openapi-core to v1.18.0.
- Added JSON Schema draft 2019-09+ validation keyword -
dependentRequired. - Updated @redocly/openapi-core to v1.17.1.
- Changed resolution process to include extendedTypes and plugins before linting.
- Added support for the
contentSchemakeyword to parse as a schema instance. - Replace path items emoji with 🔀 so the width is consistent.
- Updated @redocly/openapi-core to v1.17.0.
- Users can run the CLI tool behind a proxy by using
HTTP_PROXYorHTTPS_PROXYenvironment variables to configure the proxy settings.
- Updated @redocly/openapi-core to v1.16.0.
- Made
redocly.yamlvalidation consistent with the general Redocly config.
- Updated Redoc to v2.1.5.
- Fixed
no-invalid-media-type-examples,no-invalid-parameter-examples, andno-invalid-schema-examplesrules which allowed falsy example values to pass for any schema. - Updated @redocly/openapi-core to v1.15.0.
- Added the ability to exclude some operations or entire paths from the
security-definedrule.
- Improved error messages.
- Updated @redocly/openapi-core to v1.14.0.
- Added support for the linting command to output markdown format.
- Updated @redocly/openapi-core to v1.13.0.
- Updated @redocly/openapi-core to v1.12.2.
- Updated @redocly/openapi-core to v1.12.1.
- Added return values for the
pushandpush-statuscommands.
- Fixed handling of wildcards on Windows (#1521).
- Updated @redocly/openapi-core to v1.12.0.
- Removed additional operations from the
joincommand; uselintand/orbundlefor operations such aslintanddecorate. - Removed lint support from the bundle command to support a wider range of use cases. Users should update to run lint and bundle separately.
- Added support for a
github-actionsoutput format for thelintcommand to annotate reported problems on files when used in a GitHub Actions workflow.
- Fixed
no-invalid-media-type-examplesruleexternalValueexample validation. - Updated @redocly/openapi-core to v1.11.0.
- Added
check-configcommand to validate a Redocly configuration file. - Updated @redocly/openapi-core to v1.10.6.
- Updated license text for date and organization naming accuracy.
- Updated @redocly/openapi-core to v1.10.5.
- Fixed a problem with the
previewcommand crashing on Windows by adding operating system detection for the correctnpxexecutable to use. - Updated @redocly/openapi-core to v1.10.4.
- Reverted "Users can run the CLI tool behind a proxy by using HTTP_PROXY or HTTPS_PROXY environment variables to configure the proxy settings" temporary.
- Updated @redocly/openapi-core to v1.10.3.
- Users can run the CLI tool behind a proxy by using
HTTP_PROXYorHTTPS_PROXYenvironment variables to configure the proxy settings. - Updated @redocly/openapi-core to v1.10.2.
- Updated @redocly/openapi-core to v1.10.1.
- Users can run the CLI tool behind a proxy by using
HTTP_PROXYorHTTPS_PROXYenvironment variables to configure the proxy settings.
- Added inflection to the
joincommand so that--prefix-components-with-info-propreplaces spaces with underscores to create less confusing $refs. - Updated @redocly/openapi-core to v1.10.0.
- Adds support for using logical AND for the security schema so that the
joincommand generates the correct schema. - Fixed a bug with resolving $refs to file names that contain the hash symbol.
- Fixed a problem where the
joincommand did not process schemas containingnullvalues when the--prefix-components-with-info-propoption was used.' - Updated @redocly/openapi-core to v1.9.1.
- Removed descriptions adding for x-tagGroups for the
joincommand. Descriptions in x-tagGroups are not supported and cause errors on linting. - Updated
info.titleto be used as a name in x-tagGroups instead of a file name for thejoincommand, so you can now join files with the same names.
- Removed descriptions adding for x-tagGroups for the
- Added new
no-required-schema-properties-undefinedrule to check if each required schema property is defined.
- Fixed an issue where using the
--prefix-components-with-info-propoption with thejoincommand caused$refsto include duplicated prefixes. - Fixed an issue where
$refs ending in#(instead of#/) would break the application. - Updated @redocly/openapi-core to v1.9.0.
- Added markdown format option to stats command for use with GitHub job summaries.
- Fixed an issue with the
pushcommand, whendestinationoption does not work without specifying it inredocly.yaml. - Updated @redocly/openapi-core to v1.8.2.
- Added git to the docker image, so the push command can use git metadata.
- Updated @redocly/openapi-core to v1.8.1.
- Added a
pushandpush-statuscommand for use with future Redocly products.
- Updated @redocly/openapi-core to v1.8.0.
- Added a
previewcommand that starts a local preview server for Redocly projects that use products that are currently in a pre-release stage.
- Fixed an issue with resolving references after splitting API descriptions written in the json format.
- Added filename extension support for more
x-codeSampleslanguages. - Fixed a problem where the linter incorrectly returned an error for valid examples that contain references.
- Updated @redocly/openapi-core to v1.7.0.
- Added the ability to use
$refin the Redocly config file. This ability allows users to split up big config files and maintain their constituent parts independently.
- Deprecated
--lintoption in thejoincommand. The options are marked for removal in a future release. Use the lint command separately to lint your APIs. - Updated @redocly/openapi-core to v1.6.0.
- Added new rule
array-parameter-serializationto require that serialization parametersstyleandexplodeare present on array parameters.
- Deprecated lint-related options in the
bundlecommand. The options are marked for removal in a future release. Use the lint command separately to lint your APIs before bundling. - Updated Redoc to v2.1.3.
- Updated @redocly/openapi-core to v1.5.0.
- Fixed an issue with resolving the
node-fetchpackage by explicitly adding the missing dependency. - Updated @redocly/openapi-core to v1.4.1.
- Added
recommended-strictruleset which uses the same rules asrecommendedbut with the severity level set toerrorfor all rules. - Add JSON output support to the
splitandjoincommands.
- The
--host/-hargument in thepreview-docscommand is now also used by the WebSocket server for hot reloading. - Updated @redocly/openapi-core to v1.4.0.
- Added the possibility to configure the linting severity level of the configuration file for all CLI commands. Redocly CLI exits with an error if there are any issues with the configuration file, and the severity is set to
error.
- Updated @redocly/openapi-core to v1.3.0.
- Fixed an issue with nested refs in the
joincommand. - Fixed pattern for no-server-example.com rule to improve detection accuracy.
- Changed the report location for
patternandnotPatternassertions to be more precise. - Updated
unevaluatedItemstype definition to resolve either boolean or object schema per JSON Schema 2019-09 specification. - Updated @redocly/openapi-core to v1.2.1.
- Added support for linting AsyncAPI v2 files, so that a wider range of API descriptions can use the Redocly linting workflow.
- Renamed API definition to API description for consistency.
- Updated @redocly/openapi-core to v1.2.0.
- Added
ignoreCaseoption fortags-alphabeticalrule. - Added
joinsupport for OAS 3.1 descriptions. - Added support for Redoc v2.1.2, and aligned the dependencies for both projects.
- Fixed an issue where the
--remove-unused-componentsoption removed used components that were referenced as child objects. - Updated Redocly config validation.
- Fixed the location pointer when reporting on the
no-path-trailing-slashrule. - Updated minimum required version of Node.js to v14.19.0, NPM to v7.0.0, and removed deprecated packages.
- Updated @redocly/openapi-core to v1.1.0.
- No code changes.
- Updated @redocly/openapi-core to v1.0.2.
- Fixed the build-docs command failing when running outside the root folder.
- Updated @redocly/openapi-core to v1.0.1.
This release marks the stable version 1.0. There are no changes from previous releases.
- Fixed issue with publishing to Docker Hub (no code changes).
- Fixed smoke tests in Yarn and Docker environments.
- Added job for testing new version (no code changes).
- Update package publishing process (no code changes).
No code changes.
- Handled aborted request in the docker and removed a redundant call.
- Resolved problem with installation failing in node 14- and yarn due to unresolved peer dependencies.
- Removed the
cdnoption from thebuild-docscommand as it was not functional. - Updated Redocly config validation schemas.
- Added new rule
component-name-uniqueto check for unique component names (kudos to @pboos 🎉). - Added docker container to GitHub container registry.
- Fixed an issue when the
--filesoption of thepushcommand did not upload extra files. - Fixed nullable schema type validation for OAS 3.1.
- Added peer dependencies to fix an issue with styles seen in the build-docs command.
- Additional data masking for the anonymous data collection feature.
- Added fetch request timeout to prevent hanging the tool when executing commands.
- Added product metrics collection.
- Fixed build-docs command not working in Docker.
- Other stability fixes and improvements.
- Streamlined the
pushcommand interface. The previous syntax also continues to work. - Improved Redocly configuration validation.
- Documentation and messaging corrections.
- Resolve
$refs in preprocessors. - Create the
spec-strict-refsrule to ensure$refusage is in accordance with the OpenAPI specification.
- Handle syntax errors from plugins.
- Apply the following regular expression,
^[a-zA-Z0-9\.\-_]+$, only to fixed fields under components.
- Change the prefix from
assert/torule/as a prefix for configurable rules. Theassert/prefix continues to work with a warning of the deprecated syntax.
- Inform the user if a new version is available.
- Improved messages on wrong schemas.
- Fixed components duplication and self-referencing when bundling.
- Fixed typos.
- Adjusted CLI arguments behavior for array-like options: it's required to specify the option multiple times to add multiple values. For example,
--skip-rule rule1 --skip-rule rule2instead of--skip-rule rule1 rule2.
- Added new options for the
joincommand:--decorateand--preprocess.
- Fixed a bug with OAS (
x-) specification extensions that contain an array. - Display an error if the API path refers to a folder.
- Fixed the
pushcommand not recognizing API descriptions with spaces. - Defined default
allowedValuesin theallruleset for mime-type rules.
- Display an error if apis or rules for the
lintcommand are not provided. - Stopped executing decorators and preprocessors upon the
joincommand. - Sort top-level OAS3 keys in
bundleandjoincommands.
- Added the required-min-length-string-type-property rule that requires required properties in the API description with type
stringto have aminLength.
- Fixed an issue with
$refin path parameters during thejoincommand. - This release also includes various internal stability fixes and improvements.
- Changed the arguments for assertion custom functions. Now as the third parameter, instead of a
locationobject, assertion custom functions include actxobject. See Custom functions.
- Fixed an issue with remote file inside the lint ignore file.
- Fixed the
pushcommand when organization is provided in theredocly.yamlconfiguration file.
- Fixed an issue with the
pushcommand not working with a validorganizationId.
- Added custom output file option to the
joincommand. - Added an option to include webhooks to operation-4xx-response rule.
- Added a new built-in decorator info-override.
- Added support for
/as a separator which puts paths into subdirectories for each path segment with the split command.
- Ignored case when inferring file extension from code sample
langproperty.
- Moved and renamed the
features.openapiandfeatures.mockServerinto thethemeobject with the namesopenapiandmockServer.
Before:
features.openapi: {}
features.mockServer: {}After:
theme:
openapi: {}
mockServer: {}- Fixed an issue where
$refsweren't resolved inside specification extensions.
- Fixed an issue where the
specrule showed an error forx-logoproperties in the 3.1 OpenAPI description.
- Enabled removing unused components in the config to use within the bundle command.
- Implemented special SpecExtension type
VendorExtension. - Added an error handler for the case when the API description file or a plugin does not exist.
- Added
media-type-examples-overridedecorator.
- Fixed an issue where the rule spec-components-invalid-map-name is not applied for all examples and adjusted the logic behind the rule in general.
- Fixed an issue with scalar assertion failing when an object is of invalid type.
- Added Redoc vendor extensions to supported types.
- Added support for
anytype in assertions.
- Renamed the Docker image on Docker Hub.
- Changed assertions errors grouping.
- Removed orphaned git submodule
public_api_docs.
- Added a new assertion
notPatternto the custom rules.
- Removed automatically adding the
recommendedconfiguration when there is a config defined without anextendslist.
- Fixed an issue with undefined
process.cwdin browser environment. - Fixed an issue with
$anchorsin OpenAPI documents are not properly parsed. - Fixed an issue with the
specrule not reporting onnullablein Schema object that don't have atypesibling. - Added missing OAS2 and OAS3 list types.
- Don't show false media type example errors when a discriminator is used with the
allOfkeyword.
- Changed assertions syntax and renamed to custom rules.
- Removed
info-descriptionrule. - Removed deprecated fields suggestions in Redocly config file.
- Renamed four type names for alignment with the OpenAPI specification.
PathsMaptoPathsResponsesMaptoResponsesEncodingsMaptoEncodingMapSecuritySchemeFlowstoOAuth2Flows
- Added a new option
--keep-url-referencesto thebundlecommand that disables bundling of absolute URL$ref-s.
- Improved location of problems produced by
security-definedrule. - Fixed an issue with
response-contains-headerbeing case-sensitive. - Fixed an issue with
path-params-definedrule that was not accounting for params defined on the operation level. - Fixed an issue with
typenot being validated if it is an array. - Fixed an issue with
apisoverrides not picking up some base values from the root config. - Fixed an issue with api not being detected from the
apislist if used as a file name.
- Added the
build-docscommand which builds Redoc API docs into a zero-dependency HTML file. - Added the ability to upload other files and folders with the
pushcommand. - Added support for custom assertions as plugins.
- Fixed incorrect behavior for the
no-invalid-media-type-examplesrule in combination with theallOfkeyword.
- Added rfc7807 problem details rule.
- Improved error messages by adding
referenced frominformation. - Added the
spec-components-invalid-map-namerule for component map names validation. - Added a new lint
--formatoption:summary.
- Fixed an issue with multi-line strings in literal mode.
- Fixed an issue with multi-line Markdown with Windows-style new lines.
- Fixed the Header object type to require
contentorschema. - Fixed a error message for
operation-4xx-responserule. - Fixed an issue with
pathsnot being correctly handled by thejoincommand. - Fixed the
operation-security-definedrule to check the security on the root and in each operation.
- Renamed 'DefinitionRoot', 'ServerVariableMap', 'PathMap', 'CallbackMap', 'MediaTypeMap', 'ExampleMap', 'EncodingMap', 'HeaderMap', and 'LinkMap' definition node types.
- Removed the
styleguideobject from the configuration file. - Renamed the
operation-security-definedrule tosecurity-defined.
- Renamed
no-servers-empty-enumtono-server-variables-empty-enumand fixed incorrect docs ofno-empty-enum-servers.
- Add browser support for
openapi-core. - Allow accessing
configfield in subclasses extendingBaseResolverclass. - Ability to create config (e.g.
redocly.yaml) from string or object.
- Fixed docs for
no-server-example.com. - Incorrect schema description dereferenced.
- Add
allowAdditionalPropertiesto built-in rules and markdisallowAdditionalPropertiesas deprecated.
- Introduced severity level
offfor assertions.
- Now errors exit with return code
1.
- Renamed
lintintostyleguidein Redocly configuration. - Improved naming consistency.
- Fixed bug with an invalid path to the configuration file causing issues with the ignore file.
- Fixed incorrect boolean filtering in
filter-outrule. - Fixed bug with tags duplication for the
joincommand. - Other internal stability fixes and improvements.
- Added new property
refto assertation object. - Added the
--lint-configoption for thelintcommand. Use it to validate the configuration file with appropriate severity level. - Added new built-in decorators
filter-inandfilter-out.
- Resolved an issue with the
--run-idoption for thepushcommand. The--run-idoption renamed to the--batch-id, added the--batch-sizeoption. - Improved types for the configuration file.
- The
joincommand supports a new option--without-x-tag-groups. Use it to skip the creation and population ofx-tagGroups. - Added new property
requireAnyto assertation object. - Updated types. Added
showSecuritySchemeTypeanddisableTryItRequestUrlEncodingconfiguration options.
- Fixed issue with
additionalItemsarray type.
Broken release.
- Fixed types for
CallbackandNamedCallbacks. - Fixed an issue with the
scalar-property-missing-examplebuilt-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. - The
bundlecommand supports a new option--keep-url-references. Use it to prevent Redocly CLI from resolving external URL references during bundling. - Added
addinionalItems,minContainsandmaxContainsarray types.
- Resolved an issue with escaping symbols in code sample language names (the
langvalue in thex-codeSamplesspecification extension).
- Updated types. Added
hideTryItPanel,schemaDefinitionsTagNameconfiguration options andx-hideTryItPanel,x-tagsOpenAPI specification extensions.
- Added the
--publicoption to thepushcommand. With this option, you can upload OpenAPI descriptions and make them publicly accessible. - Changed assertions syntax to this pattern:
assert/{assert name}
- Fixed an issue with
process.*in core package that caused crashes in client-side builds. - Fixed
preview-docshot reload.
Technical release for changing the package name from @redocly/openapi-cli to @redocly/cli.
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.
- The
lint.extendssection 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 theextendssection. The following example shows how to do it:
extends:
- recommended
- ./path/to/local/lint-ruleset.yaml
- https://url-to-remote/lint-ruleset.yamlThe 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- The
lintcommand supports a new output formatting option calledcodeclimatethat you can use with the--formatargument.
- Fixed an issue with resolvable scalar values not working in assertions.
- Deprecated the
@redocly/openapi-clinpm package. From this version forward, use@redocly/cliinstead.
- The
lintcommand supports usingunevaluatedPropertiesas boolean in OAS 3.1.x and no longer reports this as an error. - Internal changes.
- Resolved an issue with the
pushcommand skipping dependencies.
- Introduced configurable rules - a new, powerful lint feature, which helps you enforce API design standards without coding (named
assertionsat the time of the release). - The
pushcommand supports a new--skip-decoratoroption.
- Resolved an issue with
openapi preview-docsfailing during authorization.
- Added the
--separatoroption to thesplitcommand. Use it to change the separator character that's used instead of whitespace in file names. The default is_, which means that after splitting, path file names look like this: "user_login.yaml", "user_logout", etc.
- Resolved an issue with the
bundlecommand when handling files with multiple dots in the file name.
- Updated types to support validation of the Redocly configuration file according to the new file structure.
- Internal changes of
redocly.yamlconfig structure - add new mock server options toredocly.yamlschema.
- Fixed crash when there's an empty
redocly.yamlfile.
- Internal changes of
redocly.yamlconfig structure.
- Fixed an issue with the
lintcommand highlighting the entire file whenserversare missing in OAS3. Now it highlights only theopenapifield, indicating an incorrect OpenAPI description. - Fixed an issue with the
lintcommand 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.envassignment that caused crashes in client-side builds. - Fixed an issue with
no-path-parameterrule reporting false-positives.
- Allowed to name the config file either
.redocly.yaml(deprecated) orredocly.yaml.
- The
specrule triggers an error when a parameter is missingschemaorcontentfields.
- Internal improvements
- Fixed an issue with the
lintcommand crashing when theservers.urlfield is empty in the OpenAPI description. - Fixed an issue with the
lintcommand crashing when anenumvalue is invalid.
- Added the
webhooksand x-webhooks support to thesplitcommand.
- Removed support for using OpenAPI CLI behind a proxy server.
- Added support for using OpenAPI CLI behind a proxy server.
- Fixed an issue with the
lintcommand not reporting errors whensecurityDefinitions.basiccontains the unsupportedadditionalPropertyin OAS2. - Fixed an issue with the
no-invalid-media-type-examplesbuilt-in rule that didn't work on examples containing a$ref. - Fixed an issue with the
lintcommand incorrectly reporting boolean schemas for array items as invalid. - Fixed an issue with
isPathParameterfailing because of an incorrect brace.
- Fixed an issue with date-time conversion in YAML files.
- Fixed an issue with the
oauth2-redirect.htmlfile being absent when served bypreview-docscommand.
- Fixed the
remove-x-internaldecorator to remove references to removedx-internalcomponents. - Fixed the
remove-unused-componentsdecorator that strips remotely referenced components.
- Added the
remove-x-internalbuilt-in decorator. - Added the
--remove-unused-componentsoption to thebundlecommand.
- Fixed an issue with backslashes in
$refsto paths with thesplitcommand in a Windows environment.
- Exported
mapTypeToComponentfunction.
- Added the
--hostoption to thepreview-docsCLI command.
- Fixed an issue with continuous deployment to Docker Hub.
- Fixed an issue with
constnot handled correctly by thelintcommand.
- 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_DOMAINin the EU region introduced in the previous release.
- Added support for the region option with the
login,push, and other commands. - Added two new built-in rules:
- Fixed an issue with the built-in
paths-kebab-caserule that disallowed paths with trailing slashes. - Fixed a validation issue with the
exampleproperty when the schema is an array.
- Implemented new
--extendsand--metafileoptions for the bundle command.
- Fixed an issue with hot reloading when running a preview of reference docs with
openapi preview-docs. - Fixed an issue with page refresh when pagination is set to
itemorsection. - Fixed an issue with inlining external schema when components' names match.
- Fixed an issue with fetching hosted schema on Windows when bundling OpenAPI descriptions.
- Fixed an issue for
no-server-trailing-slashwhen server url is a root.
- Added a new built-in rule: operation-4xx-response.
- Added four new built-in rules:
- Fixed an issue with OAS 3.1 meta keywords reported as not expected.
- Fixed an issue with incorrect codeframe for
info-license-urlrule. - Fixed an issue with discriminator mapping not supported in
no-invalid-media-type-examples. - Fixed an issue with ignore file generated in windows not working on other systems, and in Redocly Workflows.
- Added three built-in decorators -
info-description-override,tag-description-override,operation-description-override- that let you modify your API descriptions during the bundling process. Use these decorators in thelintsection of yourredocly.yamlfile to point OpenAPI CLI to Markdown files with custom content. That custom content replaces any existing content in theinfo.descriptionfield, and intags.descriptionandoperation.descriptionfields 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.mdlint:
decorators:
tag-description-override:
tagNames:
pet: ./my-custom-description.mdlint:
decorators:
operation-description-override:
operationIds:
updatePet: ./my-custom-description.md- Improved documentation for the lint command.
- Fixed the the
bundlecommand to return a non-zero code when it detects an error when used with the--lintoption.
Fixed an issue with the
--formatoption not working with thebundlecommand.Fixed a validation issue with the non-string
openapivalue in API descriptions. Thelintcommand now warns if the value is not string instead of crashing.
- Upgraded the
js-yamlpackage 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-problemsoption that was not working with thebundlecommand.
- Improved validation of values for the following fields in the Schema Object:
multipleOf, maxLength, minLength, maxItems, minItems, maxProperties, minProperties.
- Fixed an issue with the
joincommand crashing when trying to resolve $ref.
Resolved an issue with the
preview-docscommand not working when runningopenapi-cliin 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.yamlconfiguration 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.
Implemented improvements to the internal CD process.
- Internal changes.
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-operationIdrule no longer triggers a warning when one or more operations in thecallbacksobject don't haveoperationIddefined.
Our official OpenAPI CLI documentation is now open-source! 🥳 You can find the source of all pages published on our website in the
docsfolder 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
typeExtensionplugins.
Resolved a crash caused when processing properties with the
nullvalue.Resolved a "Maximum call stack size exceeded" issue in the JSON schema validator caused by recursive
oneOf.
- Implemented improvements to the
openapi-clipackage to reduce the size of the browser bundle.
Removed unused keywords in OpenAPI 3.1.
Resolved an issue with the
openapi bundlecommand failing because of the missingjs-yamldependency.
- Resolved an issue with the plugin ID being prefixed to all rules, preprocessors and decorators multiple times (for example, when using the
preview-docscommand and changing configuration files).
- The
bundlecommand now supports an optional--lintparameter.
Improved the error messages for
kebab-caseand implemented detection ofsnake_caseusage in paths.The
joincommand does not overwrite an existingx-displayNameof a tag with the tag'snameproperty.
- 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
enumitems with the nullable property. Validation errors are no longer reported whennullable: trueforenumitems that contain anullvalue.
- The
browserfield inpackage.jsonis now set to simplify usingopenapi-corein browser-based builds.
- The root API description document is now parsed in all cases, even if it doesn't report the correct MIME type or doesn't use any of the supported file extensions.
- Improved
openapi-coreso that it can be used within our other projects including Redoc, Reference docs, and Developer portal.
- Resolved an issue with the
--dereferencedCLI option not functioning properly.
- Resolved an issue where transitive $refs that span multiple files would crash the validation in some cases.
- Resolved a hot-reloading issue with the
preview-docscommand. It now automatically reloads the docs in the browser when you make live changes to an OpenAPI description.
- Exported a helper function from
openapi-coreand implemented defaults for some functions to improve integration with the Developer portal.
- Implemented error handling for failed file uploads when using the
pushcommand. The command now displays success/failure messages in the output.
- Source type was changed from
FILEtoCICDto support integration with the new CI/CD source in Workflows.
- OpenAPI CLI now has tab completion for global installations. Run
openapi completionfor instructions to set it up in your environment.
- OpenAPI CLI now has an official Docker image! You can get it from Docker Hub.
- You can now use the
--verboseparameter with thelogincommand to show a detailed error trace (if any). Detailed error output is not displayed by default for this command.
The "access token" has been renamed to "API key" in the output of relevant OpenAPI CLI commands (
login,push) to make it clearer what information the users must provide.For improved security, the API key is now hidden (masked) when the user provides it in the terminal, and it's not logged in the user's history.
- The
bundlemethod is now able to acceptDocumentdirectly in openapi-core.
- OpenAPI CLI now automatically resolves all $refs by default, even in places where they are not allowed by the specification ("incorrect $refs"). This functionality can be disabled for examples by setting
doNotResolveExamplestotrueinredocly.yaml.
- Fixed an issue with incorrect base directory when resolving transitive
$refs.
- Resolved an issue with nested filepaths that caused the
pushcommand to upload files to the wrong path when used on Windows systems.
- A new command called
pushis now supported by OpenAPI CLI. With this command, you can upload your API descriptions and associated files, and set up your own CI pipeline for updating API descriptions without granting Redocly Workflows access to your repositories.
- Resolved an issue that prevented using the
.(dot) symbol in version names with thepushcommand.
Resolved an issue with
assert-node-versionusing the wrong path.OpenAPI CLI bundles the API description before gathering stats.
Resolved issues with tag logic and tag display names for the
joincommand.Refactored CLI command handlers.
- A new command called
joinis now available in OpenAPI CLI. Use it to combine two or more API description files into one. The resulting file optionally helps distinguish the origin of OpenAPI objects and properties by appending custom prefixes to them. Note that this command is considered experimental; meaning, it's still a work in progress.
- The previously single OpenAPI CLI package has been split into two:
openapi-cliandopenapi-core.
- OpenAPI CLI now supports the
splitcommand, which you can use to create a multi-file structure out of an API description file by extracting referenced parts into standalone, separate files. The command doesn't support OAS 2.
- Resolved an issue with counting operation tags in the
statscommand.
- A new command called
statshas been implemented. It provides statistics about the structure of one or more API description files, and lets you choose the format in which the statistics are presented.
- Resolved an issue with the
globlibrary by installing the missing package.
Resolved an issue with the extended regex path which was missing the dot symbol.
Added support for non-compatible globbing shells.
- Added the missing label definition for
x-codeSamplesand enabledx-codeSamplesfor OAS 2.
Fixed the required field name for
openIdConnectUrl.Resolved an issue with detecting duplicated plugin IDs, and added a warning that plugin IDs must be unique.
Adedd
enginesandengineStricttopackage.json.Implemented better handling and error messages for invalid severity values.
- Previously, OpenAPI CLI tried to use
/instead of\for file path splitting on Windows machines. The issue has been resolved by implementing platform-specific separator usage.
- Resolved an issue with missing support for external plugins in the bundled version.
Fixed a crash that happened when attempting to resolve back-references.
The version number of OpenAPI CLI is now printed in the JSON output.
The
--formatoption now supports JSON as one of the output formats you can choose when using OpenAPI CLI commands.Bundling and uploading are now part of the build process.
Warnings and errors are now displayed as separate counts in JSON output.
All parts of a pointer are now used to generate unique component names when needed.
Added support for linting
x-webhooks, which is a forward-compatibility vendor extension forwebhooksfrom OpenAPI 3.1.
Removed an extra blank line that was printed when no rules were ignored.
Resolved an issue with missing types for
OasDecoratorandOas3Decorator.Resolved a tag syntax error when deploying to Workflows.
Relative paths are now used for JSON output.
- Added mime-type handling for remote docs.
Fixed the callbacks type definition.
Fixed invalid component names for some components.
Resolved an issue with bundling local references.
Resolved a minor issue where the help message displayed references to the
registry:logincommand instead of thelogincommand.
Fixed invalid unescape and
decodeURIComponent.Updated the
extendsparameter logic to allow configuration overrides.Improved handling logic and error message when the input file is not an OpenAPI document.
Resolved an issue with detecting output file extension without an entrypoint.
Resolved an issue with the
preview-docscommand failing to automatically select the first description from theapiDefinitionssection of the configuration file when used without arguments.Fixed an issue with relative paths for entrypoints from external configuration files.
The
default.hbsfile is now copied to the build directory.Resolved an issue with the preview functionality failing to access
watcher.
Resolved an issue with the
no-path-trailing-slashrule showing errors for the wrong location and path.Fixed a transitive resolve issue.
First beta release!