Skip to content

Releases: googleapis/google-cloud-swift

Version 0.4.0

Choose a tag to compare

@chingor13 chingor13 released this 29 Sep 04:46
0.4.0
51afa6c

General Availability (GA)

Version 0.4.0 marks the General Availability of these libraries. These 0.x releases are supported for production use and will receive fixes as necessary, though we reserve the right to introduce minor breaking changes prior to releasing 1.0.

What's Changed

  • fix(storage)!: move URL and Data convenience overloads to StorageProtocol extension by @chingor13 in #1102
  • feat: reduce protocol bloat by @coryan in #1054
  • chore: update lockfile circa 2026-09-23 by @coryan in #1105
  • refactor(wkt)!: prefix all GoogleWKT types with WKT by @chingor13 in #1104
  • fix(wkt): use struct for WKTRecursive by @coryan in #1113
  • fix(gax)!: remove dangerous policy initializers by @coryan in #1111
  • cleanup(storage)!: remove unusable methods by @coryan in #1110
  • chore!: update librarian with new LRO helpers by @coryan in #1107
  • fix(storage)!: dangerous AlwaysResume initializer by @coryan in #1112
  • chore!: update librarian with ByItems pagination helpers by @coryan in #1108
  • fix(gax): make PaginatedResponseSequence a Sendable struct by @chingor13 in #1114
  • chore: update librarian with no streaming functions by @coryan in #1115
  • feat: update librarian with Hashable generated enums by @chingor13 in #1125
  • fix(compute)!: use GoogleRpc.Code for errors by @coryan in #1122
  • chore!: update librarian w/ fewer LRO overloads by @coryan in #1116
  • fix!: rename generated oneof enums by @nolanleastin in #1127
  • feat: update librarian with strict-memory-safety in generated packages by @chingor13 in #1131
  • refactor(storage)!: rename ReadObjectTask to ReadObjectHandle and integrate structured Task cancellation by @chingor13 in #1126
  • refactor(storage): move ReadObjectHandle into its own file by @chingor13 in #1132
  • chore(deps): bump github.com/apple/swift-log from 1.15.0 to 1.15.1 by @dependabot[bot] in #1161
  • chore(deps): bump github.com/apple/swift-nio from 2.102.0 to 2.103.0 by @dependabot[bot] in #1160
  • refactor(storage)!: remove legacy WriteObjectOptions.validation and ChecksumValidation by @chingor13 in #1157
  • fix(storage)!: preserve RequestError in ReadObjectError.resumeFailed by @chingor13 in #1158
  • fix(storage)!: remove unreachable WriteObjectError cases and rethrow CancellationError by @chingor13 in #1159
  • docs(gax): update attempt timeout description by @coryan in #1163
  • feat(gax,wkt)!: conform PollableOperation to Sendable and require Sendable ResponseType by @chingor13 in #1134
  • cleanup(auth)!: remove universeDomain() method by @coryan in #1171
  • feat: enable NonisolatedNonsendingByDefault by @coryan in #1156
  • refactor(gax)!: use struct for policies by @coryan in #1169
  • fix: missing <name>PollingUntilDone() in protocol by @coryan in #1164
  • fix(gax)!: nanoseconds are Int32 by @coryan in #1166
  • cleanup(storage)!: prefer generated types by @coryan in #1173
  • feat(wkt): make WKTFieldMask.paths mutable and default to empty by @chingor13 in #1174
  • refactor(storage)!: use enum for BucketName by @coryan in #1172
  • chore!: update librarian with discovery enum improvement by @coryan in #1165
  • fix(storage)!: remove unvalidated CustomerEncryptionKeyOptions.init(algorithm:keyBase64:keyHashBase64:) by @chingor13 in #1178
  • test(storage): deflake integration tests by @coryan in #1175
  • refactor(storage)!: use struct for retry policy by @coryan in #1170
  • fix(auth): omit scopes field in user token refresh when scopes is empty by @chingor13 in #1181
  • feat(wkt): duration, timestamp are hashable+comparable by @coryan in #1177
  • chore: update librarian with docindex race fix by @coryan in #1183
  • build: opt-in to -strict-memory-safety SE-0458 by @chingor13 in #1068
  • chore!: update library with some AsyncSequence by @coryan in #1182
  • refactor(auth)!: unify scopes parameter types across CredentialsConfiguration by @chingor13 in #1185
  • cleanup(storage)!: consistent types for generation by @coryan in #1188
  • cleanup(storage)!: consistent type for bytesRead by @coryan in #1189
  • cleanup(storage)!: a safer ReadObjectRange by @coryan in #1191
  • refactor(storage)!: introduce ReadObjectHandleProtocol for mockable readObject by @chingor13 in #1208
  • docs: default package for compute by @coryan in #1209
  • refactor(storage): simplify internals by @coryan in #1210
  • chore: new skill to fix issues by @coryan in #1220
  • fix!: *PollingUntilDone() does the polling by @coryan in #1225
  • docs: document generated code style by @coryan in #1219
  • cleanup(wkt)!: remove redundant initializers by @coryan in #1222
  • fix(wkt)!: gate conversion helpers behind SPI by @coryan in #1224
  • fix(wkt)!: use URL instead of Url by @coryan in #1223
  • chore: update librarian with auto-generated by @coryan in #1221
  • ci: speed up unit tests by @coryan in #1229
  • ci(gcb): speed up integration tests by @coryan in #1230
  • refactor(storage)!: make WriteObjectOptions and ReadObjectOptions properties optional by @chingor13 in #1211
  • fix(storage)!: align ReadObjectMetadata fields by @coryan in #1233
  • feat(gax)!: add PollingBackoffPolicy by @coryan in #1232
  • chore!: redundant optional in oneofs by @coryan in #1231
  • fix(auth)!: remove unsupported ExternalAccountConfig.targetPrincipal by @chingor13 in #1241
  • refactor(auth)!: rename to .externalAccount by @chingor13 in #1242
  • chore: update librarian with better READMEs by @coryan in #1228
  • fix(auth)!: remove .adc environment parameter by @chingor13 in #1243
  • refactor!: extract GoogleGaxGRPC and GoogleWKTConvert into separate packages by @chingor13 in #1234
  • feat(auth)!: strongly-typed SubjectTokenType for external accounts by @nolanleastin in #1246
  • docs: update local development guidelines by @coryan in #1247
  • feat(gax): support headers in RequestOptions by @coryan in #1226
  • feat(storage): idempotent admin operations by @coryan in #1227
  • fix(auth)!: strongly typed client ID/secret pairs by @nolanleastin in #1245
  • docs(storage): idempotency guide and workflows by @coryan in #1278
  • chore: update googleapis SHA circa ...
Read more

Version 0.3.0

Choose a tag to compare

@chingor13 chingor13 released this 23 Sep 20:14
0.3.0
0d74cef

What's Changed

  • build: cleanup unnecessary Package.resolved checks by @chingor13 in #949
  • docs: how to override the default retry policies by @nolanleastin in #948
  • docs: fix non-compiling oneof example in ARCHITECTURE.md by @coryan in #1000
  • docs: clarify data model by @coryan in #1003
  • docs: clarify quickstart by @coryan in #1002
  • docs(storage): on using enums by @coryan in #1005
  • docs: clarify public API for enums by @coryan in #1004
  • docs(wkt): on using enums by @coryan in #1006
  • docs(gax): on using enums by @coryan in #1007
  • docs(auth): on using enums by @coryan in #1008
  • fix: make handwritten .with helpers all allow the block to throw and rethrow the errors by @chingor13 in #999
  • docs: clarify role of split repos by @coryan in #1010
  • docs: clarify crc32c implementation usage by @chingor13 in #1011
  • fix: missing .spi.yml files by @coryan in #1012
  • fix(gax): mark internal GAX symbols with @_spi(GoogleCloudInternal) by @chingor13 in #1009
  • feat(gax): default attemptTimeout by @coryan in #1021
  • docs(gax): explain why try! is needed by @coryan in #1022
  • docs(gax): explain the retryPolicy oddity by @coryan in #1023
  • fix(storage): rename ByteBuffer to ByteChunk and hide NIOCore from public API by @chingor13 in #1024
  • docs(gax): fix documentation links by @coryan in #1026
  • docs: explain Swift package traits in UserGuide by @coryan in #1047
  • feat(gax): conform ServiceError to Error, Equatable, and CustomStringConvertible by @chingor13 in #1025
  • fix(gax): error types should be Sendable by @chingor13 in #1051
  • fix(auth): replace AuthHeaders typealias with a struct by @nolanleastin in #1016
  • feat: enable InternalImportsByDefault across packages and manifests by @coryan in #1052
  • docs(wkt): fix transposed doc comments by @chingor13 in #1056
  • fix(wkt)!: ProtoJSONError does not need to be public by @chingor13 in #1055
  • fix(storage)!: unify writeObject and readObject error types and preserve ServiceError details by @chingor13 in #1057
  • fix: restore GoogleWKT import in snippets using update masks by @coryan in #1061
  • fix(gax)!: abort exhausted polling loop by @coryan in #1072
  • fix(wkt): prefer memory-safe formatting by @coryan in #1074
  • fix(storage)!: make the protocol Sendable by @coryan in #1073
  • fix(gax)!: prefer Int for counters by @coryan in #1094
  • fix!: remove spurious throws from paginated methods by @chingor13 in #1096
  • fix(storage)!: prefer Int for counters by @coryan in #1097
  • fix!: avoid breaks on discovery enums by @coryan in #1095
  • fix(auth): cleanup .mds() and cannotFetchToken by @nolanleastin in #1059

Full Changelog: 0.2.0...0.3.0

Version 0.2.0

Choose a tag to compare

@coryan coryan released this 18 Sep 22:02
0.2.0
70abc46

What's Changed

Lots! This release includes:

  • The Storage client with support for uploads (resumable and single shot), downloads (full or partial), automatic checksums, retries, and all the admin operations.
  • More than 200 clients for other Google Cloud services, including Gemini Enterprise Agent Platform, Secret Manager, Key Management service, and the control planes for Compute, GKE, and Cloud Run.
  • Support for the most common Google Cloud Auth flows, including metadata server (for deployment on Cloud Run, GKE, and GCE), authenticated users (for developers), service accounts, integration with OIDC providers (such as Apple ID), as welll as automatic refresh and cache of short-lived tokens.
  • Support for Swift 6.2 and higher Swift's using compile-time data-race safety, native async support, and SwiftNIO for all operations.

New Contributors

Full Changelog: preview-20260722...0.2.0

Preview 2026-07-22

Preview 2026-07-22 Pre-release
Pre-release

Choose a tag to compare

@coryan coryan released this 24 Jul 19:41

A preview of the Google Cloud Client Libraries for Swift. Major features include:

Libraries

Over 100 Google Cloud, including:

  • Helpers for iteration of pagination APIs
  • Helpers for long-running operations.
  • Automatically retry many common errors.
  • Idiomatic types for requests and responses.
  • Idiomatic overloads when just a few fields in the request is all it takes.

Auth

  • Support for the Application Default Credentials flow for Auth.
  • Support for authenticated-user credentials.
  • Support for service account credentials.
  • Support for OIDC external credentials (also known as workload identify federation or BYOID).