* New stab at an API versioning policy
* Add some client examples
* Add header in version middleware
* Add current swagger descriptions for v0 and v1
* Add Servant combinators for versioning
* Remove deprecated Brig endpoints in latest version
* Extract general version utilities
* WIP: federation api versioning
* Set up versioning and negotiation for fed API
* Fix federator unit tests
* fixup! New stab at an API versioning policy
* Add API fetch test in federator
* Implement remote api-version as a normal RPC
* Add API version fetch test
* Get rid of api-version special cases in federator
* Simplify brig federation client definitions
* Fix integration test
* Fix API versioning tests
* Start galley V2 API
* Explain client versioning approach in docs
* Start cargohold V2 API
* Serve old swagger versions
* Replace brig custom setup with file-embed-lzma
Since we are using file-embed-lzma to embed swagger definitions in the
executable (and servant-swagger itself is using it to embed the swagger
frontend), there is no point in maintaining a second way to embed static
files into the executable.
Therefore, this commit removes the mechanism for loading the swagger
description at compile time via a custom `Setup.hs`, introduced in
https://github.com/wireapp/wire-server/pull/1956, and simply embeds it
using `embedText` from `file-embed-lzma`.
* Add API version federation endpoint test
* Always run version negotiation on Brig
* Update and reformat old swaggers
* Add CHANGELOG entry
* Fix integration test assertion
* Add development field to public API version info
* Fix typo in CHANGELOG entry
Co-authored-by: fisx <[email protected]>
* Small clarification in api versioning docs
Co-authored-by: fisx <[email protected]>
* Grammar
Co-authored-by: fisx <[email protected]>
* Note about clients ignoring development versions
* Do not advertise development versions by default
Also add an option to enable development versions.
* Add more CHANGELOG entries
Co-authored-by: fisx <[email protected]>