v0.13.1
Introducing the Rolodex!
The rolodex is the solution libopenapi has needed for some time. It reorganizes how the index works, how references are composed and how things are looked up when building the model.
The rolodex creates virtual filesystems for exploded specifications that are scattered across multiple local or remote locations. The rolodex can contain multiple local or remote filesystems for documents, and can lookup anything
via its fully qualified location.
Custom filesystems can be loaded in, instead of the local and remote ones provided by libopenapi as the rolodex uses fs.FS as an interface, so any custom implementation can be used.
This is a large breaking change for how the index operates, there are breaking changes to all low-level models, mainly with the introduction of a context.Context parameter. This is used by the rolodex to know where to resolve references from, when deeply nested recursive reference resolution.
The index no-longer operates the way it used to and how indexes are used by the rolodex is also new.
There should be minimal configuration changes at the top-level API for documents, and no changes to the high-level model.
New docs will be coming to pb33f.io soon to explain how it all works, but for the most part, users won't see it or know about it.