Releases: oxidecomputer/dropshot-api-manager
dropshot-api-manager 0.3.0
Added
-
For versioned APIs, the latest blessed version is now checked for bytewise equality, not just wire compatibility. This prevents trivial changes (such as documentation changes or type renames) from accumulating invisibly.
The previous behavior can be restored with the
allow_trivial_changes_for_latestfunction. -
Validation functions can now be
Fnclosures, not just function pointers.
Changed
-
The optional
extra_validationargument no longer needs to be specified onManagedApiConfig. Instead, first convert theManagedApiConfigto aManagedApi, then callextra_validationon the resultingManagedApi. -
ManagedApis::newis changed to accept an iterator over any kind of type that can be converted toManagedApi, includingManagedApiConfig.
dropshot-api-manager 0.2.4
Added
ValidationContext::is_latest()returnstrueif this is the latest version of a versioned API, or if it is a lockstep API.ValidationContext::is_blessed()returnsSome(true)if a version is blessed,Some(false)if not, orNonefor non-versioned APIs.
Changed
extra_validationis now compatible with versioned APIs. Use theValidationContext::is_blessedto filter out validation checks for blessed APIs as appropriate (since those APIs are immutable), andis_latestto only write out extra files for the latest version of the API.
dropshot-api-manager 0.2.3
Fixed
Updated drift to 0.1.1 to enable proper handling of OpenAPI type graph cycles.
dropshot-api-manager 0.2.2
Added
- The
api_versions!macro now generates alatest_versionfunction. - The README has a new note about how to create versioned Dropshot servers using the
latest_versionfunction.
dropshot-api-manager 0.2.1
Added
- For versioned APIs, comparisons between blessed and generated documents now use the
driftcrate rather than simple string comparisons. This means that trivial/wire-compatible changes between blessed and generated documents (such as adding or removing newtypes) are now allowed.
Fixed
- Git commands are now run in the repository root instead of the current directory.
- Changed some error output to use stderr instead of stdout.
dropshot-api-manager 0.2.0
Added
- Add a way to specify an allowlist of unmanaged APIs within a local directory. See
ManagedApis::with_unknown_apisfor more.
Changed
Environmentnow acceptsimpl Into<String>andimpl Into<Utf8PathBuf>for ease of use.- Hide private types and methods.
- Update documentation.
dropshot-api-manager 0.1.1
- README updates.
- Windows path fixes.