This repository was archived by the owner on Aug 3, 2026. It is now read-only.
chore(deps): Update rust-dependencies - #47
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.10→0.11>=0.22, <0.23→>=0.22, <0.24>=0.13, <0.14→>=0.13, <0.150.14.1>=0.20.0, <0.21→>=0.20.0, <0.22>=0.20.0, <0.21→>=0.20.0, <0.220.12→0.13>=0.11, <0.14→>=0.11, <0.15>=0.31.0, <0.32→>=0.31.0, <0.33>=0.31.0, <0.32→>=0.31.0, <0.330.6→0.100.10→0.11>=0.8, <0.9→>=0.8, <0.10>=0.6.8, <0.7→>=0.6.8, <0.8>=0.32.1, <0.33→>=0.32.1, <0.34Release Notes
RustCrypto/AEADs (aes-gcm)
v0.11.0Compare Source
marshallpierce/rust-base64 (base64)
v0.23.0Compare Source
simd-unsafefeature:Simdpicks the bestinstruction set at runtime (AVX2 on
x86_64, NEON onaarch64) and falls back to the scalarGeneralPurposeengine, whileAvx2andNeontarget one instruction set with no runtimedetection and work in
no_std. The engines support the standard and URL-safe alphabets.cel-rust/cel-rust (cel)
v0.14.0Compare Source
Added
Optionaluse proper overloadsZeroertrait and implOpaque's type paramCeStructimplementedStructs need to be known & adhere toStructDefCelStructsupportValUIntconversion functionIntconversion functionDoubleconversion functionStringconversion functionCelString'smatchesduration_to_durationminormaxby defaultDurationoverloadstimestamp_to_timestampTimestampoverloadsString::startsWith&::endsWithsizeonly impl. using overloadsDefaultMapimplSizertraitDefaultListimplSizertraitStringimplSizertraitSizertrait & util fns forBytesBox<dyn Val>downcastable to avoid cloningbytesfuncCelBytes::stdlib()fnsFunctionto useCow<dyn Val>sEnvDecl's wireframe of go for nowFixed
Val::get_typelifetime fixbytesOther
Opaquescargo add cel, version agnosticTypewhenValis providedType,Envet alType<'a>proper lifetimeTypeis passed by ref only nowDynsvalue::Downcast's usageFunctiontakes ownership of argsEnvFunctionContextstore actualValargsFunctionContext.thisusesCow<dyn Val>TraitSet = u16type aliasrust-lang/git2-rs (git2)
v0.21.0Compare Source
0.20.4...main
Added
unstable-sha256Cargo feature,along with
*_extAPI variants that accept anObjectFormat.#1206
opts::set_cache_max_size()andopts::get_cached_memory().#1188
Repository::object_format()and a newObjectFormatenum.#1204
Repository::set_config().#1208
merge_file()along withMergeFileInput.#1210
Repository::refdb_compress()for packing loose refs.#1221
Refdbtype, along withRepository::refdb()andRepository::set_refdb().Repository::refdb_compress()now delegates toRefdb::compress().#1228
Revspec::into_objects().#1230
BlameHunk::final_committer(),BlameHunk::orig_committer(),BlameHunk::summary(), andBlameHunk::summary_bytes().#1231
CloneforReference.#1233
Repository::author_from_env()andRepository::committer_from_env().#1237
impl From<Utf8Error> for Error.#1239
Changed
ssh,https, andcredCargo features are no longer enabled by default.Previously
default = ["ssh", "https"]; nowdefault = [].Enable them explicitly if you rely on credential helpers or transport support.
#1168
CredentialHelperand theurldependency are now gated behind the newcredCargo feature.Enabling
sshorhttpstransitively enablescred.#1168
#1173
Option<&str>now return
Result<&str, Error>orResult<Option<&str>, Error>,so callers can distinguish a missing value from a non-UTF-8 one.
#1241
BlameHunk::final_signature,BlameHunk::final_committer,BlameHunk::orig_signature, andBlameHunk::orig_committernow return
Optionto avoid segfaults when signature information is missing.#1254
#1242
Fixed
MergeOptions::skip_reuc()to use the correctGIT_MERGE_SKIP_REUCflag.#1194
Repository::submodules()now returns anErrorwhen the underlyinggit_submodule_lookup()call to libgit2 fails, rather than panicking with a failed assertion.#1220
Reference::is_valid_name()now propagates errors fromCStringconversion instead of panicking.#1229
Remote::list()to return an empty list instead of erroringwhen the remote advertises no refs.
#1250
ReferenceNamesnow returns anErrfor non-UTF-8 branch names instead of panicking.#1239
Documentation
git_checkout_head.#1149
IndexAddOptionflags.#1163
sshfeature.#1187
Repository::tag_foreach().#1190
StatusOptions.#1199
#1219
Signature::from_raw_const()docs.#1222
#1223
#1224
CheckoutBuilder::update_index()documentation.#1232
#1235
Repository::stash_save_ext()docs.#1245
#1243
CheckoutBuilder::refresh()docs.#1252
Internals
civet/conduitfrom dev-dependencies.#1170
#1171
#1177
#1182
#1196
#1198
timefrom 0.3.41 to 0.3.47.#1215
#1244
#1246
Repository::statuses().#1251
#1201
#1205
RustCrypto/KDFs (hkdf)
v0.13.0Compare Source
pseitz/lz4_flex (lz4_flex)
v0.14.0Compare Source
==================
Features
allocfeature to allowno_stdoperation without an allocator. Thestdfeature now impliesalloc. Withoutalloconly the_intovariants of the block API are available, e.g.compress_into; the compression hash table is placed on the stack or can be provided viacompress_into_with_table.open-telemetry/opentelemetry-rust (opentelemetry)
v0.32.0Compare Source
Released 2026-May-08
BoundCounter<T>andBoundHistogram<T>types that cache resolvedaggregator references for a fixed attribute set. Created via
Counter::bind()and
Histogram::bind(), bound instruments bypass per-call attribute lookup,providing significant performance improvements for hot paths where the same
attributes are used repeatedly. Both types implement
Cloneso a single boundstate can be shared across threads or modules without re-binding. Also adds
the
SyncInstrument::bind()trait method andBoundSyncInstrument<T>traitfor SDK implementors; the trait method has a no-op default so custom
SyncInstrumentimpls degrade gracefully without panicking. Gated behind theexperimental_metrics_bound_instrumentsfeature flag.reservemethod toopentelemetry::propagation::Injectorto hint at the number of elements that will be added to avoid multiple resize operations of the underlying data structure. Has an empty default implementation.SpanBuilder#3227:trace_id,span_id,end_time,status,sampling_resultwith_trace_id,with_span_id,with_end_time,with_status,with_sampling_result#[must_use]attribute toopentelemetry::metrics::AsyncInstrumentBuilderto add compile time warning when.build()is not called on observable instrument builders, preventing silent failures where callbacks are never registered and metrics are never reported.opentelemetry::tracetoopentelemetry_sdk::trace#3277:SamplingDecision,SamplingResultopentelemetry_sdk::traceinstead.backing specification) is now stable and is enabled by default.
3278
tracingevents emitted via theinternal-logsfeatureContext::current()fromDropimplementations triggered byContextGuardcleanup (#3262).open-telemetry/opentelemetry-rust (opentelemetry-otlp)
v0.32.0Compare Source
Released 2026-May-08
tls-provider-agnosticfeature flag for environments that require a custom crypto backend (e.g., OpenSSL for FIPS compliance). Enables TLS code paths without bundlingringoraws-lc-rs.build()directly onSpanExporterBuilder,MetricExporterBuilder, andLogExporterBuilder(before selecting a transport), which auto-selects the transport based on the
OTEL_EXPORTER_OTLP_PROTOCOLenvironment variable or enabled features.#3394
ExportConfig,HasExportConfig,with_export_config(),HasTonicConfig,HasHttpConfig,TonicConfig, andHttpConfigfrom public API.Use the public
WithExportConfig,WithTonicConfig, andWithHttpConfigtrait methods instead, which remain unchanged.an
https://endpoint is configured but no TLS feature (tls-ringortls-aws-lc) is enabled, instead ofsilently sending unencrypted traffic. When a TLS feature is enabled and an
https://endpoint is used withoutan explicit
.with_tls_config(), a defaultClientTlsConfigis automatically applied.#3182
exporter errors no longer include potentially sensitive server responses
(e.g., authentication tokens echoed back). Error messages returned to SDK
processors contain only the gRPC status code or HTTP status code. Full
details are logged at DEBUG level only.
#3021
grpc-tonicOTLP export fails due to a local misconfiguration. When the returned
tonic::Statuswraps a local transport error (invalid URL, connect failure,DNS), its source chain (e.g.,
"transport error: invalid URI") is appendedto the returned error so SDK processors surface it at ERROR without
requiring DEBUG logging. Server-returned gRPC status messages remain
DEBUG-only to preserve the auth-token leak safeguards from
#3021.
#3331
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL,OTEL_EXPORTER_OTLP_METRICS_PROTOCOL,OTEL_EXPORTER_OTLP_LOGS_PROTOCOL. These allow configuring different transport protocolsper signal type. Signal-specific vars take precedence over generic
OTEL_EXPORTER_OTLP_PROTOCOL.The auto-select
build()method on each exporter builder now respects the full priority chain:signal-specific env var > generic env var > feature-based default.
InvalidConfigwhen gRPC protocolis requested; gRPC transport returns
InvalidConfigwhen an HTTP protocol is requested.Protocol::default()no longer consults theOTEL_EXPORTER_OTLP_PROTOCOLenvironment variable. It now returns only the feature-based default (http-json > http-proto >
grpc-tonic). Protocol resolution from environment variables is handled internally by the
exporter builders. Users who relied on
Protocol::default()to read env vars should useProtocol::from_env()instead.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCEenvironment variableto configure metrics temporality. Accepted values:
cumulative(default),delta,lowmemory(case-insensitive). Programmatic.with_temporality()overrides the env var.NoHttpClienterror when multiple HTTP client features are enabled by using priority-based selection (reqwest-client>hyper-client>reqwest-blocking-client). #2994internal-logsfeature inopentelemetry-otlpto reduce unnecessary dependencies3191shutdown_with_timeout()when usinggrpc-tonic.tlsfeature in favor of explicittls-ringandtls-aws-lcfeatures.Migration: Replace
tlswithtls-ring(ortls-aws-lc). Users oftls-rootsortls-webpki-rootsmust now also enable one of these.rust-random/rand_core (rand_core)
v0.10.1Compare Source
Fixed
randcrate inTryRngdocs (#75)v0.10.0This release makes a number of significant changes which we hope will be the
last significant breakage before 1.0. Code has moved from the rust-random/rand
repository to its own rust-random/rand_core.
User-facing API changes
Changed
RngCoreandTryRngCoreare renamed toRngandTryRngrespectively (#54)Rngis now an extension trait ofTryRng<Error = Infallible>(#45)TryRng::Erroris bound oncore::error::Errorinstead ofDebug + Display(#58)Sizedbound on impls ofSeedableRng(rand#1641)Added
SeedableRng::{fork, try_fork}methods (#17)core::convert::Infallible(#56)Removed
TryRng::read_adaptermethod (replaced withrand::RngReader) (rand#1669)os_rngcrate feature (rand#1674)OsRngandOsErrorstructs (rand#1674)SeedableRng::from_os_rngandSeedableRng::try_from_os_rngmethods (rand#1674)getrandomdependency (rand#1674)stdcrate feature (rand#1674)serdedependency (#28)UnwrapMutstruct andRng::unwrap_mutmethod (#45)Rng::unwrap_errmethod in favor of explicit wrapping inUnwrapErr(#53)API changes to PRNG implementation helpers
Added
BlockRng::reconstructandBlockRng::remaining_resultsmethods (#36)block::Generator::dropmethod (#35)BlockRng::word_offsetmethod (#44)Changed
lehelper functions with newutilshelpers (rand#1667, #34, #38, #45)BlockRng::generate_and_setmethod toreset_and_skip(#44)block::BlockRngCoretrait toblock::Generator(#26)BlockRngCore::Resultsassociated type toOutputand remove type bounds on it (#26)Removed
RngforBlockRng, making the latter more generic (#34)BlockRng64struct (#34)BlockRng::resetmethod (#44)BlockRng::indexmethod (replaced withBlockRng::word_offset) (#44)Generator::Itemassociated type (#26)CryptoBlockRng(#69)v0.9.4Compare Source
v0.9.3Compare Source
This release makes a number of significant changes which we hope will be the
last significant breakage before 1.0. Code has moved from the rust-random/rand
repository to its own rust-random/rand_core.
User-facing API changes
Changed
RngCoreandTryRngCoreare renamed toRngandTryRngrespectively (#54)Rngis now an extension trait ofTryRng<Error = Infallible>(#45)TryRng::Erroris bound oncore::error::Errorinstead ofDebug + Display(#58)Sizedbound on impls ofSeedableRng(rand#1641)Added
SeedableRng::{fork, try_fork}methods (#17)core::convert::Infallible(#56)Removed
TryRng::read_adaptermethod (replaced withrand::RngReader) (rand#1669)os_rngcrate feature (rand#1674)OsRngandOsErrorstructs (rand#1674)SeedableRng::from_os_rngandSeedableRng::try_from_os_rngmethods (rand#1674)getrandomdependency (rand#1674)stdcrate feature (rand#1674)serdedependency (#28)UnwrapMutstruct andRng::unwrap_mutmethod (#45)Rng::unwrap_errmethod in favor of explicit wrapping inUnwrapErr(#53)API changes to PRNG implementation helpers
Added
BlockRng::reconstructandBlockRng::remaining_resultsmethods (#36)block::Generator::dropmethod (#35)BlockRng::word_offsetmethod (#44)Changed
lehelper functions with newutilshelpers (rand#1667, #34, #38, #45)BlockRng::generate_and_setmethod toreset_and_skip(#44)block::BlockRngCoretrait toblock::Generator(#26)BlockRngCore::Resultsassociated type toOutputand remove type bounds on it (#26)Removed
RngforBlockRng, making the latter more generic (#34)BlockRng64struct (#34)BlockRng::resetmethod (#44)BlockRng::indexmethod (replaced withBlockRng::word_offset) (#44)Generator::Itemassociated type (#26)CryptoBlockRng(#69)v0.9.2Compare Source
Other
zerocopydependency (rand#1607)rand_core::impls::fill_via_u32_chunks,fill_via_u64_chunks(rand#1607)v0.9.1Compare Source
API changes
Sizedbound on impls ofTryRngCore,TryCryptoRngandUnwrapMut(rand#1593)UnwrapMut::reto reborrow the inner rng with a tighter lifetime (rand#1595)v0.9.0Compare Source
API changes
TryRngCore::unwrap_mut, providing an impl ofRngCoreover&mut rng(rand#1589)RustCrypto/hashes (sha2)
v0.11.0Compare Source
launchbadge/sqlx (sqlx)
v0.9.0Compare Source
Important Announcements
New Github Organization
Shortly after this release is published, the SQLx repository will be transferred to a new GitHub organization:
https://github.com/transact-rs/
This is because SQLx has not been owned or maintained by LaunchBadge, LLC. for a few years now, and has since been
informally transferred to the collective ownership of its principal authors. Moving the repository to a new
organization makes this change more clear, and also allows for potentially inviting outside collaborators.
Cargo.lockRemoved from TrackingThe
Cargo.lockhas been removed from tracking in Git. CI should now always test with the latest versions ofall dependencies by default, alongside our pass that checks with
cargo generate-lockfile -Z minimal-versions.This should eliminate the need for any PRs that update dependencies to also update
Cargo.lockorcontend with an endless stream of merge conflicts against it.
N.B.
cargo install --locked sqlx-cliwill no longer work. However,cargo install sqlx-clihas alwaysused the latest dependencies by default, ignoring the lockfile, so most users should not be affected. For users
requiring reproducible builds, consider maintaining your own lockfile instead; historically, we only ran
cargo updatesporadically, so relying on SQLx's lockfile offered few guarantees anyway.
See [the manual page for
cargo install][man-cargo-install] for details.Breaking
As per our MSRV policy, the supported Rust version for this release cycle is
1.94.0.sqlx.tomlformat [[@abonander]]sqlx-clinow support per-crate configuration files (sqlx.toml)DATABASE_URLfor a crate (for multi-database workspaces)_sqlx_migrationstable (for multiple crates using the same database)sqlx-tomlto use.sqlx-clihas it enabled by default, butsqlxdoes not.so it's better to keep the default feature set as limited as possible.
[This is something we learned the hard way.][preferred-crates]
sqlx::_configmodule in documentation.DATABASE_URLrenaming and global type overrides: [Link]_sqlx_migrationsrenaming and multiple schemas: [Link]chronowhentimeis enabled (e.g. when usingtower-sessions-sqlx-store): [[Link][preferred-crates]]bigdecimalwhenrust_decimalis enabled is also shown, but problems withchrono/timeare more common.Migratetraitsqlx::migrate::resolve_blocking()is now#[doc(hidden)]and thus SemVer-exempt.tracinglogs from SQLx will need to update the spelling.PgAdvisoryLockGuard[[@bonsairobo]]Migrator::set_ignore_missingandset_lockingnow return&mut Selfinstead of&Selfwhich may break code in rare circumstances.
query!()macros for certain queries in Postgres.RawSqllifetime issues [[@abonander]]DBtype parameter to all methods ofRawSqlDecode,EncodeandTypeforBox,Arc,CowandRc[[@joeydewaal]]impl Decode for Cownow always decodesCow::Owned, lifetime is unlinkedquery*()functions now takeimpl SqlSafeStrwhich is only implemented for
&'static strandAssertSqlSafe.For all others, wrap in
AssertSqlSafe(<query>).Query<'static, DB>.SqlSafeStrtrait is deliberately similar tostd::panic::UnwindSafe,serving as a speedbump to warn users about naïvely building queries with
format!()while allowing a workaround for advanced usage that is easy to spot on code review.
PgConnectOptions::options()are now automatically escaped.Manual escaping of options is no longer necessary and may cause incorrect behavior.
runtime-tokio-native-tls)TransactionManagertrait insqlx.#[doc(hidden)],but [it will break SeaORM][seaorm-2600] if not proactively fixed.
str[[@abonander]]Vec<u8>will be inferred to beString(this should ultimately fix more code than it breaks).
SET NAMES utf8mb4 COLLATE utf8_general_ciis no longer sent by default; instead,SET NAMES utf8mb4is sent toallow the server to select the appropriate default collation (since this is version- and configuration-dependent).
MySqlConnectOptions::charset()and::collation()now imply::set_names(true)because they don't do anything otherwise.charsetdoesn't change what's sent in theProtocol::HandshakeResponse41packet as that normally onlymatters for error messages before
SET NAMESis sent.The default collation if
set_names = falseisutf8mb4_general_ci.RawSql::fetch_optional()now returnssqlx::Result<Option<DB::Row>>instead of
sqlx::Result<DB::Row>. Whoops.libsqlite3-sysversioning, feature flags, safety changes [[@abonander]]libsqlite3-sysversion is now specified using a range.The maximum of the range may now be increased in any backwards-compatible release.
The minimum of the range may only be increased in major releases.
If you have
libsqlite3-sysin your dependencies, Cargo should choose a compatible version automatically.If otherwise unconstrained, Cargo should choose the latest version supported.
sqlx-tomlfeature) is nowunsafe.sqlite-deserializeenablingSqliteConnection::serialize()andSqliteConnection::deserialize()sqlite-load-extensionenablingSqliteConnectOptions::extension()and::extension_with_entrypoint()sqlite-unlock-notifyenables internal use ofsqlite3_unlock_notify()SqliteValueandSqliteValueRefchanges:sqlite3_value*interface reserves the right to be stateful.Without protection, any call could theoretically invalidate values previously returned, leading to dangling pointers.
SqliteValueis now!SyncandSqliteValueRefis!Sendto prevent data races from concurrent accesses.SqliteValueinMutex, or convert theSqliteValueRefto an owned value.SqliteValueand any derivedSqliteValueRefs now internally track if that value has been used to decode aborrowed
&[u8]or&strand errors if it's used to decode any other type.per
SqliteValue/SqliteValueRef.SqliteValuefor details.PgLTree::fromtoFrom<Vec<PgLTreeLabel>>implementation [[@JerryQ17]]SqliteArguments[[@iamjpotts]].pgpassfile handling did not process backslash-escapes in the password part.Now it does, which may change what password is sent to the server.
#[derive(sqlx::Type)]automatically generateimpl PgHasArrayTypeby default for newtype structs [[@papaj-na-wrotkach]]Delete the manual impl or add
#[sqlx(no_pg_array)]where conflicts occur.offlineoptional to allow building withoutserde[[@CathalMullan]]mysql-rsafeatureor an error will be generated at runtime. RSA encryption is only used for plaintext (non-TLS) connections.
AnyTypeInfo[[@abonander]]Added
Arc<str>andArc<[u8]>(andRcequivalents) [[@joeydewaal]]runtime-smolandruntime-async-global-executorfeatures to replace usages of the deprecatedasync-stdcrate.no_txmigration support [[@AlexTMjugador]]Migrator::with_migrations()constructor [[@xb284524239]]sqlx.toml, update SQLite extension example [[@supleed2]]Json::into_inner()[[@chrxn1c]]SqlStr[[@joeydewaal]]PgNotificationstruct clone [[@michaelvanstraten]]Changed
OnceCell/Lazywith stdOnceLock/LazyLock[[@paolobarbolini]]Debugimplementations acrossPgRow,MySqlRowandSqliteRow[[@davidcornu]]QueryLoggerback [[@joeydewaal]].bind()inREADME.md[[@sobolevn]]randetceterato0.11.0libsqlite3-sysversion range to<0.38.0Fixed
futuresandfutures-util[[@paolobarbolini]]Pool.close: close all connections before returning [[@jpmelos]]ROLLBACKtransaction when dropped duringBEGIN. [[@kevincox]]Configuration
📅 Schedule: (UTC)
* 0-3 * * 1)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.