# Change Log
All user visible changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/), as described
for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md)
## Unreleased
### pq-sys [0.6.3] 2024-09-18
### Fixed
* Linking of bundled libpq with the `bundled_without_openssl` feature
### pq-sys [0.6.2] 2024-09-09
### Changed
* `openssl` usage can now be disabled with the `bundled_without_openssl` feature of `pq-sys`.
To deactivate `openssl`, enable it:
```toml
[dependencies]
pq-sys = { version = "0.3.0", features = ["bundled_without_openssl"]}
```
This disables the TLS support in `libpq`, so that you cannot connect to a database requiring TLS anymore.
## pq-sys [0.6.1] 2024-06-11
### Changed
* `pq-src` starting with version 0.3 now depends on openssl on windows as well add support for the scram-sha-256 authentication method
* `pq-sys` adds support for pq-src 0.3.0
## pq-sys [0.6.0] 2024-05-17
### Changed
* The `bundled` feature of `pq-sys` no longer build a bundled version of `openssl`.
To bundle `openssl` when compiling `libpq` from source, add `openssl-sys` with the `vendored` feature to your crate dependencies:
```toml
[dependencies]
openssl-sys = { version = "0.9.93", features = ["vendored"] }
```
## pq-src [0.1.6] 2024-04-12
### Changed
* Fixed a potential compilation error on MacOS
## pq-src [0.1.5] 2024-04-10
### Changed
* Include a vendored copy of `explicit_bzero` to the linux build as well as that function only exists on newer glibc versions
## pq-src [0.1.4] 2024-04-05
### Changed
* Readded `strlcat` on linux as well
## pq-src [0.1.3] 2024-04-04
### Changed
* Include more required headers in the generated include directory
* Fix including `strlcat` on windows only
## pq-src [0.1.2] 2024-03-08
### Changed
* Change `#[cfg(target_*)]` attributes in the build script to use cargo set environment variables
instead. This enables cross compiling `pq-src` to a different target system.
## pq-src [0.1.1] 2024-02-09
### Changed
- We updated the bundled libpq version to 16.2 to fix compatibility with openssl 3.2
- We changed the build script to expose the bundled libpq headers by setting `DEP_PQ_SYS_SRC_INCLUDE` so that other *-sys crates can consume that information and reuse the bundled build provided by this crate
## [0.5.0] 2024-01-19
### Added
- We added a `pq-src` crate and a `bundled` feature for `pq-sys`. This allows to build and link a static version of libpq during the rust build process. This feature currently supports builds targeting Windows, Linux and macOS. It requires a c-compiler toolchain for the target to build libpq from source.
- We added a `buildtime_bindgen` feature flag that allows to generate bindings for your locally installed libpq version. This is helpful for cases where the target architecture is significantly different to what the built-in bindings assume.
### Changed
- We regenerated the bundled bindings to match the libpq version build by the `bundled` feature flag
## [0.4.8] 2023-04-18
## Fixed
- Added `wldap` as dependency for the vcpk installation on windows as that's now required there
## [0.4.5] 2018-05-09
### Added
- Linking can now be dynamically handled per-target by specifying the `TARGET`
environment variable and `PQ_LIB_STATIC_$TARGET` environment variable.
- The path to `pg_config` can now be dynamically handled per-target by
specifying the `TARGET` environment variable and `PG_CONFIG_$TARGET`
environment variable.
## [0.4.3] 2017-03-10
### Fixed
- Linking on the msvc toolchain will no longer attempt to statically link
## [0.4.2] 2017-02-19
### Fixed
- Improved linking on Windows, particularly with the msvc toolchain.
## [0.4.1] 2017-02-19
### Fixed
- Properly specified the build script
## [0.4.0] 2017-02-19 [YANKED]
### Changed
- Bindings are no longer generated at compile time. Requiring clang 3.9 caused
too many issues for too many users, and requiring `syntex_syntax` increased
compile time too much.
## [0.3.2] 2017-02-16
### Fixed
- Fixed an issue when building on mac against postgres from homebrew
## [0.3.1] 2017-02-16
### Fixed
- Fixed an issue when building on mac against postgres from homebrew
- Fixed an issue with locating header files on linux
## [0.3.0] 2017-02-16
### Changed
- Bindings are now generated when the library is built, rather than being
vendored ahead of time.
- `libc` is no longer used. Anywhere that `libc::some_type` was expected,
`std::os::raw::some_type` is now used instead.
- The build script will no longer attempt to canonicalize symlinks on MacOS.
## [0.2.7] 2016-12-10
### Changed
- `pkg-config` is disabled by default. It can be enabled by adding `features =
["pkg-config"]` to your `Cargo.toml`.
## [0.2.6] 2016-12-10
### Added
- We will attempt to use `pkg-config` to locate libpq before falling back to
`pg_config`.
## [0.2.5] 2016-12-10
- No changes. Accidental release on the wrong commit.
## [0.2.4] 2016-11-22
### Added
- `pq` will be statically linked if the environment variable `PQ_LIB_STATIC` is
set.
## [0.2.3] 2016-08-12
### Changed
- On Mac if `pg_config` points to a directory where `libpq.dylib` is a symlink,
we will now attempt to find the canonical directory to link against. This
means that for installations using homebrew,
`/usr/local/Cellar/postgresql/version/lib` will be added to `DYLD_LIBRARY_PATH`
instead of `/usr/local/lib`
## [0.2.2] 2016-07-30
### Added
- The directory containing libpq for linking can now be specified via the
`PQ_LIB_DIR` environment variable.