Skip to content

PostgresNIO 1.8.0 (async/await)

Compare
Choose a tag to compare
@fabianfett fabianfett released this 11 Mar 14:38
· 174 commits to main since this release
57fda42

This release adds Swift structured concurrency APIs (async/await). It is now possible to run queries like this:

let role = "admin"
let rows = try await connection.query("SELECT id, username, birthday FROM users WHERE role = \(role)", logger: logger)
for try await (id, username, birthday) in rows.decode((Int, String, Date).self, context: .default) {
  // do something with the returned values
}

For more information please read the updated README.

What's Changed

  • Fix typo in README.md by @flix477 in #208
  • Remove PSQLJSONDecoder from PSQLConnection in #214
  • Merge type PSQLFormat into PostgresFormat in #212
  • Remove PSQLJSONDecoder in #216
  • Merge PSQLDataType with PostgresDataType in #213
  • Remove PSQLJSONEncoder in #215
  • PSQLDecodingError improvements in #211
  • Add async option to PSQLRowStream in #206
  • Make PSQLDecodingContext generic in #217
  • Cut back on number of CI jobs in #218
  • Extend PostgresCastingError in #221
  • Add PostgresCell in #220
  • Add PSQLRow multi decode in #222
  • Add PostgresQuery in #223
  • Rename PSQLDecodable to PostgresDecodable in #224
  • Rename PSQLCodable to PostgresCodable in #225
  • Rename PSQLRowSequence to PostgresRowSequence in #226
  • Rename PSQLEncodingContext to PostgresEncodingContext in #227
  • Move all PostgresConnection code into one file in #228
  • Deprecate unused postgres messages in #229
  • Cleanup encoding and decoding in #230
  • Merge PSQLRow into PostgresRow in #219
  • Replace all EncoderContext/DecoderContext uses of .forTests with .default in #231
  • Add an async query API (internal for now) in #233
  • Add PostgresRowSequence multi decode in #232
  • [BufferMessageEncoder] Reduce the number of force unwraps in #234
  • [PostgresRowSequence] Make StateMachine private in #235
  • Rename PSQLRow multi decode to PostgresRow multi decode in #236
  • Explicit TLS config in #237
  • Rename PSQLFrontendMessage to PostgresFrontendMessage in #239
  • Rename PSQLBackendMessage to PostgresBackendMessage in #238
  • Merge PSQLConnection into PostgresConnection in #240
  • Cleanup PostgresDecodable in #241
  • Make PostgresEncodingContext & PostgresDecodingContext public in #243
  • Add Sendable checking in #242
  • Add good first issue project board workflow to repository by @BennyDeBock in #246
  • New PostgresConnection connect API in #245
  • Make new Postgres decoding public in #244
  • Make PostgresRowSequence public in #247
  • Make Postgres Encodable public in #248
  • Make Postgres async query public in #249
  • Rename PostgresBackendMessageDecoder in #252
  • Add support for Network.framework in #253
  • Make DataRow Sendable in #250
  • Rename PostgresChannelHandler in #251
  • README update for async/await in #254
  • Fix missing links in #255

New Contributors

Full Changelog: 1.7.2...1.8.0