PackageTrack
Sign in Get early access

tokio-postgres

A native, asynchronous PostgreSQL client

0.7.18 62M downloads/mo #1086 most downloaded on crates.io rust-postgres/rust-postgres

What this package is like to depend on

Last release 2 months ago

12 Jun 2026

Ships fairly regularly

a new release about every 4 months

Most releases are documented

notes for 22 of 33 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

38 releases · first in 2016

5 releases in the last 12 months

see the full history below

Release timeline

38 releases · Dec 2016 to Jun 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 38
  1. 0.7.18 12 Jun 2026
    Release notes

    Fixed

    • Error instead of panicking on DataRow field/column count mismatch.
    Open source →
    Release notes

    Fixed

    • Error instead of panicking on DataRow field/column count mismatch.
    Open source →
  2. 0.7.17 30 Mar 2026
    Release notes

    Added

    • Added Client::execute_typed method.
    • Added Client::query_typed_one and Client::query_typed_opt methods.
    • Added GenericClient::execute_typed, GenericClient::query_typed_one, and GenericClient::query_typed_opt methods.
    • Added Transaction::execute_typed, Transaction::query_typed_one, and Transaction::query_typed_opt methods.
    • Added support for bit-vec 0.9 via the with-bit-vec-0_9 feature.

    Changed

    • Upgraded rand to 0.10.
    • Upgraded to Rust edition 2024, minimum Rust version 1.85.
    Open source →
    Release notes

    Added

    • Added Client::execute_typed method.
    • Added Client::query_typed_one and Client::query_typed_opt methods.
    • Added GenericClient::execute_typed, GenericClient::query_typed_one, and GenericClient::query_typed_opt methods.
    • Added Transaction::execute_typed, Transaction::query_typed_one, and Transaction::query_typed_opt methods.
    • Added support for bit-vec 0.9 via the with-bit-vec-0_9 feature.

    Changed

    • Upgraded rand to 0.10.
    • Upgraded to Rust edition 2024, minimum Rust version 1.85.
    Open source →
  3. 0.7.16 14 Jan 2026
    Release notes

    Added

    • Added Client::query_scalar, Client::query_one_scalar, and Client::query_opt_scalar methods.
    • Added Row::raw_size_bytes method.
    • Added Column::type_modifier method.

    Changed

    • Upgraded whoami to v2.
    Open source →
  4. 0.7.15 08 Oct 2025
    Release notes

    Added

    • Added Client::check_connection API.
    • Added Client::simple_query_raw API.

    Changed

    • Improved the effectiveness of Client::is_closed.
    • Stop including error chain in Display impl of Error
    Open source →
  5. 0.7.14 25 Sep 2025
    Release notes

    Added

    • Added support for jiff v0.2.
    • Added support for bit-vec versions v0.7 and v0.8.
    • Re-exported fallible-iterator
    • Expose sync rollback as a private API method

    Fixes

    • Changed set_tcp_user_timeout to only be called when enabled

    Changed

    • Updated repository links to use rust-postgres organization.
    • Upgraded to Rust 2021 edition.
    • Upgraded phf to v0.13
    • Upgraded socket2 to v0.6
    • Disabled default features of futures-util
    Open source →
  6. 0.7.13 02 Feb 2025
    Release notes

    Added

    • Added support for direct TLS negotiation.
    • Added support for cidr 0.3 via the with-cidr-0_3 feature.

    Fixes

    • Added load_balance_hosts to Config's Debug implementation.

    Changes

    • Upgraded rand.
    Open source →
  7. 0.7.12 16 Sep 2024
    Release notes

    Fixed

    • Fixed query_typed queries that return no rows.

    Added

    • Added support for jiff 0.1 via the with-jiff-01 feature.
    • Added support for TCP keepalive on AIX.
    Open source →
  8. 0.7.11 22 Jul 2024
    Release notes

    Fixed

    • Fixed handling of non-UTF8 error fields which can be sent after failed handshakes.
    • Fixed cancellation handling of TransactionBuilder::start futures.

    Added

    • Added table_oid and field_id fields to Columns struct of prepared statements.
    • Added GenericClient::simple_query.
    • Added #[track_caller] to Row::get and SimpleQueryRow::get.
    • Added TargetSessionAttrs::ReadOnly.
    • Added Debug implementation for Statement.
    • Added Clone implementation for Row.
    • Added SimpleQueryMessage::RowDescription.
    • Added {Client, Transaction, GenericClient}::query_typed.

    Changed

    • Disable rustc-serialize compatibility of eui48-1 dependency
    • Config setters now take impl Into<String>.
    Open source →
  9. 0.7.10 25 Aug 2023

    Nothing published for this version

  10. 0.7.9 20 Aug 2023

    Nothing published for this version

  11. 0.7.8 27 Mar 2023

    Nothing published for this version

  12. 0.7.7 21 Aug 2022

    Nothing published for this version

  13. 0.7.6 30 Apr 2022
    Release notes

    Added

    • Added support for uuid 1.0 via the with-uuid-1 feature.

    Changed

    • Upgraded to tokio-util 0.7.
    • Upgraded to parking_lot 0.12.
    Open source →
  14. 0.7.5 30 Oct 2021
    Release notes

    Fixed

    • Fixed a bug where the client could enter into a transaction if the Client::transaction future was dropped before completion.
    Open source →
  15. 0.7.4 19 Oct 2021
    Release notes

    Fixed

    • Fixed reporting of commit-time errors triggered by deferred constraints.
    Open source →
  16. 0.7.3 29 Sep 2021
    Release notes

    Fixed

    • Fixed a deadlock when pipelined requests concurrently prepare cached typeinfo queries.

    Added

    • Added SimpleQueryRow::columns.
    • Added support for eui48 1.0 via the with-eui48-1 feature.
    • Added FromSql and ToSql implementations for arrays via the array-impls feature.
    • Added support for time 0.3 via the with-time-0_3 feature.
    Open source →
  17. 0.7.2 25 Apr 2021
    Release notes

    Fixed

    • SqlState constants can now be used in match patterns.
    Open source →
  18. 0.7.1 03 Apr 2021
    Release notes

    Added

    • Added support for geo-types 0.7 via with-geo-types-0_7 feature.
    • Added Client::clear_type_cache.
    • Added Error::as_db_error and Error::is_closed.
    Open source →
  19. 0.7.0 25 Dec 2020
    Release notes

    Changed

    • Upgraded to tokio 1.0.
    • Upgraded to postgres-types 0.2.

    Added

    • Methods taking iterators of ToSql values can now take both &dyn ToSql and T: ToSql values.
    Open source →
  20. 0.6.0 17 Oct 2020
    Release notes

    Changed

    • Upgraded to tokio 0.3.
    • Added the detail and hint fields to DbError's Display implementation.
    Open source →
  21. 0.5.5 03 Jul 2020
    Release notes

    Added

    • Added support for geo-types 0.6.
    Open source →
  22. 0.5.4 01 May 2020
    Release notes

    Added

    • Added Transaction::savepoint, which can be used to create a savepoint with a custom name.
    Open source →
  23. 0.5.3 06 Mar 2020
    Release notes

    Changed

    • Upgraded to Rust edition 2024, minimum Rust version 1.85.
    Open source →
    Release notes

    Added

    • Added Debug implementations for Client, Row, and Column.
    • Added time 0.2 support.
    Open source →
  24. 0.5.2 01 Feb 2020
    Release notes

    Fixed

    • Notice messages sent during the initial connection process are now collected and returned first from Connection::poll_message.

    Deprecated

    • Deprecated Client::cancel_query and Client::cancel_query_raw in favor of Client::cancel_token.

    Added

    • Added Client::build_transaction to allow configuration of various transaction options.
    • Added Client::cancel_token, which returns a separate owned object that can be used to cancel queries.
    • Added accessors for Config fields.
    • Added a GenericClient trait implemented for Client and Transaction and covering shared functionality.
    Open source →
  25. 0.5.1 25 Dec 2019
    Release notes

    Fixed

    • Removed some stray println!s from copy_out internals.
    Open source →
  26. 0.5.0 23 Dec 2019
    Release notes

    Changed

    • Client::copy_in now returns a Sink rather than taking in a Stream.
    • CopyStream has been renamed to CopyOutStream.
    • Client::copy_in and Client::copy_out no longer take query parameters as PostgreSQL doesn't support parameters in COPY queries.
    • TargetSessionAttrs, SslMode, and ChannelBinding are now true non-exhaustive enums.

    Added

    • Added Client::query_opt for queries expected to return zero or one rows.
    • Added binary copy format support to the binary_copy module.
    • Added back query logging.

    Removed

    • Removed uuid 0.7 support.
    Open source →
  27. 0.5.0-alpha.2 28 Nov 2019 pre-release
    Release notes

    Changed

    • Upgraded bytes to 0.5.
    • Upgraded tokio to 0.2.
    • The TLS interface uses a trait to obtain channel binding information rather than returning it after the handshake.
    • Changed the value of the timezone property from GMT to UTC.
    • Returned Stream implementations are now !Unpin.

    Added

    • Added support for uuid 0.8.
    • Added the column to Row::try_get errors.
    Open source →
  28. 0.5.0-alpha.1 15 Oct 2019 pre-release
    Release notes

    Changed

    • The library now uses std::futures::Future and async/await syntax.
    • Most methods now take &self rather than &mut self.
    • The transaction API has changed to more closely resemble the synchronous API and is significantly more ergonomic.
    • Methods now take &[&(dyn ToSql + Sync)] rather than &[&dyn ToSql] to allow futures to be Send.
    • Methods are now "normal" async functions that no longer do work up-front.
    • Statements are no longer required to be prepared explicitly before use. Methods taking &Statement can now also take &str, and will internally prepare the statement.
    • ToSql now serializes its value into a BytesMut rather than Vec<u8>.
    • Methods that previously returned Streams now return Vec<T>. New *_raw methods still provide a Stream interface.

    Added

    • Added the channel_binding=disable/allow/require configuration to control use of channel binding.
    • Added the Client::query_one method to cover the common case of a query that returns exactly one row.
    Open source →
  29. 0.4.0-rc.3 30 Jun 2019 pre-release
    Release notes

    Fixed

    • Significantly improved the performance of query and copy_in.

    Changed

    • The items of the stream passed to copy_in must be 'static.
    Open source →
  30. 0.4.0-rc.2 06 Mar 2019 pre-release
    Release notes

    Fixed

    • Fixed Cargo features to actually enable the functionality they claim to.
    Open source →
  31. 0.4.0-rc.1 06 Mar 2019 pre-release
    Release notes

    Changed

    • The client API has been significantly overhauled. It now resembles hyper's, with separate Connection and Client objects. See the crate-level documentation for more details.
    • The TLS connection mode (e.g. prefer) is now part of the connection configuration rather than being passed in separately.
    • The Cargo features enabling ToSql and FromSql implementations for external crates are now versioned. For example, with-uuid is now with-uuid-0_7. This enables us to add support for new major versions of the crates in parallel without breaking backwards compatibility.
    • Upgraded from tokio-core to tokio.

    Added

    • Connection string configuration now more fully mirrors libpq's syntax, and supports both URL-style and key-value style strings.
    • FromSql implementations can now borrow from the data buffer. In particular, this means that you can deserialize values as &str. The FromSqlOwned trait can be used as a bound to restrict code to deserializing owned values.
    • Added support for channel binding with SCRAM authentication.
    • Added multi-host support in connection configuration.
    • The client now supports query pipelining, which can be used as a latency hiding measure.
    • While the crate uses tokio by default, the base API can be used with any asynchronous stream type on any reactor.
    • Added support for simple query requests returning row data.

    Removed

    • The with-openssl feature has been removed. Use the tokio-postgres-openssl crate instead.
    • The with-rustc_serialize and with-time features have been removed. Use serde and SystemTime or chrono instead.
    Open source →
  32. 0.3.0 30 Sep 2017

    Nothing published for this version

  33. 0.2.3 11 Jun 2017

    Nothing published for this version

  34. 0.2.2 02 May 2017

    Nothing published for this version

  35. 0.2.1 24 Feb 2017

    Nothing published for this version

  36. 0.2.0 21 Feb 2017

    Nothing published for this version

  37. 0.1.1 04 Feb 2017

    Nothing published for this version

  38. 0.1.0 26 Dec 2016

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive