Skip to content

Releases: speakeasy-api/openapi

v1.8.0

14 Oct 00:43
0bd0aca

Choose a tag to compare

🧹 New Feature: Sanitize Command

This release introduces a new sanitize command that removes non-standard extensions and unknown properties from OpenAPI specifications, helping you create clean, standards-compliant API documentation.

✨ Key Features

  • Extension Removal: Automatically removes all x-* extensions and other non-standard properties
  • Pattern Matching: Keep specific extensions using glob patterns (e.g., x-speakeasy-*)
  • Flexible Configuration: Use command-line flags or YAML config files
  • Component Cleanup: Optional removal of unused component schemas
  • JSON Schema Support: Also cleans non-standard properties from JSON Schema definitions

📖 Usage

Basic usage - remove all extensions:

openapi sanitize openapi.yaml

Keep specific extensions:

openapi sanitize openapi.yaml --keep-extensions "x-speakeasy-*,x-internal-*"

Use configuration file:

openapi sanitize openapi.yaml --config sanitize-config.yaml

Example config file:

extensions:
  keep:
    - x-speakeasy-*
    - x-internal-*
components:
  removeUnused: true

📚 Documentation

Full documentation and examples are available in openapi/cmd/README.md.

🔧 Implementation Details

  • Added Sanitize() function in openapi/sanitize.go
  • Added CLI command in openapi/cmd/sanitize.go
  • 10 comprehensive test cases with various scenarios
  • Integrated with CI pipeline

🙏 Credits

This feature was requested and inspired by @zdunecki in Issue #46.


Full Changelog: v1.7.12...v1.8.0

OpenAPI CLI v1.8.0

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Features

  • 0bd0aca feat: add sanitize command to remove extensions and clean OpenAPI specs (#59)

Bug fixes


Full Changelog: v1.7.12...v1.8.0

Released by GoReleaser.

v1.7.12

13 Oct 06:55
70b4b68

Choose a tag to compare

What's Changed

Bug Fixes

  • Fixed parent directory references (../) not being bundled correctly during the bundling process (#58)
  • References now properly converted to absolute paths for consistent deduplication and proper bundling
  • Fixed issue where ../ references remained in bundled output instead of being resolved

Code Quality Improvements

  • Added helper functions to eliminate code duplication:
    • isInternalReference() - eliminates ~22 lines of duplication
    • extractSimpleNameFromReference() - eliminates ~60 lines of duplication
    • findCircularReferenceMatch() - eliminates ~26 lines of duplication
  • Removed unused parentLocation parameter (~110 lines total reduction)

Tests

  • Added comprehensive test case for issue #50 with parent directory references
  • All bundle and inline tests passing (8/8)

Full Changelog: v1.7.11...v1.7.12

Fixes #50

OpenAPI CLI v1.7.12

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Bug fixes

  • 70b4b68 fix: convert references to absolute paths for proper parent directory handling and deduplication (#58)

Others

  • 40abaee chore(deps): bump jsonschema/oas3/tests/testsuite (#56)

Full Changelog: v1.7.11...v1.7.12

Released by GoReleaser.

v1.7.11

09 Oct 01:18
16ce80e

Choose a tag to compare

Changes

  • chore(jsonschema): Add convenience methods for schema and boolean value access (#57)
    • Added semantic methods IsSchema(), GetSchema(), IsBool(), GetBool() to replace less intuitive Left/Right terminology
    • Updated internal usage throughout the jsonschema/oas3 package
    • Improved API clarity and developer experience

Full Changelog

v1.7.10...v1.7.11

OpenAPI CLI v1.7.11

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Others

  • 16ce80e chore(jsonschema): add convenience methods for schema and boolean value access (#57)

Full Changelog: v1.7.10...v1.7.11

Released by GoReleaser.

v1.7.10

08 Oct 00:07

Choose a tag to compare

Full Changelog: v1.7.9...v1.7.10

OpenAPI CLI v1.7.10

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Bug fixes

  • c42a384 fix: use model's RootNode instead of parameter for consistency in GetMapKeyNodeOrRoot methods

Full Changelog: v1.7.9...v1.7.10

Released by GoReleaser.

v1.7.9

07 Oct 23:49

Choose a tag to compare

Full Changelog: v1.7.8...v1.7.9

OpenAPI CLI v1.7.9

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Bug fixes

  • b1bc1fe fix: introduced methods for accessing map key nodes for getting line numbers and improved agent testing behaviour

Full Changelog: v1.7.8...v1.7.9

Released by GoReleaser.

v1.7.8

07 Oct 03:06

Choose a tag to compare

Changes

  • Add YAMLToJSONCompatibleGoType function to convert YAML nodes to JSON-compatible Go types
  • Add comprehensive test coverage for json package functions
  • Fix YAML merge key handling to properly merge referenced maps
  • Update mise test task to support package-specific test execution

Bug Fixes

  • YAML merge keys are now properly handled, merging referenced map values instead of treating merge key as a literal key

Testing

  • Added 34 new tests with full coverage of YAML-to-JSON conversion scenarios
  • All tests follow project conventions with parallel execution and testify assertions

OpenAPI CLI v1.7.8

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Bug fixes

  • a30e6a1 fix(json): add YAMLToJSONCompatibleGoType, tests, and fix YAML merge keys

Full Changelog: v1.7.7...v1.7.8

Released by GoReleaser.

v1.7.7

03 Oct 07:28

Choose a tag to compare

Full Changelog: v1.7.6...v1.7.7

OpenAPI CLI v1.7.7

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Bug fixes

  • 903dfce fix: fixed issues with navigating with jsonpointers through unknown properties

Full Changelog: v1.7.6...v1.7.7

Released by GoReleaser.

v1.7.6

03 Oct 02:45

Choose a tag to compare

Full Changelog: v1.7.5...v1.7.6

OpenAPI CLI v1.7.6

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog


Full Changelog: v1.7.5...v1.7.6

Released by GoReleaser.

v1.7.5

01 Oct 09:10

Choose a tag to compare

Full Changelog: v1.7.4...v1.7.5

OpenAPI CLI v1.7.5

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Bug fixes

  • 34d01b0 fix: improved handling of type validation errors and their message content

Full Changelog: v1.7.4...v1.7.5

Released by GoReleaser.

v1.7.4

30 Sep 03:55
d2f8ee3

Choose a tag to compare

What's Changed

Bug Fixes

  • Improved EitherValue error handling - Enhanced unmarshalling and validation error messages for EitherValue types to make it easier to identify the root cause of failures (#55)
    • Enhanced error context in unmarshalling to provide clearer information about which type alternatives failed
    • Improved validation error formatting to better indicate the source of validation failures
    • Updated unmarshaller logic to capture and report more detailed error information
    • Added comprehensive test coverage for edge cases

This release improves the developer experience when working with EitherValue types by making validation errors more actionable and easier to debug.

Full Changelog: v1.7.3...v1.7.4

OpenAPI CLI v1.7.4

This release includes binaries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures.

Installation

Download the appropriate binary for your platform from the assets below, extract it, and add it to your PATH.

Changes

Changelog

Bug fixes

  • 3e915b0 fix(deps): bump github.com/testcontainers/testcontainers-go (#53)
  • d2f8ee3 fix: improved unmarshalling and validation errors of eithervalues (#55)

Full Changelog: v1.7.3...v1.7.4

Released by GoReleaser.