chore(deps): update all dependencies #34
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/all"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.0.75->1.0.810.4.28->0.4.374.4.1->4.5.41.2.0->2.2.00.6.2->0.6.61.9.4->1.10.40.11.20->0.12.31.0.18->1.0.220.9.25->0.9.34+deprecated0.3.17->0.3.182.4.1->2.5.0Release Notes
dtolnay/anyhow
v1.0.81Compare Source
v1.0.80Compare Source
v1.0.79Compare Source
v1.0.78Compare Source
v1.0.77Compare Source
anyhow::Error::backtraceavailable on stable Rust compilers 1.65+ (#293, thanks @LukasKalbertodt)v1.0.76Compare Source
unsafe_op_in_unsafe_fnlint (#329)chronotope/chrono
v0.4.37Compare Source
Version 0.4.36 introduced an unexpected breaking change and was yanked. In it
LocalResultwas renamed toMappedLocalTimeto avoid the impression that it is aResulttype were some of the results are errors. For backwards compatibility a type alias with the old name was added.As it turns out there is one case where a type alias behaves differently from the regular enum: you can't import enum variants from a type alias with
use chrono::LocalResult::*. With 0.4.37 we make the new nameMappedLocalTimethe alias, but keep using it in function signatures and the documentation as much as possible.See also the release notes of chrono 0.4.36 from yesterday for the yanked release.
v0.4.36Compare Source
This release un-deprecates the methods on
TimeDeltathat were deprecated with the 0.4.35 release because of the churn they are causing for the ecosystem.New is the
DateTime::with_time()method. As an example of when it is useful:Additions
DateTime::with_time()(#1510)Deprecations
TimeDeltadeprecations (#1543)TimeStamp::timestamp_subsec_nanos, which was missed in the 0.4.35 release (#1486)Documentation
Internal
CopyandSendimpls (#1492, thanks @erickt)NaiveDateunit tests (#1500, thanks @Zomtir)LocalResulttoTzResolution, add alias (#1501)NaiveDate::from_yof(#1518)DateTime::date_naiveandNaiveDate::diff_months(#1530)unwrapin UnixLocaltype (#1533)Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker!
v0.4.35Compare Source
Most of our efforts have shifted to improving the API for a 0.5 release, for which cleanups and refactorings are landing on the 0.4.x branch.
The most significant changes in this release are two sets of deprecations.
We deprecated all timestamp-related methods on
NaiveDateTime. The reason is that a timestamp is defined to be in UTC. TheNaiveDateTimetype doesn't know the offset from UTC, so it was technically wrong to have these methods. The alternative is to use the similar methods on theDateTime<Utc>type, or from theTimeZonetrait.Converting from
NaiveDateTimetoDateTime<Utc>is simple with.and_utc(), and in the other direction with.naive_utc().The panicking constructors of
TimeDelta(the new name of theDurationtype) are deprecated. This was the last part of chrono that defaulted to panicking on error, dating from before rust 1.0.A nice change is that
NaiveDatenow includes a niche. So nowOption<NaiveDate>,Option<NaiveDateTime>andOption<DateTime<Tz>>are the same size as their base types.format::Numericandformat::Fixedare marked asnon_exhaustive. This will allow us to improve our formatting and parsing support, and we have reason to believe this breaking change will have little to no impact on users.Additions
DateTime::{from_timestamp_micros, from_timestamp_nanos}(#1234)Parsed(#1465)Deprecations
NaiveDateTime(#1473)TimeDelta(#1450)Changes/fixes
NonZeroI32insideNaiveDate(#1207)format::Numericandformat::Fixedasnon_exhaustive(#1430)Parsedfixes to error values (#1439)overflowing_naive_localinDateTime::checked_add*(#1333)Parsed::set_*(#1465)Documentation
Parsed(#1439)Internal
internalsmodule (#1428, #1429, #1431, #1432, #1433, #1438)x86_64-unknown-illumosinstead of Solaris (#1437)cargo hack checkon Linux (#1442)parse_internal(#1459)SerdeError(#1458)NaiveDate::from_isoywda bit (#1464)Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker!
v0.4.34Compare Source
Notable changes
Durationtype toTimeDelta. This removes the confusion between chrono's type and the laterDurationtype in the standard library. It will remain available under the old name as a type alias for compatibility.Localis rewritten. The new version avoids panics when the date is outside of the range supported by windows (the years 1601 to 30828), and gives more accurate results during DST transitions.Displayformat ofTimeDeltais modified to conform better to ISO 8601. Previously it converted all values greater than 24 hours to a value with days. This is not correct, as doing so changes the duration from an 'accurate' to a 'nominal' representation to use ISO 8601 terms.Fixes
TimeDelta::milliseconds(#1385, thanks @danwilliams)DurationExceedsTimestampinDurationRound(#1403, thanks @joroKr21)%X(https://github.com/chronotope/pure-rust-locales/pull/12, #1420)GetTimeZoneInformationForYear(#1017)Additions
TimeDelta::try_milliseconds(#1385, thanks @danwilliams)TimeDelta::new(#1337)StrftimeItems::{parse, parse_to_owned}and more documentation (#1184)format::Locale(via https://github.com/chronotope/pure-rust-locales/pull/8)Changes
DurationtoTimeDelta, add type alias (#1406)TimeDeltamethods const (#1337)NaiveDate,NaiveWeek,NaiveTimeandNaiveDateTimeconst where possible (#1337)DateTimeconst where possible (#1400)Displayformat ofTimeDeltaconform better to ISO 8601 (#1328)Documentation
timestamp_micros's Example doc (#1338 via #1386, thanks @emikitas)TimeDeltaconstructors (#1385, thanks @danwilliams)Internal
mainbranch, work on 0.5 happens in the0.5.xbranch (#1390, #1402).impl Arbitrary for DateTimeand set up CI test (#1336)codecov/codecov-actionfrom 3 to 4 (#1404)-0000offset (#1411)TOO_LONGerror out ofparse_internal(#1419)Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker!
v0.4.33Compare Source
This release fixes the broken docrs.rs build of chrono 0.4.32.
What's Changed
rkyvfeature implysize_32(#1383)Duration::hours()exception (#1384, thanks @danwilliams)v0.4.32Compare Source
In this release we shipped part of the effort to reduce the number of methods that could unexpectedly panic, notably for the
DateTimeandDurationtypes.Chrono internally stores the value of a
DateTimein UTC, and transparently converts it to the local value as required. For example adding a second to aDateTimeneeds to be done in UTC to get the correct result, but adding a day needs to be done in local time to be correct. What happens when the value is near the edge of the representable range, and the implicit conversions pushes it beyond the representable range? Many methods could panic on such inputs, including formatting the value forDebugoutput.In chrono 0.4.32 the range of
NaiveDate,NaiveDateTimeandDateTimeis made slightly smaller. This allows us to always do the implicit conversion, and in many cases return the expected result. Specifically the range is now from January 1, -262144 until December 31, 262143, one year less on both sides than before. We expect this may trip up tests if you hardcoded theMINandMAXdates.Durationhad a similar issue. The range of this type was pretty arbitrary picked to match the range of ani64in milliseconds. Negating ani64::MINpushes a value out of range, and in the same way negatingDuration::MINcould push it out of our defined range and cause a panic. This turns out to be somewhat common and hidden behind many layers of abstraction. We adjusted the type to have a minimum value of-Duration::MAXinstead and prevent the panic case.Other highlights:
Durationgained new fallible initialization methods.rkyv.NaiveDateTimeare now const.DateTimeconst in a future release.Complete list of changes:
Fixes
TimeZone::from_local_datetime(#1071)DateTimegetters and setters (#1317, #1329)Additions
NaiveDateTime::checked_(add|sub)_offset(#1313)DateTime::to_utc(#1325)DefaultforDuration(#1327)Duration::subsec_nanos(#1327)try_*builders toDuration(#1327)AddAssignandSubAssignforDuration(#1327)NaiveDateTimeconst where possible (#1286)clockfeature intoclockandnow(#1343, thanks @mmastrac)From<NaiveDate>forNaiveDateTime(#1355, thanks @dcechano)NaiveDateTime::from_timestamp_nanos(#1357, thanks @Ali-Mirghasemi)Months::num_months()andnum_years()(#1373, thanks @danwilliams)DateTime<Utc>::from_timestamp_millis(#1374, thanks @xmakro)Changes
Duration::MIN.abs()(adjustDuration::MINby 1 millisecond) (#1334)Deprecations
formatfunctions (#1306)Documentation
doc_auto_cfg(#1305, #1326)Add/Subimpls and useexpect(#1316)TimeZone::datetime_from_str(#1342, thanks @tmccombs)Datelikeimpl forDateTime(#1376, thanks @ElectrifyPro)Rkyv support
Archived*types inrkyvmodule (#1304)Archived*types (#1271, thanks @Awpteamoose)Changes to unstable features
unstable-localesimply theallocfeature (#1307)format::{format_localized, format_item_localized}(#1311)write_rfc2822_inner, don't localize (#1322)Internal
DateTime::with_*(#1309)*_DAYS_FROM_YEAR_0calculation (#1312)NaiveTime::overflowing_(add|sub)_offset(#1310)DateTime::overflowing_(add|sub)_offset(#1069)set env LC_ALL(#1315, thanks @jtmoon79)deny.toml(#1320)with: node-version(#1352, thanks @jtmoon79)tomljob (#1371, thanks @gibbz00)Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker!
v0.4.31Compare Source
Another maintenance release.
It was not a planned effort to improve our support for UNIX timestamps, yet most PRs seem related to this.
Deprecations
timestamp_nanosin favor of the non-panickingtimestamp_nanos_opt(#1275)Additions
DateTime::<Utc>::from_timestamp(#1279, thanks @demurgos)TimeZone::timestamp_micros(#1285, thanks @emikitas)DateTime<Tz>::timestamp_nanos_optandNaiveDateTime::timestamp_nanos_opt(#1275)UNIX_EPOCHconstants (#1291)Fixes
This makes many methods a little more strict:
NaiveTime::from_hms_milliNaiveTime::from_hms_milli_optNaiveTime::from_hms_microNaiveTime::from_hms_micro_optNaiveTime::from_hms_nanoNaiveTime::from_hms_nano_optNaiveTime::from_num_seconds_from_midnightNaiveTime::from_num_seconds_from_midnight_optNaiveDate::and_hms_milliNaiveDate::and_hms_milli_optNaiveDate::and_hms_microNaiveDate::and_hms_micro_optNaiveDate::and_hms_nanoNaiveDate::and_hms_nano_optNaiveDateTime::from_timestampNaiveDateTime::from_timestamp_optTimeZone::timestampTimeZone::timestamp_optNaiveDateTime::timestamp_nanos_opt(#1294, thanks @crepererum)Documentation
Internal
__doctestfeature anddoc_commentdependency (#1276)actions/checkoutfrom 3 to 4 (#1280)NaiveDate::add_daysfor small values (#1214)pure-rust-localesto 0.7.0 (#1288, thanks @jeremija wo did good improvements onpure-rust-locales)Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker!
v0.4.30Compare Source
In this release, we have decided to swap out the
chrono::Durationtype (which has been a re-export of time 0.1Durationtype) with our own definition, which exposes a strict superset of thetime::DurationAPI. This helps avoid warnings about the CVE-2020-26235 and RUSTSEC-2020-0071 advisories for downstream users and allows us to improve theDurationAPI going forward.While this is technically a SemVer-breaking change, we expect the risk of downstream users experiencing actual incompatibility to be exceedingly limited (see our analysis of public code using a crater-like experiment), and not enough justification for the large ecosystem churn of a 0.5 release. If you have any feedback on these changes, please let us know in #1268.
Additions
NaiveDate::leap_year(#1261)Documentation
Timelike::num_seconds_from_midnightis a simple mapping (#1255)Relation between chrono and time 0.1
Rust first had a
timemodule added tostdin its 0.7 release. It later moved tolibextra, and then to alibtimelibrary shipped alongside the standard library. In 2014 work on chrono started in order to provide a full-featured date and time library in Rust. Some improvements from chrono made it into the standard library; notably,chrono::Durationwas included asstd::time::Duration(rust#15934) in 2014.In preparation of Rust 1.0 at the end of 2014
libtimewas moved out of the Rust distro and into thetimecrate to eventually be redesigned (rust#18832, rust#18858), like thenumandrandcrates. Of course chrono kept its dependency on thistimecrate.timestarted re-exportingstd::time::Durationduring this period. Later, the standard library was changed to have a more limited unsignedDurationtype (rust#24920, RFC 1040), while thetimecrate kept the full functionality withtime::Duration.time::Durationhad been a part of chrono's public API.By 2016
time0.1 lived under therust-lang-deprecatedorganisation and was not actively maintained (time#136). chrono absorbed the platform functionality andDurationtype of thetimecrate in chrono#478 (the work started in chrono#286). In order to preserve compatibility with downstream crates depending ontimeandchronosharing aDurationtype, chrono kept depending on time 0.1. chrono offered the option to opt out of thetimedependency by disabling theoldtimefeature (swapping it out for an effectively similar chrono type). In 2019, @jhpratt took over maintenance on thetimecrate and released what amounts to a new crate astime0.2.Security advisories
In November of 2020 CVE-2020-26235 and RUSTSEC-2020-0071 were opened against the
timecrate. @quininer had found that calls tolocaltime_rmay be unsound (chrono#499). Eventually, almost a year later, this was also made into a security advisory against chrono as RUSTSEC-2020-0159, which had platform code similar totime.On Unix-like systems a process is given a timezone id or description via the
TZenvironment variable. We need this timezone data to calculate the current local time from a value that is in UTC, such as the time from the system clock.time0.1 and chrono used the POSIX functionlocaltime_rto do the conversion to local time, which reads theTZvariable.Rust assumes the environment to be writable and uses locks to access it from multiple threads. Some other programming languages and libraries use similar locking strategies, but these are typically not shared across languages. More importantly, POSIX declares modifying the environment in a multi-threaded process as unsafe, and
getenvin libc can't be changed to take a lock because it returns a pointer to the data (see rust#27970 for more discussion).Since version 4.20 chrono no longer uses
localtime_r, instead using Rust code to query the timezone (from theTZvariable or viaiana-time-zoneas a fallback) and work with data from the system timezone database directly. The code for this was forked from the tz-rs crate by @x-hgg-x. As such, chrono now respects the Rust lock when reading theTZenvironment variable. In general, code should avoid modifying the environment.Removing time 0.1
Because time 0.1 has been unmaintained for years, however, the security advisory mentioned above has not been addressed. While chrono maintainers were careful not to break backwards compatibility with the
time::Durationtype, there has been a long stream of issues from users inquiring about the time 0.1 dependency with the vulnerability. We investigated the potential breakage of removing the time 0.1 dependency in chrono#1095 using a crater-like experiment and determined that the potential for breaking (public) dependencies is very low. We reached out to those few crates that did still depend on compatibility with time 0.1.As such, for chrono 0.4.30 we have decided to swap out the time 0.1
Durationimplementation for a local one that will offer a strict superset of the existing API going forward. This will prevent most downstream users from being affected by the security vulnerability in time 0.1 while minimizing the ecosystem impact of semver-incompatible version churn.Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker!
v0.4.29Compare Source
This release fixes a panic introduced in chrono 0.4.27 in
FromStr<DateTime<Utc>>(#1253).Chrono now has a Discord channel.
Fixes
parse_rfc3339_relaxed(#1254)Deprecations
TimeZone::datetime_from_str(#1251)Documentation
FromStrforWeekdayandMonth(#1226, thanks @wfraser)Internal improvements
i686andwasm32-wasi(#1237)This allows us to upgrade the criterion dependency to 5.1 without changing our MSRV.
Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker!
clap-rs/clap
v4.5.4Compare Source
Fixes
#[arg(id)]attributes againv4.5.3Compare Source
Internal
heckv4.5.2Compare Source
Fixes
v4.5.1Compare Source
Fixes
--even if there is a "did you mean" so long aslastortrailing_var_argis usedv4.5.0Compare Source
Compatibility
v4.4.18Compare Source
Fixes
usagefeature, ensure the list of required arguments is uniquev4.4.17Compare Source
Fixes
panic!when mixingargs_conflicts_with_subcommandswithArgGroup(which is implicit withderive) introduced in 4.4.15v4.4.16Compare Source
Fixes
v4.4.15Compare Source
Fixes
args_conflicts_with_subcommandsargs_conflicts_with_subcommandswhen using subcommand short and long flagsv4.4.14Compare Source
Documentation
findcookbook entry to allow repeats of flags/optionsFeatures
num_args(0)on options which allows making them emulate being a flag for position-tracking flagsv4.4.13Compare Source
Documentation
v4.4.12Compare Source
Performance
TypedValueParserfor possible values if neededv4.4.11Compare Source
Features
Command::mut_groupv4.4.10Compare Source
Documentation
v4.4.9Compare Source
Fixes
Command::aboutunder flattened headingshidewhen flattening subcommandsv4.4.8Compare Source
Features
Command::flatten_helpto allowgit stash -hlike help for subcommandsv4.4.7Compare Source
Performance
v4.4.6Compare Source
Internal
anstreamv4.4.5Compare Source
Fixes
nameorlong_flag, allow ambiguous-looking matches that unambiguously map back to the same commandlong_flag, don't panicv4.4.4Compare Source
Internal
terminal_sizeto 0.3v4.4.3Compare Source
Documentation
v4.4.2Compare Source
Performance
once_celldependencyorhun/git-cliff
v2.2.0Compare Source
⛰️ Features
🐛 Bug Fixes
yarn npm publish(#574) - (5a0ce6a)📚 Documentation
--include-path(#567) - (4a7aa7e)⚙️ Miscellaneous Tasks
v2.1.2Compare Source
⛰️ Features
--tag-patternargument (#526) - (b4e7a34)🐛 Bug Fixes
🚜 Refactor
📚 Documentation
🎨 Styling
⚙️ Miscellaneous Tasks
v2.1.1Compare Source
v2.1.0Compare Source
v2.0.4Compare Source
⛰️ Features
🐛 Bug Fixes
📚 Documentation
⚙️ Miscellaneous Tasks
v2.0.3Compare Source
git-cliffnow supports integration with GitHub repositories! 🚀✨ Read the highlights of this release: https://git-cliff.org/blog/2.0.0
2.0.3 - 2024-02-21
⛰️ Features
⚙️ Miscellaneous Tasks
v2.0.2Compare Source
📚 Documentation
v2.0.1Compare Source
⚙️ Miscellaneous Tasks
v2.0.0Compare Source
⛰️ Features
--no-execflag for skipping command execution (#458) - (7ae77ff)-xshort argument for--context- (327512a)CHANGELOG.mdas default missing value for output option (#354) - (04d149e).cliffignoreand--skip-commit(#413) - (faa00c6)--bump(#347) - (2399e57)0.0.1via--bumpif no tags exist - (3291eb9)🐛 Bug Fixes
🚜 Refactor
--bumpfor processed releases (#408) - (89e4c72)📚 Documentation
🎨 Styling
🧪 Testing
⚙️ Miscellaneous Tasks
◀️ Revert
v1.4.0Compare Source
⛰️ Features
--bump(#309) - (bcfcd1f)📚 Documentation
⚙️ Miscellaneous Tasks
v1.3.1Compare Source
⛰️ Features
🐛 Bug Fixes
🚜 Refactor
📚 Documentation
⚙️ Miscellaneous Tasks
◀️ Revert
v1.3.0Compare Source
⛰️ Features
🐛 Bug Fixes
🚜 Refactor
📚 Documentation
🎨 Styling
🧪 Testing
docs:prefix (#167) - (3a717e2)⚙️ Miscellaneous Tasks
git-cliffon PyPI (#158) - (2b7a1ef)taiki-e/parse-changelog
v0.6.6Compare Source
Remove dependency on
once_cell.Note: This raises the minimum supported Rust version of this crate from Rust 1.65 to Rust 1.70.
v0.6.5Compare Source
#[must_use]toParser::newandError::is_*.v0.6.4Compare Source
v0.6.3Compare Source
rust-lang/regex
v1.10.4Compare Source
v1.10.3Compare Source
===================
This is a new patch release that fixes the feature configuration of optional
dependencies, and fixes an unsound use of bounds check elision.
Bug fixes:
Set
default-features=falsefor thememchrandaho-corasickdependencies.Fix unsound bounds check elision.
v1.10.2Compare Source
===================
This is a new patch release that fixes a search regression where incorrect
matches could be reported.
Bug fixes:
Revert broadening of reverse suffix literal optimization introduced in 1.10.1.
v1.10.1Compare Source
===================
This is a new patch release with a minor increase in the number of valid
patterns and a broadening of some literal optimizations.
New features:
Loosen ASCII-compatible rules such that regexes like
(?-u:☃)are now allowed.Performance improvements:
Broader the reverse suffix optimization to apply in more cases.
v1.10.0Compare Source
===================
This is a new minor release of
regexthat adds support for start and endword boundary assertions. That is,
\<and\>. The minimum supported Rustversion has also been raised to 1.65, which was released about one year ago.
The new word boundary assertions are:
\<or\b{start}: a Unicode start-of-word boundary (\W|\Aon the left,\won the right).\>or\b{end}: a Unicode end-of-word boundary (\won the left,\W|\zon the right)).
\b{start-half}: half of a Unicode start-of-word boundary (\W|\Aon theleft).
\b{end-half}: half of a Unicode end-of-word boundary (\W|\zon theright).
The
\<and\>are GNU extensions to POSIX regexes. They have been addedto the
regexcrate because they enjoy somewhat broad support in other regexengines as well (for example, vim). The
\b{start}and\b{end}assertionsare aliases for
\<and\>, respectively.The
\b{start-half}and\b{end-half}assertions are not found in anyother regex engine (although regex engines with general look-around support
can certainly express them). They were added principally to support the
implementation of word matching in grep programs, where one generally wants to
be a bit more flexible in what is considered a word boundary.
New features:
Add support for
\<and\>word boundary assertions.DFAs now have a
start_statemethod that doesn't use anInput.Performance improvements:
Unicode character class operations have been optimized in
regex-syntax.Make patterns containing lots of literal characters use less memory.
Bug fixes:
Fix a bug that could result in incorrect match spans when using a Unicode word
boundary and searching non-ASCII strings.
Fix panics that can occur in
Ast->Hirtranslation (not reachable fromregexcrate).
Remove guarantees in the API that connect the
uflag with a specific HIRrepresentation.
regex-automatabreaking change release:This release includes a
regex-automata 0.4.0breaking change release, whichwas necessary in order to support the new word boundary assertions. For
example, the
Lookenum has new variants and theLookSettype now usesu32instead of
u16to represent a bitset of look-around assertions. These areoverall very minor changes, and most users of
regex-automatashould be ableto move to
0.4from0.3without any changes at all.regex-syntaxbreaking change release:This release also includes a
regex-syntax 0.8.0breaking change release,which, like
regex-automata, was necessary in order to support the new wordboundary assertions. This release also includes some changes to the
Asttype to reduce heap usage in some cases. If you are using the
Asttypedirectly, your code may require some minor modifications. Otherwise, users of
regex-syntax 0.7should be able to migrate to0.8without any code changes.regex-literelease:The
regex-lite 0.1.1release contains support for the new word boundaryassertions. There are no breaking changes.
v1.9.6Compare Source
==================
This is a patch release that fixes a panic that can occur when the default
regex size limit is increased to a large number.
Fix a bug where computing the maximum haystack length for the bounded
backtracker could result underflow and thus provoke a panic later in a search
due to a broken invariant.
v1.9.5Compare Source
==================
This is a patch release that hopefully mostly fixes a performance bug that
occurs when sharing a regex across multiple threads.
Issue #934
explains this in more detail. It is also noted in the crate
documentation.
The bug can appear when sharing a regex across multiple threads simultaneously,
as might be the case when using a regex from a
OnceLock,lazy_staticorsimilar primitive. Usually high contention only results when using many threads
to execute searches on small haystacks.
One can avoid the contention problem entirely through one of two methods.
The first is to use lower level APIs from
regex-automatathat require passingstate explicitly, such as
meta::Regex::search_with.The second is to clone a regex and send it to other threads explicitly. This
will not use any additional memory usage compared to sharing the regex. The
only downside of this approach is that it may be less convenient, for example,
it won't work with things like
OnceLockorlazy_staticoronce_cell.With that said, as of this release, the contention performance problems have
been greatly reduced. This was achieved by changing the free-list so that it
was sharded across threads, and that ensuring each sharded mutex occupies a
single cache line to mitigate false sharing. So while contention may still
impact performance in some cases, it should be a lot better now.
Because of the changes to how the free-list works, please report any issues you
find with this release. That not only includes search time regressions but also
significant regressions in memory usage. Reporting improvements is also welcome
as well! If possible, provide a reproduction.
Bug fixes:
Fix a performance bug where high contention on a single regex led to massive
slow downs.
seanmonstar/reqwest
v0.12.3Compare Source
FromStrfordns::Name.ClientBuilder::built_in_webpki_certs(bool)to enable them separately.ClientBuilder::built_in_native_certs(bool)to enable them separately.content-length: 0for GET requests.content_length()to return value when timeout is configured.ClientBuilder::resolve()to use lowercase domain names.v0.12.2Compare Source
v0.12.1Compare Source
ClientBuilder::interface()when no TLS is enabled.TlsInfo::peer_certificate()being truncated with rustls.http2feature disabled but TLS negotiated h2 in ALPN.DisplayforErrorto not include its source error.v0.12.0Compare Source
hyper,http, andhttp-bodyv1.http::Requestandhttp::Response.http2optional cargo feature, default on.charsetoptional cargo feature, default on.macos-system-configurationcargo feature, default on.ClientBuilder::interface(str)to specify the local interface to bind to.http3feature temporarily.v0.11.27
hickory-dnsfeature, deprecatingtrust-dns.Form::text()to not set octet-stream for plain text fields.v0.11.26
system-configurationupgrade, which broke MSRV on macOS.v0.11.25
Certificate::from_pem_bundle()parsing.v0.11.24
Certificate::from_pem_bundle()to add a bundle.http3_prior_knowledge()to blocking client builder.Syncbounds requirement forBody::wrap_stream().REFUSED_STREAMrequests.UrltoUrithat could panic.v0.11.23
Proxy::custom_http_auth(val)for setting the rawProxy-Authorizationheader when connecting to proxies.http://orhttps://.nodelaywhen TLS is enabled but URL is HTTP.ClientBuilder::user_agent(val).multipart::Form::headers(headers).v0.11.22
trust-dnsis enabled.v0.11.21
ClientBuilder::tls_info(bool), which will puttls::TlsInfointo the response extensions.v0.11.20
deflatedecompression back to using zlib, as outlined in the spec.v0.11.19
ClientBuilder::http1_ignore_invalid_headers_in_responses()option.ClientBuilder::http1_allow_spaces_after_header_name_in_responses()option.ALL_PROXYenvironment variable.use_preconfigured_tlswhen combined with HTTP/3.deflatedecompression from using the zlib decoder.Response::{text, text_with_charset}()to strip BOM characters.v0.11.18
RequestBuilder::json()method from overriding a previously setcontent-typeheader. An existing value will be left in place.v0.11.17
v0.11.16
Cargo.toml.v0.11.15
RequestBuildermethods to split and reconstruct from its parts.connection_verboseto logwrite_vectoredcalls.v0.11.14
Proxy::no_proxy(url)that works like the NO_PROXY environment variable.multipart::Part::headers(headers)method to add custom headers.Response::bytes_stream().v0.11.13
ClientBuilder::dns_resolver()option for custom DNS resolvers.ClientBuilder::tls_sni(bool)option to enable or disable TLS Server Name Indication.Identity::from_pkcs8_pem()constructor when usingnative-tls.redirect::Policy::limited(0)from following any redirects.v0.11.12
ClientBuilder::resolve_to_addrs()which allows a slice of IP addresses to be specified for a single host.Response::upgrade()to await whether the server agrees to an HTTP upgrade.v0.11.11
ClientBuilder.ClientBuilder::http1_allow_obsolete_multiline_headers_in_responses().impl Service<Request>forClientand&'_ Client.RequestBuilder::basic_auth().RequestBuilder::headerto not overridesensitiveif user explicitly set on aHeaderValue.v0.11.10
Error::url()to access the URL of an error.Response::extensions()to access thehttp::Extensionsof a response.rustls-native-certsto log an error instead of panicking when loading an invalid system certificate.v0.11.9
ClientBuilder::http09_responses(bool)option to allow receiving HTTP/0.9 responses.v0.11.8
v0.11.7
blocking::ClientBuilder::resolve()option, matching the async builder.From<tokio::fs::File>forBody.blockingrequest-scoped timeout applying to bodies as well.rustlsto 0.20.v0.11.6
v0.11.5
ClientBuilder::http1_only()method.tls::Versiontype, andClientBuilder::min_tls_version()andClientBuilder::max_tls_version()methods.TryFrom<Request>forhttp::Request.CloneforIdentity.NO_PROXYenvironment variable parsing to more closely match curl's. Comma-separated entries are now trimmed for whitespace, and*is allowed to match everything.https_onlyoption.Body::as_bytes()method.JsValue.v0.11.4
ClientBuilder::resolve()option to override DNS resolution for specific domains.native-tls-alpnCargo feature to use ALPN with the native-tls backend.ClientBuilder::deflate()option anddeflateCargo feature to support decoding response bodies using deflate.RequestBuilder::version()to allow setting the HTTP version of a request.rustls-tlsbackend, when the server uses TLS v1.2 or v1.3.try_clonetoRequestandRequestBuilderv0.11.3
impl From<hyper::Body> for reqwest::Body.RequestBuilder.v0.11.2
CookieStoretrait to customize the type that stores and retrieves cookies for a session.cookie::Jaras a defaultCookieStore, easing creating some session cookies before creating theClient.ClientBuilder::http2_adaptive_window()option to configure an adaptive HTTP2 flow control behavior.ClientBuilder::http2_max_frame_size()option to adjust the maximum HTTP2 frame size that can be received.IntoUrlforString, making it more convenient to create requests withformat!.v0.11.1
ClientBuilder::tls_built_in_root_certs()option to disable built-in root certificates.rustls-tlsglue to more often support ALPN to upgrade to HTTP/2.http://if no scheme is found.runtimefeature.Request::new()constructor.v0.11.27Compare Source
hickory-dnsfeature, deprecatingtrust-dns.Form::text()to not set octet-stream for plain text fields.v0.11.26Compare Source
system-configurationupgrade, which broke MSRV on macOS.v0.11.25Compare Source
Certificate::from_pem_bundle()parsing.v0.11.24Compare Source
Certificate::from_pem_bundle()to add a bundle.http3_prior_knowledge()to blocking client builder.Syncbounds requirement forBody::wrap_stream().REFUSED_STREAMrequests.UrltoUrithat could panic.v0.11.23Compare Source
Proxy::custom_http_auth(val)for setting the rawProxy-Authorizationheader when connecting to proxies.http://orhttps://.nodelaywhen TLS is enabled but URL is HTTP.ClientBuilder::user_agent(val).multipart::Form::headers(headers).v0.11.22Compare Source
trust-dnsis enabled.v0.11.21Compare Source
ClientBuilder::tls_info(bool), which will puttls::TlsInfointo the response extensions.dtolnay/semver
v1.0.22Compare Source
v1.0.21Compare Source
v1.0.20Compare Source
v1.0.19Compare Source
dtolnay/serde-yaml
v0.9.34+deprecatedCompare Source
v0.9.33Compare Source
v0.9.32Compare Source
v0.9.31Compare Source
swap_removeandshift_removemethods on Mapping (#408)v0.9.30Compare Source
v0.9.29Compare Source
deny(unsafe_op_in_unsafe_fn)lintv0.9.28Compare Source
unsafe-libyamldependency to pull in unaligned write fixv0.9.27Compare Source
v0.9.26Compare Source
.nanis deserialized as a positive NaN (#392, #393)tokio-rs/tracing
v0.3.18: tracing-subscriber 0.3.18Compare Source
This release of
tracing-subscriberadds support for the [NO_COLOR][NO_COLOR] environmentvariable (an informal standard to disable emitting ANSI color escape codes) in
fmt::Layer, reintroduces support for the [chrono][chrono] crate, and increases theminimum supported Rust version (MSRV) to Rust 1.63.0.
It also introduces several minor API improvements.
Added
chrono][chrono] implementations ofFormatTime(#2690)NO_COLOR][NO_COLOR] environment variable infmt::Layer(#2647)format::Writer::new()public (#2680)layer::FilterforOption<Filter>(#2407)Changed
tracing-logto 0.2 (#2772)Thanks to @shayne-fletcher, @dmlary, @kaifastromai, and @jsgf for contributing!
servo/rust-url
v2.5.0Compare Source
What's Changed
Positiondocs by @sprocklem in https://github.com/servo/rust-url/pull/875New Contributors
Full Changelog: https://github.com/servo/rust-url/compare/v2.4.1...v2.5.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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 has been generated by Renovate Bot.
chore(deps): update rust crate git-cliff-core to 1.3.0to chore(deps): update all dependenciesc9dbd0ebaatod14ac2cd87d14ac2cd87tobd73589ea5bd73589ea5tod76e33794cd76e33794cto2e82d457182e82d45718to6715605e586715605e58to3b1f13d8883b1f13d888to20af1bea0820af1bea08toa8828baae7a8828baae7toe57518a756e57518a756to9e4eb06bf39e4eb06bf3to3ceb0834c33ceb0834c3to666036605d666036605dtof9e95e547cf9e95e547ctocafd705b6bcafd705b6btof75980a9a4f75980a9a4to6c17b6ce286c17b6ce28toa2f8f89fa3a2f8f89fa3todf763cf531df763cf531to22443346002244334600to309eebf78a309eebf78atoe485c0bcbfe485c0bcbfto13b7a0195813b7a01958tod88422db6ad88422db6atoe719970df0e719970df0to573dc80dde573dc80ddeto09ac67422a09ac67422atof09f38aa85chore(deps): update all dependenciesto fix(deps): update all dependenciesf09f38aa85to2e606aba142e606aba14toccfa23d631ccfa23d631tof7504edce5f7504edce5todf81cee2a0df81cee2a0toc38f634feec38f634feeto62cfc563a862cfc563a8to5ab101e998fix(deps): update all dependenciesto chore(deps): update all dependencies5ab101e998to46d215021b46d215021bto3b8443ccce3b8443cccetoceaa84ce9bceaa84ce9bto0593b3ec4e0593b3ec4etobe52cb7e0fbe52cb7e0ftobfb7209f8abfb7209f8ato8b3ff541f68b3ff541f6toedcdce7fa3edcdce7fa3to79a59f369079a59f3690toe0534b27cbe0534b27cbto7f7e1007487f7e100748tob34b8dd104b34b8dd104to3b1ac405623b1ac40562to9b59c310619b59c31061toc1e10637d8c1e10637d8to7ff707cd547ff707cd54to30d357820630d3578206to2a5d111e372a5d111e37toce6134e498ce6134e498tof7315c587ff7315c587fto698c4eb036698c4eb036toe74039758fe74039758ftoa8bac92a0ea8bac92a0etobb4ccc2877bb4ccc2877to64fa386d4364fa386d43to474cd1839d474cd1839dtoabaeb7bd8dabaeb7bd8dto3a4551bac13a4551bac1to337fd06490337fd06490to09ad93180c09ad93180cto25bfb1779325bfb17793to22ce36f66822ce36f668toa592ad2a13a592ad2a13to857a1955f5857a1955f5to00cf21becd00cf21becdto5b55251a885b55251a88tobd1b1ca122bd1b1ca122toc766ec2b0ec766ec2b0etoab24960b62ab24960b62to62f8aeb62c62f8aeb62cto75bfca77aa75bfca77aato5480f500175480f50017toc1fdfcc06cc1fdfcc06cto14bdca7e1214bdca7e12to1b498c9a101b498c9a10to38cc67615838cc676158to62350636656235063665to00ca8f97ee00ca8f97eeto1d284288531d28428853to56f10aca4e56f10aca4etoc20d716eebc20d716eebto71856bfdb9/contractor retry
71856bfdb9toe226967d28e226967d28tod158b2b617d158b2b617to9201ff9294