Skip to content

Releases: pb33f/libopenapi

v0.25.2

05 Aug 19:40
Compare
Choose a tag to compare

Adds dependentRequired support to the Schema low and high models for more JSON Schema compatibility.

v0.25.1

04 Aug 14:19
Compare
Choose a tag to compare

Security fix reported in #446

This problem comes is a supply chain issue and one of the vendors in the chain is a potential bad actor. We have forked our suppliers code (ordered maps) and removed the offending supplier from there.

We have forked the github.com/wk8/go-ordered-map library as pb33f/ordered-map. Which is the exact same library, but uses the standard library for JSON, instead of easyjson, a drop in replacement for anyone else who needs a solution fast.

easyjson has been eradicated from our supply chain.

#446

v0.25.0

31 Jul 23:47
Compare
Choose a tag to compare

No new features, no breaking changes - just a solid improvement on performance and memory use - particularly for very large specs.

Before:

vacuum took 3.30 seconds to lint 4.28 MB across 1 files

After

vacuum took 2.37 seconds to lint 4.28 MB across 1 files

@califlower

v0.24.0

28 Jul 22:47
Compare
Choose a tag to compare

Adds support for OpenAPI 3.2 Tags model and recursive parent/child structures.

Quick Hash is a feature introduced in v0.23.0 that allows much faster lookups for nested remote references. In short, it's a feature required for enterprise grade specs that need diffing over large distances. This conflicts with and edge case where you need to check changes in circular references in a single file doc.

TLDR; Quick schema cache is now set via a configuration flag in indexes and documents, it's off by default.

Various other fixes and additions from the community. Including discriminators and inline bundling (#436)

@marsevilspirit @kink80 @bcomnes @califlower

v0.23.0

02 Jul 16:17
Compare
Choose a tag to compare

An upgraded rolodex with much more efficient async lookups and much less looping. No more sleeps and more efficient lock use. This cleans up messy async code from native implementations of the filesystem.

Adds a context to some of the index and rolodex APIs, so there are some breaking changes in lower level parts of the index.

Upgrades a few issues with parameters in the what-changed module. required state now being checked properly, as well as the parameter names being passed into the change object.

  • Removes race conditions from index module #367
  • Resolves #429

@mencnert @sebas2day

v0.22.3

06 Jun 12:04
Compare
Choose a tag to compare

Fixes non required parameters from being considered a breaking change.

@bcomnes

v0.22.2

30 May 17:43
Compare
Choose a tag to compare

Fixes issue #421

@califlower

v0.22.1

29 May 15:12
Compare
Choose a tag to compare

Fixes issue #418

v0.22.0

26 May 22:21
Compare
Choose a tag to compare

Adds a new 'composed' bundling mode.

// BundleBytesComposed will take a byte slice of an OpenAPI specification and return a composed bundled version of it.
// this is the same as BundleBytes, but it will compose the bundling instead of inline it.
func BundleBytesComposed(bytes []byte, configuration *datamodel.DocumentConfiguration,
 compositionConfig *BundleCompositionConfig) ([]byte, error)

// BundleDocumentComposed will take a v3.Document and return a composed bundled version of it. Composed means
// that every external file will have references lifted out and added to the `components` section of the document.
// Names will be preserved where possible, conflicts will be appended with a number. If the type of the reference cannot
// be determined, it will be added to the `components` section as a `Schema` type, a warning will be logged.
// The document model will be mutated permanently.
//
// Circular references will not be resolved and will be skipped.
func BundleDocumentComposed(model *v3.Document, compositionConfig *BundleCompositionConfig) ([]byte, error)

Docs updates at https://pb33f.io/libopenapi/bundling/

Adds fixes for:

v0.21.12

16 May 17:15
Compare
Choose a tag to compare

Fixes issue reported in pb33f/openapi-changes#203

Also stops a $ref swap out from being a breaking change in the what-changed module.