Skip to content

2.0.0 Beta 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@AvdLee AvdLee released this 09 Jul 14:48

Welcome to the first beta of 2.0.0!

OpenAPI support

Maintenance of this project became harder and harder since the API gained more requests. Every request, parameter, and response had to be added manually, resulting in an incomplete SDK.

The App Store Connect API supports OpenAPI, allowing to generate all paths and responses automatically. This major update to the SDK stays close to the old API, but benefits from autogenerated requests and responses.

Big shoutout to Alex Grebenyuk for his work with CreateAPI and Get which helped me finalize this major version.

Migration

While I won't write a detailed migration guide, migration should be fairly easy. As an example, this is how the example request looked before:

let endpoint = APIEndpoint.apps(
    select: [.apps([.name]), .builds([.version, .processingState, .uploadedDate])],
    include: [.builds],
    sortBy: [.bundleIdAscending],
    limits: [.apps(1)])

provider.request(endpoint) {
    // ..
}

And after:

let request = APIEndpoint
    .apps
    .get(parameters: .init(
        sort: [.bundleID],
        fieldsApps: [.appInfos, .builds, .name],
        limit: 5,
        include: [.builds],
        fieldsBuilds: [.version, .processingState, .uploadedDate]
    ))
let appsResponse = try await provider.request(request)

In other words, migration mostly comes down to restructuring your endpoint construction code.

Feedback and discussions

I would love for you to try out this new version. Any feedback and ideas can be shared in this discussions section.