From 87888747c4603e3fd48c4631fd4223baf46684a6 Mon Sep 17 00:00:00 2001 From: Gerd Zellweger Date: Sat, 14 Jun 2025 15:50:45 -0700 Subject: [PATCH 01/22] Make liblzma an optional dependency. It is only used when extracting binaries from the zonky repo which is already behind a feature flag. See also #187 for an xplanation of why this cause issues when a project also pulls in the xz2 crate (can't link the lzma C library twice). Signed-off-by: Gerd Zellweger --- postgresql_archive/Cargo.toml | 5 +++-- postgresql_archive/src/extractor/mod.rs | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/postgresql_archive/Cargo.toml b/postgresql_archive/Cargo.toml index 026a56e..760bd97 100644 --- a/postgresql_archive/Cargo.toml +++ b/postgresql_archive/Cargo.toml @@ -15,7 +15,7 @@ async-trait = { workspace = true } flate2 = { workspace = true } futures-util = { workspace = true } hex = { workspace = true } -liblzma = { workspace = true } +liblzma = { workspace = true, optional = true } md-5 = { workspace = true, optional = true } num-format = { workspace = true } quick-xml = { workspace = true, features = ["serialize"], optional = true } @@ -49,7 +49,7 @@ tokio = { workspace = true } [features] default = [ "native-tls", - "theseus", + "theseus" ] blocking = ["dep:tokio"] github = [ @@ -77,6 +77,7 @@ theseus = [ ] zonky = [ "maven", + "liblzma" ] [package.metadata.docs.rs] diff --git a/postgresql_archive/src/extractor/mod.rs b/postgresql_archive/src/extractor/mod.rs index 56b41b9..17dc703 100644 --- a/postgresql_archive/src/extractor/mod.rs +++ b/postgresql_archive/src/extractor/mod.rs @@ -1,10 +1,12 @@ mod model; pub mod registry; mod tar_gz_extractor; +#[cfg(feature = "liblzma")] mod tar_xz_extractor; mod zip_extractor; pub use model::ExtractDirectories; pub use tar_gz_extractor::extract as tar_gz_extract; +#[cfg(feature = "liblzma")] pub use tar_xz_extractor::extract as tar_xz_extract; pub use zip_extractor::extract as zip_extract; From f855644e28fa5de01f838ec8271c33c5a336acec Mon Sep 17 00:00:00 2001 From: Gerd Zellweger Date: Sun, 15 Jun 2025 09:20:57 -0700 Subject: [PATCH 02/22] Re-bundle build if version or releases url changes. Otherwise, I don't think the changes from env variable get picked up. Signed-off-by: Gerd Zellweger --- postgresql_embedded/build/bundle.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/postgresql_embedded/build/bundle.rs b/postgresql_embedded/build/bundle.rs index 8e49d2c..fb2171e 100644 --- a/postgresql_embedded/build/bundle.rs +++ b/postgresql_embedded/build/bundle.rs @@ -17,6 +17,8 @@ use url::Url; /// self-contained binary that does not require the PostgreSQL archive to be /// downloaded at runtime. pub(crate) async fn stage_postgresql_archive() -> Result<()> { + println!("cargo:rerun-if-env-changed=POSTGRESQL_VERSION"); + println!("cargo:rerun-if-env-changed=POSTGRESQL_RELEASES_URL"); #[cfg(feature = "theseus")] let default_releases_url = postgresql_archive::configuration::theseus::URL.to_string(); #[cfg(not(feature = "theseus"))] From b81c15ff253af49485d5ad8feb4a442ee6228edf Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 16 Jun 2025 23:38:15 -0600 Subject: [PATCH 03/22] chore: correct lint errors --- Cargo.lock | 237 +++++++++--------- postgresql_archive/src/archive.rs | 2 +- .../src/configuration/theseus/extractor.rs | 4 +- .../src/configuration/zonky/extractor.rs | 4 +- postgresql_archive/src/extractor/registry.rs | 4 +- .../src/extractor/tar_gz_extractor.rs | 2 +- .../src/extractor/tar_xz_extractor.rs | 2 +- .../src/extractor/zip_extractor.rs | 2 +- postgresql_embedded/src/postgresql.rs | 24 ++ .../src/repository/portal_corp/repository.rs | 2 +- .../src/repository/steampipe/repository.rs | 2 +- .../src/repository/tensor_chord/repository.rs | 2 +- 12 files changed, 152 insertions(+), 135 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 28033a1..048893d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aho-corasick" @@ -40,9 +40,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -55,33 +55,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.8" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", "once_cell_polyfill", @@ -264,9 +264,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" [[package]] name = "byteorder" @@ -288,9 +288,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.24" +version = "1.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" dependencies = [ "jobserver", "libc", @@ -299,9 +299,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cfg_aliases" @@ -338,18 +338,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.39" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" +checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.39" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" +checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" dependencies = [ "anstyle", "clap_lex", @@ -357,15 +357,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "concurrent-queue" @@ -385,7 +385,7 @@ dependencies = [ "encode_unicode", "libc", "once_cell", - "unicode-width 0.2.0", + "unicode-width 0.2.1", "windows-sys 0.59.0", ] @@ -806,9 +806,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "libz-rs-sys", @@ -901,7 +901,7 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] @@ -970,7 +970,7 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] @@ -1006,9 +1006,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", @@ -1131,9 +1131,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.6" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a01595e11bdcec50946522c32dde3fc6914743000a68b93000965f2f02406d" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ "http", "hyper", @@ -1164,9 +1164,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c293b6b3d21eca78250dc7dbebd6b9210ec5530e038cbfe0661b5c47ab06e8" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ "base64", "bytes", @@ -1318,7 +1318,7 @@ dependencies = [ "console", "number_prefix", "portable-atomic", - "unicode-width 0.2.0", + "unicode-width 0.2.1", "vt100", "web-time", ] @@ -1415,9 +1415,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.173" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb" [[package]] name = "liblzma" @@ -1430,9 +1430,9 @@ dependencies = [ [[package]] name = "liblzma-sys" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5839bad90c3cc2e0b8c4ed8296b80e86040240f81d46b9c0e9bc8dd51ddd3af1" +checksum = "01b9596486f6d60c3bbe644c0e1be1aa6ccc472ad630fe8927b456973d7cb736" dependencies = [ "cc", "libc", @@ -1447,14 +1447,14 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.9.1", "libc", - "redox_syscall 0.5.12", + "redox_syscall 0.5.13", ] [[package]] name = "libz-rs-sys" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6489ca9bd760fe9642d7644e827b0c9add07df89857b0416ee15c1cc1a3b8c5a" +checksum = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" dependencies = [ "zlib-rs", ] @@ -1473,9 +1473,9 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -1520,9 +1520,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "migrations_internals" @@ -1553,9 +1553,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] @@ -1567,7 +1567,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -1652,9 +1652,9 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openssl" -version = "0.10.72" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ "bitflags 2.9.1", "cfg-if", @@ -1684,9 +1684,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.108" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -1719,12 +1719,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", + "parking_lot_core 0.9.11", ] [[package]] @@ -1743,13 +1743,13 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.12", + "redox_syscall 0.5.13", "smallvec", "windows-targets 0.52.6", ] @@ -1835,9 +1835,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portal_corp_extension" @@ -2015,9 +2015,9 @@ dependencies = [ [[package]] name = "pq-sys" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c852911b98f5981956037b2ca976660612e548986c30af075e753107bc3400" +checksum = "dfd6cf44cca8f9624bc19df234fc4112873432f5fda1caff174527846d026fa9" dependencies = [ "libc", "vcpkg", @@ -2119,7 +2119,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "scheduled-thread-pool", ] @@ -2223,9 +2223,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags 2.9.1", ] @@ -2282,9 +2282,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.18" +version = "0.12.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98ff6b0dbbe4d5a37318f433d4fc82babd21631f194d370409ceb2e40b2f0b5" +checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813" dependencies = [ "base64", "bytes", @@ -2297,12 +2297,9 @@ dependencies = [ "hyper-rustls", "hyper-tls", "hyper-util", - "ipnet", "js-sys", "log", - "mime", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", "quinn", @@ -2366,9 +2363,9 @@ dependencies = [ [[package]] name = "reqwest-tracing" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0eee96990cfb4c09545847385e89b2d2d2e571143d55264a05d77c713780" +checksum = "d70ea85f131b2ee9874f0b160ac5976f8af75f3c9badfe0d955880257d10bd83" dependencies = [ "anyhow", "async-trait", @@ -2405,9 +2402,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "rustc-hash" @@ -2430,9 +2427,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.27" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "once_cell", "ring", @@ -2511,7 +2508,7 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" dependencies = [ - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] @@ -2609,9 +2606,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] @@ -2688,18 +2685,15 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] @@ -2876,9 +2870,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.101" +version = "2.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" dependencies = [ "proc-macro2", "quote", @@ -3013,12 +3007,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -3066,7 +3059,7 @@ dependencies = [ "bytes", "libc", "mio", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project-lite", "signal-hook-registry", "socket2", @@ -3108,7 +3101,7 @@ dependencies = [ "futures-channel", "futures-util", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "percent-encoding", "phf", "pin-project-lite", @@ -3157,9 +3150,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", @@ -3169,18 +3162,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.9" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.26" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap", "serde", @@ -3192,9 +3185,9 @@ dependencies = [ [[package]] name = "toml_write" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "tower" @@ -3214,9 +3207,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.4" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ "bitflags 2.9.1", "bytes", @@ -3256,9 +3249,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" dependencies = [ "proc-macro2", "quote", @@ -3267,9 +3260,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -3363,9 +3356,9 @@ checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-width" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "untrusted" @@ -3468,9 +3461,9 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" @@ -3630,7 +3623,7 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" dependencies = [ - "redox_syscall 0.5.12", + "redox_syscall 0.5.13", "wasite", "web-sys", ] @@ -3816,9 +3809,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" dependencies = [ "memchr", ] @@ -3954,9 +3947,9 @@ dependencies = [ [[package]] name = "zip" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "153a6fff49d264c4babdcfa6b4d534747f520e56e8f0f384f3b808c4b64cc1fd" +checksum = "af7dcdb4229c0e79c2531a24de7726a0e980417a74fb4d030a35f535665439a0" dependencies = [ "arbitrary", "crc32fast", @@ -3968,9 +3961,9 @@ dependencies = [ [[package]] name = "zlib-rs" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8" +checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" [[package]] name = "zonky" diff --git a/postgresql_archive/src/archive.rs b/postgresql_archive/src/archive.rs index 47c85c6..d55b40d 100644 --- a/postgresql_archive/src/archive.rs +++ b/postgresql_archive/src/archive.rs @@ -45,7 +45,7 @@ pub async fn extract(url: &str, bytes: &Vec, out_dir: &Path) -> Result, extract_directories: ExtractDirectories) -> Result> { +pub fn extract(bytes: &Vec, extract_directories: &ExtractDirectories) -> Result> { let out_dir = extract_directories.get_path(".")?; let parent_dir = if let Some(parent) = out_dir.parent() { @@ -41,7 +41,7 @@ pub fn extract(bytes: &Vec, extract_directories: ExtractDirectories) -> Resu debug!("Extracting archive to {}", extract_dir.to_string_lossy()); let mut archive_extract_directories = ExtractDirectories::default(); archive_extract_directories.add_mapping(Regex::new(".*")?, extract_dir.clone()); - let files = tar_gz_extract(bytes, archive_extract_directories)?; + let files = tar_gz_extract(bytes, &archive_extract_directories)?; if out_dir.exists() { debug!( diff --git a/postgresql_archive/src/configuration/zonky/extractor.rs b/postgresql_archive/src/configuration/zonky/extractor.rs index 12dc383..bacdab6 100644 --- a/postgresql_archive/src/configuration/zonky/extractor.rs +++ b/postgresql_archive/src/configuration/zonky/extractor.rs @@ -16,7 +16,7 @@ use zip::ZipArchive; /// Returns an error if the extraction fails. #[expect(clippy::case_sensitive_file_extension_comparisons)] #[instrument(skip(bytes))] -pub fn extract(bytes: &Vec, extract_directories: ExtractDirectories) -> Result> { +pub fn extract(bytes: &Vec, extract_directories: &ExtractDirectories) -> Result> { let out_dir = extract_directories.get_path(".")?; let parent_dir = if let Some(parent) = out_dir.parent() { parent @@ -63,7 +63,7 @@ pub fn extract(bytes: &Vec, extract_directories: ExtractDirectories) -> Resu let mut archive_extract_directories = ExtractDirectories::default(); archive_extract_directories.add_mapping(Regex::new(".*")?, extract_dir.clone()); - let files = tar_xz_extract(&archive_bytes, archive_extract_directories)?; + let files = tar_xz_extract(&archive_bytes, &archive_extract_directories)?; if out_dir.exists() { debug!( diff --git a/postgresql_archive/src/extractor/registry.rs b/postgresql_archive/src/extractor/registry.rs index 56394c8..ea95715 100644 --- a/postgresql_archive/src/extractor/registry.rs +++ b/postgresql_archive/src/extractor/registry.rs @@ -12,7 +12,7 @@ static REGISTRY: LazyLock>> = LazyLock::new(|| Arc::new(Mutex::new(RepositoryRegistry::default()))); type SupportsFn = fn(&str) -> Result; -type ExtractFn = fn(&Vec, ExtractDirectories) -> Result>; +type ExtractFn = fn(&Vec, &ExtractDirectories) -> Result>; /// Singleton struct to store extractors #[expect(clippy::type_complexity)] @@ -107,7 +107,7 @@ mod tests { let extractor = get(url)?; let mut extract_directories = ExtractDirectories::default(); extract_directories.add_mapping(Regex::new(".*")?, PathBuf::from("test")); - assert!(extractor(&Vec::new(), extract_directories).is_ok()); + assert!(extractor(&Vec::new(), &extract_directories).is_ok()); Ok(()) } diff --git a/postgresql_archive/src/extractor/tar_gz_extractor.rs b/postgresql_archive/src/extractor/tar_gz_extractor.rs index 0947fb4..0673436 100644 --- a/postgresql_archive/src/extractor/tar_gz_extractor.rs +++ b/postgresql_archive/src/extractor/tar_gz_extractor.rs @@ -14,7 +14,7 @@ use tracing::{debug, instrument, warn}; /// # Errors /// Returns an error if the extraction fails. #[instrument(skip(bytes))] -pub fn extract(bytes: &Vec, extract_directories: ExtractDirectories) -> Result> { +pub fn extract(bytes: &Vec, extract_directories: &ExtractDirectories) -> Result> { let mut files = Vec::new(); let input = BufReader::new(Cursor::new(bytes)); let decoder = GzDecoder::new(input); diff --git a/postgresql_archive/src/extractor/tar_xz_extractor.rs b/postgresql_archive/src/extractor/tar_xz_extractor.rs index 93caea5..3680b3d 100644 --- a/postgresql_archive/src/extractor/tar_xz_extractor.rs +++ b/postgresql_archive/src/extractor/tar_xz_extractor.rs @@ -14,7 +14,7 @@ use tracing::{debug, instrument, warn}; /// # Errors /// Returns an error if the extraction fails. #[instrument(skip(bytes))] -pub fn extract(bytes: &Vec, extract_directories: ExtractDirectories) -> Result> { +pub fn extract(bytes: &Vec, extract_directories: &ExtractDirectories) -> Result> { let mut files = Vec::new(); let input = BufReader::new(Cursor::new(bytes)); let decoder = XzDecoder::new(input); diff --git a/postgresql_archive/src/extractor/zip_extractor.rs b/postgresql_archive/src/extractor/zip_extractor.rs index 350809a..4419422 100644 --- a/postgresql_archive/src/extractor/zip_extractor.rs +++ b/postgresql_archive/src/extractor/zip_extractor.rs @@ -13,7 +13,7 @@ use zip::ZipArchive; /// # Errors /// Returns an error if the extraction fails. #[instrument(skip(bytes))] -pub fn extract(bytes: &Vec, extract_directories: ExtractDirectories) -> Result> { +pub fn extract(bytes: &Vec, extract_directories: &ExtractDirectories) -> Result> { let mut files = Vec::new(); let reader = Cursor::new(bytes); let mut archive = ZipArchive::new(reader).map_err(|_| io::Error::other("Zip error"))?; diff --git a/postgresql_embedded/src/postgresql.rs b/postgresql_embedded/src/postgresql.rs index 538d36f..693c67e 100644 --- a/postgresql_embedded/src/postgresql.rs +++ b/postgresql_embedded/src/postgresql.rs @@ -145,6 +145,10 @@ impl PostgreSQL { /// Set up the database by extracting the archive and initializing the database. /// If the installation directory already exists, the archive will not be extracted. /// If the data directory already exists, the database will not be initialized. + /// + /// # Errors + /// + /// If the installation fails, an error will be returned. #[instrument(skip(self))] pub async fn setup(&mut self) -> Result<()> { match self.installed_dir() { @@ -259,6 +263,10 @@ impl PostgreSQL { /// Start the database and wait for the startup to complete. /// If the port is set to `0`, the database will be started on a random port. + /// + /// # Errors + /// + /// If the database fails to start, an error will be returned. #[instrument(skip(self))] pub async fn start(&mut self) -> Result<()> { if self.settings.port == 0 { @@ -299,6 +307,10 @@ impl PostgreSQL { } /// Stop the database gracefully (smart mode) and wait for the shutdown to complete. + /// + /// # Errors + /// + /// If the database fails to stop, an error will be returned. #[instrument(skip(self))] pub async fn stop(&self) -> Result<()> { debug!( @@ -333,6 +345,10 @@ impl PostgreSQL { } /// Create a new database with the given name. + /// + /// # Errors + /// + /// If the database creation fails, an error will be returned. #[instrument(skip(self))] pub async fn create_database(&self, database_name: S) -> Result<()> where @@ -359,6 +375,10 @@ impl PostgreSQL { } /// Check if a database with the given name exists. + /// + /// # Errors + /// + /// If the query fails, an error will be returned. #[instrument(skip(self))] pub async fn database_exists(&self, database_name: S) -> Result where @@ -383,6 +403,10 @@ impl PostgreSQL { } /// Drop a database with the given name. + /// + /// # Errors + /// + /// If the database does not exist or if the drop command fails, an error will be returned. #[instrument(skip(self))] pub async fn drop_database(&self, database_name: S) -> Result<()> where diff --git a/postgresql_extensions/src/repository/portal_corp/repository.rs b/postgresql_extensions/src/repository/portal_corp/repository.rs index d54357b..40d2cf9 100644 --- a/postgresql_extensions/src/repository/portal_corp/repository.rs +++ b/postgresql_extensions/src/repository/portal_corp/repository.rs @@ -80,7 +80,7 @@ impl Repository for PortalCorp { extract_directories.add_mapping(Regex::new(r"\.(dll|dylib|so)$")?, library_dir); extract_directories.add_mapping(Regex::new(r"\.(control|sql)$")?, extension_dir); let bytes = &archive.to_vec(); - let files = zip_extract(bytes, extract_directories)?; + let files = zip_extract(bytes, &extract_directories)?; Ok(files) } } diff --git a/postgresql_extensions/src/repository/steampipe/repository.rs b/postgresql_extensions/src/repository/steampipe/repository.rs index f980b1d..f05fd1e 100644 --- a/postgresql_extensions/src/repository/steampipe/repository.rs +++ b/postgresql_extensions/src/repository/steampipe/repository.rs @@ -93,7 +93,7 @@ impl Repository for Steampipe { extract_directories.add_mapping(Regex::new(r"\.(dll|dylib|so)$")?, library_dir); extract_directories.add_mapping(Regex::new(r"\.(control|sql)$")?, extension_dir); let bytes = &archive.to_vec(); - let files = tar_gz_extract(bytes, extract_directories)?; + let files = tar_gz_extract(bytes, &extract_directories)?; Ok(files) } } diff --git a/postgresql_extensions/src/repository/tensor_chord/repository.rs b/postgresql_extensions/src/repository/tensor_chord/repository.rs index ac9b0c8..9a992b8 100644 --- a/postgresql_extensions/src/repository/tensor_chord/repository.rs +++ b/postgresql_extensions/src/repository/tensor_chord/repository.rs @@ -80,7 +80,7 @@ impl Repository for TensorChord { extract_directories.add_mapping(Regex::new(r"\.(dll|dylib|so)$")?, library_dir); extract_directories.add_mapping(Regex::new(r"\.(control|sql)$")?, extension_dir); let bytes = &archive.to_vec(); - let files = zip_extract(bytes, extract_directories)?; + let files = zip_extract(bytes, &extract_directories)?; Ok(files) } } From 92be1921a4fd2cad6f87364d6e3ac31d505e5fe1 Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 16 Jun 2025 23:40:10 -0600 Subject: [PATCH 04/22] chore: update to flate2=1.1.2, reqwest=0.12.20, reqwest-tracing=0.5.8, zip=4.1.0 --- Cargo.lock | 237 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 8 +- 2 files changed, 119 insertions(+), 126 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 28033a1..048893d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aho-corasick" @@ -40,9 +40,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -55,33 +55,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.8" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", "once_cell_polyfill", @@ -264,9 +264,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" [[package]] name = "byteorder" @@ -288,9 +288,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.24" +version = "1.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" dependencies = [ "jobserver", "libc", @@ -299,9 +299,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cfg_aliases" @@ -338,18 +338,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.39" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" +checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.39" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" +checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" dependencies = [ "anstyle", "clap_lex", @@ -357,15 +357,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "concurrent-queue" @@ -385,7 +385,7 @@ dependencies = [ "encode_unicode", "libc", "once_cell", - "unicode-width 0.2.0", + "unicode-width 0.2.1", "windows-sys 0.59.0", ] @@ -806,9 +806,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "libz-rs-sys", @@ -901,7 +901,7 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] @@ -970,7 +970,7 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] @@ -1006,9 +1006,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", @@ -1131,9 +1131,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.6" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a01595e11bdcec50946522c32dde3fc6914743000a68b93000965f2f02406d" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ "http", "hyper", @@ -1164,9 +1164,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c293b6b3d21eca78250dc7dbebd6b9210ec5530e038cbfe0661b5c47ab06e8" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ "base64", "bytes", @@ -1318,7 +1318,7 @@ dependencies = [ "console", "number_prefix", "portable-atomic", - "unicode-width 0.2.0", + "unicode-width 0.2.1", "vt100", "web-time", ] @@ -1415,9 +1415,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.173" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb" [[package]] name = "liblzma" @@ -1430,9 +1430,9 @@ dependencies = [ [[package]] name = "liblzma-sys" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5839bad90c3cc2e0b8c4ed8296b80e86040240f81d46b9c0e9bc8dd51ddd3af1" +checksum = "01b9596486f6d60c3bbe644c0e1be1aa6ccc472ad630fe8927b456973d7cb736" dependencies = [ "cc", "libc", @@ -1447,14 +1447,14 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.9.1", "libc", - "redox_syscall 0.5.12", + "redox_syscall 0.5.13", ] [[package]] name = "libz-rs-sys" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6489ca9bd760fe9642d7644e827b0c9add07df89857b0416ee15c1cc1a3b8c5a" +checksum = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" dependencies = [ "zlib-rs", ] @@ -1473,9 +1473,9 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -1520,9 +1520,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "migrations_internals" @@ -1553,9 +1553,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] @@ -1567,7 +1567,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -1652,9 +1652,9 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openssl" -version = "0.10.72" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ "bitflags 2.9.1", "cfg-if", @@ -1684,9 +1684,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.108" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -1719,12 +1719,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", + "parking_lot_core 0.9.11", ] [[package]] @@ -1743,13 +1743,13 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.12", + "redox_syscall 0.5.13", "smallvec", "windows-targets 0.52.6", ] @@ -1835,9 +1835,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portal_corp_extension" @@ -2015,9 +2015,9 @@ dependencies = [ [[package]] name = "pq-sys" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c852911b98f5981956037b2ca976660612e548986c30af075e753107bc3400" +checksum = "dfd6cf44cca8f9624bc19df234fc4112873432f5fda1caff174527846d026fa9" dependencies = [ "libc", "vcpkg", @@ -2119,7 +2119,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "scheduled-thread-pool", ] @@ -2223,9 +2223,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags 2.9.1", ] @@ -2282,9 +2282,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.18" +version = "0.12.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98ff6b0dbbe4d5a37318f433d4fc82babd21631f194d370409ceb2e40b2f0b5" +checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813" dependencies = [ "base64", "bytes", @@ -2297,12 +2297,9 @@ dependencies = [ "hyper-rustls", "hyper-tls", "hyper-util", - "ipnet", "js-sys", "log", - "mime", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", "quinn", @@ -2366,9 +2363,9 @@ dependencies = [ [[package]] name = "reqwest-tracing" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0eee96990cfb4c09545847385e89b2d2d2e571143d55264a05d77c713780" +checksum = "d70ea85f131b2ee9874f0b160ac5976f8af75f3c9badfe0d955880257d10bd83" dependencies = [ "anyhow", "async-trait", @@ -2405,9 +2402,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "rustc-hash" @@ -2430,9 +2427,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.27" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "once_cell", "ring", @@ -2511,7 +2508,7 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" dependencies = [ - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] @@ -2609,9 +2606,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] @@ -2688,18 +2685,15 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] @@ -2876,9 +2870,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.101" +version = "2.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" dependencies = [ "proc-macro2", "quote", @@ -3013,12 +3007,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -3066,7 +3059,7 @@ dependencies = [ "bytes", "libc", "mio", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project-lite", "signal-hook-registry", "socket2", @@ -3108,7 +3101,7 @@ dependencies = [ "futures-channel", "futures-util", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "percent-encoding", "phf", "pin-project-lite", @@ -3157,9 +3150,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", @@ -3169,18 +3162,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.9" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.26" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap", "serde", @@ -3192,9 +3185,9 @@ dependencies = [ [[package]] name = "toml_write" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "tower" @@ -3214,9 +3207,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.4" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ "bitflags 2.9.1", "bytes", @@ -3256,9 +3249,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" dependencies = [ "proc-macro2", "quote", @@ -3267,9 +3260,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -3363,9 +3356,9 @@ checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-width" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "untrusted" @@ -3468,9 +3461,9 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" @@ -3630,7 +3623,7 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" dependencies = [ - "redox_syscall 0.5.12", + "redox_syscall 0.5.13", "wasite", "web-sys", ] @@ -3816,9 +3809,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" dependencies = [ "memchr", ] @@ -3954,9 +3947,9 @@ dependencies = [ [[package]] name = "zip" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "153a6fff49d264c4babdcfa6b4d534747f520e56e8f0f384f3b808c4b64cc1fd" +checksum = "af7dcdb4229c0e79c2531a24de7726a0e980417a74fb4d030a35f535665439a0" dependencies = [ "arbitrary", "crc32fast", @@ -3968,9 +3961,9 @@ dependencies = [ [[package]] name = "zlib-rs" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8" +checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" [[package]] name = "zonky" diff --git a/Cargo.toml b/Cargo.toml index b35e87d..76544eb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,7 @@ axum = "0.8.4" criterion = "0.6.0" diesel = "2.2.10" diesel_migrations = "2.2.0" -flate2 = "1.1.1" +flate2 = "1.1.2" futures-util = "0.3.31" hex = "0.4.3" indicatif = "0.17.11" @@ -45,10 +45,10 @@ quick-xml = "0.37.5" r2d2_postgres = "0.18.2" rand = "0.9.1" regex-lite = "0.1.6" -reqwest = { version = "0.12.18", default-features = false } +reqwest = { version = "0.12.20", default-features = false } reqwest-middleware = "0.4.2" reqwest-retry = "0.7.0" -reqwest-tracing = "0.5.7" +reqwest-tracing = "0.5.8" semver = "1.0.26" serde = "1.0.219" serde_json = "1.0.140" @@ -65,7 +65,7 @@ tracing = "0.1.41" tracing-indicatif = "0.3.9" tracing-subscriber = "0.3.19" url = "2.5.4" -zip = { version = "4.0.0", default-features = false, features = ["deflate"] } +zip = { version = "4.1.0", default-features = false, features = ["deflate"] } [workspace.metadata.release] shared-version = true From f202cab04f1526265ab99b49dfa353b951200095 Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 16 Jun 2025 23:53:45 -0600 Subject: [PATCH 05/22] chore: add documentation for bundled feature flag --- postgresql_embedded/README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/postgresql_embedded/README.md b/postgresql_embedded/README.md index c49946f..76320ff 100644 --- a/postgresql_embedded/README.md +++ b/postgresql_embedded/README.md @@ -110,6 +110,30 @@ The following features are available: | `tokio` | Enables using tokio for async | No | | `zonky` | Enables zonky PostgreSQL binaries | No | +## Bundling PostgreSQL + +To bundle PostgreSQL with your application, you can enable the `bundled` feature. This will download the PostgreSQL +archive at compile time and include it in your binary. You should specify the version of PostgreSQL to bundle by +setting the environment variable `POSTGRESQL_VERSION` to a specific version, e.g. `=17.2.0`. In order to use the bundled +PostgreSQL, you will also need to set an explicit matching version at runtime in `Settings`: + +```rust +use postgresql_embedded::{Result, Settings, VersionReq}; + +#[tokio::main] +async fn main() -> Result<()> { + let settings = Settings { + version: VersionReq::from_str("=17.2.0")?, + ..Default::default() + }; + Ok(()) +} +``` + +The PostgreSQL binaries can also be obtained from a different GitHub source by setting the `POSTGRESQL_RELEASES_URL` +environment variable. The repository must contain the releases with archives in same structure as +[theseus-rs/postgresql_binaries](https://github.com/theseus-rs/postgresql-binaries). + ## Safety This crate uses `#![forbid(unsafe_code)]` to ensure everything is implemented in 100% safe Rust. From 60cd2a366bccc5bdd9f62dd9652cf55b5a0160f0 Mon Sep 17 00:00:00 2001 From: brianheineman Date: Tue, 17 Jun 2025 08:31:30 -0600 Subject: [PATCH 06/22] feat: add extractor feature flags --- Cargo.lock | 4 ++-- postgresql_archive/Cargo.toml | 21 +++++++++++++++++---- postgresql_archive/README.md | 8 ++++++++ postgresql_archive/src/extractor/mod.rs | 8 ++++++-- postgresql_archive/src/lib.rs | 8 ++++++++ postgresql_extensions/Cargo.toml | 3 +++ 6 files changed, 44 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 048893d..8707746 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2108,9 +2108,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "r2d2" diff --git a/postgresql_archive/Cargo.toml b/postgresql_archive/Cargo.toml index 760bd97..c415a65 100644 --- a/postgresql_archive/Cargo.toml +++ b/postgresql_archive/Cargo.toml @@ -12,7 +12,7 @@ version.workspace = true [dependencies] async-trait = { workspace = true } -flate2 = { workspace = true } +flate2 = { workspace = true, optional = true } futures-util = { workspace = true } hex = { workspace = true } liblzma = { workspace = true, optional = true } @@ -29,7 +29,7 @@ serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true, optional = true } sha1 = { workspace = true, optional = true } sha2 = { workspace = true, optional = true } -tar = { workspace = true } +tar = { workspace = true, optional = true } target-triple = { workspace = true, optional = true } tempfile = { workspace = true } thiserror = { workspace = true } @@ -37,7 +37,7 @@ tokio = { workspace = true, features = ["full"], optional = true } tracing = { workspace = true, features = ["log"] } tracing-indicatif = { workspace = true, optional = true } url = { workspace = true } -zip = { workspace = true } +zip = { workspace = true, optional = true } [dev-dependencies] anyhow = { workspace = true } @@ -70,14 +70,27 @@ native-tls = ["reqwest/native-tls"] rustls = ["reqwest/rustls-tls-native-roots"] sha1 = ["dep:sha1"] sha2 = ["dep:sha2"] +tar-gz = [ + "dep:flate2", + "dep:tar", +] +tar-xz = [ + "dep:liblzma", + "dep:tar", +] theseus = [ "dep:target-triple", "github", "sha2", + "tar-gz", +] +zip = [ + "dep:zip", ] zonky = [ "maven", - "liblzma" + "tar-xz", + "zip", ] [package.metadata.docs.rs] diff --git a/postgresql_archive/README.md b/postgresql_archive/README.md index 1c0d441..87c3505 100644 --- a/postgresql_archive/README.md +++ b/postgresql_archive/README.md @@ -63,6 +63,14 @@ The following features are available: | `theseus` | Enables theseus PostgreSQL binaries | Yes | | `zonky` | Enables zonky PostgreSQL binaries | No | +### Extractors + +| Name | Description | Default? | +|----------|----------------------|----------| +| `tar-gz` | Enables md5 hashers | Yes | +| `tar-xz` | Enables sha1 hashers | No | +| `zip` | Enables sha2 hashers | No | + ### Hashers | Name | Description | Default? | diff --git a/postgresql_archive/src/extractor/mod.rs b/postgresql_archive/src/extractor/mod.rs index 17dc703..a00f086 100644 --- a/postgresql_archive/src/extractor/mod.rs +++ b/postgresql_archive/src/extractor/mod.rs @@ -1,12 +1,16 @@ mod model; pub mod registry; +#[cfg(feature = "tar-gz")] mod tar_gz_extractor; -#[cfg(feature = "liblzma")] +#[cfg(feature = "tar-xz")] mod tar_xz_extractor; +#[cfg(feature = "zip")] mod zip_extractor; pub use model::ExtractDirectories; +#[cfg(feature = "tar-gz")] pub use tar_gz_extractor::extract as tar_gz_extract; -#[cfg(feature = "liblzma")] +#[cfg(feature = "tar-xz")] pub use tar_xz_extractor::extract as tar_xz_extract; +#[cfg(feature = "zip")] pub use zip_extractor::extract as zip_extract; diff --git a/postgresql_archive/src/lib.rs b/postgresql_archive/src/lib.rs index 66d647a..603be30 100644 --- a/postgresql_archive/src/lib.rs +++ b/postgresql_archive/src/lib.rs @@ -68,6 +68,14 @@ //! | `theseus` | Enables theseus PostgreSQL binaries | Yes | //! | `zonky` | Enables zonky PostgreSQL binaries | No | //! +//! ### Extractors +//! +//! | Name | Description | Default? | +//! |----------|----------------------|----------| +//! | `tar-gz` | Enables md5 hashers | Yes | +//! | `tar-xz` | Enables sha1 hashers | No | +//! | `zip` | Enables sha2 hashers | No | +//! //! ### Hashers //! //! | Name | Description | Default? | diff --git a/postgresql_extensions/Cargo.toml b/postgresql_extensions/Cargo.toml index a62e2b4..e25bf9d 100644 --- a/postgresql_extensions/Cargo.toml +++ b/postgresql_extensions/Cargo.toml @@ -43,14 +43,17 @@ blocking = ["tokio"] portal-corp = [ "dep:target-triple", "postgresql_archive/github", + "postgresql_archive/zip", ] steampipe = [ "dep:serde_json", "postgresql_archive/github", + "postgresql_archive/tar-gz", ] tensor-chord = [ "dep:target-triple", "postgresql_archive/github", + "postgresql_archive/zip", ] tokio = [ "postgresql_commands/tokio", From 8cba6f922ae5e01810a66964ec423adca9969662 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Jun 2025 14:48:31 +0000 Subject: [PATCH 07/22] postgresql-embedded-v0.18.6 --- CHANGELOG.md | 277 +++++++++++++++++++++++-------- Cargo.lock | 32 ++-- Cargo.toml | 2 +- postgresql_embedded/Cargo.toml | 6 +- postgresql_extensions/Cargo.toml | 6 +- 5 files changed, 230 insertions(+), 93 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2d0e5e..ab28038 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,163 +7,253 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## `postgresql_extensions` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.4...postgresql_extensions-v0.18.5) - 2025-05-28 +## +`postgresql_extensions` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.5...postgresql_extensions-v0.18.6) - 2025-06-17 + +### Added + +- add extractor feature flags + +### Other + +- correct lint errors + +## +`postgresql_embedded` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.5...v0.18.6) - 2025-06-17 + +### Added + +- add extractor feature flags + +### Other + +- make liblzma an optional dependency +- add documentation for bundled feature flag +- correct lint errors + +## +`postgresql_archive` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.5...postgresql_archive-v0.18.6) - 2025-06-17 + +### Added + +- add extractor feature flags + +### Other + +- make liblzma an optional dependency +- correct lint errors + +## +`postgresql_extensions` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.4...postgresql_extensions-v0.18.5) - 2025-05-28 ### Other + - update Cargo.toml dependencies -## `postgresql_embedded` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.4...v0.18.5) - 2025-05-28 +## +`postgresql_embedded` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.4...v0.18.5) - 2025-05-28 ### Fixed + - correct theseus build bundle - revert SupportFn type change - custom release url not working and compilation failure ### Other + - Merge branch 'main' into main - update to criterion=0.6.0, pgvector=0.4.1, reqwest=0.12.18, sqlx=0.8.6, tokio=1.45.1, zip=4.0.0 - minor syntax change - update Cargo.toml dependencies -## `postgresql_commands` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.4...postgresql_commands-v0.18.5) - 2025-05-28 +## +`postgresql_commands` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.4...postgresql_commands-v0.18.5) - 2025-05-28 ### Other + - update Cargo.toml dependencies -## `postgresql_archive` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.4...postgresql_archive-v0.18.5) - 2025-05-28 +## +`postgresql_archive` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.4...postgresql_archive-v0.18.5) - 2025-05-28 ### Fixed + - correct theseus build bundle - revert SupportFn type change - custom release url not working and compilation failure ### Other + - update to criterion=0.6.0, pgvector=0.4.1, reqwest=0.12.18, sqlx=0.8.6, tokio=1.45.1, zip=4.0.0 - minor syntax change -## `postgresql_extensions` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.3...postgresql_extensions-v0.18.4) - 2025-05-15 +## +`postgresql_extensions` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.3...postgresql_extensions-v0.18.4) - 2025-05-15 ### Other + - update Cargo.toml dependencies -## `postgresql_embedded` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.3...v0.18.4) - 2025-05-15 +## +`postgresql_embedded` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.3...v0.18.4) - 2025-05-15 ### Other + - update to Rust 1.87.0 - update dependencies - update Cargo.toml dependencies -## `postgresql_commands` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.3...postgresql_commands-v0.18.4) - 2025-05-15 +## +`postgresql_commands` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.3...postgresql_commands-v0.18.4) - 2025-05-15 ### Other + - update to Rust 1.87.0 -## `postgresql_archive` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.3...postgresql_archive-v0.18.4) - 2025-05-15 +## +`postgresql_archive` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.3...postgresql_archive-v0.18.4) - 2025-05-15 ### Other + - update to Rust 1.87.0 - update dependencies -## `postgresql_extensions` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.2...postgresql_extensions-v0.18.3) - 2025-04-03 +## +`postgresql_extensions` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.2...postgresql_extensions-v0.18.3) - 2025-04-03 ### Other + - update to Rust 1.86.0 -## `postgresql_embedded` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.2...v0.18.3) - 2025-04-03 +## +`postgresql_embedded` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.2...v0.18.3) - 2025-04-03 ### Other + - update Cargo.toml dependencies - update to Rust 1.86.0 -## `postgresql_archive` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.2...postgresql_archive-v0.18.3) - 2025-04-03 +## +`postgresql_archive` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.2...postgresql_archive-v0.18.3) - 2025-04-03 ### Other + - update Cargo.toml dependencies -## `postgresql_extensions` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.1...postgresql_extensions-v0.18.2) - 2025-03-21 +## +`postgresql_extensions` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.1...postgresql_extensions-v0.18.2) - 2025-03-21 ### Other + - update Cargo.toml dependencies -## `postgresql_embedded` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.1...v0.18.2) - 2025-03-21 +## +`postgresql_embedded` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.1...v0.18.2) - 2025-03-21 ### Other + - update Cargo.toml dependencies -## `postgresql_commands` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.1...postgresql_commands-v0.18.2) - 2025-03-21 +## +`postgresql_commands` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.1...postgresql_commands-v0.18.2) - 2025-03-21 ### Other + - update Cargo.toml dependencies -## `postgresql_archive` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.1...postgresql_archive-v0.18.2) - 2025-03-21 +## +`postgresql_archive` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.1...postgresql_archive-v0.18.2) - 2025-03-21 ### Other + - update Cargo.toml dependencies -## `postgresql_embedded` - [0.18.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.0...v0.18.1) - 2025-02-26 +## +`postgresql_embedded` - [0.18.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.0...v0.18.1) - 2025-02-26 ### Fix + - Check for existing installations in children before installing -## `postgresql_extensions` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.17.5...postgresql_extensions-v0.18.0) - 2025-02-20 +## +`postgresql_extensions` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.17.5...postgresql_extensions-v0.18.0) - 2025-02-20 ### Added + - update to Rust 2024 edition ### Other + - [**breaking**] rename feature rustls-tls to rustls -## `postgresql_commands` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.17.5...postgresql_commands-v0.18.0) - 2025-02-20 +## +`postgresql_commands` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.17.5...postgresql_commands-v0.18.0) - 2025-02-20 ### Added + - update to Rust 2024 edition -## `postgresql_embedded` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.5...v0.18.0) - 2025-02-20 +## +`postgresql_embedded` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.5...v0.18.0) - 2025-02-20 ### Added + - update to Rust 2024 edition ### Other + - update dependencies - [**breaking**] rename feature rustls-tls to rustls -## `postgresql_archive` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.17.5...postgresql_archive-v0.18.0) - 2025-02-20 +## +`postgresql_archive` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.17.5...postgresql_archive-v0.18.0) - 2025-02-20 ### Added + - update to Rust 2024 edition ### Other + - [**breaking**] rename feature rustls-tls to rustls -## `postgresql_extensions` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.17.4...postgresql_extensions-v0.17.5) - 2025-01-25 +## +`postgresql_extensions` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.17.4...postgresql_extensions-v0.17.5) - 2025-01-25 ### Other + - replace regex with regex-lite to reduce dependencies - update ci configuration -## `postgresql_commands` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.17.4...postgresql_commands-v0.17.5) - 2025-01-25 +## +`postgresql_commands` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.17.4...postgresql_commands-v0.17.5) - 2025-01-25 ### Other + - remove anyhow and human_bytes dependencies -## `postgresql_embedded` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.4...v0.17.5) - 2025-01-25 +## +`postgresql_embedded` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.4...v0.17.5) - 2025-01-25 ### Other + - make tracing-indicatif optional - remove anyhow and human_bytes dependencies - replace regex with regex-lite to reduce dependencies - remove http dependency - update ci configuration -## `postgresql_archive` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.17.4...postgresql_archive-v0.17.5) - 2025-01-25 +## +`postgresql_archive` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.17.4...postgresql_archive-v0.17.5) - 2025-01-25 ### Other + - replace regex with regex-lite to reduce dependencies - remove http dependency - make tracing-indicatif optional - remove anyhow and human_bytes dependencies -## `postgresql_embedded` - [v0.17.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.3...v0.17.4) - 2025-01-17 +## +`postgresql_embedded` - [v0.17.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.3...v0.17.4) - 2025-01-17 ### Chore @@ -175,7 +265,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct deny.toml - use tokio::process::spawn() for pc_ctl on Windows -## `postgresql_embedded` - [v0.17.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.2...v0.17.3) - 2024-11-12 +## +`postgresql_embedded` - [v0.17.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.2...v0.17.3) - 2024-11-12 ### Build @@ -195,20 +286,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct zonky extractor -## `postgresql_embedded` - [v0.17.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.1...v0.17.2) - 2024-10-01 +## +`postgresql_embedded` - [v0.17.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.1...v0.17.2) - 2024-10-01 ### Build - correct documentation build -## `postgresql_embedded` - [v0.17.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.0...v0.17.1) - 2024-10-01 +## +`postgresql_embedded` - [v0.17.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.0...v0.17.1) - 2024-10-01 ### Build - correct documentation build - update dependencies -## `postgresql_embedded` - [v0.17.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.3...v0.17.0) - 2024-09-28 +## +`postgresql_embedded` - [v0.17.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.3...v0.17.0) - 2024-09-28 ### Chore @@ -230,14 +324,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update extension test to run with specific postgresql version -## `postgresql_embedded` - [v0.16.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.2...v0.16.3) - 2024-09-04 +## +`postgresql_embedded` - [v0.16.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.2...v0.16.3) - 2024-09-04 ### Chore - switch from xz2 to liblzma - ignore .idea directory -## `postgresql_embedded` - [v0.16.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.1...v0.16.2) - 2024-08-24 +## +`postgresql_embedded` - [v0.16.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.1...v0.16.2) - 2024-08-24 ### Build @@ -256,7 +352,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - rename embedded_async_diesel_r2d2 to diesel_embedded -## `postgresql_embedded` - [v0.16.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.0...v0.16.1) - 2024-08-13 +## +`postgresql_embedded` - [v0.16.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.0...v0.16.1) - 2024-08-13 ### Build @@ -280,7 +377,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update version of postgresql used for testing from 16.3.0 to 16.4.0 - update windows test assertion -## `postgresql_embedded` - [v0.16.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.15.0...v0.16.0) - 2024-08-04 +## +`postgresql_embedded` - [v0.16.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.15.0...v0.16.0) - 2024-08-04 ### Build @@ -319,7 +417,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - improve matcher error tests - enable portal corp test for all platforms -## `postgresql_embedded` - [v0.15.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.2...v0.15.0) - 2024-08-01 +## +`postgresql_embedded` - [v0.15.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.2...v0.15.0) - 2024-08-01 ### Build @@ -361,7 +460,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update steampipe matcher test - improve model test coverage -## `postgresql_embedded` - [v0.14.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.1...v0.14.2) - 2024-07-17 +## +`postgresql_embedded` - [v0.14.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.1...v0.14.2) - 2024-07-17 ### Build @@ -381,7 +481,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct windows test failure -## `postgresql_embedded` - [v0.14.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.0...v0.14.1) - 2024-07-06 +## +`postgresql_embedded` - [v0.14.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.0...v0.14.1) - 2024-07-06 ### Build @@ -409,7 +510,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - increase timeout to 30 seconds - revert timeout to 5 seconds -## `postgresql_embedded` - [v0.14.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.13.0...v0.14.0) - 2024-07-03 +## +`postgresql_embedded` - [v0.14.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.13.0...v0.14.0) - 2024-07-03 ### Feat @@ -419,7 +521,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct extract test implementations -## `postgresql_embedded` - [v0.13.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.12.0...v0.13.0) - 2024-07-01 +## +`postgresql_embedded` - [v0.13.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.12.0...v0.13.0) - 2024-07-01 ### Build @@ -477,13 +580,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add zonky archive integration test - correct hash test -## `postgresql_embedded` - [v0.12.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.11.0...v0.12.0) - 2024-06-21 +## +`postgresql_embedded` - [v0.12.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.11.0...v0.12.0) - 2024-06-21 ### Refactor - [**breaking**] move version from PostgreSQL::new() to Settings -## `postgresql_embedded` - [v0.11.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.10.2...v0.11.0) - 2024-06-20 +## +`postgresql_embedded` - [v0.11.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.10.2...v0.11.0) - 2024-06-20 ### Build @@ -511,13 +616,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add missing command error tests and clean up lint directives -## `postgresql_embedded` - [v0.10.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.10.1...v0.10.2) - 2024-06-18 +## +`postgresql_embedded` - [v0.10.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.10.1...v0.10.2) - 2024-06-18 ### Fix - correct errors when PGDATABASE envar is set -## `postgresql_embedded` - [v0.10.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.5...v0.10.1) - 2024-06-14 +## +`postgresql_embedded` - [v0.10.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.5...v0.10.1) - 2024-06-14 ### Build @@ -527,7 +634,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] add ability to specify multiple pg_ctl options and define server configuration in Settings -## `postgresql_embedded` - [v0.9.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.4...v0.9.5) - 2024-06-03 +## +`postgresql_embedded` - [v0.9.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.4...v0.9.5) - 2024-06-03 ### Build @@ -537,20 +645,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - don't require rustls for the build script. only enable by default. -## `postgresql_embedded` - [v0.9.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.3...v0.9.4) - 2024-05-31 +## +`postgresql_embedded` - [v0.9.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.3...v0.9.4) - 2024-05-31 ### Feat - add native-tls support -## `postgresql_embedded` - [v0.9.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.2...v0.9.3) - 2024-05-21 +## +`postgresql_embedded` - [v0.9.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.2...v0.9.3) - 2024-05-21 ### PostgreSQL - don't trace self, and when tracing commands only trace the base name. makes the traces less enormous and also avoids dumping passwords into traces. -## `postgresql_embedded` - [v0.9.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.1...v0.9.2) - 2024-05-19 +## +`postgresql_embedded` - [v0.9.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.1...v0.9.2) - 2024-05-19 ### Build @@ -570,13 +681,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add authentication tests - improve test coverage -## `postgresql_embedded` - [v0.9.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.0...v0.9.1) - 2024-05-01 +## +`postgresql_embedded` - [v0.9.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.0...v0.9.1) - 2024-05-01 ### Fix - create extract_dir on same filesystem as out_dir ## + `postgresql_embedded` - [v0.9.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.3...v0.9.0) - 2024-04-26 ### Fix @@ -585,6 +698,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] define bootstrap superuser as postgres ## + `postgresql_embedded` - [v0.8.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.2...v0.8.3) - 2024-04-21 ### Build @@ -597,13 +711,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update reqwest libraries - address format error -## `postgresql_embedded` - [v0.8.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.1...v0.8.2) - 2024-04-05 +## +`postgresql_embedded` - [v0.8.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.1...v0.8.2) - 2024-04-05 ### Fix - suppress bytes parameter in tracing instrumentation -## `postgresql_embedded` - [v0.8.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.0...v0.8.1) - 2024-04-03 +## +`postgresql_embedded` - [v0.8.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.0...v0.8.1) - 2024-04-03 ### Build @@ -613,7 +729,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add command integration test -## `postgresql_embedded` - [v0.8.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.3...v0.8.0) - 2024-04-03 +## +`postgresql_embedded` - [v0.8.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.3...v0.8.0) - 2024-04-03 ### Build @@ -624,7 +741,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] move commands into postgresql_commands crate -## `postgresql_embedded` - [v0.7.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.2...v0.7.3) - 2024-03-25 +## +`postgresql_embedded` - [v0.7.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.2...v0.7.3) - 2024-03-25 ### Chore @@ -638,7 +756,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - remove use of embedded=true parameter -## `postgresql_embedded` - [v0.7.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.1...v0.7.2) - 2024-03-16 +## +`postgresql_embedded` - [v0.7.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.1...v0.7.2) - 2024-03-16 ### Chore @@ -648,13 +767,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add tracing instrumentation -## `postgresql_embedded` - [v0.7.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.0...v0.7.1) - 2024-03-15 +## +`postgresql_embedded` - [v0.7.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.0...v0.7.1) - 2024-03-15 ### Fix - correct parallel archive extract failures -## `postgresql_embedded` - [v0.7.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.2...v0.7.0) - 2024-03-15 +## +`postgresql_embedded` - [v0.7.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.2...v0.7.0) - 2024-03-15 ### Docs @@ -664,7 +785,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] correct parallel archive extract failures -## `postgresql_embedded` - [v0.6.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.1...v0.6.2) - 2024-03-07 +## +`postgresql_embedded` - [v0.6.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.1...v0.6.2) - 2024-03-07 ### Chore @@ -674,7 +796,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add reqwest backoff/retry logic and tracing support -## `postgresql_embedded` - [v0.6.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.0...v0.6.1) - 2024-03-06 +## +`postgresql_embedded` - [v0.6.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.0...v0.6.1) - 2024-03-06 ### Chore @@ -686,7 +809,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update dependencies to address RUSTSEC-2024-0020 -## `postgresql_embedded` - [v0.6.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.5.0...v0.6.0) - 2024-02-24 +## +`postgresql_embedded` - [v0.6.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.5.0...v0.6.0) - 2024-02-24 ### Chore @@ -697,7 +821,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] remove bundled as a default feature and corrected bug when the bundled feature is not used -## `postgresql_embedded` - [v0.5.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.4.1...v0.5.0) - 2024-02-22 +## +`postgresql_embedded` - [v0.5.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.4.1...v0.5.0) - 2024-02-22 ### Chore @@ -724,7 +849,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - remove unused code -## `postgresql_embedded` - [v0.4.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.4.0...v0.4.1) - 2024-02-18 +## +`postgresql_embedded` - [v0.4.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.4.0...v0.4.1) - 2024-02-18 ### Chore @@ -776,7 +902,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - reduce embedded sample size to 10 to reduce benchmark runtime - update benchmark pull request configuration -## `postgresql_embedded` - [v0.4.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.2...v0.4.0) - 2024-02-13 +## +`postgresql_embedded` - [v0.4.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.2...v0.4.0) - 2024-02-13 ### Docs @@ -795,7 +922,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - improve lifecycle test coverage - update elapsed error test to sleep longer to prevent intermittent test failure -## `postgresql_embedded` - [v0.3.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.1...v0.3.2) - 2024-02-13 +## +`postgresql_embedded` - [v0.3.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.1...v0.3.2) - 2024-02-13 ### Bug @@ -811,7 +939,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update test code coverage - add tests for examples -## `postgresql_embedded` - [v0.3.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.0...v0.3.1) - 2024-02-12 +## +`postgresql_embedded` - [v0.3.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.0...v0.3.1) - 2024-02-12 ### Chore @@ -830,7 +959,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update postgresql_embedded::ArchiveError argument -## `postgresql_embedded` - [v0.3.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.3...v0.3.0) - 2024-02-11 +## +`postgresql_embedded` - [v0.3.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.3...v0.3.0) - 2024-02-11 ### Ci @@ -840,13 +970,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] rename ArchiveError to postgresql_archive::Error and EmbeddedError to postgresql_embedded::Error -## `postgresql_embedded` - [v0.2.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.2...v0.2.3) - 2024-02-11 +## +`postgresql_embedded` - [v0.2.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.2...v0.2.3) - 2024-02-11 ### Ci - add scheduled action to clear github caches -## `postgresql_embedded` - [v0.2.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.1...v0.2.2) - 2024-02-11 +## +`postgresql_embedded` - [v0.2.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.1...v0.2.2) - 2024-02-11 ### Bug @@ -873,7 +1005,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add tests to improve code coverage - updated valid initial statuses -## `postgresql_embedded` - [v0.2.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.0...v0.2.1) - 2024-02-10 +## +`postgresql_embedded` - [v0.2.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.0...v0.2.1) - 2024-02-10 ### Chore @@ -883,7 +1016,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - enable documentation features -## `postgresql_embedded` - [v0.2.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.2...v0.2.0) - 2024-02-10 +## +`postgresql_embedded` - [v0.2.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.2...v0.2.0) - 2024-02-10 ### Chore @@ -893,7 +1027,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - updated examples to use no_run to prevent documentation build failures -## `postgresql_embedded` - [v0.1.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.1...v0.1.2) - 2024-02-10 +## +`postgresql_embedded` - [v0.1.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.1...v0.1.2) - 2024-02-10 ### Chore @@ -909,13 +1044,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - remove note regarding tokio usage for the example - added documentation for POSTGRESQL_VERSION and GITHUB_TOKEN usage -## `postgresql_embedded` - [v0.1.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.0...v0.1.1) - 2024-02-10 +## +`postgresql_embedded` - [v0.1.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.0...v0.1.1) - 2024-02-10 ### Docs - mark docs as ignored to prevent doc release failures -## `postgresql_embedded` - [v0.1.0](https://github.com/theseus-rs/postgresql-embedded/compare/bd97bf1b5b53beb503034d499a0186c75ba6271e...v0.1.0) - 2024-02-10 +## +`postgresql_embedded` - [v0.1.0](https://github.com/theseus-rs/postgresql-embedded/compare/bd97bf1b5b53beb503034d499a0186c75ba6271e...v0.1.0) - 2024-02-10 ### Bug diff --git a/Cargo.lock b/Cargo.lock index 8707746..1cebefc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -105,7 +105,7 @@ dependencies = [ [[package]] name = "archive_async" -version = "0.18.5" +version = "0.18.6" dependencies = [ "postgresql_archive", "tempfile", @@ -114,7 +114,7 @@ dependencies = [ [[package]] name = "archive_sync" -version = "0.18.5" +version = "0.18.6" dependencies = [ "postgresql_archive", "tempfile", @@ -208,7 +208,7 @@ dependencies = [ [[package]] name = "axum_embedded" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "axum", @@ -606,7 +606,7 @@ dependencies = [ [[package]] name = "diesel_embedded" -version = "0.18.5" +version = "0.18.6" dependencies = [ "diesel", "diesel_migrations", @@ -665,7 +665,7 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "download_progress_bar" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "indicatif", @@ -702,7 +702,7 @@ dependencies = [ [[package]] name = "embedded_async" -version = "0.18.5" +version = "0.18.6" dependencies = [ "postgresql_embedded", "tokio", @@ -710,7 +710,7 @@ dependencies = [ [[package]] name = "embedded_sync" -version = "0.18.5" +version = "0.18.6" dependencies = [ "postgresql_embedded", ] @@ -1841,7 +1841,7 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portal_corp_extension" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "indoc", @@ -1899,7 +1899,7 @@ dependencies = [ [[package]] name = "postgres_embedded" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "postgres", @@ -1908,7 +1908,7 @@ dependencies = [ [[package]] name = "postgresql_archive" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "async-trait", @@ -1944,7 +1944,7 @@ dependencies = [ [[package]] name = "postgresql_commands" -version = "0.18.5" +version = "0.18.6" dependencies = [ "test-log", "thiserror 2.0.12", @@ -1954,7 +1954,7 @@ dependencies = [ [[package]] name = "postgresql_embedded" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "criterion", @@ -1974,7 +1974,7 @@ dependencies = [ [[package]] name = "postgresql_extensions" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "async-trait", @@ -2831,7 +2831,7 @@ dependencies = [ [[package]] name = "sqlx_embedded" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "postgresql_embedded", @@ -2931,7 +2931,7 @@ dependencies = [ [[package]] name = "tensor_chord_extension" -version = "0.18.5" +version = "0.18.6" dependencies = [ "anyhow", "indoc", @@ -3967,7 +3967,7 @@ checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" [[package]] name = "zonky" -version = "0.18.5" +version = "0.18.6" dependencies = [ "postgresql_archive", "postgresql_embedded", diff --git a/Cargo.toml b/Cargo.toml index 76544eb..42833f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ keywords = ["postgresql", "postgres", "embedded", "database", "server"] license = "(Apache-2.0 OR MIT) AND PostgreSQL" repository = "https://github.com/theseus-rs/postgresql-embedded" rust-version = "1.87.0" -version = "0.18.5" +version = "0.18.6" [workspace.dependencies] anyhow = "1.0.98" diff --git a/postgresql_embedded/Cargo.toml b/postgresql_embedded/Cargo.toml index 1e0269f..ba32f64 100644 --- a/postgresql_embedded/Cargo.toml +++ b/postgresql_embedded/Cargo.toml @@ -13,14 +13,14 @@ version.workspace = true [build-dependencies] anyhow = { workspace = true } -postgresql_archive = { path = "../postgresql_archive", version = "0.18.5", default-features = false } +postgresql_archive = { path = "../postgresql_archive", version = "0.18.6", default-features = false } target-triple = { workspace = true } tokio = { workspace = true, features = ["full"] } url = { workspace = true } [dependencies] -postgresql_archive = { path = "../postgresql_archive", version = "0.18.5", default-features = false } -postgresql_commands = { path = "../postgresql_commands", version = "0.18.5" } +postgresql_archive = { path = "../postgresql_archive", version = "0.18.6", default-features = false } +postgresql_commands = { path = "../postgresql_commands", version = "0.18.6" } rand = { workspace = true } semver = { workspace = true } sqlx = { workspace = true, features = ["runtime-tokio"] } diff --git a/postgresql_extensions/Cargo.toml b/postgresql_extensions/Cargo.toml index e25bf9d..4d83891 100644 --- a/postgresql_extensions/Cargo.toml +++ b/postgresql_extensions/Cargo.toml @@ -12,8 +12,8 @@ version.workspace = true [dependencies] async-trait = { workspace = true } -postgresql_archive = { path = "../postgresql_archive", version = "0.18.5", default-features = false } -postgresql_commands = { path = "../postgresql_commands", version = "0.18.5", default-features = false } +postgresql_archive = { path = "../postgresql_archive", version = "0.18.6", default-features = false } +postgresql_commands = { path = "../postgresql_commands", version = "0.18.6", default-features = false } regex-lite = { workspace = true } reqwest = { workspace = true, default-features = false, features = ["json"] } semver = { workspace = true, features = ["serde"] } @@ -28,7 +28,7 @@ url = { workspace = true } [dev-dependencies] anyhow = { workspace = true } -postgresql_embedded = { path = "../postgresql_embedded", version = "0.18.5" } +postgresql_embedded = { path = "../postgresql_embedded", version = "0.18.6" } test-log = { workspace = true } tokio = { workspace = true, features = ["full"] } From bd40943024ab22c0f66f28a7437ce176cb561aa1 Mon Sep 17 00:00:00 2001 From: brianheineman Date: Tue, 17 Jun 2025 09:01:24 -0600 Subject: [PATCH 08/22] docs: update changelog --- CHANGELOG.md | 250 +++++++++++++++------------------------------------ 1 file changed, 73 insertions(+), 177 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab28038..60ea27b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## -`postgresql_extensions` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.5...postgresql_extensions-v0.18.6) - 2025-06-17 +## `postgresql_extensions` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.5...postgresql_extensions-v0.18.6) - 2025-06-17 ### Added @@ -18,8 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct lint errors -## -`postgresql_embedded` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.5...v0.18.6) - 2025-06-17 +## `postgresql_embedded` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.5...v0.18.6) - 2025-06-17 ### Added @@ -31,8 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add documentation for bundled feature flag - correct lint errors -## -`postgresql_archive` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.5...postgresql_archive-v0.18.6) - 2025-06-17 +## `postgresql_archive` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.5...postgresql_archive-v0.18.6) - 2025-06-17 ### Added @@ -43,217 +40,163 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - make liblzma an optional dependency - correct lint errors -## -`postgresql_extensions` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.4...postgresql_extensions-v0.18.5) - 2025-05-28 +## `postgresql_extensions` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.4...postgresql_extensions-v0.18.5) - 2025-05-28 ### Other - - update Cargo.toml dependencies -## -`postgresql_embedded` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.4...v0.18.5) - 2025-05-28 +## `postgresql_embedded` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.4...v0.18.5) - 2025-05-28 ### Fixed - - correct theseus build bundle - revert SupportFn type change - custom release url not working and compilation failure ### Other - - Merge branch 'main' into main - update to criterion=0.6.0, pgvector=0.4.1, reqwest=0.12.18, sqlx=0.8.6, tokio=1.45.1, zip=4.0.0 - minor syntax change - update Cargo.toml dependencies -## -`postgresql_commands` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.4...postgresql_commands-v0.18.5) - 2025-05-28 +## `postgresql_commands` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.4...postgresql_commands-v0.18.5) - 2025-05-28 ### Other - - update Cargo.toml dependencies -## -`postgresql_archive` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.4...postgresql_archive-v0.18.5) - 2025-05-28 +## `postgresql_archive` - [0.18.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.4...postgresql_archive-v0.18.5) - 2025-05-28 ### Fixed - - correct theseus build bundle - revert SupportFn type change - custom release url not working and compilation failure ### Other - - update to criterion=0.6.0, pgvector=0.4.1, reqwest=0.12.18, sqlx=0.8.6, tokio=1.45.1, zip=4.0.0 - minor syntax change -## -`postgresql_extensions` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.3...postgresql_extensions-v0.18.4) - 2025-05-15 +## `postgresql_extensions` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.3...postgresql_extensions-v0.18.4) - 2025-05-15 ### Other - - update Cargo.toml dependencies -## -`postgresql_embedded` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.3...v0.18.4) - 2025-05-15 +## `postgresql_embedded` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.3...v0.18.4) - 2025-05-15 ### Other - - update to Rust 1.87.0 - update dependencies - update Cargo.toml dependencies -## -`postgresql_commands` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.3...postgresql_commands-v0.18.4) - 2025-05-15 +## `postgresql_commands` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.3...postgresql_commands-v0.18.4) - 2025-05-15 ### Other - - update to Rust 1.87.0 -## -`postgresql_archive` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.3...postgresql_archive-v0.18.4) - 2025-05-15 +## `postgresql_archive` - [0.18.4](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.3...postgresql_archive-v0.18.4) - 2025-05-15 ### Other - - update to Rust 1.87.0 - update dependencies -## -`postgresql_extensions` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.2...postgresql_extensions-v0.18.3) - 2025-04-03 +## `postgresql_extensions` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.2...postgresql_extensions-v0.18.3) - 2025-04-03 ### Other - - update to Rust 1.86.0 -## -`postgresql_embedded` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.2...v0.18.3) - 2025-04-03 +## `postgresql_embedded` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.2...v0.18.3) - 2025-04-03 ### Other - - update Cargo.toml dependencies - update to Rust 1.86.0 -## -`postgresql_archive` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.2...postgresql_archive-v0.18.3) - 2025-04-03 +## `postgresql_archive` - [0.18.3](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.2...postgresql_archive-v0.18.3) - 2025-04-03 ### Other - - update Cargo.toml dependencies -## -`postgresql_extensions` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.1...postgresql_extensions-v0.18.2) - 2025-03-21 +## `postgresql_extensions` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.1...postgresql_extensions-v0.18.2) - 2025-03-21 ### Other - - update Cargo.toml dependencies -## -`postgresql_embedded` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.1...v0.18.2) - 2025-03-21 +## `postgresql_embedded` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.1...v0.18.2) - 2025-03-21 ### Other - - update Cargo.toml dependencies -## -`postgresql_commands` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.1...postgresql_commands-v0.18.2) - 2025-03-21 +## `postgresql_commands` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.1...postgresql_commands-v0.18.2) - 2025-03-21 ### Other - - update Cargo.toml dependencies -## -`postgresql_archive` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.1...postgresql_archive-v0.18.2) - 2025-03-21 +## `postgresql_archive` - [0.18.2](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.1...postgresql_archive-v0.18.2) - 2025-03-21 ### Other - - update Cargo.toml dependencies -## -`postgresql_embedded` - [0.18.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.0...v0.18.1) - 2025-02-26 +## `postgresql_embedded` - [0.18.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.0...v0.18.1) - 2025-02-26 ### Fix - - Check for existing installations in children before installing -## -`postgresql_extensions` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.17.5...postgresql_extensions-v0.18.0) - 2025-02-20 +## `postgresql_extensions` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.17.5...postgresql_extensions-v0.18.0) - 2025-02-20 ### Added - - update to Rust 2024 edition ### Other - - [**breaking**] rename feature rustls-tls to rustls -## -`postgresql_commands` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.17.5...postgresql_commands-v0.18.0) - 2025-02-20 +## `postgresql_commands` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.17.5...postgresql_commands-v0.18.0) - 2025-02-20 ### Added - - update to Rust 2024 edition -## -`postgresql_embedded` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.5...v0.18.0) - 2025-02-20 +## `postgresql_embedded` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.5...v0.18.0) - 2025-02-20 ### Added - - update to Rust 2024 edition ### Other - - update dependencies - [**breaking**] rename feature rustls-tls to rustls -## -`postgresql_archive` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.17.5...postgresql_archive-v0.18.0) - 2025-02-20 +## `postgresql_archive` - [0.18.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.17.5...postgresql_archive-v0.18.0) - 2025-02-20 ### Added - - update to Rust 2024 edition ### Other - - [**breaking**] rename feature rustls-tls to rustls -## -`postgresql_extensions` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.17.4...postgresql_extensions-v0.17.5) - 2025-01-25 +## `postgresql_extensions` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.17.4...postgresql_extensions-v0.17.5) - 2025-01-25 ### Other - - replace regex with regex-lite to reduce dependencies - update ci configuration -## -`postgresql_commands` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.17.4...postgresql_commands-v0.17.5) - 2025-01-25 +## `postgresql_commands` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.17.4...postgresql_commands-v0.17.5) - 2025-01-25 ### Other - - remove anyhow and human_bytes dependencies -## -`postgresql_embedded` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.4...v0.17.5) - 2025-01-25 +## `postgresql_embedded` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.4...v0.17.5) - 2025-01-25 ### Other - - make tracing-indicatif optional - remove anyhow and human_bytes dependencies - replace regex with regex-lite to reduce dependencies - remove http dependency - update ci configuration -## -`postgresql_archive` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.17.4...postgresql_archive-v0.17.5) - 2025-01-25 +## `postgresql_archive` - [0.17.5](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.17.4...postgresql_archive-v0.17.5) - 2025-01-25 ### Other - - replace regex with regex-lite to reduce dependencies - remove http dependency - make tracing-indicatif optional - remove anyhow and human_bytes dependencies -## -`postgresql_embedded` - [v0.17.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.3...v0.17.4) - 2025-01-17 +## `postgresql_embedded` - [v0.17.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.3...v0.17.4) - 2025-01-17 ### Chore @@ -265,8 +208,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct deny.toml - use tokio::process::spawn() for pc_ctl on Windows -## -`postgresql_embedded` - [v0.17.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.2...v0.17.3) - 2024-11-12 +## `postgresql_embedded` - [v0.17.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.2...v0.17.3) - 2024-11-12 ### Build @@ -286,23 +228,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct zonky extractor -## -`postgresql_embedded` - [v0.17.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.1...v0.17.2) - 2024-10-01 +## `postgresql_embedded` - [v0.17.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.1...v0.17.2) - 2024-10-01 ### Build - correct documentation build -## -`postgresql_embedded` - [v0.17.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.0...v0.17.1) - 2024-10-01 +## `postgresql_embedded` - [v0.17.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.17.0...v0.17.1) - 2024-10-01 ### Build - correct documentation build - update dependencies -## -`postgresql_embedded` - [v0.17.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.3...v0.17.0) - 2024-09-28 +## `postgresql_embedded` - [v0.17.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.3...v0.17.0) - 2024-09-28 ### Chore @@ -324,16 +263,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update extension test to run with specific postgresql version -## -`postgresql_embedded` - [v0.16.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.2...v0.16.3) - 2024-09-04 +## `postgresql_embedded` - [v0.16.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.2...v0.16.3) - 2024-09-04 ### Chore - switch from xz2 to liblzma - ignore .idea directory -## -`postgresql_embedded` - [v0.16.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.1...v0.16.2) - 2024-08-24 +## `postgresql_embedded` - [v0.16.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.1...v0.16.2) - 2024-08-24 ### Build @@ -352,8 +289,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - rename embedded_async_diesel_r2d2 to diesel_embedded -## -`postgresql_embedded` - [v0.16.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.0...v0.16.1) - 2024-08-13 +## `postgresql_embedded` - [v0.16.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.16.0...v0.16.1) - 2024-08-13 ### Build @@ -377,8 +313,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update version of postgresql used for testing from 16.3.0 to 16.4.0 - update windows test assertion -## -`postgresql_embedded` - [v0.16.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.15.0...v0.16.0) - 2024-08-04 +## `postgresql_embedded` - [v0.16.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.15.0...v0.16.0) - 2024-08-04 ### Build @@ -417,8 +352,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - improve matcher error tests - enable portal corp test for all platforms -## -`postgresql_embedded` - [v0.15.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.2...v0.15.0) - 2024-08-01 +## `postgresql_embedded` - [v0.15.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.2...v0.15.0) - 2024-08-01 ### Build @@ -460,8 +394,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update steampipe matcher test - improve model test coverage -## -`postgresql_embedded` - [v0.14.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.1...v0.14.2) - 2024-07-17 +## `postgresql_embedded` - [v0.14.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.1...v0.14.2) - 2024-07-17 ### Build @@ -481,8 +414,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct windows test failure -## -`postgresql_embedded` - [v0.14.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.0...v0.14.1) - 2024-07-06 +## `postgresql_embedded` - [v0.14.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.14.0...v0.14.1) - 2024-07-06 ### Build @@ -510,8 +442,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - increase timeout to 30 seconds - revert timeout to 5 seconds -## -`postgresql_embedded` - [v0.14.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.13.0...v0.14.0) - 2024-07-03 +## `postgresql_embedded` - [v0.14.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.13.0...v0.14.0) - 2024-07-03 ### Feat @@ -521,8 +452,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - correct extract test implementations -## -`postgresql_embedded` - [v0.13.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.12.0...v0.13.0) - 2024-07-01 +## `postgresql_embedded` - [v0.13.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.12.0...v0.13.0) - 2024-07-01 ### Build @@ -580,15 +510,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add zonky archive integration test - correct hash test -## -`postgresql_embedded` - [v0.12.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.11.0...v0.12.0) - 2024-06-21 +## `postgresql_embedded` - [v0.12.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.11.0...v0.12.0) - 2024-06-21 ### Refactor - [**breaking**] move version from PostgreSQL::new() to Settings -## -`postgresql_embedded` - [v0.11.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.10.2...v0.11.0) - 2024-06-20 +## `postgresql_embedded` - [v0.11.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.10.2...v0.11.0) - 2024-06-20 ### Build @@ -616,15 +544,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add missing command error tests and clean up lint directives -## -`postgresql_embedded` - [v0.10.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.10.1...v0.10.2) - 2024-06-18 +## `postgresql_embedded` - [v0.10.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.10.1...v0.10.2) - 2024-06-18 ### Fix - correct errors when PGDATABASE envar is set -## -`postgresql_embedded` - [v0.10.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.5...v0.10.1) - 2024-06-14 +## `postgresql_embedded` - [v0.10.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.5...v0.10.1) - 2024-06-14 ### Build @@ -634,8 +560,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] add ability to specify multiple pg_ctl options and define server configuration in Settings -## -`postgresql_embedded` - [v0.9.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.4...v0.9.5) - 2024-06-03 +## `postgresql_embedded` - [v0.9.5](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.4...v0.9.5) - 2024-06-03 ### Build @@ -645,23 +570,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - don't require rustls for the build script. only enable by default. -## -`postgresql_embedded` - [v0.9.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.3...v0.9.4) - 2024-05-31 +## `postgresql_embedded` - [v0.9.4](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.3...v0.9.4) - 2024-05-31 ### Feat - add native-tls support -## -`postgresql_embedded` - [v0.9.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.2...v0.9.3) - 2024-05-21 +## `postgresql_embedded` - [v0.9.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.2...v0.9.3) - 2024-05-21 ### PostgreSQL - don't trace self, and when tracing commands only trace the base name. makes the traces less enormous and also avoids dumping passwords into traces. -## -`postgresql_embedded` - [v0.9.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.1...v0.9.2) - 2024-05-19 +## `postgresql_embedded` - [v0.9.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.1...v0.9.2) - 2024-05-19 ### Build @@ -681,15 +603,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add authentication tests - improve test coverage -## -`postgresql_embedded` - [v0.9.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.0...v0.9.1) - 2024-05-01 +## `postgresql_embedded` - [v0.9.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.9.0...v0.9.1) - 2024-05-01 ### Fix - create extract_dir on same filesystem as out_dir ## - `postgresql_embedded` - [v0.9.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.3...v0.9.0) - 2024-04-26 ### Fix @@ -698,7 +618,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] define bootstrap superuser as postgres ## - `postgresql_embedded` - [v0.8.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.2...v0.8.3) - 2024-04-21 ### Build @@ -711,15 +630,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update reqwest libraries - address format error -## -`postgresql_embedded` - [v0.8.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.1...v0.8.2) - 2024-04-05 +## `postgresql_embedded` - [v0.8.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.1...v0.8.2) - 2024-04-05 ### Fix - suppress bytes parameter in tracing instrumentation -## -`postgresql_embedded` - [v0.8.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.0...v0.8.1) - 2024-04-03 +## `postgresql_embedded` - [v0.8.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.8.0...v0.8.1) - 2024-04-03 ### Build @@ -729,8 +646,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add command integration test -## -`postgresql_embedded` - [v0.8.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.3...v0.8.0) - 2024-04-03 +## `postgresql_embedded` - [v0.8.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.3...v0.8.0) - 2024-04-03 ### Build @@ -741,8 +657,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] move commands into postgresql_commands crate -## -`postgresql_embedded` - [v0.7.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.2...v0.7.3) - 2024-03-25 +## `postgresql_embedded` - [v0.7.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.2...v0.7.3) - 2024-03-25 ### Chore @@ -756,8 +671,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - remove use of embedded=true parameter -## -`postgresql_embedded` - [v0.7.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.1...v0.7.2) - 2024-03-16 +## `postgresql_embedded` - [v0.7.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.1...v0.7.2) - 2024-03-16 ### Chore @@ -767,15 +681,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add tracing instrumentation -## -`postgresql_embedded` - [v0.7.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.0...v0.7.1) - 2024-03-15 +## `postgresql_embedded` - [v0.7.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.7.0...v0.7.1) - 2024-03-15 ### Fix - correct parallel archive extract failures -## -`postgresql_embedded` - [v0.7.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.2...v0.7.0) - 2024-03-15 +## `postgresql_embedded` - [v0.7.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.2...v0.7.0) - 2024-03-15 ### Docs @@ -785,8 +697,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] correct parallel archive extract failures -## -`postgresql_embedded` - [v0.6.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.1...v0.6.2) - 2024-03-07 +## `postgresql_embedded` - [v0.6.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.1...v0.6.2) - 2024-03-07 ### Chore @@ -796,8 +707,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add reqwest backoff/retry logic and tracing support -## -`postgresql_embedded` - [v0.6.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.0...v0.6.1) - 2024-03-06 +## `postgresql_embedded` - [v0.6.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.6.0...v0.6.1) - 2024-03-06 ### Chore @@ -809,8 +719,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update dependencies to address RUSTSEC-2024-0020 -## -`postgresql_embedded` - [v0.6.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.5.0...v0.6.0) - 2024-02-24 +## `postgresql_embedded` - [v0.6.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.5.0...v0.6.0) - 2024-02-24 ### Chore @@ -821,8 +730,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] remove bundled as a default feature and corrected bug when the bundled feature is not used -## -`postgresql_embedded` - [v0.5.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.4.1...v0.5.0) - 2024-02-22 +## `postgresql_embedded` - [v0.5.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.4.1...v0.5.0) - 2024-02-22 ### Chore @@ -849,8 +757,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - remove unused code -## -`postgresql_embedded` - [v0.4.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.4.0...v0.4.1) - 2024-02-18 +## `postgresql_embedded` - [v0.4.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.4.0...v0.4.1) - 2024-02-18 ### Chore @@ -902,8 +809,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - reduce embedded sample size to 10 to reduce benchmark runtime - update benchmark pull request configuration -## -`postgresql_embedded` - [v0.4.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.2...v0.4.0) - 2024-02-13 +## `postgresql_embedded` - [v0.4.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.2...v0.4.0) - 2024-02-13 ### Docs @@ -922,8 +828,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - improve lifecycle test coverage - update elapsed error test to sleep longer to prevent intermittent test failure -## -`postgresql_embedded` - [v0.3.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.1...v0.3.2) - 2024-02-13 +## `postgresql_embedded` - [v0.3.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.1...v0.3.2) - 2024-02-13 ### Bug @@ -939,8 +844,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update test code coverage - add tests for examples -## -`postgresql_embedded` - [v0.3.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.0...v0.3.1) - 2024-02-12 +## `postgresql_embedded` - [v0.3.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.3.0...v0.3.1) - 2024-02-12 ### Chore @@ -959,8 +863,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update postgresql_embedded::ArchiveError argument -## -`postgresql_embedded` - [v0.3.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.3...v0.3.0) - 2024-02-11 +## `postgresql_embedded` - [v0.3.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.3...v0.3.0) - 2024-02-11 ### Ci @@ -970,15 +873,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [**breaking**] rename ArchiveError to postgresql_archive::Error and EmbeddedError to postgresql_embedded::Error -## -`postgresql_embedded` - [v0.2.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.2...v0.2.3) - 2024-02-11 +## `postgresql_embedded` - [v0.2.3](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.2...v0.2.3) - 2024-02-11 ### Ci - add scheduled action to clear github caches -## -`postgresql_embedded` - [v0.2.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.1...v0.2.2) - 2024-02-11 +## `postgresql_embedded` - [v0.2.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.1...v0.2.2) - 2024-02-11 ### Bug @@ -1005,8 +906,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add tests to improve code coverage - updated valid initial statuses -## -`postgresql_embedded` - [v0.2.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.0...v0.2.1) - 2024-02-10 +## `postgresql_embedded` - [v0.2.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.2.0...v0.2.1) - 2024-02-10 ### Chore @@ -1016,8 +916,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - enable documentation features -## -`postgresql_embedded` - [v0.2.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.2...v0.2.0) - 2024-02-10 +## `postgresql_embedded` - [v0.2.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.2...v0.2.0) - 2024-02-10 ### Chore @@ -1027,8 +926,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - updated examples to use no_run to prevent documentation build failures -## -`postgresql_embedded` - [v0.1.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.1...v0.1.2) - 2024-02-10 +## `postgresql_embedded` - [v0.1.2](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.1...v0.1.2) - 2024-02-10 ### Chore @@ -1044,15 +942,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - remove note regarding tokio usage for the example - added documentation for POSTGRESQL_VERSION and GITHUB_TOKEN usage -## -`postgresql_embedded` - [v0.1.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.0...v0.1.1) - 2024-02-10 +## `postgresql_embedded` - [v0.1.1](https://github.com/theseus-rs/postgresql-embedded/compare/v0.1.0...v0.1.1) - 2024-02-10 ### Docs - mark docs as ignored to prevent doc release failures -## -`postgresql_embedded` - [v0.1.0](https://github.com/theseus-rs/postgresql-embedded/compare/bd97bf1b5b53beb503034d499a0186c75ba6271e...v0.1.0) - 2024-02-10 +## `postgresql_embedded` - [v0.1.0](https://github.com/theseus-rs/postgresql-embedded/compare/bd97bf1b5b53beb503034d499a0186c75ba6271e...v0.1.0) - 2024-02-10 ### Bug From 2bda917f184611da73fc3c84b2b5ac38d079e2d0 Mon Sep 17 00:00:00 2001 From: Natalie Jameson Date: Wed, 18 Jun 2025 08:59:48 -0700 Subject: [PATCH 09/22] Allow skipping the installation step during setup For integration testing, postgresql_embedded is really useful, as it allows us to delegate handling of local instance setup and teardown, makes creating sample dbs simple, etc. However, we don't generally like to pull random binaries off of the internet, and would prefer to provide our own postgres installation paths. This also makes it easier for things like bazel and nix which we use in our dev/CI environemnts. This change just allows the setup() and new() methods to trust the installation dir that the user provided, and not try to guess an installation dir based on version, or attempt to install if the path doesn't match the version. The original behavior is still the default and how most people will use this crate. --- postgresql_embedded/src/postgresql.rs | 21 +++++++++++++-------- postgresql_embedded/src/settings.rs | 3 +++ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/postgresql_embedded/src/postgresql.rs b/postgresql_embedded/src/postgresql.rs index 693c67e..346bfaf 100644 --- a/postgresql_embedded/src/postgresql.rs +++ b/postgresql_embedded/src/postgresql.rs @@ -55,16 +55,17 @@ impl PostgreSQL { // conflicts with other versions. This will also facilitate setting the status of the // server to the correct initial value. If the minor and release version are not set, the // installation directory will be determined dynamically during the installation process. - if let Some(version) = postgresql.settings.version.exact_version() { - let path = &postgresql.settings.installation_dir; - let version_string = version.to_string(); - - if !path.ends_with(&version_string) { - postgresql.settings.installation_dir = - postgresql.settings.installation_dir.join(version_string); + if !postgresql.settings.trust_installation_dir { + if let Some(version) = postgresql.settings.version.exact_version() { + let path = &postgresql.settings.installation_dir; + let version_string = version.to_string(); + + if !path.ends_with(&version_string) { + postgresql.settings.installation_dir = + postgresql.settings.installation_dir.join(version_string); + } } } - postgresql } @@ -93,6 +94,10 @@ impl PostgreSQL { /// If it doesn't, it will search all the child directories for the latest version that matches the requirement. /// If it returns None, we couldn't find a matching installation. fn installed_dir(&self) -> Option { + if self.settings.trust_installation_dir { + return Some(self.settings.installation_dir.clone()); + } + let path = &self.settings.installation_dir; let maybe_path_version = path .file_name() diff --git a/postgresql_embedded/src/settings.rs b/postgresql_embedded/src/settings.rs index 019eec6..d49b388 100644 --- a/postgresql_embedded/src/settings.rs +++ b/postgresql_embedded/src/settings.rs @@ -58,6 +58,8 @@ pub struct Settings { pub timeout: Option, /// Server configuration options pub configuration: HashMap, + /// Skip installation and inferrence of the installation dir. Trust what the user provided. + pub trust_installation_dir: bool, } /// Settings implementation @@ -109,6 +111,7 @@ impl Settings { temporary: true, timeout: Some(Duration::from_secs(5)), configuration: HashMap::new(), + trust_installation_dir: false, } } From df10999698f5e0f4060a21a02ba634d7ffd6ffba Mon Sep 17 00:00:00 2001 From: brianheineman Date: Thu, 19 Jun 2025 18:57:14 -0600 Subject: [PATCH 10/22] fix: set CREATE_NO_WINDOW creation flag on Windows --- Cargo.lock | 123 ++++++++++++++++++++++++------ Cargo.toml | 4 +- postgresql_commands/src/traits.rs | 22 ++++++ 3 files changed, 122 insertions(+), 27 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1cebefc..abbdcf8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" @@ -579,9 +579,9 @@ dependencies = [ [[package]] name = "diesel" -version = "2.2.10" +version = "2.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff3e1edb1f37b4953dd5176916347289ed43d7119cc2e6c7c3f7849ff44ea506" +checksum = "a917a9209950404d5be011c81d081a2692a822f73c3d6af586f0cab5ff50f614" dependencies = [ "bitflags 2.9.1", "byteorder", @@ -593,9 +593,9 @@ dependencies = [ [[package]] name = "diesel_derives" -version = "2.2.5" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68d4216021b3ea446fd2047f5c8f8fe6e98af34508a254a01e4d6bc1e844f84d" +checksum = "52841e97814f407b895d836fa0012091dff79c6268f39ad8155d384c21ae0d26" dependencies = [ "diesel_table_macro_syntax", "dsl_auto_type", @@ -750,12 +750,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -1415,15 +1415,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.173" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "liblzma" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66352d7a8ac12d4877b6e6ea5a9b7650ee094257dc40889955bea5bc5b08c1d0" +checksum = "0791ab7e08ccc8e0ce893f6906eb2703ed8739d8e89b57c0714e71bad09024c8" dependencies = [ "liblzma-sys", ] @@ -2085,9 +2085,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" +checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" dependencies = [ "cfg_aliases", "libc", @@ -3249,9 +3249,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", @@ -3605,14 +3605,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.0", + "webpki-roots 1.0.1", ] [[package]] name = "webpki-roots" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" dependencies = [ "rustls-pki-types", ] @@ -3686,6 +3686,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -3710,13 +3719,29 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -3729,6 +3754,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -3741,6 +3772,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -3753,12 +3790,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -3771,6 +3820,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -3783,6 +3838,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -3795,6 +3856,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -3807,6 +3874,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" version = "0.7.11" @@ -3867,18 +3940,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 42833f4..e9db6f3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,14 +29,14 @@ anyhow = "1.0.98" async-trait = "0.1.88" axum = "0.8.4" criterion = "0.6.0" -diesel = "2.2.10" +diesel = "2.2.11" diesel_migrations = "2.2.0" flate2 = "1.1.2" futures-util = "0.3.31" hex = "0.4.3" indicatif = "0.17.11" indoc = "2.0.6" -liblzma = "0.4.1" +liblzma = "0.4.2" md-5 = "0.10.6" num-format = "0.4.4" pgvector = "0.4.1" diff --git a/postgresql_commands/src/traits.rs b/postgresql_commands/src/traits.rs index e688d0e..391ed90 100644 --- a/postgresql_commands/src/traits.rs +++ b/postgresql_commands/src/traits.rs @@ -2,11 +2,23 @@ use crate::error::{Error, Result}; use std::env::consts::OS; use std::ffi::{OsStr, OsString}; use std::fmt::Debug; +#[cfg(target_os = "windows")] +use std::os::windows::process::CommandExt; use std::path::PathBuf; use std::process::ExitStatus; use std::time::Duration; use tracing::debug; +/// Constant for the `CREATE_NO_WINDOW` flag on Windows to prevent the creation of a console window +/// when executing commands. This is useful for background processes or services that do not require +/// user interaction. +/// +/// # References +/// +/// - [Windows API: Process Creation Flags](https://learn.microsoft.com/en-us/windows/win32/procthread/process-creation-flags#flags) +#[cfg(target_os = "windows")] +const CREATE_NO_WINDOW: u32 = 0x0800_0000; + /// Interface for `PostgreSQL` settings pub trait Settings { fn get_binary_dir(&self) -> PathBuf; @@ -79,6 +91,11 @@ pub trait CommandBuilder: Debug { let program_file = self.get_program_file(); let mut command = std::process::Command::new(program_file); + #[cfg(target_os = "windows")] + { + command.creation_flags(CREATE_NO_WINDOW); + } + command.args(self.get_args()); command.envs(self.get_envs()); command @@ -93,6 +110,11 @@ pub trait CommandBuilder: Debug { let program_file = self.get_program_file(); let mut command = tokio::process::Command::new(program_file); + #[cfg(target_os = "windows")] + { + command.creation_flags(CREATE_NO_WINDOW); + } + command.args(self.get_args()); command.envs(self.get_envs()); command From 6ce8dac738e18ecdb625670126d3a64879d39222 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 20 Jun 2025 01:31:49 +0000 Subject: [PATCH 11/22] postgresql-embedded-v0.18.7 --- CHANGELOG.md | 18 ++++++++++++++++++ Cargo.lock | 32 ++++++++++++++++---------------- Cargo.toml | 2 +- postgresql_embedded/Cargo.toml | 6 +++--- postgresql_extensions/Cargo.toml | 6 +++--- 5 files changed, 41 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60ea27b..717c547 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## `postgresql_embedded` - [0.18.7](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.6...v0.18.7) - 2025-06-20 + +### Fixed +- set CREATE_NO_WINDOW creation flag on Windows + +### Other +- update Cargo.toml dependencies + +## `postgresql_commands` - [0.18.7](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.18.6...postgresql_commands-v0.18.7) - 2025-06-20 + +### Fixed +- set CREATE_NO_WINDOW creation flag on Windows + +## `postgresql_archive` - [0.18.7](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.6...postgresql_archive-v0.18.7) - 2025-06-20 + +### Other +- update Cargo.toml dependencies + ## `postgresql_extensions` - [0.18.6](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.18.5...postgresql_extensions-v0.18.6) - 2025-06-17 ### Added diff --git a/Cargo.lock b/Cargo.lock index abbdcf8..979e68b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -105,7 +105,7 @@ dependencies = [ [[package]] name = "archive_async" -version = "0.18.6" +version = "0.18.7" dependencies = [ "postgresql_archive", "tempfile", @@ -114,7 +114,7 @@ dependencies = [ [[package]] name = "archive_sync" -version = "0.18.6" +version = "0.18.7" dependencies = [ "postgresql_archive", "tempfile", @@ -208,7 +208,7 @@ dependencies = [ [[package]] name = "axum_embedded" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "axum", @@ -606,7 +606,7 @@ dependencies = [ [[package]] name = "diesel_embedded" -version = "0.18.6" +version = "0.18.7" dependencies = [ "diesel", "diesel_migrations", @@ -665,7 +665,7 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "download_progress_bar" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "indicatif", @@ -702,7 +702,7 @@ dependencies = [ [[package]] name = "embedded_async" -version = "0.18.6" +version = "0.18.7" dependencies = [ "postgresql_embedded", "tokio", @@ -710,7 +710,7 @@ dependencies = [ [[package]] name = "embedded_sync" -version = "0.18.6" +version = "0.18.7" dependencies = [ "postgresql_embedded", ] @@ -1841,7 +1841,7 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portal_corp_extension" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "indoc", @@ -1899,7 +1899,7 @@ dependencies = [ [[package]] name = "postgres_embedded" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "postgres", @@ -1908,7 +1908,7 @@ dependencies = [ [[package]] name = "postgresql_archive" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "async-trait", @@ -1944,7 +1944,7 @@ dependencies = [ [[package]] name = "postgresql_commands" -version = "0.18.6" +version = "0.18.7" dependencies = [ "test-log", "thiserror 2.0.12", @@ -1954,7 +1954,7 @@ dependencies = [ [[package]] name = "postgresql_embedded" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "criterion", @@ -1974,7 +1974,7 @@ dependencies = [ [[package]] name = "postgresql_extensions" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "async-trait", @@ -2831,7 +2831,7 @@ dependencies = [ [[package]] name = "sqlx_embedded" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "postgresql_embedded", @@ -2931,7 +2931,7 @@ dependencies = [ [[package]] name = "tensor_chord_extension" -version = "0.18.6" +version = "0.18.7" dependencies = [ "anyhow", "indoc", @@ -4040,7 +4040,7 @@ checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" [[package]] name = "zonky" -version = "0.18.6" +version = "0.18.7" dependencies = [ "postgresql_archive", "postgresql_embedded", diff --git a/Cargo.toml b/Cargo.toml index e9db6f3..475f4a4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ keywords = ["postgresql", "postgres", "embedded", "database", "server"] license = "(Apache-2.0 OR MIT) AND PostgreSQL" repository = "https://github.com/theseus-rs/postgresql-embedded" rust-version = "1.87.0" -version = "0.18.6" +version = "0.18.7" [workspace.dependencies] anyhow = "1.0.98" diff --git a/postgresql_embedded/Cargo.toml b/postgresql_embedded/Cargo.toml index ba32f64..e6b17ca 100644 --- a/postgresql_embedded/Cargo.toml +++ b/postgresql_embedded/Cargo.toml @@ -13,14 +13,14 @@ version.workspace = true [build-dependencies] anyhow = { workspace = true } -postgresql_archive = { path = "../postgresql_archive", version = "0.18.6", default-features = false } +postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false } target-triple = { workspace = true } tokio = { workspace = true, features = ["full"] } url = { workspace = true } [dependencies] -postgresql_archive = { path = "../postgresql_archive", version = "0.18.6", default-features = false } -postgresql_commands = { path = "../postgresql_commands", version = "0.18.6" } +postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false } +postgresql_commands = { path = "../postgresql_commands", version = "0.18.7" } rand = { workspace = true } semver = { workspace = true } sqlx = { workspace = true, features = ["runtime-tokio"] } diff --git a/postgresql_extensions/Cargo.toml b/postgresql_extensions/Cargo.toml index 4d83891..610b985 100644 --- a/postgresql_extensions/Cargo.toml +++ b/postgresql_extensions/Cargo.toml @@ -12,8 +12,8 @@ version.workspace = true [dependencies] async-trait = { workspace = true } -postgresql_archive = { path = "../postgresql_archive", version = "0.18.6", default-features = false } -postgresql_commands = { path = "../postgresql_commands", version = "0.18.6", default-features = false } +postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false } +postgresql_commands = { path = "../postgresql_commands", version = "0.18.7", default-features = false } regex-lite = { workspace = true } reqwest = { workspace = true, default-features = false, features = ["json"] } semver = { workspace = true, features = ["serde"] } @@ -28,7 +28,7 @@ url = { workspace = true } [dev-dependencies] anyhow = { workspace = true } -postgresql_embedded = { path = "../postgresql_embedded", version = "0.18.6" } +postgresql_embedded = { path = "../postgresql_embedded", version = "0.18.7" } test-log = { workspace = true } tokio = { workspace = true, features = ["full"] } From 1b51df87da6e7408fa502c6eefe15119162f7e5d Mon Sep 17 00:00:00 2001 From: brianheineman Date: Fri, 20 Jun 2025 22:31:07 -0600 Subject: [PATCH 12/22] docs: update extractor feature documentation --- postgresql_archive/README.md | 10 +++++----- postgresql_archive/src/lib.rs | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/postgresql_archive/README.md b/postgresql_archive/README.md index 87c3505..9bc0d87 100644 --- a/postgresql_archive/README.md +++ b/postgresql_archive/README.md @@ -65,11 +65,11 @@ The following features are available: ### Extractors -| Name | Description | Default? | -|----------|----------------------|----------| -| `tar-gz` | Enables md5 hashers | Yes | -| `tar-xz` | Enables sha1 hashers | No | -| `zip` | Enables sha2 hashers | No | +| Name | Description | Default? | +|----------|--------------------------|----------| +| `tar-gz` | Enables tar gz extractor | Yes | +| `tar-xz` | Enables tar xz extractor | No | +| `zip` | Enables zip extractor | No | ### Hashers diff --git a/postgresql_archive/src/lib.rs b/postgresql_archive/src/lib.rs index 603be30..a729ad2 100644 --- a/postgresql_archive/src/lib.rs +++ b/postgresql_archive/src/lib.rs @@ -70,11 +70,11 @@ //! //! ### Extractors //! -//! | Name | Description | Default? | -//! |----------|----------------------|----------| -//! | `tar-gz` | Enables md5 hashers | Yes | -//! | `tar-xz` | Enables sha1 hashers | No | -//! | `zip` | Enables sha2 hashers | No | +//! | Name | Description | Default? | +//! |----------|--------------------------|----------| +//! | `tar-gz` | Enables tar gz extractor | Yes | +//! | `tar-xz` | Enables tar xz extractor | No | +//! | `zip` | Enables zip extractor | No | //! //! ### Hashers //! From d87d5c3de1be8ddfd8b540a27326b4ad5ab4d8c7 Mon Sep 17 00:00:00 2001 From: Natalie Jameson Date: Mon, 23 Jun 2025 12:41:55 -0700 Subject: [PATCH 13/22] Add URL parsing and add unit test --- postgresql_embedded/src/settings.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/postgresql_embedded/src/settings.rs b/postgresql_embedded/src/settings.rs index d49b388..0c6be12 100644 --- a/postgresql_embedded/src/settings.rs +++ b/postgresql_embedded/src/settings.rs @@ -193,6 +193,9 @@ impl Settings { } }; } + if let Some(trust_installation_dir) = query_parameters.get("trust_installation_dir") { + settings.trust_installation_dir = trust_installation_dir == "true"; + } let configuration_prefix = "configuration."; for (key, value) in &query_parameters { if key.starts_with(configuration_prefix) { @@ -299,10 +302,11 @@ mod tests { let password_file = "password_file=/tmp/.pgpass"; let data_dir = "data_dir=/tmp/data"; let temporary = "temporary=false"; + let trust_installation_dir = "trust_installation_dir=true"; let timeout = "timeout=10"; let configuration = "configuration.max_connections=42"; let url = format!( - "{base_url}?{releases_url}&{version}&{installation_dir}&{password_file}&{data_dir}&{temporary}&{temporary}&{timeout}&{configuration}" + "{base_url}?{releases_url}&{version}&{installation_dir}&{password_file}&{data_dir}&{temporary}&{trust_installation_dir}&{timeout}&{configuration}" ); let settings = Settings::from_url(url)?; @@ -317,6 +321,7 @@ mod tests { assert_eq!(BOOTSTRAP_SUPERUSER, settings.username); assert_eq!("password", settings.password); assert!(!settings.temporary); + assert!(settings.trust_installation_dir); assert_eq!(Some(Duration::from_secs(10)), settings.timeout); let configuration = HashMap::from([("max_connections".to_string(), "42".to_string())]); assert_eq!(configuration, settings.configuration); From 1898e70dd4a0a65a18d75cade8f9cdbb83531aba Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 23 Jun 2025 14:59:53 -0600 Subject: [PATCH 14/22] chore: correct typo in variable name --- postgresql_embedded/src/settings.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/postgresql_embedded/src/settings.rs b/postgresql_embedded/src/settings.rs index 0c6be12..9f09dfa 100644 --- a/postgresql_embedded/src/settings.rs +++ b/postgresql_embedded/src/settings.rs @@ -67,12 +67,12 @@ impl Settings { /// Create a new instance of [`Settings`] pub fn new() -> Self { let home_dir = home_dir().unwrap_or_else(|| env::current_dir().unwrap_or_default()); - let passwword_file_name = ".pgpass"; + let password_file_name = ".pgpass"; let password_file = if let Ok(dir) = tempfile::tempdir() { - dir.into_path().join(passwword_file_name) + dir.into_path().join(password_file_name) } else { let current_dir = current_dir().unwrap_or(PathBuf::from(".")); - current_dir.join(passwword_file_name) + current_dir.join(password_file_name) }; let data_dir = if let Ok(dir) = tempfile::tempdir() { dir.into_path() From 10bcc04b9590b7adafab4598be58ea349e438ae2 Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 23 Jun 2025 15:17:24 -0600 Subject: [PATCH 15/22] build: attempt to run with bencher 0.5.1 --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55433f3..63fa834 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -89,6 +89,8 @@ jobs: - name: Install benchmarking tools if: ${{ github.ref == 'refs/heads/main' && matrix.platform == 'linux-x64' }} uses: bencherdev/bencher@main + with: + version: 0.5.1 - name: Run benchmarks if: ${{ github.ref == 'refs/heads/main' && matrix.platform == 'linux-x64' }} From 17240826d6a326dd9071468c2c46ae4e68b792d4 Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 23 Jun 2025 15:42:39 -0600 Subject: [PATCH 16/22] build: move benchmarks into separate workflow --- .github/workflows/benchmarks.yml | 53 ++++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 15 --------- 2 files changed, 53 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/benchmarks.yml diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml new file mode 100644 index 0000000..6dc83c1 --- /dev/null +++ b/.github/workflows/benchmarks.yml @@ -0,0 +1,53 @@ +name: Benchmarks + +on: + push: + branches: + - main + pull_request: + types: [ opened, reopened, synchronize ] + +permissions: + contents: read + +jobs: + benchmark: + name: Run Benchmarks + runs-on: ubuntu-24.04-arm + permissions: + pull-requests: write + steps: + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Install Rust + uses: dtolnay/rust-toolchain@master + with: + components: 'llvm-tools-preview' + toolchain: stable + + - name: Install benchmarking tools + uses: bencherdev/bencher@main + + - name: Run benchmarks + if: ${{ github.event_name == 'pull_request' }} + env: + BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }} + BENCHER_PROJECT: theseus-rs-postgresql-embedded + BENCHER_ADAPTER: rust_criterion + run: | + bencher run \ + --branch $GITHUB_HEAD_REF \ + --ci-number "${{ github.event.number }}" \ + --github-actions "${{ secrets.GITHUB_TOKEN }}" \ + --err \ + "cargo bench" + + - name: Run benchmarks + if: ${{ github.event_name != 'pull_request' }} + env: + BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }} + BENCHER_PROJECT: theseus-rs-postgresql-embedded + BENCHER_ADAPTER: rust_criterion + run: | + bencher run "cargo bench" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63fa834..975a212 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,18 +85,3 @@ jobs: verbose: true env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - - name: Install benchmarking tools - if: ${{ github.ref == 'refs/heads/main' && matrix.platform == 'linux-x64' }} - uses: bencherdev/bencher@main - with: - version: 0.5.1 - - - name: Run benchmarks - if: ${{ github.ref == 'refs/heads/main' && matrix.platform == 'linux-x64' }} - env: - BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }} - BENCHER_PROJECT: theseus-rs-postgresql-embedded - BENCHER_ADAPTER: rust_criterion - run: | - bencher run "cargo bench --features blocking" From fbd67faf442993bd2c4461954748976336459f6f Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 23 Jun 2025 15:43:42 -0600 Subject: [PATCH 17/22] build: update benchmarks to run on ubuntu-latest --- .github/workflows/benchmarks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 6dc83c1..52e44d6 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -13,7 +13,7 @@ permissions: jobs: benchmark: name: Run Benchmarks - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-latest permissions: pull-requests: write steps: From 14861b11e219a8becfaaa4adde565db820b4b7a4 Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 23 Jun 2025 18:06:38 -0600 Subject: [PATCH 18/22] build: enable blocking feature for benchmarks --- .github/workflows/benchmarks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 52e44d6..1ee2e8d 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -50,4 +50,4 @@ jobs: BENCHER_PROJECT: theseus-rs-postgresql-embedded BENCHER_ADAPTER: rust_criterion run: | - bencher run "cargo bench" + bencher run "cargo bench --features blocking" From f6f71e0bf4af6330b818f528c1cc56d07519f7a1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 00:10:14 +0000 Subject: [PATCH 19/22] postgresql-embedded-v0.19.0 --- CHANGELOG.md | 14 ++++++++++++++ Cargo.lock | 32 ++++++++++++++++---------------- Cargo.toml | 2 +- postgresql_embedded/Cargo.toml | 6 +++--- postgresql_extensions/Cargo.toml | 6 +++--- 5 files changed, 37 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 717c547..d870cd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## `postgresql_embedded` - [0.19.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.7...v0.19.0) - 2025-06-24 + +### Other +- correct typo in variable name +- Merge branch 'main' into nmj/skip-installation +- Add URL parsing and add unit test +- Allow skipping the installation step during setup +- update extractor feature documentation + +## `postgresql_archive` - [0.19.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.7...postgresql_archive-v0.19.0) - 2025-06-24 + +### Other +- update extractor feature documentation + ## `postgresql_embedded` - [0.18.7](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.6...v0.18.7) - 2025-06-20 ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 979e68b..2b593a1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -105,7 +105,7 @@ dependencies = [ [[package]] name = "archive_async" -version = "0.18.7" +version = "0.19.0" dependencies = [ "postgresql_archive", "tempfile", @@ -114,7 +114,7 @@ dependencies = [ [[package]] name = "archive_sync" -version = "0.18.7" +version = "0.19.0" dependencies = [ "postgresql_archive", "tempfile", @@ -208,7 +208,7 @@ dependencies = [ [[package]] name = "axum_embedded" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "axum", @@ -606,7 +606,7 @@ dependencies = [ [[package]] name = "diesel_embedded" -version = "0.18.7" +version = "0.19.0" dependencies = [ "diesel", "diesel_migrations", @@ -665,7 +665,7 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "download_progress_bar" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "indicatif", @@ -702,7 +702,7 @@ dependencies = [ [[package]] name = "embedded_async" -version = "0.18.7" +version = "0.19.0" dependencies = [ "postgresql_embedded", "tokio", @@ -710,7 +710,7 @@ dependencies = [ [[package]] name = "embedded_sync" -version = "0.18.7" +version = "0.19.0" dependencies = [ "postgresql_embedded", ] @@ -1841,7 +1841,7 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portal_corp_extension" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "indoc", @@ -1899,7 +1899,7 @@ dependencies = [ [[package]] name = "postgres_embedded" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "postgres", @@ -1908,7 +1908,7 @@ dependencies = [ [[package]] name = "postgresql_archive" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "async-trait", @@ -1944,7 +1944,7 @@ dependencies = [ [[package]] name = "postgresql_commands" -version = "0.18.7" +version = "0.19.0" dependencies = [ "test-log", "thiserror 2.0.12", @@ -1954,7 +1954,7 @@ dependencies = [ [[package]] name = "postgresql_embedded" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "criterion", @@ -1974,7 +1974,7 @@ dependencies = [ [[package]] name = "postgresql_extensions" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "async-trait", @@ -2831,7 +2831,7 @@ dependencies = [ [[package]] name = "sqlx_embedded" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "postgresql_embedded", @@ -2931,7 +2931,7 @@ dependencies = [ [[package]] name = "tensor_chord_extension" -version = "0.18.7" +version = "0.19.0" dependencies = [ "anyhow", "indoc", @@ -4040,7 +4040,7 @@ checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" [[package]] name = "zonky" -version = "0.18.7" +version = "0.19.0" dependencies = [ "postgresql_archive", "postgresql_embedded", diff --git a/Cargo.toml b/Cargo.toml index 475f4a4..02301a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ keywords = ["postgresql", "postgres", "embedded", "database", "server"] license = "(Apache-2.0 OR MIT) AND PostgreSQL" repository = "https://github.com/theseus-rs/postgresql-embedded" rust-version = "1.87.0" -version = "0.18.7" +version = "0.19.0" [workspace.dependencies] anyhow = "1.0.98" diff --git a/postgresql_embedded/Cargo.toml b/postgresql_embedded/Cargo.toml index e6b17ca..51c7066 100644 --- a/postgresql_embedded/Cargo.toml +++ b/postgresql_embedded/Cargo.toml @@ -13,14 +13,14 @@ version.workspace = true [build-dependencies] anyhow = { workspace = true } -postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false } +postgresql_archive = { path = "../postgresql_archive", version = "0.19.0", default-features = false } target-triple = { workspace = true } tokio = { workspace = true, features = ["full"] } url = { workspace = true } [dependencies] -postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false } -postgresql_commands = { path = "../postgresql_commands", version = "0.18.7" } +postgresql_archive = { path = "../postgresql_archive", version = "0.19.0", default-features = false } +postgresql_commands = { path = "../postgresql_commands", version = "0.19.0" } rand = { workspace = true } semver = { workspace = true } sqlx = { workspace = true, features = ["runtime-tokio"] } diff --git a/postgresql_extensions/Cargo.toml b/postgresql_extensions/Cargo.toml index 610b985..d7428d5 100644 --- a/postgresql_extensions/Cargo.toml +++ b/postgresql_extensions/Cargo.toml @@ -12,8 +12,8 @@ version.workspace = true [dependencies] async-trait = { workspace = true } -postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false } -postgresql_commands = { path = "../postgresql_commands", version = "0.18.7", default-features = false } +postgresql_archive = { path = "../postgresql_archive", version = "0.19.0", default-features = false } +postgresql_commands = { path = "../postgresql_commands", version = "0.19.0", default-features = false } regex-lite = { workspace = true } reqwest = { workspace = true, default-features = false, features = ["json"] } semver = { workspace = true, features = ["serde"] } @@ -28,7 +28,7 @@ url = { workspace = true } [dev-dependencies] anyhow = { workspace = true } -postgresql_embedded = { path = "../postgresql_embedded", version = "0.18.7" } +postgresql_embedded = { path = "../postgresql_embedded", version = "0.19.0" } test-log = { workspace = true } tokio = { workspace = true, features = ["full"] } From 550533f67a6701b0fc7c205a9313499f13e5373b Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 23 Jun 2025 18:42:44 -0600 Subject: [PATCH 20/22] docs: update documentation --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d870cd6..3a8344b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Other - correct typo in variable name -- Merge branch 'main' into nmj/skip-installation -- Add URL parsing and add unit test - Allow skipping the installation step during setup - update extractor feature documentation From 178f1d3e8914bdf9d29bc92e64d1a337cdf7669a Mon Sep 17 00:00:00 2001 From: brianheineman Date: Mon, 23 Jun 2025 18:43:41 -0600 Subject: [PATCH 21/22] docs: update documentation --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a8344b..f73bd06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,9 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## `postgresql_embedded` - [0.19.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.7...v0.19.0) - 2025-06-24 +### Added +- allow skipping the installation step during setup + ### Other - correct typo in variable name -- Allow skipping the installation step during setup - update extractor feature documentation ## `postgresql_archive` - [0.19.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.7...postgresql_archive-v0.19.0) - 2025-06-24 From c16e4383beffed2a0ac325f6ba23b222c5a589d6 Mon Sep 17 00:00:00 2001 From: brianheineman Date: Sat, 28 Jun 2025 11:51:53 -0600 Subject: [PATCH 22/22] chore: update to Rust 1.88.0 --- .github/workflows/benchmarks.yml | 2 +- Cargo.lock | 28 ++++++++++++++-------------- Cargo.toml | 4 ++-- postgresql_embedded/build/bundle.rs | 6 +++--- rust-toolchain.toml | 2 +- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 1ee2e8d..2851793 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -41,7 +41,7 @@ jobs: --ci-number "${{ github.event.number }}" \ --github-actions "${{ secrets.GITHUB_TOKEN }}" \ --err \ - "cargo bench" + "cargo bench --features blocking" - name: Run benchmarks if: ${{ github.event_name != 'pull_request' }} diff --git a/Cargo.lock b/Cargo.lock index 2b593a1..845b5ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -264,9 +264,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.18.1" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byteorder" @@ -517,9 +517,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-common" @@ -1301,9 +1301,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", "hashbrown", @@ -1441,9 +1441,9 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" dependencies = [ "bitflags 2.9.1", "libc", @@ -2870,9 +2870,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.103" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -3906,9 +3906,9 @@ checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "xattr" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" +checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909" dependencies = [ "libc", "rustix", @@ -4020,9 +4020,9 @@ dependencies = [ [[package]] name = "zip" -version = "4.1.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7dcdb4229c0e79c2531a24de7726a0e980417a74fb4d030a35f535665439a0" +checksum = "95ab361742de920c5535880f89bbd611ee62002bf11341d16a5f057bb8ba6899" dependencies = [ "arbitrary", "crc32fast", diff --git a/Cargo.toml b/Cargo.toml index 02301a7..b26ec68 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ edition = "2024" keywords = ["postgresql", "postgres", "embedded", "database", "server"] license = "(Apache-2.0 OR MIT) AND PostgreSQL" repository = "https://github.com/theseus-rs/postgresql-embedded" -rust-version = "1.87.0" +rust-version = "1.88.0" version = "0.19.0" [workspace.dependencies] @@ -65,7 +65,7 @@ tracing = "0.1.41" tracing-indicatif = "0.3.9" tracing-subscriber = "0.3.19" url = "2.5.4" -zip = { version = "4.1.0", default-features = false, features = ["deflate"] } +zip = { version = "4.2.0", default-features = false, features = ["deflate"] } [workspace.metadata.release] shared-version = true diff --git a/postgresql_embedded/build/bundle.rs b/postgresql_embedded/build/bundle.rs index fb2171e..1feda94 100644 --- a/postgresql_embedded/build/bundle.rs +++ b/postgresql_embedded/build/bundle.rs @@ -41,7 +41,7 @@ pub(crate) async fn stage_postgresql_archive() -> Result<()> { println!("Target: {}", target_triple::TARGET); let out_dir = PathBuf::from(env::var("OUT_DIR")?); - println!("OUT_DIR: {:?}", out_dir); + println!("OUT_DIR: {out_dir:?}"); let mut archive_version_file = out_dir.clone(); archive_version_file.push("postgresql.version"); @@ -49,7 +49,7 @@ pub(crate) async fn stage_postgresql_archive() -> Result<()> { archive_file.push("postgresql.tar.gz"); if archive_version_file.exists() && archive_file.exists() { - println!("PostgreSQL archive exists: {:?}", archive_file); + println!("PostgreSQL archive exists: {archive_file:?}"); return Ok(()); } @@ -59,7 +59,7 @@ pub(crate) async fn stage_postgresql_archive() -> Result<()> { let mut file = File::create(archive_file.clone())?; file.write_all(&archive)?; file.sync_data()?; - println!("PostgreSQL archive written to: {:?}", archive_file); + println!("PostgreSQL archive written to: {archive_file:?}"); Ok(()) } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 291696d..02cb8fc 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.87.0" +channel = "stable" profile = "default"