- CLI - Added option to apply OpenAPI overlay actions
- fix: scalar $ref: >-
- fix: replace 'node:path' with 'path' to resolve Webpack build error
- CLI - Bundle local and remote file references
- CLI - Split OpenAPI in a multi-file structure
- Add type definitions for openapi-format
- Filter - handle inverseFlagValues removal of nested array values
- Filter - handle flagValues removal of nested array values (#139)
- CLI - Fix to prevent that Sort settings get overwritten (#137)
- Generate - Added option to generate operationId using template structures (#66)
- CLI - Added option to bundle all options in --configFile
- CLI - Added option to bundle all options in .openapiformatrc
- CLI - Keep YAML comments (#44)(#60)
- Filter - Improved unused components handling
- Filter - Extend methods/inverseMethods filtering with "head", "options", "trace" (#128)
- Bumped dependencies: Neotraverse, Jest
- Filter - Fix to only remove unused components, keep properties with same key (#126)
- Filter - Only remove path methods, keeping similarly named properties
- Filter - Prevent removal of empty objects in oneOf, allOf items
- Convert - Check node is not null in traverse (#123)
- Sort - Added option to sort paths alphabetically or by tag (#119)
- Sort - Bugfix for requestBody.example distortion (#120)
- Replaced Traverse with Neotraverse
- Casing - Improvements to handle special characters
- Filter - added requestContent and inverseRequestContent filters
- Bumped dependencies
- Improved the logic to remove "unused" component items
- CLI - option to open in online playground
- Added OpenAPI analyze method
- Bumped minimum NodeJS version to 18.x
- Refactor to handle null and undefined values in filterSet properties
- Allow setting defaults via options
- Added support for uppercased filter methods
- Added parseString, detectFormat, isJson, isYaml functions
- Bugfix to keep quotes for $ref values (#108)
- Filter - Added inverse filtering for flags for operations, components, tags, x-tagGroups
- Filter - Added inverse filtering for flagValues for operations, components, tags, x-tagGroups
- Bugfix to support http & https remote files
- Filter - Flags for $ref items (#103)
- Casing - Extended changeCase function with customKeepChars parameter
- Added support for local or remote files for any config file
- Refactored the file handling
- Added additional tests
- Bumped dependencies traverse and node-version of the GitHub actions
- Bugfix to only remove OpenAPI path items without operations (#96)
- Sort - Prevent error if name doesn't exist (#94)
- Sort - Sort inline parameters by alphabet (#82)
- Bugfix for components.example distortion (#91)
- Casing - Added support for casing of the required properties (#77)
- Extended the CLI to support remote OpenAPI documents
- Label Dockerfile (#75)
- Prevent removal of empty objects in default examples (#72)
- Update defaultSort.json, requestBody according to the spec (#69)
- Bumped dependencies @stoplight/yaml, traverse
- Build openapi-format as a Docker image
- Extended openapi-format to support ordering, formatting and filtering for OpenAPI 3.1 documents
- Added the CLI option to convert an OpenAPI 3.0 document to an OpenAPI version 3.1
- Filter - Bugfix for a combination of flags & flagValues
- Filter - FlagValues within tags (#63)
- Added support for parameters in Cookies (#61)
- Bugfix for handling null values with inverse filtering (#56)
- Bugfix for unwanted removal of free-form objects in component schemas (#57)
- Bugfix for unwanted conversion of numbers in x-tags (#52)
- Bugfix for components.examples.properties distortion (#54)
- Bumped minimist version to v1.2.6
- Bugfix for unwanted conversion of numbers in strings (#47)
- Filter - added responseContent and inverseResponseContent filters (#48)
- Improved the matching of large numbers in YAML/JSON to prevent unwanted conversions
- Bumped dependencies
- Handle large numbers more safely in YAML/JSON (#41 / #42)
- Filter - Handle components with period (.) in their name/key (#37)
- Filter - Inverse operation IDs
- Updated CLI output
- Improved sort components logic
- Async/Await implementation
- Code formatting
- Extended CLI tests
- Integrated "case-anything" package
- Enabled additional casing options (Ada_Case, Train-Case, ...)
- Set "@" and "$" as special characters during case formatting
- Migrated tests from Mocha to Jest
- new feature - Formatting - Change casing of OpenAPI elements
- Support common casing (camelCase, PascalCase, kebap-case, snake_case, ...)
- Format the casing of fields & model names/keys for: properties, operationId, query params, path variables, headers, components
For more details on this new feature: https://github.com/thim81/openapi-format#openapi-formatting-configuration-options
- Filtering - Fix handling of
inverseTags
for operations without tags (#25)
- Reverted openapi-format success output because of minor offset
- Filtering - Inverse filtering for operationIds via
inverseOperationIds
- Filtering - Inverse filtering for tags via
inverseTags
- Filtering - Inverse filtering for methods via
inverseMethods
- Keep empty security object (#23)
- Improved openapi-format success output
- Added the option to replace words/characters in description, summary, URL fields with new value
- Fix for unsafe Object.keys variables
- Fix for issue with the markdown comments strip filtering when non-strings descriptions
- Added option to remove all "unused" component items through recursion
- Improved the openapi-format terminal log output and how verbose is handled
- Filtering will remove lines with markdown comments (syntax [comment]: <>) from the description fields.
- Fix/Hack to handle x-tagGroups filtering on flagValues
- Added option to remove "unused" component items.
- Implemented the missing functionality for removal of OpenAPI.x-tagGroups matching flags
- Added option to strip flags based on the value of the flags from OpenAPI
- Added NPM badges
- Added option to strip flags from OpenAPI
- Handled the unwanted sorting of components > examples > value properties
- Bumped dependencies @stoplight/yaml, mocha
- Enhancement that will remove also openapi.tags when filtering on tags
Released on 14 June 2021
- Dependency bumped by dependabot for security reasons
- Reduced package size by setting files in packages.json and excluding the tests
- Bug fix for sort file error when a custom sort file was defined
- Bug fix #4 for sort file error - no such file or directory "defaultSort.json"
- Added Filter OpenAPI files based on an operation definition, with matching logic and wildcard support
- Added the option to sort the items of the components (schemas, parameters, ...) by alphabet
- Aligned YAML parsing style with Stoplight Studio style
- Added a reference to the asyncapi-format package
- Minor text corrections Bumped the minor version to 1.1.0 because of the changes of the changes in the YAML output because of the switch the @stoplight/yaml package
- Bug fix #3 - "properties" in the examples section gets incorrectly handled
- Bug fix #2 - Handle fields named "properties" in the properties object properly
- Updated the documentation & links to the specification
- Filter - Added support to filter out OpenAPI.tags matching the flags
- Filter - Added support for clean-up of path items without operations
- Bug fix - openapi-format not taken into account the customSort file
- Improved handling of file references from within node_modules
- Handled an undefined exception
Initial commit with features
- Order OpenAPI fields in a default order
- Order OpenAPI fields in a custom order
- Filter OpenAPI files based on methods
- Filter OpenAPI files based on flags
- Filter OpenAPI files based on tags
- Filter OpenAPI files based on operationID's
- Rename the OpenAPI title
- Support OpenAPI documents in JSON format
- Support OpenAPI documents in YAML format
- Format via CLI
- Format via config files
- Use via as Module
- Support for OpenAPI 3.0