Releases and the version floor
Your application states its own release. A tenant sets the minimum release it accepts, the version floor, for each kind of application.
release in Config
Every Config states your application’s own release, major.minor.patch:
const sealdhealthcare = await create({ kind: 'desktop', release: '1.4.0', adapters: { unlock, signIn } });let sealdhealthcare = try await SealdHealthcare.create(Config(kind: .mobile, release: "1.4.0", adapters: Adapters(unlock: unlock, signIn: signIn)))val sealdhealthcare = SealdHealthcare.create(Config(kind = ClientKind.MOBILE, release = "1.4.0", adapters = Adapters(unlock = unlock, signIn = signIn)))The Seald Healthcare Cloud checks that release against the customer’s version floor every time your application opens a session. Your application owns this value. The SDK only carries it forward.
The version floor is per kind
A tenant sets its version floor separately for each ClientKind. Extension, desktop, mobile and an
AI agent (sdk) can each have a different minimum release. A tenant can require an urgent update
on one platform without forcing a release on every other platform the same day.
release-below-floor
When your application’s release falls below the floor the tenant currently requires,
session.signIn() refuses with SealdHealthcareError code release-below-floor:
try { await client.session.signIn();} catch (error) { if (code(error) === 'release-below-floor') tellToUpdate(); // tell the person to update through your usual channel else throw error;}do { try await client.session.signIn()} catch let error as SealdHealthcareError { if case .releaseBelowFloor = error { tellToUpdate() } // tell the person to update through your usual channel else { throw error }}try { client.session.signIn()} catch (error: SealdHealthcareException) { if (error.code == ErrorCode.RELEASE_BELOW_FLOOR) tellToUpdate() // tell the person to update through your usual channel else throw error}Do not retry. The SDK cannot fetch a newer release of your application. Tell the person to update
through your usual distribution channel, such as the app store, your desktop installer or your
extension’s update mechanism. Once the update installs and states a newer release, the same call
succeeds.
contract-retired
Separately from the version floor, the Seald Healthcare Cloud eventually stops serving a Cloud API major that
an older SDK release still implements. A call then fails with contract-retired. The error takes
the same path as any other SealdHealthcareError. sealdhealthcare.contract shows the majors this SDK implements.
Recover as for
release-below-floor: ship your application with an SDK built against a newer major. Deliver it
through your usual release process. The SDK cannot negotiate this at runtime.
Next
- Install for
sealdhealthcare.contractand whatsdkApiandcloudApireport. - Errors for every
ErrorCode, includingrelease-below-floorandcontract-retired. - Access decisions for
retryableand how it differs from these two codes.