PostgresNIO 1.8.0 (async/await)
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
- @flix477 made their first contribution in #208
- @BennyDeBock made their first contribution in #246
Full Changelog: 1.7.2...1.8.0