Skip to content

Conversation

@daveshanley
Copy link
Owner

@daveshanley daveshanley commented Dec 30, 2025

This release introduces two significant additions to vacuum.

The new apply-overlay command enables non-destructive modifications to OpenAPI specifications using the OpenAPI Overlay Specification.

To use it:

vacuum apply-overlay openapi.yaml overlay.yaml modified-openapi.yaml

Additionally, the oas3-valid-schema-example rule now supports a strictMode option that detects undeclared properties in examples, catching typos like nmae instead of name, outdated examples with removed fields, and copy-paste errors with extra properties that don't exist in the schema.

Enable it in your ruleset with:

functionOptions:
    strictMode: true

https://quobix.com/vacuum/commands/apply-overlay/
https://quobix.com/vacuum/rules/examples/oas3-valid-schema-example/

now we can enable strict mode on example schema validation.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This release adds the apply-overlay command for non-destructive OpenAPI specification modifications using the OpenAPI Overlay Specification, and introduces a strictMode option for the oas3-valid-schema-example rule to detect undeclared properties in examples. The PR also updates dependencies to support these new features.

  • New apply-overlay command with support for local files and remote URLs
  • New strictMode option for detecting undeclared properties in OpenAPI examples
  • Updated libopenapi to v0.31.1 and libopenapi-validator to v0.10.0

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
cmd/apply_overlay.go Implements the new apply-overlay command with argument parsing, overlay fetching (local/remote), and table rendering for actions
cmd/root.go Registers the new apply-overlay command
tui/overlay_table_data.go Provides table building functionality for displaying overlay actions with responsive column widths
color/terminal_colors.go Adds new table styling functions for overlay and plain/no-style modes
color/styles.go Defines new lipgloss styles for overlay status and action rendering
functions/openapi/examples_schema.go Implements strictMode validation to detect undeclared properties in examples, with direction-aware validation and map normalization
functions/openapi/examples_schema_test.go Adds comprehensive test coverage for strictMode feature including nested objects and read/write-only properties
go.mod Updates libopenapi to v0.31.1 and libopenapi-validator to v0.10.0
go.sum Updates checksums for dependency changes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@daveshanley daveshanley merged commit 20de9ef into main Dec 31, 2025
@daveshanley daveshanley deleted the v0.23.0 branch December 31, 2025 01:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants