版本发布 8
**Full Changelog**: https://github.com/sunng87/pgwire/compare/v0.38.2...v0.38.3
## What's Changed * fix: fix panic when parsing non null-terminated cstrings by @pborzenkov in https://github.com/sunng87/pgwire/pull/407 * fix: add prek.toml for pre-push hooks by @TwistingTwists in https://github.com/sunng87/pgwire/pull/411 * SCRAM: add a lower-level API independent of messages by @Tpt in https://github.com/sunng87/pgwire/pull/412 * ScramServerAuth: use mutator by @Tpt in https://github.com/sunng87/pgwire/pull/413 * fix: lint on latest nightly by @sunng87 in https://github.com/sunng87/pgwire/pull/415 * Implement client-side of the SCRAM auth by @Tpt in https://github.com/sunng87/pgwire/pull/414 * chore(deps): update rusqlite requirement from 0.38.0 to 0.39.0 by @dependabot[bot] in https://github.com/sunng87/pgwire/pull/416 * fix: add more formats for date time types by @sunng87 in https://github.com/sunng87/pgwire/pull/417 ## New Contributors * @TwistingTwists made their first contribution in https://github.com/sunng87/pgwire/pull/411 **Full Changelog**: https://github.com/sunng87/pgwire/compare/v0.38.0...v0.38.1
## What's Changed * feat(server): #298 postgres 18 oauth support by @Lilit0x in https://github.com/sunng87/pgwire/pull/349 * chore: reorganize imports by @sunng87 in https://github.com/sunng87/pgwire/pull/359 * refactor: update process_oauth_message api by @sunng87 in https://github.com/sunng87/pgwire/pull/360 * feat: add type information methods for QueryParser on its statements by @sunng87 in https://github.com/sunng87/pgwire/pull/356 * Fix bug when converting an array of strings containing backlash or with an empty string by @somtochiama in https://github.com/sunng87/pgwire/pull/361 * feat: adjust timestamp format and add array support by @sunng87 in https://github.com/sunng87/pgwire/pull/363 * Add impl of FromSqlText for Vec<Vec<u8>> by @somtochiama in https://github.com/sunng87/pgwire/pull/364 * chore(server): built-in oauth validator by @Lilit0x in https://github.com/sunng87/pgwire/pull/365 * Avoid unnecessary allocations in rows encoding by @elmaxxo in https://github.com/sunng87/pgwire/pull/366 * chore: mark DataRowEncoder::finish as deprecated by @sunng87 in https://github.com/sunng87/pgwire/pull/368 * feat: add column format to QueryParser::get_result_schema by @sunng87 in https://github.com/sunng87/pgwire/pull/369 ## New Contributors * @somtochiama made their first contribution in https://github.com/sunng87/pgwire/pull/361 **Full Changelog**: https://github.com/sunng87/pgwire/compare/v0.36.2...v0.37.0
## What's Changed * test: add jdbc integration tests by @sunng87 in https://github.com/sunng87/pgwire/pull/352 * feat: more implementation for parsing data from text encoding by @sunng87 in https://github.com/sunng87/pgwire/pull/353 **Full Changelog**: https://github.com/sunng87/pgwire/compare/v0.36.0...v0.36.1
## What's Changed * feat(server): #346 drop unnamed portals immediately after execution by @Lilit0x in https://github.com/sunng87/pgwire/pull/348 * fix: DataRowDecoder should match with encoding by @xiaopeng8570 in https://github.com/sunng87/pgwire/pull/347 * feat: change statment parameter type to option by @sunng87 in https://github.com/sunng87/pgwire/pull/350 * feat: parse text parameter format by @sunng87 in https://github.com/sunng87/pgwire/pull/351 ## New Contributors * @Lilit0x made their first contribution in https://github.com/sunng87/pgwire/pull/348 * @xiaopeng8570 made their first contribution in https://github.com/sunng87/pgwire/pull/347 **Full Changelog**: https://github.com/sunng87/pgwire/compare/v0.35.0...v0.36.0
## What's Changed * feat: datestyle aware output rendering by @sunng87 in https://github.com/sunng87/pgwire/pull/334 * feat: implement bytea_output formats by @sunng87 in https://github.com/sunng87/pgwire/pull/335 * feat: intervalStyle options by @sunng87 in https://github.com/sunng87/pgwire/pull/336 * feat: use lowercase key name to retrieve format settings by @sunng87 in https://github.com/sunng87/pgwire/pull/337 * feat: include more server parameters for default parameter provider by @sunng87 in https://github.com/sunng87/pgwire/pull/338 * feat: add format option struct and bind it with fieldinfo by @sunng87 in https://github.com/sunng87/pgwire/pull/341 * feat: implement ToSql for wrapper types by @sunng87 in https://github.com/sunng87/pgwire/pull/343 * feat: make FormatOption an essential part of ToSqlText by @sunng87 in https://github.com/sunng87/pgwire/pull/344 * feat: implement extra_float_digits and more format options by @sunng87 in https://github.com/sunng87/pgwire/pull/345 **Full Changelog**: https://github.com/sunng87/pgwire/compare/v0.34.2...v0.35.0
## What's Changed * chore: remove duckdb example by @sunng87 in https://github.com/sunng87/pgwire/pull/318 * chore(deps): update gluesql requirement from 0.17 to 0.18 by @dependabot[bot] in https://github.com/sunng87/pgwire/pull/315 * feat: return failure for noop handlers by @sunng87 in https://github.com/sunng87/pgwire/pull/319 * feat: from/to sql text for json/serde types by @sunng87 in https://github.com/sunng87/pgwire/pull/321 * doc: add repo pg_catalog by @yihong0618 in https://github.com/sunng87/pgwire/pull/322 * Expose SNI (tls server name indication) by @ybrs in https://github.com/sunng87/pgwire/pull/323 * chore: put sni server name behind tls feature gate by @sunng87 in https://github.com/sunng87/pgwire/pull/324 * Add Debug to Response enum by @mjgarton in https://github.com/sunng87/pgwire/pull/325 * chore: make tokio::server public by @sunng87 in https://github.com/sunng87/pgwire/pull/329 * fix: resolve peek deadloop by introducing sslnegotiation meta message by @sunng87 in https://github.com/sunng87/pgwire/pull/330 ## New Contributors * @yihong0618 made their first contribution in https://github.com/sunng87/pgwire/pull/322 * @mjgarton made their first contribution in https://github.com/sunng87/pgwire/pull/325 **Full Changelog**: https://github.com/sunng87/pgwire/compare/v0.33.0...v0.34.0
## What's Changed * fix: use bufstream for tls by @sunng87 in https://github.com/sunng87/pgwire/pull/299 * refactor: cache decodecontext in codec by @sunng87 in https://github.com/sunng87/pgwire/pull/300 * chore(deps): update x509-certificate requirement from 0.24 to 0.25 by @dependabot[bot] in https://github.com/sunng87/pgwire/pull/301 * refactor: remove scram feature gate, discouple sasl and scram concept by @sunng87 in https://github.com/sunng87/pgwire/pull/302 * feat: implement portal suspension for extended query protocol by @xhwhis in https://github.com/sunng87/pgwire/pull/303 * chore: pin duckdb version for arrow & clippy warn & fmt by @xhwhis in https://github.com/sunng87/pgwire/pull/306 * refactor: accept generic stream in QueryResponse::new by @sunng87 in https://github.com/sunng87/pgwire/pull/310 * test: duckdb 1.4 and arrow 56 by @sunng87 in https://github.com/sunng87/pgwire/pull/311 * fix: sqlite example by @sunng87 in https://github.com/sunng87/pgwire/pull/313 * refactor: store unfinished data stream in portal by @sunng87 in https://github.com/sunng87/pgwire/pull/309 * chore: cleanup some duplications by @sunng87 in https://github.com/sunng87/pgwire/pull/314 **Full Changelog**: https://github.com/sunng87/pgwire/compare/v0.32.1...v0.33.0