Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Create new API version V16 and finalize API version V15.
2 changes: 1 addition & 1 deletion integration/test/Test/Swagger.hs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import Testlib.Prelude
import UnliftIO.Temporary

existingVersions :: Set Int
existingVersions = Set.fromList [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
existingVersions = Set.fromList [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

internalApis :: Set String
internalApis = Set.fromList ["brig", "cannon", "cargohold", "cannon", "spar"]
Expand Down
2 changes: 1 addition & 1 deletion integration/test/Testlib/Env.hs
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ mkGlobalEnv cfgFile = do
gFederationV1Domain = intConfig.federationV1.originDomain,
gFederationV2Domain = intConfig.federationV2.originDomain,
gDynamicDomains = (.domain) <$> Map.elems intConfig.dynamicBackends,
gDefaultAPIVersion = 15,
gDefaultAPIVersion = 16,
gManager = manager,
gServicesCwdBase = devEnvProjectRoot <&> (</> "services"),
gBackendResourcePool = resourcePool,
Expand Down
8 changes: 6 additions & 2 deletions libs/wire-api/src/Wire/API/Routes/Version.hs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ import Wire.Arbitrary (Arbitrary, GenericUniform (GenericUniform))
-- and 'developmentVersions' stay in sync; everything else here should keep working without
-- change. See also documentation in the *docs* directory.
-- https://docs.wire.com/developer/developer/api-versioning.html#version-bump-checklist
data Version = V0 | V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | V10 | V11 | V12 | V13 | V14 | V15
data Version = V0 | V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | V10 | V11 | V12 | V13 | V14 | V15 | V16
deriving stock (Eq, Ord, Bounded, Enum, Show, Generic)
deriving (FromJSON, ToJSON) via (Schema Version)
deriving (Arbitrary) via (GenericUniform Version)
Expand Down Expand Up @@ -133,6 +133,8 @@ instance RenderableSymbol V14 where renderSymbol = "V14"

instance RenderableSymbol V15 where renderSymbol = "V15"

instance RenderableSymbol V16 where renderSymbol = "V16"

-- | Manual enumeration of version integrals (the `<n>` in the constructor `V<n>`).
--
-- This is not the same as 'fromEnum': we will remove unsupported versions in the future,
Expand All @@ -156,6 +158,7 @@ versionInt V12 = 12
versionInt V13 = 13
versionInt V14 = 14
versionInt V15 = 15
versionInt V16 = 16

supportedVersions :: [Version]
supportedVersions = [minBound .. maxBound]
Expand Down Expand Up @@ -278,7 +281,8 @@ isDevelopmentVersion V11 = False
isDevelopmentVersion V12 = False
isDevelopmentVersion V13 = False
isDevelopmentVersion V14 = False
isDevelopmentVersion V15 = True
isDevelopmentVersion V15 = False
isDevelopmentVersion V16 = True

developmentVersions :: [Version]
developmentVersions = filter isDevelopmentVersion supportedVersions
Expand Down
Empty file.
23 changes: 12 additions & 11 deletions services/brig/src/Brig/API/Public.hs
Original file line number Diff line number Diff line change
Expand Up @@ -235,22 +235,23 @@ internalEndpointsSwaggerDocsAPIs =
--
-- Dual to `internalEndpointsSwaggerDocsAPI`.
versionedSwaggerDocsAPI :: Servant.Server VersionedSwaggerDocsAPI
versionedSwaggerDocsAPI (Just (VersionNumber V15)) =
versionedSwaggerDocsAPI (Just (VersionNumber V16)) =
swaggerSchemaUIServer $
( serviceSwagger @VersionAPITag @'V15
<> serviceSwagger @BrigAPITag @'V15
<> serviceSwagger @GalleyAPITag @'V15
<> serviceSwagger @SparAPITag @'V15
<> serviceSwagger @CargoholdAPITag @'V15
<> serviceSwagger @CannonAPITag @'V15
<> serviceSwagger @GundeckAPITag @'V15
<> serviceSwagger @ProxyAPITag @'V15
<> serviceSwagger @OAuthAPITag @'V15
( serviceSwagger @VersionAPITag @'V16
<> serviceSwagger @BrigAPITag @'V16
<> serviceSwagger @GalleyAPITag @'V16
<> serviceSwagger @SparAPITag @'V16
<> serviceSwagger @CargoholdAPITag @'V16
<> serviceSwagger @CannonAPITag @'V16
<> serviceSwagger @GundeckAPITag @'V16
<> serviceSwagger @ProxyAPITag @'V16
<> serviceSwagger @OAuthAPITag @'V16
)
& S.info . S.title .~ "Wire-Server API"
& S.info . S.description ?~ $((unTypeCode . embedText) =<< makeRelativeToProject "docs/swagger.md")
& S.servers .~ [S.Server ("/" <> toUrlPiece V15) Nothing mempty]
& S.servers .~ [S.Server ("/" <> toUrlPiece V16) Nothing mempty]
& cleanupSwagger
versionedSwaggerDocsAPI (Just (VersionNumber V15)) = swaggerPregenUIServer $(pregenSwagger V15)
versionedSwaggerDocsAPI (Just (VersionNumber V14)) = swaggerPregenUIServer $(pregenSwagger V14)
versionedSwaggerDocsAPI (Just (VersionNumber V13)) = swaggerPregenUIServer $(pregenSwagger V13)
versionedSwaggerDocsAPI (Just (VersionNumber V12)) = swaggerPregenUIServer $(pregenSwagger V12)
Expand Down