Releases: fox0430/async-postgres
Releases · fox0430/async-postgres
v0.3.0
Many breaking changes.
What's Changed
- Make resetSession non-throwing to preserve body exceptions by @fox0430 in #246
- Fix gitignore by @fox0430 in #248
- Raise PgTypeError on binary clen mismatch instead of silent fallback by @fox0430 in #247
- Count only successfully processed rows in queryEach by @fox0430 in #249
- Fix gitignore by @fox0430 in #251
- Add onDeprecatedAuth tracer hook for MD5 authentication by @fox0430 in #252
- Introduce RelOff distinct type for binary decoder offsets by @fox0430 in #250
- Wipe transient password-derived buffers in auth flow by @fox0430 in #253
- Bound backend message size to prevent recv-buffer OOM by @fox0430 in #254
- Skip ROLLBACK in withTransaction/withSavepoint when txStatus is tsIdle by @fox0430 in #255
- ci: Fix job title by @fox0430 in #256
- Add exponential backoff to pool maintenance connect retries by @fox0430 in #257
- Add onTransportCloseError tracer hook for swallowed closeWait failures by @fox0430 in #258
- Release session advisory locks when returning connections to the pool by @fox0430 in #259
- Add autoKeepaliveReply to startReplication by @fox0430 in #260
- Invalidate connection on non-timeout fillRecvBuf failures by @fox0430 in #261
- Add deadline-bounded variants for transaction and large object helpers by @fox0430 in #263
- refactor: Split pg_client.nim into pg_client/ submodules by @fox0430 in #264
- Reject embedded NUL bytes in addCString by @fox0430 in #265
- Validate hex input in binary UUID/MacAddr encoders by @fox0430 in #266
- Evict in addStmtCache instead of silently dropping when full by @fox0430 in #267
- Add timeout and tracing support to queryDirect/execDirect by @fox0430 in #268
- Preserve FIFO order in pool acquire by routing new conns to waiters by @fox0430 in #269
- Propagate both errors in sslAllow and use sslRequire for fallback by @fox0430 in #270
- tests: Add config.nims for tests by @fox0430 in #271
- Update gitignore by @fox0430 in #273
- Add missing range/multirange encoders and fix ts text format by @fox0430 in #272
- Detect half-open connections in isConnected via non-blocking FIN probe by @fox0430 in #274
- Invalidate stmt cache when parameter OIDs change by @fox0430 in #275
- Invalidate stmt cache on Pipeline param OID mismatch by @fox0430 in #276
- Dedupe same-SQL ops within a single Pipeline batch by @fox0430 in #277
- Warn when server cert unavailable for SCRAM channel binding by @fox0430 in #278
- Share exec recv loop via core.nim template by @fox0430 in #279
- Skip ROLLBACK when connection already invalidated in withTransaction by @fox0430 in #280
- Validate $N placeholder arity at compile time in queryDirect/execDirect by @fox0430 in #281
- Unify array decoder templates into a single genArrayDecoder by @fox0430 in #282
- Split pg_connection.nim into pg_connection/ submodules by @fox0430 in #283
- Use to_regtype for hstore OID discovery to respect search_path by @fox0430 in #284
- Add tlsHealthCheckTimeout to ping idle TLS pool connections sooner by @fox0430 in #285
- Fix logical replication ACK to use received end LSN, not walEnd by @fox0430 in #286
- Add onCleanupSkipped tracer hook for withTransaction ROLLBACK skips by @fox0430 in #287
- tests: Add e2e test verifying pending stmt close drains server-side by @fox0430 in #288
- docs: Fix broken links by @fox0430 in #289
- Add asyncdispatch warn by @fox0430 in #290
- Fix docstring by @fox0430 in #291
- Add multi-dimensional binary array support via PgArray[T] by @fox0430 in #292
- Add physical replication support over COPY BOTH protocol by @fox0430 in #293
- Replace connect-time hstore OID discovery with on-demand lookupTypeOids by @fox0430 in #294
- Replace ptr CachedStmt with ref object in statement cache lookup by @fox0430 in #296
- Replace cluster read*/write* forwarding with PooledConnHandle pattern by @fox0430 in #297
- Extract send phase cache logic into sendExtended* templates by @fox0430 in #298
- Add withTransactionRetry/withTransactionRetryDeadline for automatic t… by @fox0430 in #299
- Bump to 0.3.0 by @fox0430 in #300
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- Add PgTsVector and PgTsQuery by @fox0430 in #145
- Add PgXml by @fox0430 in #146
- Add PgRange array by @fox0430 in #147
- Add Advisory Lock by @fox0430 in #148
- Add timeout to pool close() by @fox0430 in #149
- Escape SCRAM username per RFC 5802 by @fox0430 in #152
- Add Pool metrics by @fox0430 in #154
- Add Domain types by @fox0430 in #155
- Add PgHsotre by @fox0430 in #156
- Add toBytes and toString public to pg_types by @fox0430 in #157
- Better withTransaction by @fox0430 in #158
- Rename: closeCursor -> close by @fox0430 in #159
- Fix withReadConnection/withWriteConnection redefinition in same scope by @fox0430 in #160
- Add more examples by @fox0430 in #161
- Add Unix socket connection by @fox0430 in #162
- Add logical replication by @fox0430 in #163
- Add sslAllow by @fox0430 in #164
- Add Bit string type by @fox0430 in #165
- Add tracing support by @fox0430 in #166
- Update README.md by @fox0430 in #167
- Add Implicit pipelining support by @fox0430 in #169
- Add SCRAM-SHA-256-PLUS by @fox0430 in #171
- Remove all pragma by @fox0430 in #173
- Add queryRow convenience method by @fox0430 in #174
- Fix row lifetime bug: use fresh RowData in safe query paths instead of by @jmgomez in #175
- Fix queryDirect row lifetime bug and remove dead rowDataBuf by @fox0430 in #177
- Add Row.clone for retaining queryEach rows by @fox0430 in #178
- Add bounds check to isNull by @fox0430 in #180
- Fix decodeCString to reject missing null terminator by @fox0430 in #181
- Clarify body slice calculation in parseBackendMessage by @fox0430 in #182
- Fix recvBufStart update timing to prevent double-parsing on exception by @fox0430 in #183
- Add input validation to binary type decoders by @fox0430 in #184
- tests: Add more E2E tests by @fox0430 in #185
- Add SqlQuery forwarding for queryRow by @fox0430 in #186
- Encapsulate PgConnection and Row fields with accessors by @fox0430 in #187
- Add missing scalar getters, Opt variants, and generic get overloads by @fox0430 in #188
- Add time, timetz, timestamptz type support by @fox0430 in #189
- Extract parse helpers, add decodeFloat64BE, fix IndexDefect catch by @fox0430 in #190
- Deduplicate array encoder/decoder procs with templates by @fox0430 in #191
- Add withTransaction macro to PgPoolCluster by @fox0430 in #192
- Add readSimpleExec to PgPoolCluster by @fox0430 in #193
- Update gitignore by @fox0430 in #195
- Add Money type by @fox0430 in #194
- Refactor parseAffectedRows and add tests by @fox0430 in #196
- Add hstor array type by @fox0430 in #197
- Optimize Pipeline performance by @fox0430 in #199
- Add NULL-safe/enum arrays, rename queryOne to queryRowOpt by @fox0430 in #200
- Fix pool.close to await pending closeNoWait tasks by @fox0430 in #201
- refactor: split pg_types.nim into pg_types/ by @fox0430 in #202
- refactor: Extract invalidateOnTimeout helper for timeout recovery by @fox0430 in #203
- Fix asyncSpawn raiseAssert risk in scheduleDispatch error path by @fox0430 in #204
- Add channelBinding mode to reject SCRAM-SHA-256-PLUS downgrade by @fox0430 in #205
- Add onPoolCloseError tracer hook for swallowed pool close failures by @fox0430 in #206
- Add pool high-concurrency acquire/release tests by @fox0430 in #207
- Add pool cancel/timeout interaction tests with chronos by @fox0430 in #208
- Add requireAuth allowlist and onInsecureAuth tracer hook by @fox0430 in #209
- Add tests for portal/txn recovery on COPY failure by @fox0430 in #210
- Reduce compiler warns by @fox0430 in #211
- Remove unsafeAddr by @fox0430 in #212
- Add MIT License file by @fox0430 in #213
- Drop addr-based send in sendBufMsg by @fox0430 in #214
- Unify BE write helpers in encoding by @fox0430 in #215
- Extend BE write helpers to ranges and user_types by @fox0430 in #216
- Add appendBytes helper for buffer append by @fox0430 in #217
- Add read helpers by @fox0430 in #218
- Add writePointAt helper for geometric encoders by @fox0430 in #219
- Extract byte helpers to pg_bytes module by @fox0430 in #220
- Add more nameAccessor by @fox0430 in #221
- Add generic Option[T] dispatch by @fox0430 in #222
- Replace doAssert with ProtocolError by @fox0430 in #223
- Add protocol decoder fuzz tests and bounds guards by @fox0430 in #224
- Harden decoder against malformed input and add fuzz and network failu… by @fox0430 in #225
- Add cancel and abandonment E2E tests by @fox0430 in #226
- Add isConnected by @fox0430 in #228
- doc: Fix broken link by @fox0430 in #229
- Switch release API to conn.release() by @fox0430 in #230
- docs: Better pg_client docs by @fox0430 in #231
- Add pg_error module by @fox0430 in #232
- Add type-inferred queryValueOrDefault overload by @fox0430 in #233
- Refine queryRow/queryValue/queryColumn errors and drop dead fields guard by @fox0430 in #234
- Populate qr.data.fields in queryInTransaction and pipeline paths by @fox0430 in #235
- Unify cursor row data fields setup with other query paths by @fox0430 in #236
- docs: Add query API selection guide by @fox0430 in #237
- tests: Deflake cancel-after-completion race test by @fox0430 in #238
- Add reset to Pipeline by @fox0430 in #239
- Add fast paths for unconfigured tracer and resetQuery by @fox0430 in #240
- Better examples by @fox0430 in #241
- Update README.md by @fox0430 in #243
- ci: Add macOS by @fox0430 in #242
- Add configs for listen reconnect by @fox0430 in #244
- Bump to 0.2.0 by @fox0430 in #245
New Contributors
Full Changelog: v0.1.0...v0.2.0