* perf: wrap replication stream in 128KB BufReader
Batch multiple WAL messages into fewer recv() syscalls by wrapping
the stream in a tokio::io::BufReader inside run_on_stream.
* feat: preserve std::io::Error in PgWireError::Io
Change PgWireError::Io from String to Arc<std::io::Error> so consumers
can match on ErrorKind instead of brittle substring matching.
* release 0.3.0
* chore: replace rustls-pemfile with rustls-pki-types PEM parsing
Resolves RUSTSEC-2025-0134 (unmaintained crate). The PemObject trait
from rustls-pki-types replaces all rustls-pemfile usage and removes
~70 lines of boilerplate key loading code.
* formatting fix
* chore: upgrade testcontainers 0.25 to 0.27
Resolves RUSTSEC-2026-0066 (astral-tokio-tar) and RUSTSEC-2025-0134
(rustls-pemfile via bollard) from transitive dev-dependencies.