chore(deps): update all dependencies #2

Open
kjuulh wants to merge 1 commits from renovate/all into main
Owner

This PR contains the following updates:

Package Type Update Change
anyhow workspace.dependencies patch 1.0.71 -> 1.0.89
axum workspace.dependencies minor 0.6.18 -> 0.7.0
chrono dependencies patch 0.4.26 -> 0.4.38
clap workspace.dependencies minor 4.3.4 -> 4.5.17
sqlx dependencies minor 0.6 -> 0.8
tokio (source) workspace.dependencies minor 1.28.2 -> 1.40.0

Release Notes

dtolnay/anyhow (anyhow)

v1.0.89

Compare Source

  • Make anyhow::Error's UnwindSafe and RefUnwindSafe impl consistently available between versions of Rust newer and older than 1.72 (#​386)

v1.0.88

Compare Source

  • Documentation improvements

v1.0.87

Compare Source

  • Support more APIs, including Error::new and Error::chain, in no-std mode on Rust 1.81+ (#​383)

v1.0.86

Compare Source

  • Fix parse error in ensure! with non-literal after minus sign (#​373)

v1.0.85

Compare Source

  • Improve ensure! macro's rules to unblock some rustc pretty-printer improvements (#​368, #​371)

v1.0.84

Compare Source

  • Disallow calling ensure! through a Not impl for a type that is not bool (#​367)

v1.0.83

Compare Source

  • Integrate compile-time checking of cfgs (#​363)

v1.0.82

Compare Source

  • Documentation improvements

v1.0.81

Compare Source

  • Make backtrace support available when using -Dwarnings (#​354)

v1.0.80

Compare Source

  • Fix unused_imports warnings when compiled by rustc 1.78

v1.0.79

Compare Source

  • Work around improperly cached build script result by sccache (#​340)

v1.0.78

Compare Source

  • Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain (#​337)

v1.0.77

Compare Source

v1.0.76

Compare Source

  • Opt in to unsafe_op_in_unsafe_fn lint (#​329)

v1.0.75

Compare Source

v1.0.74

Compare Source

v1.0.73

Compare Source

v1.0.72

Compare Source

  • Documentation improvements
tokio-rs/axum (axum)

v0.7.5: axum - v0.7.5

Compare Source

  • fixed: Fixed layers being cloned when calling axum::serve directly with
    a Router or MethodRouter (#​2586)
  • fixed: h2 is no longer pulled as a dependency unless the http2 feature
    is enabled (#​2605)

v0.7.4: axum - v0.7.4

Compare Source

  • fixed: Fix performance regression present since axum 0.7.0 (#​2483)
  • fixed: Improve debug_handler on tuple response types (#​2201)
  • added: Add must_use attribute to Serve and WithGracefulShutdown (#​2484)
  • added: Re-export axum_core::body::BodyDataStream from axum

v0.7.3: axum - v0.7.3

Compare Source

  • added: Body implements From<()> now (#​2411)
  • change: Update version of multer used internally for multipart (#​2433)
  • change: Update tokio-tungstenite to 0.21 (#​2435)
  • added: Enable tracing feature by default (#​2460)
  • added: Support graceful shutdown on serve (#​2398)
  • added: RouterIntoService implements Clone (#​2456)

v0.7.2: axum - v0.7.2

Compare Source

  • added: Add axum::body::to_bytes (#​2373)
  • fixed: Gracefully handle accept errors in serve (#​2400)

v0.7.1: axum - v0.7.1

Compare Source

  • fix: Fix readme.

v0.7.0: axum - v0.7.0

Compare Source

  • breaking: Update public dependencies. axum now requires
  • breaking: axum now requires tower-http 0.5
  • breaking: Remove deprecated WebSocketUpgrade::max_send_queue
  • breaking: The following types/traits are no longer generic over the request body
    (i.e. the B type param has been removed) (#​1751 and #​1789):
    • FromRequestParts
    • FromRequest
    • HandlerService
    • HandlerWithoutStateExt
    • Handler
    • LayeredFuture
    • Layered
    • MethodRouter
    • Next
    • RequestExt
    • RouteFuture
    • Route
    • Router
  • breaking: axum no longer re-exports hyper::Body as that type is removed
    in hyper 1.0. Instead axum has its own body type at axum::body::Body (#​1751)
  • breaking: extract::BodyStream has been removed as body::Body
    implements Stream and FromRequest directly (#​1751)
  • breaking: Change sse::Event::json_data to use axum_core::Error as its error type (#​1762)
  • breaking: Rename DefaultOnFailedUpdgrade to DefaultOnFailedUpgrade (#​1664)
  • breaking: Rename OnFailedUpdgrade to OnFailedUpgrade (#​1664)
  • breaking: TypedHeader has been move to axum-extra (#​1850)
  • breaking: Removed re-exports of Empty and Full. Use
    axum::body::Body::empty and axum::body::Body::from respectively (#​1789)
  • breaking: The response returned by IntoResponse::into_response must use
    axum::body::Body as the body type. axum::response::Response does this
    (#​1789)
  • breaking: Removed the BoxBody type alias and its box_body
    constructor. Use axum::body::Body::new instead (#​1789)
  • breaking: Remove RawBody extractor. axum::body::Body implements FromRequest directly (#​1789)
  • breaking: The following types from http-body no longer implement IntoResponse:
    • Full, use Body::from instead
    • Empty, use Body::empty instead
    • BoxBody, use Body::new instead
    • UnsyncBoxBody, use Body::new instead
    • MapData, use Body::new instead
    • MapErr, use Body::new instead
  • added: Add axum::extract::Request type alias where the body is axum::body::Body (#​1789)
  • added: Add Router::as_service and Router::into_service to workaround
    type inference issues when calling ServiceExt methods on a Router (#​1835)
  • breaking: Removed axum::Server as it was removed in hyper 1.0. Instead
    use axum::serve(listener, service) or hyper/hyper-util for more configuration options (#​1868)
  • breaking: Only inherit fallbacks for routers nested with Router::nest.
    Routers nested with Router::nest_service will no longer inherit fallbacks (#​1956)
  • fixed: Don't remove the Sec-WebSocket-Key header in WebSocketUpgrade (#​1972)
  • added: Add axum::extract::Query::try_from_uri (#​2058)
  • added: Implement IntoResponse for Box<str> and Box<[u8]> ([#​2035])
  • breaking: Simplify MethodFilter. It no longer uses bitflags (#​2073)
  • fixed: Fix bugs around merging routers with nested fallbacks (#​2096)
  • fixed: Fix .source() of composite rejections (#​2030)
  • fixed: Allow unreachable code in #[debug_handler] (#​2014)
  • change: axum's MSRV is now 1.66 (#​1882)
  • added: Implement IntoResponse for (R,) where R: IntoResponse (#​2143)
  • changed: For SSE, add space between field and value for compatibility (#​2149)
  • added: Add NestedPath extractor (#​1924)
  • added: Add handle_error function to existing ServiceExt trait (#​2235)
  • breaking: impl<T> IntoResponse(Parts) for Extension<T> now requires
    T: Clone, as that is required by the http crate (#​1882)
  • added: Add axum::Json::from_bytes (#​2244)
  • added: Implement FromRequestParts for http::request::Parts (#​2328)
  • added: Implement FromRequestParts for http::Extensions (#​2328)
  • fixed: Clearly document applying DefaultBodyLimit to individual routes (#​2157)

v0.6.20: axum - v0.6.20

Compare Source

  • added: WebSocketUpgrade::write_buffer_size and WebSocketUpgrade::max_write_buffer_size
  • changed: Deprecate WebSocketUpgrade::max_send_queue
  • change: Update tokio-tungstenite to 0.20
  • added: Implement Handler for T: IntoResponse (#​2140)

v0.6.19: axum - v0.6.19

Compare Source

  • added: Add axum::extract::Query::try_from_uri (#​2058)
  • added: Implement IntoResponse for Box<str> and Box<[u8]> (#​2035)
  • fixed: Fix bugs around merging routers with nested fallbacks (#​2096)
  • fixed: Fix .source() of composite rejections (#​2030)
  • fixed: Allow unreachable code in #[debug_handler] (#​2014)
  • change: Update tokio-tungstenite to 0.19 (#​2021)
  • change: axum's MSRV is now 1.63 (#​2021)
chronotope/chrono (chrono)

v0.4.38

Compare Source

This release bring a ca. 20% improvement to the performance of the formatting code, and a convenient days_since method for the Weekday type.

Chrono 0.4.38 also removes the long deprecated rustc-serialize feature. Support for rustc-serialize will be soft-destabilized in the next Rust edition. Removing the feature will not break existing users of the feature; Cargo will just not update dependents that rely on it to newer versions of chrono.

In chrono 0.4.36 we made an accidental breaking change by switching to derive(Copy) for DateTime instead of a manual implementation. It is reverted in this release.

Removals

Additions

Fixes

  • Return error when rounding with a zero duration (#​1474, thanks @​Dav1dde)
  • Manually implement Copy for DateTime if offset is Copy (#​1573)

Internal

  • Inline test_encodable_json and test_decodable_json functions (#​1550)
  • CI: Reduce combinations in cargo hack check (#​1553)
  • Refactor formatting code (#​1335)
  • Optimize number formatting (#​1558)
  • Only package files needed for building and testing (#​1554)

Thanks to all contributors on behalf of the chrono team, @​djc and @​pitdicker!

v0.4.37

Compare Source

Version 0.4.36 introduced an unexpected breaking change and was yanked. In it LocalResult was renamed to MappedLocalTime to avoid the impression that it is a Result type 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 name MappedLocalTime the 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.36

Compare Source

This release un-deprecates the methods on TimeDelta that 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:

use chrono::{Local, NaiveTime};
// Today at 12:00:00
let today_noon = Local::now().with_time(NaiveTime::from_hms_opt(12, 0, 0).unwrap());

Additions

Deprecations

  • Revert TimeDelta deprecations (#​1543)
  • Deprecate TimeStamp::timestamp_subsec_nanos, which was missed in the 0.4.35 release (#​1486)

Documentation

  • Correct version number of deprecation notices (#​1486)
  • Fix some typos (#​1505)
  • Slightly improve serde documentation (#​1519)
  • Main documentation: simplify links and reflow text (#​1535)

Internal

  • CI: Lint benchmarks (#​1489)
  • Remove unnessary Copy and Send impls (#​1492, thanks @​erickt)
  • Backport streamlined NaiveDate unit tests (#​1500, thanks @​Zomtir)
  • Rename LocalResult to TzResolution, add alias (#​1501)
  • Update windows-bindgen to 0.55 (#​1504)
  • Avoid duplicate imports, which generate warnings on nightly (#​1507)
  • Add extra debug assertions to NaiveDate::from_yof (#​1518)
  • Some small simplifications to DateTime::date_naive and NaiveDate::diff_months (#​1530)
  • Remove unwrap in Unix Local type (#​1533)
  • Use different method to ignore feature-dependent doctests (#​1534)

Thanks to all contributors on behalf of the chrono team, @​djc and @​pitdicker!

v0.4.35

Compare 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. The NaiveDateTime type 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 the DateTime<Utc> type, or from the TimeZone trait.

    Converting from NaiveDateTime to DateTime<Utc> is simple with .and_utc(), and in the other direction with .naive_utc().

  • The panicking constructors of TimeDelta (the new name of the Duration type) 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 NaiveDate now includes a niche. So now Option<NaiveDate>, Option<NaiveDateTime> and Option<DateTime<Tz>> are the same size as their base types.

  • format::Numeric and format::Fixed are marked as non_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

  • Add DateTime::{from_timestamp_micros, from_timestamp_nanos} (#​1234)
  • Add getters to Parsed (#​1465)

Deprecations

  • Deprecate timestamp methods on NaiveDateTime (#​1473)
  • Deprecate panicking constructors of TimeDelta (#​1450)

Changes/fixes

  • Use NonZeroI32 inside NaiveDate (#​1207)
  • Mark format::Numeric and format::Fixed as non_exhaustive (#​1430)
  • Parsed fixes to error values (#​1439)
  • Use overflowing_naive_local in DateTime::checked_add* (#​1333)
  • Do complete range checks in Parsed::set_* (#​1465)

Documentation

Internal

Thanks to all contributors on behalf of the chrono team, @​djc and @​pitdicker!

v0.4.34

Compare Source

Notable changes

  • In chrono 0.4.34 we finished the work to make all methods const where doing so is supported by rust 1.61.
  • We renamed the Duration type to TimeDelta. This removes the confusion between chrono's type and the later Duration type in the standard library. It will remain available under the old name as a type alias for compatibility.
  • The Windows implementation of Local is 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.
  • The Display format of TimeDelta is 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

Additions

Changes

  • Rename Duration to TimeDelta, add type alias (#​1406)
  • Make TimeDelta methods const (#​1337)
  • Make remaining methods of NaiveDate, NaiveWeek, NaiveTime and NaiveDateTime const where possible (#​1337)
  • Make methods on DateTime const where possible (#​1400)
  • Make Display format of TimeDelta conform better to ISO 8601 (#​1328)

Documentation

Internal

  • Switch branch names: 0.4.x releases are the main branch, work on 0.5 happens in the 0.5.x branch (#​1390, #​1402).
  • Don't use deprecated method in impl Arbitrary for DateTime and set up CI test (#​1336)
  • Remove workaround for Rust < 1.61 (#​1393)
  • Bump codecov/codecov-action from 3 to 4 (#​1404)
  • Remove partial support for handling -0000 offset (#​1411)
  • Move TOO_LONG error out of parse_internal (#​1419)

Thanks to all contributors on behalf of the chrono team, @​djc and @​pitdicker!

v0.4.33

Compare Source

This release fixes the broken docrs.rs build of chrono 0.4.32.

What's Changed

v0.4.32

Compare Source

In this release we shipped part of the effort to reduce the number of methods that could unexpectedly panic, notably for the DateTime and Duration types.

Chrono internally stores the value of a DateTime in UTC, and transparently converts it to the local value as required. For example adding a second to a DateTime needs 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 for Debug output.

In chrono 0.4.32 the range of NaiveDate, NaiveDateTime and DateTime is 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 the MIN and MAX dates.

Duration had a similar issue. The range of this type was pretty arbitrary picked to match the range of an i64 in milliseconds. Negating an i64::MIN pushes a value out of range, and in the same way negating Duration::MIN could 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::MAX instead and prevent the panic case.

Other highlights:

  • Duration gained new fallible initialization methods.
  • Better support for rkyv.
  • Most methods on NaiveDateTime are now const.
  • We had to bump our MSRV to 1.61 to keep building with our dependencies. This will also allow us to make more methods on DateTime const in a future release.

Complete list of changes:

Fixes

  • Fix panic in TimeZone::from_local_datetime (#​1071)
  • Fix out of range panics in DateTime getters and setters (#​1317, #​1329)

Additions

Changes

  • Fix panic in Duration::MIN.abs() (adjust Duration::MIN by 1 millisecond) (#​1334)
  • Bump MSRV to 1.61 (#​1347)
  • Update windows-targets requirement from 0.48 to 0.52 (#​1360)
  • Update windows-bindgen to 0.52 (#​1379)

Deprecations

  • Deprecate standalone format functions (#​1306)

Documentation

Rkyv support

Changes to unstable features

  • Don't let unstable-locales imply the alloc feature (#​1307)
  • Remove format::{format_localized, format_item_localized} (#​1311)
  • Inline write_rfc2822_inner, don't localize (#​1322)

Internal

  • Add benchmark for DateTime::with_* (#​1309)
  • Fix *_DAYS_FROM_YEAR_0 calculation (#​1312)
  • Add NaiveTime::overflowing_(add|sub)_offset (#​1310)
  • Rewrite DateTime::overflowing_(add|sub)_offset (#​1069)
  • Tests calling date command set env LC_ALL (#​1315, thanks @​jtmoon79)
  • Update deny.toml (#​1320)
  • Bump actions/setup-node from 3 to 4 (#​1346)
  • test.yml remove errant with: node-version (#​1352, thanks @​jtmoon79)
  • CI Linting: Fix missing sources checkout in toml job (#​1371, thanks @​gibbz00)
  • Silence clippy lint for test code with Rust 1.74.0 (#​1362)

Thanks to all contributors on behalf of the chrono team, @​djc and @​pitdicker!

v0.4.31

Compare 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
  • Deprecate timestamp_nanos in favor of the non-panicking timestamp_nanos_opt (#​1275)
Additions
Fixes
  • Format day of month in RFC 2822 without padding (#​1272)
  • Don't allow strange leap seconds which are not on a minute boundary initialization methods (#​1283)
    This makes many methods a little more strict:
    • NaiveTime::from_hms_milli
    • NaiveTime::from_hms_milli_opt
    • NaiveTime::from_hms_micro
    • NaiveTime::from_hms_micro_opt
    • NaiveTime::from_hms_nano
    • NaiveTime::from_hms_nano_opt
    • NaiveTime::from_num_seconds_from_midnight
    • NaiveTime::from_num_seconds_from_midnight_opt
    • NaiveDate::and_hms_milli
    • NaiveDate::and_hms_milli_opt
    • NaiveDate::and_hms_micro
    • NaiveDate::and_hms_micro_opt
    • NaiveDate::and_hms_nano
    • NaiveDate::and_hms_nano_opt
    • NaiveDateTime::from_timestamp
    • NaiveDateTime::from_timestamp_opt
    • TimeZone::timestamp
    • TimeZone::timestamp_opt
  • Fix underflow in NaiveDateTime::timestamp_nanos_opt (#​1294, thanks @​crepererum)
Documentation
  • Add more documentation about the RFC 2822 obsolete date format (#​1267)
Internal
  • Remove internal __doctest feature and doc_comment dependency (#​1276)
  • CI: Bump actions/checkout from 3 to 4 (#​1280)
  • Optimize NaiveDate::add_days for small values (#​1214)
  • Upgrade pure-rust-locales to 0.7.0 (#​1288, thanks @​jeremija wo did good improvements on pure-rust-locales)

Thanks to all contributors on behalf of the chrono team, @​djc and @​pitdicker!

v0.4.30

Compare Source

In this release, we have decided to swap out the chrono::Duration type (which has been a re-export of time 0.1 Duration type) with our own definition, which exposes a strict superset of the time::Duration API. This helps avoid warnings about the CVE-2020-26235 and RUSTSEC-2020-0071 advisories for downstream users and allows us to improve the Duration API 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
Documentation

Relation between chrono and time 0.1

Rust first had a time module added to std in its 0.7 release. It later moved to libextra, and then to a libtime library 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::Duration was included as std::time::Duration (rust#15934) in 2014.

In preparation of Rust 1.0 at the end of 2014 libtime was moved out of the Rust distro and into the time crate to eventually be redesigned (rust#18832, rust#18858), like the num and rand crates. Of course chrono kept its dependency on this time crate. time started re-exporting std::time::Duration during this period. Later, the standard library was changed to have a more limited unsigned Duration type (rust#24920, RFC 1040), while the time crate kept the full functionality with time::Duration. time::Duration had been a part of chrono's public API.

By 2016 time 0.1 lived under the rust-lang-deprecated organisation and was not actively maintained (time#136). chrono absorbed the platform functionality and Duration type of the time crate in chrono#478 (the work started in chrono#286). In order to preserve compatibility with downstream crates depending on time and chrono sharing a Duration type, chrono kept depending on time 0.1. chrono offered the option to opt out of the time dependency by disabling the oldtime feature (swapping it out for an effectively similar chrono type). In 2019, @​jhpratt took over maintenance on the time crate and released what amounts to a new crate as time 0.2.

Security advisories

In November of 2020 CVE-2020-26235 and RUSTSEC-2020-0071 were opened against the time crate. @​quininer had found that calls to localtime_r may 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 to time.

On Unix-like systems a process is given a timezone id or description via the TZ environment 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. time 0.1 and chrono used the POSIX function localtime_r to do the conversion to local time, which reads the TZ variable.

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 getenv in 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 the TZ variable or via iana-time-zone as 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 the TZ environment 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::Duration type, 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 Duration implementation 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.29

Compare Source

This release fixes a panic introduced in chrono 0.4.27 in FromStr<DateTime<Utc>> (#​1253).

Chrono now has a Discord channel.

Fixes

  • Fix arbitrary string slicing in parse_rfc3339_relaxed (#​1254)

Deprecations

  • Deprecate TimeZone::datetime_from_str (#​1251)

Documentation

Internal improvements

  • Revert "add test_issue_866" (#​1238)
  • CI: run tests on i686 and wasm32-wasi (#​1237)
  • CI: Include doctests for code coverage (#​1248)
  • Move benchmarks to a separate crate (#​1243)
    This allows us to upgrade the criterion dependency to 5.1 without changing our MSRV.
  • Add Discord link to README (#​1240, backported in #​1256)

Thanks to all contributors on behalf of the chrono team, @​djc and @​pitdicker!

v0.4.28

Compare Source

This release fixes a test failure on 32-bit targets introduced with 0.4.27, see https://github.com/chronotope/chrono/issues/1234.

v0.4.27

Compare Source

This release bumps the MSRV from 1.56 to 1.57. This allows us to take advantage of the panicking in const feature. In this release most methods on NaiveDate and NaiveTime are made const, NaiveDateTime and others will follow in a later release.

The parser for the %+ formatting specifier and the RFC3339 formatting item is switched from a strict to a relaxed parser (see https://github.com/chronotope/chrono/pull/1145). This matches the existing documentation, and the parser used by DateTime::from_str. If you need to validate the input, consider using DateTime::from_rfc3339.

Deprecations

Additions

Fixes

Documentation

Internal improvements

Thanks to all contributors on behalf of the chrono team, @​djc and @​pitdicker!

clap-rs/clap (clap)

v4.5.17

Compare Source

Fixes
  • (help) Style required argument groups
  • (derive) Improve error messages when unsupported fields are used

v4.5.16

Compare Source

Fixes
  • (derive) Improve error messages when derive feature is missing

v4.5.15

Compare Source

Compatiblity
  • (unstable-ext) Arg::remove changed return types
Fixes
  • (unstable-ext) Make Arg::remove return the removed item

v4.5.14

Compare Source

Features
  • (unstable-ext) Added Arg::add for attaching arbitrary state, like completion hints, to Arg without Arg knowing about it

v4.5.13

Compare Source

Fixes
  • (derive) Improve error message when #[flatten]ing an optional #[group(skip)]
  • (help) Properly wrap long subcommand descriptions in help

v4.5.12

Compare Source

v4.5.11

Compare Source

v4.5.10

Compare Source

v4.5.9

Compare Source

Fixes
  • (error) When defining a custom help flag, be sure to suggest it like we do the built-in one

v4.5.8

Compare Source

Fixes
  • Reduce extra flushes

v4.5.7

Compare Source

Fixes
  • Clean up error message when too few arguments for num_args

v4.5.6

Compare Source

v4.5.5

Compare Source

Fixes
  • Allow exclusive to override required_unless_present, required_unless_present_any, required_unless_present_all

v4.5.4

Compare Source

Fixes
  • (derive) Allow non-literal #[arg(id)] attributes again

v4.5.3

Compare Source

Internal
  • (derive) Update heck

v4.5.2

Compare Source

Fixes
  • (macros) Silence a warning

v4.5.1

Compare Source

Fixes
  • (help) Style required argument groups
  • (derive) Improve error messages when unsupported fields are used

v4.5.0

Compare Source

Compatibility
  • Update MSRV to 1.74

v4.4.18

Compare Source

Fixes
  • (error) When lacking usage feature, ensure the list of required arguments is unique

v4.4.17

Compare Source

Fixes
  • Fix panic! when mixing args_conflicts_with_subcommands with ArgGroup (which is implicit with derive) introduced in 4.4.15

v4.4.16

Compare Source

Fixes
  • Ensure invalid escape sequences in user-defined strings are correctly stripped when terminal doesn't support color

v4.4.15

Compare Source

Fixes
  • Improve error for args_conflicts_with_subcommands
  • Ensure we error for args_conflicts_with_subcommands when using subcommand short and long flags

v4.4.14

Compare Source

Documentation
  • Fix find cookbook entry to allow repeats of flags/options
Features
  • Allow num_args(0) on options which allows making them emulate being a flag for position-tracking flags

v4.4.13

Compare Source

Documentation
  • Fix link to structopt migration guide

v4.4.12

Compare Source

Performance
  • Only ask TypedValueParser for possible values if needed

v4.4.11

Compare Source

Features
  • Add Command::mut_group

v4.4.10

Compare Source

Documentation
  • Link out to changelog
  • Cross link derive's attribute reference to derive tutorial

v4.4.9

Compare Source

Fixes
  • (help) Show correct Command::about under flattened headings
  • (help) Respect hide when flattening subcommands

v4.4.8

Compare Source

Features
  • Add Command::flatten_help to allow git stash -h like help for subcommands

v4.4.7

Compare Source

Performance
  • Reduced code size

v4.4.6

Compare Source

Internal
  • Upgrade anstream

v4.4.5

Compare Source

Fixes
  • (parser) When inferring subcommand name or long_flag, allow ambiguous-looking matches that unambiguously map back to the same command
  • (parser) When inferring subcommand long_flag, don't panic
  • (assert) Clarify what action is causing a positional that doesn't set values which is especially useful for derive users

v4.4.4

Compare Source

Internal
  • Update terminal_size to 0.3

v4.4.3

Compare Source

Documentation
  • (derive) Clarify use of attributes within the tutorial
  • Split sections in the builder and derive tutorials into separate modules

v4.4.2

Compare Source

Performance
  • Improve build times by removing once_cell dependency

v4.4.1

Compare Source

Fixes
  • (error) When lacking usage feature, ensure the list of required arguments is unique

v4.4.0

Compare Source

compatibility
  • update msrv to 1.70.0

v4.3.24

Compare Source

Fixes
  • Ensure column padding is preserved in --help with custom templates

v4.3.23

Compare Source

Fixes
  • Fixed UnknownArgumentValueParser to not error on flag's absence

v4.3.22

Compare Source

Features
  • Add UnknownArgumentValueParser for injecting errors for improving the experience with errors

v4.3.21

Compare Source

Features
  • Expose TryMapValueParser so the type can be named

v4.3.20

Compare Source

Features
  • Command::mut_args for modifying all arguments en masse

v4.3.19

Compare Source

Fixes
  • (parse) Respect value_terminator even in the presence of later multiple-value positional arguments

v4.3.18

Compare Source

Fixes
  • (parse) Suggest -- in fewer places where it won't work

v4.3.17

Compare Source

Fixes
  • (help) Address a regression in wrapping PossibleValue descriptions in --help

v4.3.16

Compare Source

Fixes
  • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

v4.3.15

Compare Source

Features
  • (unstable-styles) Re-export anstyle
Documentation
  • (unstable-styles) Provide more examples

v4.3.14

Compare Source

Features
  • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display
Fixes
  • Skip [OPTIONS] in usage if a help or version ArgAction is used

v4.3.13

Compare Source

v4.3.12

Compare Source

Fixes
  • (derive) Don't error on enum variant field attributes

v4.3.11

Compare Source

Features
  • (derive) Support fields wrapped in num::Wrapping, Box, or Arc
  • (derive) Support Box<str>, Box<OsStr>, and Box<Path>

v4.3.10

Compare Source

Performance
  • Drop a dependency, reducing binary size by 1.3 KiB

v4.3.9

Compare Source

Fixes
  • Command::ignore_errors no longer masks help/version

v4.3.8

Compare Source

Fixes
  • Error on ambiguity with infer_long_arg, rather than arbitrarily picking one, matching the documentation and subcommand's behavior

v4.3.7

Compare Source

Documentation
  • Further clarify magic behavior in derive tutorial
  • Further clarify derive API's relationship to builder within the tutorial

v4.3.6

Compare Source

Documentation
  • Suggest clio

v4.3.5

Compare Source

  • ColorChoice::possible_values is added to simplify things for builder users
Fixes
  • ColorChoice::to_possible_value no longer includes descriptions, encouraging shorter help where possible
launchbadge/sqlx (sqlx)

v0.8.2

Compare Source

10 pull requests were merged this release cycle.

This release addresses a few regressions that have occurred, and refines SQLx's MSRV policy (see the FAQ).

Added
  • [#&#8203;3447]]: Clarify usage of Json/Jsonb in query macros \[\[[@&#8203;Lachstec](https://github.com/Lachstec)]]
    
    
Changed
  • [#&#8203;3424]]: Remove deprecated feature-names from `Cargo.toml` files in examples \[\[[@&#8203;carschandler](https://github.com/carschandler)]]
    
    
Fixed
  • [#&#8203;3403]]: Fix ([#&#8203;3395](https://github.com/launchbadge/sqlx/issues/3395)) sqlx::test macro in 0.8 \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]]
    
  • [#&#8203;3411]]: fix: Use rfc3339 to decode date from text \[\[[@&#8203;pierre-wehbe](https://github.com/pierre-wehbe)]]
    
  • [#&#8203;3453]]: fix([#&#8203;3445](https://github.com/launchbadge/sqlx/issues/3445)): PgHasArrayType \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]]
    -   Fixes `#[sqlx(no_pg_array)]` being forbidden on `#[derive(Type)]` structs.
    
  • [#&#8203;3454]]: fix: non snake case warning \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]]
    
  • [#&#8203;3459]]: Pgsql cube type compile fail \[\[[@&#8203;kdesjard](https://github.com/kdesjard)]]
    
  • [#&#8203;3465]]: fix(postgres): max number of binds is 65535, not 32767 (regression) \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3467]]: fix cancellation issues with `PgListener`, `PgStream::recv()` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   Fixes cryptic `unknown message: "\\0"` error
    
  • [#&#8203;3474]]: Fix try_get example in README.md \[\[[@&#8203;luveti](https://github.com/luveti)]]
    
    

v0.8.1

Compare Source

16 pull requests were merged this release cycle.

This release contains a fix for RUSTSEC-2024-0363.

Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated:
#​3440 (comment)

MySQL and SQLite do not appear to be exploitable, but upgrading is recommended nonetheless.

Added
  • [#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://github.com/kolinfluence)]]
    -   Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version.
    
    
Changed
  • [#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   This is a helper module for the macros and was not meant to be exposed.
    -   It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API.
        Use at your own risk.
    
  • [#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]]
    
  • [#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]]
    
  • [#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://github.com/djc)]]
    -   RusTLS now has pluggable cryptography providers: `ring` (the existing implementation),
        and `aws-lc-rs` which has optional FIPS certification.
    -   The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`)
        enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change.
    -   Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider.
        -   If using `runtime-tokio-rustls` or `runtime-async-std-rustls`,
            this will necessitate switching to the appropriate non-legacy runtime feature:
            `runtime-tokio` or `runtime-async-std`
    -   See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers>
    
    
Fixed
  • [#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://github.com/cycraig)]]
    
  • [#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://github.com/ckampfe)]]
    
  • [#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://github.com/alu)]]
    
  • [#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://github.com/hamirmahal)]]
    
  • [#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://github.com/tottoto)]]
    
  • [#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]]
    
  • [#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]]
    
  • [#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://github.com/ods)]]
    
  • [#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://github.com/soucosmo)]]
    
  • [#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite.
    
    

v0.8.0

Compare Source

70 pull requests were merged this release cycle.

#​2697 was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation.

Breaking
  • [#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]]
    
  • [#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://github.com/nitn3lav)]]
    
  • [#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]]
    -   Deprecated type ascription syntax in the query macros was removed.
    
  • [#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://github.com/tsing)]]
    -   Potentially breaking: nullability inference changes for Postgres.
    
  • [#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://github.com/tylerhawkes)]]
    -   Conflicts with existing manual implementations.
    
  • [#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://github.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://github.com/benluelo)]]
    -   Changes lifetime obligations for field types.
    
  • [#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]]
    -   Potentially breaking: nullability inference changes for SQLite.
    
  • [#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]]
    -   Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now.
    
  • [#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://github.com/FSMaxB)]]
    
  • [#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://github.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://github.com/FlakM)]]
    -   Breaking changes to `MigrateError`.
    
  • [#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://github.com/cleverjam)]]
    -   (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning.
    -   Breaking change: added field to `Migration`
    
  • [#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   integer decoding will now loudly error on overflow instead of silently truncating.
    -   some usages of the query!() macros might change an i32 to an i64.
    
  • [#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur.
    -   Type equality for PgTypeInfo is now schema-aware.
    
  • [#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior.
    
  • [#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`.
    -   Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error.
        This doesn't seem like good behavior as it could result in some potentially very difficult bugs.
        -   Instead, create a wrapper implementing `From` and apply the default explicitly.
    
  • [#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://github.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://github.com/DirectorX)]]
    -   Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins).
    
  • [#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]]
    -   Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects.
    
    
Added
  • [#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://github.com/g-bartoszek)]]
    
  • [#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]]
    
  • [#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://github.com/jayy-lmao)]]
    
  • [#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://github.com/AlphaKeks)]]
    
  • [#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://github.com/gridbox)]]
    
  • [#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]]
    
  • [#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://github.com/LecrisUT)]]
    
  • [#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://github.com/JohannesIBK)]]
    
  • [#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://github.com/Lachstec)]]
    
  • [#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://github.com/KobusEllis)]]
    
    
Changed
  • [#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://github.com/alu)]]
    
  • [#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]]
    
  • [#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://github.com/NfNitLoop)]]
    -   Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees.
    
  • [#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://github.com/stepantubanov)]]
    
  • [#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]]
    
  • [#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]]
    
    
Fixed
  • [#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://github.com/BadBastion)]]
    
  • [#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://github.com/ralpha)]]
    
  • [#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]]
    
  • [#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://github.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://github.com/hoxxep)]]
    
  • [#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://github.com/feikesteenbergen)]]
    
  • [#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]]
    
  • [#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://github.com/GnomedDev)]]
    
  • [#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://github.com/pxp9)]]
    
  • [#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://github.com/RaghavRox)]]
    
  • [#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://github.com/BlackSoulHub)]]
    
  • [#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://github.com/levkk)]]
    
  • [#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://github.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://github.com/danjpgriffin)]]
    
  • [#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://github.com/toxeus)]]
    
  • [#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://github.com/jasonish)]]
    
  • [#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://github.com/jasonish)]]
    
  • [#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]]
    
  • [#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://github.com/Zarathustra2)]]
    
  • [#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]]
    
  • [#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]]
    
  • [#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://github.com/joelkoen)]]
    
  • [#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://github.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://github.com/nk9)]]
    
  • [#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://github.com/jasonish)]]
    
  • [#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]]
    
  • [#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]]
    
  • [#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://github.com/SrGesus)]]
    
  • [#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]]
    
  • [#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://github.com/hamirmahal)]]
    
  • [#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]]
    
  • [#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://github.com/YgorSouza)]]
    
  • [#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]]
    
  • [#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://github.com/Zarthus)]]
    
  • (no PR): activate clock and std features of workspace.dependencies.chrono.

v0.7.4

Compare Source

38 pull requests were merged this release cycle.

This is officially the last release of the 0.7.x release cycle.

As of this release, development of 0.8.0 has begun on main and only high-priority bugfixes may be backported.

Added
  • [#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]]
    
  • [#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]]
    
  • [#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://github.com/kshramt)]]
    
  • [#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://github.com/iangilfillan)]]
    
  • [#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]]
    
  • [#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   This hopefully makes it easier to find how to execute statements which are not supported by the default
        prepared statement interfaces `query*()` and `query!()`.
    -   Improved documentation across the board for the `query*()` functions.
    -   Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements.
        -   Multiple SQL statements in one query string were only supported by SQLite because its prepared statement
            interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in
            one prepared statement string as an extra defense against SQL injection.
        -   The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements.
            Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is
            supported by all current databases. Due to their nature, however, one cannot use bind parameters with them.
        -   If this change affects you, an issue is open for discussion: https://github.com/launchbadge/sqlx/issues/3108
    
  • [#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://github.com/Icerath)]]
    
  • [#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://github.com/pawurb)]]
    
  • [#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://github.com/pawurb)]]
    
  • [#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://github.com/iangilfillan)]]
    
  • [#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://github.com/darkecho731)]]
    
    
Changed
  • [#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]]
    
  • [#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://github.com/mattfbacon)]]
    
  • [#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://github.com/Fyko)]]
    
  • [#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://github.com/joshtriplett)]]
    
  • [#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://github.com/takenoko-gohan)]]
    
  • [#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]]
    
  • [#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]]
    
  • [#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]]
    
  • [#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]]
    
  • [#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://github.com/mirek26)]]
    
  • [#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://github.com/mirek26)]]
    
  • [#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://github.com/mirek26)]]
    
  • [#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://github.com/ciffelia)]]
    
  • [#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://github.com/rafaelGuerreiro)]]
    
    
Fixed
  • [#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]]
    
  • [#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://github.com/larsschumacher)]]
    
  • [#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw)]]
    
  • [#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://github.com/shengsheng)]]
    
  • [#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://github.com/tsing)]]
    
  • [#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://github.com/Dawsoncodes)]]
    
  • [#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://github.com/tadghh)]]
    
  • [#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://github.com/holicc)]]
    
  • [#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://github.com/Ekleog)]]
    
  • [#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://github.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://github.com/zoomiti)]]
    
  • [#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   Unhides `sqlx::migrate::Migrator`.
    -   Improves I/O error message when failing to read a file in `migrate!()`.
    
    

v0.7.3

38 pull requests were merged this release cycle.

Added
  • [#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://github.com/hgranthorner)]]
    
  • [#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://github.com/ripa1995)]]
    
  • [#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://github.com/tk2217)]]
    
  • [#&#8203;2752]]: Enhancement [#&#8203;2747](https://github.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://github.com/boris-lok)]]
    
  • [#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://github.com/Nemo157)]]
    
  • [#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://github.com/yasamoka)]]
    
  • [#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://github.com/grgi)]]
    
  • [#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://github.com/nanoqsh)]]
    
  • [#&#8203;2871]]: Add `MySqlConnectOptions::get_database()`  \[\[[@&#8203;shiftrightonce](https://github.com/shiftrightonce)]]
    
  • [#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]]
    
  • [#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
    
Changed
  • [#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://github.com/Baptistemontan)]]
    
  • [#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://github.com/satwanjyu)]]
    
  • [#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://github.com/snspinn)]]
    
  • [#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2803]]: Don't use separate temp dir for query jsons (2)  \[\[[@&#8203;mattfbacon](https://github.com/mattfbacon)]]
    
  • [#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://github.com/conradludgate)]]
    
  • [#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://github.com/brianheineman)]]
    
  • [#&#8203;2865]]: Update Faq - Bulk upsert with optional fields  \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]]
    
  • [#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://github.com/tamasfe)]]
    
  • [#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • No PR]: Upgraded `libsqlite3-sys` to 0.27.0
    -   Note: linkage to `libsqlite3-sys` is considered semver-exempt;
        see the release notes for 0.7.0 below for details.
    
    
Fixed
  • [#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://github.com/fhsgoncalves)]]
    
  • [#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://github.com/uttarayan21)]]
    
  • [#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://github.com/hamiltop)]]
    
  • [#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://github.com/cameronbraid)]]
    
  • [#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://github.com/qwerty2501)]]
    
  • [#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://github.com/granddaifuku)]]
    
  • [#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://github.com/A248)]]
    
  • [#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2822]]: issue [#&#8203;2821](https://github.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://github.com/anupj)]]
    
  • [#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://github.com/djc)]]
    
  • [#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://github.com/jkleinknox)]]
    
  • [#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://github.com/cryeprecision)]]
    
  • [#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://github.com/nyurik)]]
    
  • [#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]]
    
    

v0.7.2

23 pull requests were merged this release cycle.

Added
  • [#&#8203;2121]]: Add JSON support to `FromRow` derive \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]]
    
  • [#&#8203;2533]]: Implement mysql_clear_password \[\[[@&#8203;ldanilek](https://github.com/ldanilek)]]
    
  • [#&#8203;2538]]: cli: add --target-version CLI flags for migrate run/revert \[\[[@&#8203;inahga](https://github.com/inahga)]]
    
  • [#&#8203;2577]]: supplement Postgres listen example with a small chat example \[\[[@&#8203;JockeM](https://github.com/JockeM)]]
    
  • [#&#8203;2602]]: Support naming migrations sequentially \[\[[@&#8203;vmax](https://github.com/vmax)]]
    
  • [#&#8203;2634]]: Adding PgHasArrayType for &\[u8;N] \[\[[@&#8203;snf](https://github.com/snf)]]
    
  • [#&#8203;2646]]: Support for setting client certificate and key from bytes \[\[[@&#8203;wyhaya](https://github.com/wyhaya)]]
    
  • [#&#8203;2664]]: Automatically infer migration type \[\[[@&#8203;vmax](https://github.com/vmax)]]
    
  • [#&#8203;2712]]: Add impl for `Type`, `Decode`, and `Encode` for `Box<str>` and `Box<[u8]>` \[\[[@&#8203;grant0417](https://github.com/grant0417)]]
    
    
Changed
  • [#&#8203;2650]]: Cleanup format arguments \[\[[@&#8203;nyurik](https://github.com/nyurik)]]
    
  • [#&#8203;2695]]: remove \&mut PoolConnection from Executor docs \[\[[@&#8203;olback](https://github.com/olback)]]
    -   This impl was removed in 0.7.0 because of coherence issues.
    
  • [#&#8203;2706]]: Clarify where optional features should be enabled \[\[[@&#8203;kryptan](https://github.com/kryptan)]]
    
  • [#&#8203;2717]]: Update README.md \[\[[@&#8203;fermanjj](https://github.com/fermanjj)]]
    
  • [#&#8203;2739]]: Bump mariadb CI images + mysql unpin \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]]
    
  • [#&#8203;2742]]: Implemented poll_flush for Box\<S:Socket> \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]]
    
  • [#&#8203;2740]]: Remove sealed trait comments from documentation \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]]
    
  • [#&#8203;2750]]: Fix [#&#8203;2384](https://github.com/launchbadge/sqlx/issues/2384), bump flume to v0.11.0 \[\[[@&#8203;madadam](https://github.com/madadam)]]
    
  • [#&#8203;2757]]: Remove unused `remove_dir_all` crate from `sqlx-cli`, fixes RUSTSEC-2023-0018 \[\[[@&#8203;aldur](https://github.com/aldur)]]
    
    
Fixed
  • [#&#8203;2624]]: Documentation typo: BYTE -> BINARY \[\[[@&#8203;sebastianv89](https://github.com/sebastianv89)]]
    
  • [#&#8203;2628]]: docs: 0.7 is stable in the entire README \[\[[@&#8203;marcusirgens](https://github.com/marcusirgens)]]
    
  • [#&#8203;2630]]: fix(postgres): fix buffer management in PgCopyIn::read_from \[\[[@&#8203;tsing](https://github.com/tsing)]]
    
  • [#&#8203;2651]]: Chore: Fix few build warnings, and make CI fail on warn \[\[[@&#8203;nyurik](https://github.com/nyurik)]]
    
  • [#&#8203;2670]]: fix: ignore extra fields in Postgres describe parsing \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2687]]: docs: Fix description of `min_connections` \[\[[@&#8203;hakoerber](https://github.com/hakoerber)]]
    
    

v0.7.1

Compare Source

This release mainly addresses issues reported with the 0.7.0 release.

16 pull requests were merged this release cycle.

Added
  • [#&#8203;2551]]: Introduce build_query_scalar for QueryBuilder \[\[[@&#8203;iamquang95](https://github.com/iamquang95)]]
    
  • [#&#8203;2605]]: Implement Default for QueryBuilder \[\[[@&#8203;Xydez](https://github.com/Xydez)]]
    
  • [#&#8203;2616]]: feat(sqlx-core): add table function to database error \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]]
    
  • [#&#8203;2619]]: feat: allow opt-out of `PgHasArrayType` with `#[derive(sqlx::Type)]` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   TL;DR: if you're getting errors from `#[derive(sqlx::Type)]` with `#[sqlx(transparent)]`
        regarding `PgHasArrayType` not being implemented, add `#[sqlx(no_pg_array)]` to fix.
    
    
Changed
  • [#&#8203;2566]]: improve docs about migration files \[\[[@&#8203;jnnnnn](https://github.com/jnnnnn)]]
    
  • [#&#8203;2576]]: Major Version Update clap to 4.0 \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]]
    
  • [#&#8203;2597]]: Bump webpki-roots to v0.24 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]]
    
  • [#&#8203;2603]]: docs(changelog): be more verbose about offline mode breaking change \[\[[@&#8203;mrl5](https://github.com/mrl5)]]
    
    
Fixed
  • [#&#8203;2553]]: Implement `Clone` for `PoolOptions` manually ([#&#8203;2548](https://github.com/launchbadge/sqlx/issues/2548)) \[\[[@&#8203;alilleybrinker](https://github.com/alilleybrinker)]]
    
  • [#&#8203;2580]]: Update README.md now that 0.7.0 is no longer in alpha \[\[[@&#8203;saolof](https://github.com/saolof)]]
    
  • [#&#8203;2585]]: Fix for Issue [#&#8203;2549](https://github.com/launchbadge/sqlx/issues/2549) - cannot use feature "rust_decimal" without also using "bigdecimal" \[\[[@&#8203;deneut](https://github.com/deneut)]]
    
  • [#&#8203;2586]]: Fix optional dependency on sqlx-macros \[\[[@&#8203;kitterion](https://github.com/kitterion)]]
    
  • [#&#8203;2593]]: Correct mention of the `tls-native-tls` in the documentation. \[\[[@&#8203;denschub](https://github.com/denschub)]]
    
  • [#&#8203;2599]]: Remove incorrect CAST in test database cleanup for MySQL. \[\[[@&#8203;fd](https://github.com/fd)]]
    
  • [#&#8203;2613]]: Fix readme.md to reduce confusion about optional features (decimal->rust_decimal) \[\[[@&#8203;vabka](https://github.com/vabka)]]
    
  • [#&#8203;2620]]: fix(sqlite/any): encode bool as integer \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]]
    
    

v0.7.0

Compare Source

At least 70 pull requests were merged this release cycle! (The exact count is muddied with pull requests for alpha
releases and such.) And we gained 43 new contributors! Thank you to everyone who helped make this release a reality.

Breaking

Many revisions were made to query analysis in the SQLite driver; these are all potentially breaking changes
as they can change the output of sqlx::query!() et al. We'd like to thank [[@​tyrelr]] for their numerous PRs to
this area.

The MSSQL driver has been removed as it was not nearly at the same maturity level as the other drivers.
As previously announced, we have plans to introduce a fully featured replacement as a premium offering,
alongside drivers for other proprietary databases, with the goal to support full-time development on SQLx.

If interested, please email your inquiry to sqlx@launchbadge.com.

The offline mode for the queries has been changed to use a separate file per query!() invocation,
which is intended to reduce the number of conflicts when merging branches in a project that both modified queries.
This means that CLI flag --merged is no longer supported. See [#​2363] for details and make sure that your
sqlx-cli version is in sync with the sqlx version in your project.

The type ascription override syntax for the query macros has been deprecated,
as parse support for it has been removed in syn 2.0, which we'll be upgrading to in the next breaking release.
This can be replaced with type overrides using casting syntax (as).
See [#​2483] for details.

  • [#&#8203;1946]]: Fix compile time verification performance regression for sqlite \[\[[@&#8203;liningpan](https://github.com/liningpan)]]
    
  • [#&#8203;1960]]: Fix sqlite update return and order by type inference \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]]
    
  • [#&#8203;1984]]: Sqlite EXPLAIN type inference improvements \[\[[@&#8203;rongcuid](https://github.com/rongcuid)]]
    
  • [#&#8203;2039]]: Break drivers out into separate crates, clean up some technical debt \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   All deprecated items have been removed.
    -   The `mssql` feature and associated database driver has been deleted from the source tree. It will return as part of our planned SQLx Pro offering as a from-scratch rewrite with extra features (such as TLS) and type integrations that were previously missing.
    -   The `runtime-actix-*` features have been deleted. They were previously changed to be aliases of their `runtime-tokio-*` counterparts for backwards compatibility reasons, but their continued existence is misleading as SQLx has no special knowledge of Actix anymore.
        -   To fix, simply replace the `runtime-actix-*` feature with its `runtime-tokio-*` equivalent.
    -   The `git2` feature has been removed. This was a requested integration from a while ago that over time made less and less sense to be part of SQLx itself. We have to be careful with the crates we add to our public API as each one introduces yet another semver hazard. The expected replacement is to make `#[derive(sqlx::Type)]` useful enough that users can write wrapper types for whatever they want to use without SQLx needing to be specifically aware of it.
    -   The `Executor` impls for `Transaction` and `PoolConnection` have been deleted because they cannot exist in the new crate architecture without rewriting the `Executor` trait entirely.
        -   To fix this breakage, simply add a dereference where an `impl Executor` is expected, as they both dereference to the inner connection type which will still implement it:
            -   `&mut transaction` -> `&mut *transaction`
            -   `&mut connection` -> `&mut *connection`
        -   These cannot be blanket impls as it triggers an overflow in the compiler due to the lack of lazy normalization, and
            the driver crates cannot provide their own impls due to the orphan rule.
        -   We're expecting to do another major refactor of traits to incorporate generic associated types (GAT).
            This will mean another major release of SQLx but ideally most API usage will not need to change significantly, if at all.
    -   The fields of `Migrator` are now `#[doc(hidden)]` and semver-exempt; they weren't meant to be public.
    -   The `offline` feature has been removed from the `sqlx` facade crate and is enabled unconditionally as most users are expected to have enabled it anyway and disabling it doesn't seem to appreciably affect compile times.
    -   The `decimal` feature has been renamed to `rust_decimal` to match the crate it actually provides integrations for.
    -   `AnyDriver` and `AnyConnection` now require either `sqlx::any::install_drivers()` or `sqlx::any::install_default_drivers()` to be called at some point during the process' lifetime before the first connection is made, as the set of possible drivers is now determined at runtime. This was determined to be the least painful way to provide knowledge of database drivers to `Any` without them being hardcoded.
    -   The `AnyEncode` trait has been removed.
    
  • [#&#8203;2109]]: feat: better database errors \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]]
    
  • [#&#8203;2094]]: Update libsqlite3-sys to 0.25.1 \[\[[@&#8203;penberg](https://github.com/penberg)]]
    -   Alongside this upgrade, we are now considering the linkage to `libsqlite3-sys` to be **semver-exempt**,
        and we reserve the right to upgrade it as necessary. If you are using `libsqlite3-sys` directly or a crate that
        links it such as `rusqlite`, you should pin the versions of both crates to avoid breakages from `cargo update`:
    
    
[dependencies]
sqlx = { version = "=0.7.0", features = ["sqlite"] }
rusqlite = "=0.29.0"
  • [#&#8203;2132]]: fix: use owned Builder pattern for ConnectOptions \[\[[@&#8203;ar3s3ru](https://github.com/ar3s3ru)]]
    
  • [#&#8203;2253]]: Sqlite describe fixes \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]]
    
  • [#&#8203;2285]]: `time`: Assume UTC when decoding a DATETIME column in sqlite \[\[[@&#8203;nstinus](https://github.com/nstinus)]]
    
  • [#&#8203;2363]]: \[offline] Change prepare to one-file-per-query \[\[[@&#8203;cycraig](https://github.com/cycraig)]]
    
  • [#&#8203;2387]]: PATCH: bump libsqlite3-sys to patched version \[\[[@&#8203;grantkee](https://github.com/grantkee)]]
    
  • [#&#8203;2409]]: fix([#&#8203;2407](https://github.com/launchbadge/sqlx/issues/2407)): respect the HaltIfNull opcode when determining nullability \[\[[@&#8203;arlyon](https://github.com/arlyon)]]
    
  • [#&#8203;2459]]: limit the number of instructions that can be evaluated \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]]
    
  • [#&#8203;2467]]: Add and improve sqlite describe performance benchmarks \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]]
    
  • [#&#8203;2491]]: sqlite date macro support \[\[[@&#8203;Arcayr](https://github.com/Arcayr)]]
    -   Changes `OffsetDateTime` to be the first type used when deserializing a `timestamp` type.
    
  • [#&#8203;2496]]: Bump to libsqlite3-sys 0.26 \[\[[@&#8203;mdecimus](https://github.com/mdecimus)]]
    
  • [#&#8203;2508]]: Sqlite analytical \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]]
    
    
Added
  • [#&#8203;1850]]: Add client SSL authentication using key-file for Postgres, MySQL and MariaDB \[\[[@&#8203;ThibsG](https://github.com/ThibsG)]]
    
  • [#&#8203;2088]]: feat: Add set_connect_options method to Pool \[\[[@&#8203;moatra](https://github.com/moatra)]]
    
  • [#&#8203;2113]]: Expose PoolOptions for reading \[\[[@&#8203;FSMaxB](https://github.com/FSMaxB)]]
    
  • [#&#8203;2115]]: Allow using complex types in `try_from` when deriving `FromRow` \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]]
    
  • [#&#8203;2116]]: \[SQLite] Add option to execute `PRAGMA optimize;` on close of a connection \[\[[@&#8203;miles170](https://github.com/miles170)]]
    
  • [#&#8203;2189]]: Added regexp support in sqlite \[\[[@&#8203;VictorKoenders](https://github.com/VictorKoenders)]]
    
  • [#&#8203;2224]]: Add From impls for Json \[\[[@&#8203;dbeckwith](https://github.com/dbeckwith)]]
    
  • [#&#8203;2256]]: add progress handler support to sqlite \[\[[@&#8203;nbaztec](https://github.com/nbaztec)]]
    
  • [#&#8203;2366]]: Allow ignoring attributes for deriving FromRow \[\[[@&#8203;grgi](https://github.com/grgi)]]
    
  • [#&#8203;2369]]: new type support in query_as \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]]
    
  • [#&#8203;2379]]: feat: add `Connection::shrink_buffers`, `PoolConnection::close` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2400]]: fix(docs): example of `sqlx_macros_unstable` in config.toml \[\[[@&#8203;df51d](https://github.com/df51d)]]
    
  • [#&#8203;2469]]: Add Simple format for Uuid for MySQL & SQLite. \[\[[@&#8203;MidasLamb](https://github.com/MidasLamb)]]
    
  • [#&#8203;2483]]: chore: add deprecation notice for type ascription use \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]]
    
  • [#&#8203;2506]]: add args to query builder ([#&#8203;2494](https://github.com/launchbadge/sqlx/issues/2494)) \[\[[@&#8203;cemoktra](https://github.com/cemoktra)]]
    
  • [#&#8203;2554]]: Impl `AsMut` for advisory lock types ([#&#8203;2520](https://github.com/launchbadge/sqlx/issues/2520)) \[\[[@&#8203;alilleybrinker](https://github.com/alilleybrinker)]]
    
  • [#&#8203;2559]]: Add CLI autocompletion using clap_complete \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]]
    
    
Changed
  • [#&#8203;2185]]: Initial work to switch to `tracing` \[\[[@&#8203;CosmicHorrorDev](https://github.com/CosmicHorrorDev)]]
    
  • [#&#8203;2193]]: Start testing on Postgres 15 and drop Postgres 10 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]]
    -   We reserve the right to drop support for end-of-lifed database versions [as discussed in our FAQ][faq-db-version].
    
  • [#&#8203;2213]]: Use `let else` statements in favor of macro \[\[[@&#8203;OverHash](https://github.com/OverHash)]]
    
  • [#&#8203;2365]]: Update dependencies \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]]
    
  • [#&#8203;2371]]: Disable rustls crate logging feature by default up to date \[\[[@&#8203;sergeiivankov](https://github.com/sergeiivankov)]]
    
  • [#&#8203;2373]]: chore: Use tracing's fields to get structured logs \[\[[@&#8203;jaysonsantos](https://github.com/jaysonsantos)]]
    
  • [#&#8203;2393]]: Lower default logging level for statements to Debug \[\[[@&#8203;bnoctis](https://github.com/bnoctis)]]
    
  • [#&#8203;2445]]: Traverse symlinks when resolving migrations \[\[[@&#8203;tgeoghegan](https://github.com/tgeoghegan)]]
    
  • [#&#8203;2485]]: chore(sqlx-postgres): replace `dirs` with `home` & `etcetera` \[\[[@&#8203;utkarshgupta137](https://github.com/utkarshgupta137)]]
    
  • [#&#8203;2515]]: Bump mac_address to 1.1.5 \[\[[@&#8203;repnop](https://github.com/repnop)]]
    
  • [#&#8203;2440]]: Update rustls to 0.21, webpki-roots to 0.23 \[\[[@&#8203;SergioBenitez](https://github.com/SergioBenitez)]]
    
  • [#&#8203;2563]]: Update rsa to 0.9 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]]
    
  • [#&#8203;2564]]: Update bitflags to v2 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]]
    
  • [#&#8203;2565]]: Bump indexmap and ahash \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]]
    
  • [#&#8203;2574]]: doc: make it clear that `ConnectOptions` types impl `FromStr` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
    
Fixed
  • [#&#8203;2098]]: Fix sqlite compilation \[\[[@&#8203;cycraig](https://github.com/cycraig)]]
    
  • [#&#8203;2120]]: fix logical merge conflict \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]]
    
  • [#&#8203;2133]]: Postgres OID resolution query does not take into account current `search_path` \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]]
    
  • [#&#8203;2156]]: Fixed typo. \[\[[@&#8203;cdbfoster](https://github.com/cdbfoster)]]
    
  • [#&#8203;2179]]: fix: ensures recover from fail with PgCopyIn \[\[[@&#8203;andyquinterom](https://github.com/andyquinterom)]]
    
  • [#&#8203;2200]]: Run CI on \*-dev branch \[\[[@&#8203;joehillen](https://github.com/joehillen)]]
    
  • [#&#8203;2222]]: Add context to confusing sqlx prepare parse error \[\[[@&#8203;laundmo](https://github.com/laundmo)]]
    
  • [#&#8203;2271]]: feat: support calling Postgres procedures with the macros \[\[[@&#8203;bgeron](https://github.com/bgeron)]]
    
  • [#&#8203;2282]]: Don't run EXPLAIN nullability analysis on Materialize \[\[[@&#8203;benesch](https://github.com/benesch)]]
    
  • [#&#8203;2319]]: Set whoami default-features to false \[\[[@&#8203;thedodd](https://github.com/thedodd)]]
    
  • [#&#8203;2352]]: Preparing 0.7.0-alpha.1 release \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2355]]: Fixed the example code for `sqlx::test` \[\[[@&#8203;kenkoooo](https://github.com/kenkoooo)]]
    
  • [#&#8203;2367]]: Fix sqlx-cli create, drop, migrate \[\[[@&#8203;cycraig](https://github.com/cycraig)]]
    
  • [#&#8203;2376]]: fix(pool): close when last handle is dropped, extra check in `try_acquire` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2378]]: Fix README build badge \[\[[@&#8203;dbrgn](https://github.com/dbrgn)]]
    
  • [#&#8203;2398]]: fix(prepare): store temporary query files inside the workspace \[\[[@&#8203;aschey](https://github.com/aschey)]]
    
  • [#&#8203;2402]]: fix: drop old time 0.1.44 dep \[\[[@&#8203;codahale](https://github.com/codahale)]]
    
  • [#&#8203;2413]]: fix(macros-core): use of undeclared `tracked_path` \[\[[@&#8203;df51d](https://github.com/df51d)]]
    
  • [#&#8203;2420]]: Enable runtime-tokio feature of sqlx when building sqlx-cli \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]]
    
  • [#&#8203;2453]]: in README.md, correct spelling and grammar \[\[[@&#8203;vizvasrj](https://github.com/vizvasrj)]]
    
  • [#&#8203;2454]]: fix: ensure fresh test db's aren't accidentally deleted by do_cleanup \[\[[@&#8203;phlip9](https://github.com/phlip9)]]
    
  • [#&#8203;2507]]: Exposing the Oid of PostgreSQL types \[\[[@&#8203;Razican](https://github.com/Razican)]]
    
  • [#&#8203;2519]]: Use ::std::result::Result::Ok in output.rs \[\[[@&#8203;southball](https://github.com/southball)]]
    
  • [#&#8203;2569]]: Fix broken links to mysql error documentation \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]]
    
  • [#&#8203;2570]]: Add a newline to the generated JSON files \[\[[@&#8203;nyurik](https://github.com/nyurik)]]
    
  • [#&#8203;2572]]: Do not panic when `PrepareOk` fails to decode \[\[[@&#8203;stepantubanov](https://github.com/stepantubanov)]]
    
  • [#&#8203;2573]]: fix(sqlite) Do not drop notify mutex guard until after condvar is triggered \[\[[@&#8203;andrewwhitehead](https://github.com/andrewwhitehead)]]
    
    
tokio-rs/tokio (tokio)

v1.40.0: Tokio v1.40.0

Compare Source

1.40.0 (August 30th, 2024)

Added
  • io: add util::SimplexStream (#​6589)
  • process: stabilize Command::process_group (#​6731)
  • sync: add {TrySendError,SendTimeoutError}::into_inner (#​6755)
  • task: add JoinSet::join_all (#​6784)
Added (unstable)
  • runtime: add Builder::{on_task_spawn, on_task_terminate} (#​6742)
Changed
  • io: use vectored io for write_all_buf when possible (#​6724)
  • runtime: prevent niche-optimization to avoid triggering miri (#​6744)
  • sync: mark mpsc types as UnwindSafe (#​6783)
  • sync,time: make Sleep and BatchSemaphore instrumentation explicit roots (#​6727)
  • task: use NonZeroU64 for task::Id (#​6733)
  • task: include panic message when printing JoinError (#​6753)
  • task: add #[must_use] to JoinHandle::abort_handle (#​6762)
  • time: eliminate timer wheel allocations (#​6779)
Documented
  • docs: clarify that [build] section doesn't go in Cargo.toml (#​6728)
  • io: clarify zero remaining capacity case (#​6790)
  • macros: improve documentation for select! (#​6774)
  • sync: document mpsc channel allocation behavior (#​6773)

v1.39.3: Tokio v1.39.3

Compare Source

1.39.3 (August 17th, 2024)

This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. (#​6772)

v1.39.2: Tokio v1.39.2

Compare Source

1.39.2 (July 27th, 2024)

This release fixes a regression where the select! macro stopped accepting expressions that make use of temporary lifetime extension. (#​6722)

v1.39.1: Tokio v1.39.1

Compare Source

1.39.1 (July 23rd, 2024)

This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. (#​6715)

v1.39.0: Tokio v1.39.0

Compare Source

1.39.0 (July 23rd, 2024)

  • This release bumps the MSRV to 1.70. (#​6645)
  • This release upgrades to mio v1. (#​6635)
  • This release upgrades to windows-sys v0.52 (#​6154)
Added
  • io: implement AsyncSeek for Empty (#​6663)
  • metrics: stabilize num_alive_tasks (#​6619, #​6667)
  • process: add Command::as_std_mut (#​6608)
  • sync: add watch::Sender::same_channel (#​6637)
  • sync: add {Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count} (#​6661)
  • sync: implement Default for watch::Sender (#​6626)
  • task: implement Clone for AbortHandle (#​6621)
  • task: stabilize consume_budget (#​6622)
Changed
  • io: improve panic message of ReadBuf::put_slice() (#​6629)
  • io: read during write in copy_bidirectional and copy (#​6532)
  • runtime: replace num_cpus with available_parallelism (#​6709)
  • task: avoid stack overflow when passing large future to block_on (#​6692)
  • time: avoid traversing entries in the time wheel twice (#​6584)
  • time: support IntoFuture with timeout (#​6666)
  • macros: support IntoFuture with join! and select! (#​6710)
Fixed
  • docs: fix docsrs builds with the fs feature enabled (#​6585)
  • io: only use short-read optimization on known-to-be-compatible platforms (#​6668)
  • time: fix overflow panic when using large durations with Interval (#​6612)
Added (unstable)
  • macros: allow unhandled_panic behavior for #[tokio::main] and #[tokio::test] (#​6593)
  • metrics: add spawned_tasks_count (#​6114)
  • metrics: add worker_park_unpark_count (#​6696)
  • metrics: add worker thread id (#​6695)
Documented
  • io: update tokio::io::stdout documentation (#​6674)
  • macros: typo fix in join.rs and try_join.rs (#​6641)
  • runtime: fix typo in unhandled_panic (#​6660)
  • task: document behavior of JoinSet::try_join_next when all tasks are running (#​6671)

v1.38.1: Tokio v1.38.1

Compare Source

1.38.1 (July 16th, 2024)

This release fixes the bug identified as (#​6682), which caused timers not
to fire when they should.

Fixed
  • time: update wake_up while holding all the locks of sharded time wheels (#​6683)

v1.38.0: Tokio v1.38.0

Compare Source

This release marks the beginning of stabilization for runtime metrics. It
stabilizes RuntimeMetrics::worker_count. Future releases will continue to
stabilize more metrics.

Added
  • fs: add File::create_new (#​6573)
  • io: add copy_bidirectional_with_sizes (#​6500)
  • io: implement AsyncBufRead for Join (#​6449)
  • net: add Apple visionOS support (#​6465)
  • net: implement Clone for NamedPipeInfo (#​6586)
  • net: support QNX OS (#​6421)
  • sync: add Notify::notify_last (#​6520)
  • sync: add mpsc::Receiver::{capacity,max_capacity} (#​6511)
  • sync: add split method to the semaphore permit (#​6472, #​6478)
  • task: add tokio::task::join_set::Builder::spawn_blocking (#​6578)
  • wasm: support rt-multi-thread with wasm32-wasi-preview1-threads (#​6510)
Changed
  • macros: make #[tokio::test] append #[test] at the end of the attribute list (#​6497)
  • metrics: fix blocking_threads count (#​6551)
  • metrics: stabilize RuntimeMetrics::worker_count (#​6556)
  • runtime: move task out of the lifo_slot in block_in_place (#​6596)
  • runtime: panic if global_queue_interval is zero (#​6445)
  • sync: always drop message in destructor for oneshot receiver (#​6558)
  • sync: instrument Semaphore for task dumps (#​6499)
  • sync: use FIFO ordering when waking batches of wakers (#​6521)
  • task: make LocalKey::get work with Clone types (#​6433)
  • tests: update nix and mio-aio dev-dependencies (#​6552)
  • time: clean up implementation (#​6517)
  • time: lazily init timers on first poll (#​6512)
  • time: remove the true_when field in TimerShared (#​6563)
  • time: use sharding for timer implementation (#​6534)
Fixed
  • taskdump: allow building taskdump docs on non-unix machines (#​6564)
  • time: check for overflow in Interval::poll_tick (#​6487)
  • sync: fix incorrect is_empty on mpsc block boundaries (#​6603)
Documented
  • fs: rewrite file system docs (#​6467)
  • io: fix stdin documentation (#​6581)
  • io: fix obsolete reference in ReadHalf::unsplit() documentation (#​6498)
  • macros: render more comprehensible documentation for select! (#​6468)
  • net: add missing types to module docs (#​6482)
  • net: fix misleading NamedPipeServer example (#​6590)
  • sync: add examples for SemaphorePermit, OwnedSemaphorePermit (#​6477)
  • sync: document that Barrier::wait is not cancel safe (#​6494)
  • sync: explain relation between watch::Sender::{subscribe,closed} (#​6490)
  • task: clarify that you can't abort spawn_blocking tasks (#​6571)
  • task: fix a typo in doc of LocalSet::run_until (#​6599)
  • time: fix test-util requirement for pause and resume in docs (#​6503)

v1.37.0: Tokio v1.37.0

Compare Source

1.37.0 (March 28th, 2024)

Added
  • fs: add set_max_buf_size to tokio::fs::File (#​6411)
  • io: add try_new and try_with_interest to AsyncFd (#​6345)
  • sync: add forget_permits method to semaphore (#​6331)
  • sync: add is_closed, is_empty, and len to mpsc receivers (#​6348)
  • sync: add a rwlock() method to owned RwLock guards (#​6418)
  • sync: expose strong and weak counts of mpsc sender handles (#​6405)
  • sync: implement Clone for watch::Sender (#​6388)
  • task: add TaskLocalFuture::take_value (#​6340)
  • task: implement FromIterator for JoinSet (#​6300)
Changed
  • io: make io::split use a mutex instead of a spinlock (#​6403)
Fixed
  • docs: fix docsrs build without net feature (#​6360)
  • macros: allow select with only else branch (#​6339)
  • runtime: fix leaking registration entries when os registration fails (#​6329)
Documented
  • io: document cancel safety of AsyncBufReadExt::fill_buf (#​6431)
  • io: document cancel safety of AsyncReadExt's primitive read functions (#​6337)
  • runtime: add doc link from Runtime to #[tokio::main] (#​6366)
  • runtime: make the enter example deterministic (#​6351)
  • sync: add Semaphore example for limiting the number of outgoing requests (#​6419)
  • sync: fix missing period in broadcast docs (#​6377)
  • sync: mark mpsc::Sender::downgrade with #[must_use] (#​6326)
  • sync: reorder const_new before new_with (#​6392)
  • sync: update watch channel docs (#​6395)
  • task: fix documentation links (#​6336)
Changed (unstable)
  • runtime: include task Id in taskdumps (#​6328)
  • runtime: panic if unhandled_panic is enabled when not supported (#​6410)

v1.36.0: Tokio v1.36.0

Compare Source

1.36.0 (February 2nd, 2024)

Added
  • io: add tokio::io::Join (#​6220)
  • io: implement AsyncWrite for Empty (#​6235)
  • net: add support for anonymous unix pipes (#​6127)
  • net: add UnixSocket (#​6290)
  • net: expose keepalive option on TcpSocket (#​6311)
  • sync: add {Receiver,UnboundedReceiver}::poll_recv_many (#​6236)
  • sync: add Sender::{try_,}reserve_many (#​6205)
  • sync: add watch::Receiver::mark_unchanged (#​6252)
  • task: add JoinSet::try_join_next (#​6280)
Changed
  • io: make copy cooperative (#​6265)
  • io: make repeat and sink cooperative (#​6254)
  • io: simplify check for empty slice (#​6293)
  • process: use pidfd on Linux when available (#​6152)
  • sync: use AtomicBool in broadcast channel future (#​6298)
Documented
  • io: clarify clear_ready docs (#​6304)
  • net: document that *Fd traits on TcpSocket are unix-only (#​6294)
  • sync: document FIFO behavior of tokio::sync::Mutex (#​6279)
  • chore: typographic improvements (#​6262)
  • runtime: remove obsolete comment (#​6303)
  • task: fix typo (#​6261)

v1.35.1: Tokio v1.35.1

Compare Source

1.35.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

Fixed
  • io: add budgeting to tokio::runtime::io::registration::async_io (#​6221)

v1.35.0: Tokio v1.35.0

Compare Source

1.35.0 (December 8th, 2023)

Added
  • net: add Apple watchOS support (#​6176)
Changed
  • io: drop the Sized requirements from AsyncReadExt.read_buf (#​6169)
  • runtime: make Runtime unwind safe (#​6189)
  • runtime: reduce the lock contention in task spawn (#​6001)
  • tokio: update nix dependency to 0.27.1 (#​6190)
Fixed
  • chore: make --cfg docsrs work without net feature (#​6166)
  • chore: use relaxed load for unsync_load on miri (#​6179)
  • runtime: handle missing context on wake (#​6148)
  • taskdump: fix taskdump cargo config example (#​6150)
  • taskdump: skip notified tasks during taskdumps (#​6194)
  • tracing: avoid creating resource spans with current parent, use a None parent instead (#​6107)
  • tracing: make task span explicit root (#​6158)
Documented
  • io: flush in AsyncWriteExt examples (#​6149)
  • runtime: document fairness guarantees and current behavior (#​6145)
  • task: document cancel safety of LocalSet::run_until (#​6147)

v1.34.0: Tokio v1.34.0

Compare Source

Fixed
  • io: allow clear_readiness after io driver shutdown (#​6067)
  • io: fix integer overflow in take (#​6080)
  • io: fix I/O resource hang (#​6134)
  • sync: fix broadcast::channel link (#​6100)
Changed
  • macros: use ::core qualified imports instead of ::std inside tokio::test macro (#​5973)
Added
  • fs: update cfg attr in fs::read_dir to include aix (#​6075)
  • sync: add mpsc::Receiver::recv_many (#​6010)
  • tokio: added vita target support (#​6094)

v1.33.0: Tokio v1.33.0

Compare Source

1.33.0 (October 9, 2023)

Fixed
  • io: mark Interest::add with #[must_use] (#​6037)
  • runtime: fix cache line size for RISC-V (#​5994)
  • sync: prevent lock poisoning in watch::Receiver::wait_for (#​6021)
  • task: fix spawn_local source location (#​5984)
Changed
  • sync: use Acquire/Release orderings instead of SeqCst in watch (#​6018)
Added
  • fs: add vectored writes to tokio::fs::File (#​5958)
  • io: add Interest::remove method (#​5906)
  • io: add vectored writes to DuplexStream (#​5985)
  • net: add Apple tvOS support (#​6045)
  • sync: add ?Sized bound to {MutexGuard,OwnedMutexGuard}::map (#​5997)
  • sync: add watch::Receiver::mark_unseen (#​5962, #​6014, #​6017)
  • sync: add watch::Sender::new (#​5998)
  • sync: add const fn OnceCell::from_value (#​5903)
Removed
  • remove unused stats feature (#​5952)
Documented
Unstable
  • taskdump: fix potential deadlock (#​6036)

v1.32.1: Tokio v1.32.1

Compare Source

1.32.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

Fixed
  • io: add budgeting to tokio::runtime::io::registration::async_io (#​6221)

v1.32.0: Tokio v1.32.0

Compare Source

Fixed
  • sync: fix potential quadratic behavior in broadcast::Receiver (#​5925)
Added
  • process: stabilize Command::raw_arg (#​5930)
  • io: enable awaiting error readiness (#​5781)
Unstable
  • rt(alt): improve the scalability of alt runtime as the number of cores grows (#​5935)

v1.31.0: Tokio v1.31.0

Compare Source

Fixed
  • io: delegate WriteHalf::poll_write_vectored (#​5914)
Unstable
  • rt(unstable): fix memory leak in unstable next-gen scheduler prototype (#​5911)
  • rt: expose mean task poll time metric (#​5927)

v1.30.0: Tokio v1.30.0

Compare Source

1.30.0 (August 9, 2023)

This release bumps the MSRV of Tokio to 1.63. (#​5887)

Changed
  • tokio: reduce LLVM code generation (#​5859)
  • io: support --cfg mio_unsupported_force_poll_poll flag (#​5881)
  • sync: make const_new methods always available (#​5885)
  • sync: avoid false sharing in mpsc channel (#​5829)
  • rt: pop at least one task from inject queue (#​5908)
Added
  • sync: add broadcast::Sender::new (#​5824)
  • net: implement UCred for espidf (#​5868)
  • fs: add File::options() (#​5869)
  • time: implement extra reset variants for Interval (#​5878)
  • process: add {ChildStd*}::into_owned_{fd, handle} (#​5899)
Removed
  • tokio: removed unused tokio_* cfgs (#​5890)
  • remove build script to speed up compilation (#​5887)
Documented
  • sync: mention lagging in docs for broadcast::send (#​5820)
  • runtime: expand on sharing runtime docs (#​5858)
  • io: use vec in example for AsyncReadExt::read_exact (#​5863)
  • time: mark Sleep as !Unpin in docs (#​5916)
  • process: fix raw_arg not showing up in docs (#​5865)
Unstable
  • rt: add runtime ID (#​5864)
  • rt: initial implementation of new threaded runtime (#​5823)

v1.29.1: Tokio v1.29.1

Compare Source

Fixed
  • rt: fix nesting two block_in_place with a block_on between (#​5837)

v1.29.0: Tokio v1.29.0

Compare Source

Technically a breaking change, the Send implementation is removed from
runtime::EnterGuard. This change fixes a bug and should not impact most users.

Breaking
  • rt: EnterGuard should not be Send (#​5766)
Fixed
  • fs: reduce blocking ops in fs::read_dir (#​5653)
  • rt: fix possible starvation (#​5686, #​5712)
  • rt: fix stacked borrows issue in JoinSet (#​5693)
  • rt: panic if EnterGuard dropped incorrect order (#​5772)
  • time: do not overflow to signal value (#​5710)
  • fs: wait for in-flight ops before cloning File (#​5803)
Changed
  • rt: reduce time to poll tasks scheduled from outside the runtime (#​5705, #​5720)
Added
  • net: add uds doc alias for unix sockets (#​5659)
  • rt: add metric for number of tasks (#​5628)
  • sync: implement more traits for channel errors (#​5666)
  • net: add nodelay methods on TcpSocket (#​5672)
  • sync: add broadcast::Receiver::blocking_recv (#​5690)
  • process: add raw_arg method to Command (#​5704)
  • io: support PRIORITY epoll events (#​5566)
  • task: add JoinSet::poll_join_next (#​5721)
  • net: add support for Redox OS (#​5790)
Unstable

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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.71` -> `1.0.89` | | [axum](https://github.com/tokio-rs/axum) | workspace.dependencies | minor | `0.6.18` -> `0.7.0` | | [chrono](https://github.com/chronotope/chrono) | dependencies | patch | `0.4.26` -> `0.4.38` | | [clap](https://github.com/clap-rs/clap) | workspace.dependencies | minor | `4.3.4` -> `4.5.17` | | [sqlx](https://github.com/launchbadge/sqlx) | dependencies | minor | `0.6` -> `0.8` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.28.2` -> `1.40.0` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.89`](https://github.com/dtolnay/anyhow/releases/tag/1.0.89) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.88...1.0.89) - Make anyhow::Error's `UnwindSafe` and `RefUnwindSafe` impl consistently available between versions of Rust newer and older than 1.72 ([#&#8203;386](https://github.com/dtolnay/anyhow/issues/386)) ### [`v1.0.88`](https://github.com/dtolnay/anyhow/releases/tag/1.0.88) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.87...1.0.88) - Documentation improvements ### [`v1.0.87`](https://github.com/dtolnay/anyhow/releases/tag/1.0.87) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.86...1.0.87) - Support more APIs, including `Error::new` and `Error::chain`, in no-std mode on Rust 1.81+ ([#&#8203;383](https://github.com/dtolnay/anyhow/issues/383)) ### [`v1.0.86`](https://github.com/dtolnay/anyhow/releases/tag/1.0.86) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.85...1.0.86) - Fix parse error in `ensure!` with non-literal after minus sign ([#&#8203;373](https://github.com/dtolnay/anyhow/issues/373)) ### [`v1.0.85`](https://github.com/dtolnay/anyhow/releases/tag/1.0.85) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.84...1.0.85) - Improve `ensure!` macro's rules to unblock some rustc pretty-printer improvements ([#&#8203;368](https://github.com/dtolnay/anyhow/issues/368), [#&#8203;371](https://github.com/dtolnay/anyhow/issues/371)) ### [`v1.0.84`](https://github.com/dtolnay/anyhow/releases/tag/1.0.84) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.83...1.0.84) - Disallow calling `ensure!` through a `Not` impl for a type that is not `bool` ([#&#8203;367](https://github.com/dtolnay/anyhow/issues/367)) ### [`v1.0.83`](https://github.com/dtolnay/anyhow/releases/tag/1.0.83) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.82...1.0.83) - Integrate compile-time checking of cfgs ([#&#8203;363](https://github.com/dtolnay/anyhow/issues/363)) ### [`v1.0.82`](https://github.com/dtolnay/anyhow/releases/tag/1.0.82) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.81...1.0.82) - Documentation improvements ### [`v1.0.81`](https://github.com/dtolnay/anyhow/releases/tag/1.0.81) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.80...1.0.81) - Make backtrace support available when using -Dwarnings ([#&#8203;354](https://github.com/dtolnay/anyhow/issues/354)) ### [`v1.0.80`](https://github.com/dtolnay/anyhow/releases/tag/1.0.80) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.79...1.0.80) - Fix unused_imports warnings when compiled by rustc 1.78 ### [`v1.0.79`](https://github.com/dtolnay/anyhow/releases/tag/1.0.79) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.78...1.0.79) - Work around improperly cached build script result by sccache ([#&#8203;340](https://github.com/dtolnay/anyhow/issues/340)) ### [`v1.0.78`](https://github.com/dtolnay/anyhow/releases/tag/1.0.78) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.77...1.0.78) - Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain ([#&#8203;337](https://github.com/dtolnay/anyhow/issues/337)) ### [`v1.0.77`](https://github.com/dtolnay/anyhow/releases/tag/1.0.77) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.76...1.0.77) - Make `anyhow::Error::backtrace` available on stable Rust compilers 1.65+ ([#&#8203;293](https://github.com/dtolnay/anyhow/issues/293), thanks [@&#8203;LukasKalbertodt](https://github.com/LukasKalbertodt)) ### [`v1.0.76`](https://github.com/dtolnay/anyhow/releases/tag/1.0.76) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.75...1.0.76) - Opt in to `unsafe_op_in_unsafe_fn` lint ([#&#8203;329](https://github.com/dtolnay/anyhow/issues/329)) ### [`v1.0.75`](https://github.com/dtolnay/anyhow/releases/tag/1.0.75) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.74...1.0.75) - Partially work around rust-analyzer bug (https://github.com/rust-lang/rust-analyzer/issues/9911) ### [`v1.0.74`](https://github.com/dtolnay/anyhow/releases/tag/1.0.74) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.73...1.0.74) - Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://github.com/dtolnay/anyhow/issues/320), thanks [@&#8203;RalfJung](https://github.com/RalfJung)) ### [`v1.0.73`](https://github.com/dtolnay/anyhow/releases/tag/1.0.73) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.72...1.0.73) - Update backtrace support to nightly's new Error::provide API (https://github.com/rust-lang/rust/pull/113464, [#&#8203;319](https://github.com/dtolnay/anyhow/issues/319)) ### [`v1.0.72`](https://github.com/dtolnay/anyhow/releases/tag/1.0.72) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.72) - Documentation improvements </details> <details> <summary>tokio-rs/axum (axum)</summary> ### [`v0.7.5`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.5): axum - v0.7.5 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.7.4...axum-v0.7.5) - **fixed:** Fixed layers being cloned when calling `axum::serve` directly with a `Router` or `MethodRouter` ([#&#8203;2586]) - **fixed:** `h2` is no longer pulled as a dependency unless the `http2` feature is enabled ([#&#8203;2605]) [#&#8203;2586]: https://github.com/tokio-rs/axum/pull/2586 [#&#8203;2605]: https://github.com/tokio-rs/axum/pull/2605 ### [`v0.7.4`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.4): axum - v0.7.4 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.7.3...axum-v0.7.4) - **fixed:** Fix performance regression present since axum 0.7.0 ([#&#8203;2483]) - **fixed:** Improve `debug_handler` on tuple response types ([#&#8203;2201]) - **added:** Add `must_use` attribute to `Serve` and `WithGracefulShutdown` ([#&#8203;2484]) - **added:** Re-export `axum_core::body::BodyDataStream` from axum [#&#8203;2201]: https://github.com/tokio-rs/axum/pull/2201 [#&#8203;2483]: https://github.com/tokio-rs/axum/pull/2483 [#&#8203;2201]: https://github.com/tokio-rs/axum/pull/2201 [#&#8203;2484]: https://github.com/tokio-rs/axum/pull/2484 ### [`v0.7.3`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.3): axum - v0.7.3 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.7.2...axum-v0.7.3) - **added:** `Body` implements `From<()>` now ([#&#8203;2411]) - **change:** Update version of multer used internally for multipart ([#&#8203;2433]) - **change:** Update tokio-tungstenite to 0.21 ([#&#8203;2435]) - **added:** Enable `tracing` feature by default ([#&#8203;2460]) - **added:** Support graceful shutdown on `serve` ([#&#8203;2398]) - **added:** `RouterIntoService` implements `Clone` ([#&#8203;2456]) [#&#8203;2411]: https://github.com/tokio-rs/axum/pull/2411 [#&#8203;2433]: https://github.com/tokio-rs/axum/pull/2433 [#&#8203;2435]: https://github.com/tokio-rs/axum/pull/2435 [#&#8203;2460]: https://github.com/tokio-rs/axum/pull/2460 [#&#8203;2398]: https://github.com/tokio-rs/axum/pull/2398 [#&#8203;2456]: https://github.com/tokio-rs/axum/pull/2456 ### [`v0.7.2`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.2): axum - v0.7.2 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.7.1...axum-v0.7.2) - **added:** Add `axum::body::to_bytes` ([#&#8203;2373]) - **fixed:** Gracefully handle accept errors in `serve` ([#&#8203;2400]) [#&#8203;2373]: https://github.com/tokio-rs/axum/pull/2373 [#&#8203;2400]: https://github.com/tokio-rs/axum/pull/2400 ### [`v0.7.1`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.1): axum - v0.7.1 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.7.0...axum-v0.7.1) - **fix**: Fix readme. ### [`v0.7.0`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.0): axum - v0.7.0 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.20...axum-v0.7.0) - **breaking:** Update public dependencies. axum now requires - [hyper](https://crates.io/crates/hyper) 1.0 - [http](https://crates.io/crates/http) 1.0 - [http-body](https://crates.io/crates/http-body) 1.0 - **breaking:** axum now requires [tower-http](https://crates.io/crates/tower-http) 0.5 - **breaking:** Remove deprecated `WebSocketUpgrade::max_send_queue` - **breaking:** The following types/traits are no longer generic over the request body (i.e. the `B` type param has been removed) ([#&#8203;1751] and [#&#8203;1789]): - `FromRequestParts` - `FromRequest` - `HandlerService` - `HandlerWithoutStateExt` - `Handler` - `LayeredFuture` - `Layered` - `MethodRouter` - `Next` - `RequestExt` - `RouteFuture` - `Route` - `Router` - **breaking:** axum no longer re-exports `hyper::Body` as that type is removed in hyper 1.0. Instead axum has its own body type at `axum::body::Body` ([#&#8203;1751]) - **breaking:** `extract::BodyStream` has been removed as `body::Body` implements `Stream` and `FromRequest` directly ([#&#8203;1751]) - **breaking:** Change `sse::Event::json_data` to use `axum_core::Error` as its error type ([#&#8203;1762]) - **breaking:** Rename `DefaultOnFailedUpdgrade` to `DefaultOnFailedUpgrade` ([#&#8203;1664]) - **breaking:** Rename `OnFailedUpdgrade` to `OnFailedUpgrade` ([#&#8203;1664]) - **breaking:** `TypedHeader` has been move to `axum-extra` ([#&#8203;1850]) - **breaking:** Removed re-exports of `Empty` and `Full`. Use `axum::body::Body::empty` and `axum::body::Body::from` respectively ([#&#8203;1789]) - **breaking:** The response returned by `IntoResponse::into_response` must use `axum::body::Body` as the body type. `axum::response::Response` does this ([#&#8203;1789]) - **breaking:** Removed the `BoxBody` type alias and its `box_body` constructor. Use `axum::body::Body::new` instead ([#&#8203;1789]) - **breaking:** Remove `RawBody` extractor. `axum::body::Body` implements `FromRequest` directly ([#&#8203;1789]) - **breaking:** The following types from `http-body` no longer implement `IntoResponse`: - `Full`, use `Body::from` instead - `Empty`, use `Body::empty` instead - `BoxBody`, use `Body::new` instead - `UnsyncBoxBody`, use `Body::new` instead - `MapData`, use `Body::new` instead - `MapErr`, use `Body::new` instead - **added:** Add `axum::extract::Request` type alias where the body is `axum::body::Body` ([#&#8203;1789]) - **added:** Add `Router::as_service` and `Router::into_service` to workaround type inference issues when calling `ServiceExt` methods on a `Router` ([#&#8203;1835]) - **breaking:** Removed `axum::Server` as it was removed in hyper 1.0. Instead use `axum::serve(listener, service)` or hyper/hyper-util for more configuration options ([#&#8203;1868]) - **breaking:** Only inherit fallbacks for routers nested with `Router::nest`. Routers nested with `Router::nest_service` will no longer inherit fallbacks ([#&#8203;1956]) - **fixed:** Don't remove the `Sec-WebSocket-Key` header in `WebSocketUpgrade` ([#&#8203;1972]) - **added:** Add `axum::extract::Query::try_from_uri` ([#&#8203;2058]) - **added:** Implement `IntoResponse` for `Box<str>` and `Box<[u8]>` (\[[#&#8203;2035](https://github.com/tokio-rs/axum/issues/2035)]) - **breaking:** Simplify `MethodFilter`. It no longer uses bitflags ([#&#8203;2073]) - **fixed:** Fix bugs around merging routers with nested fallbacks ([#&#8203;2096]) - **fixed:** Fix `.source()` of composite rejections ([#&#8203;2030]) - **fixed:** Allow unreachable code in `#[debug_handler]` ([#&#8203;2014]) - **change:** axum's MSRV is now 1.66 ([#&#8203;1882]) - **added:** Implement `IntoResponse` for `(R,) where R: IntoResponse` ([#&#8203;2143]) - **changed:** For SSE, add space between field and value for compatibility ([#&#8203;2149]) - **added:** Add `NestedPath` extractor ([#&#8203;1924]) - **added:** Add `handle_error` function to existing `ServiceExt` trait ([#&#8203;2235]) - **breaking:** `impl<T> IntoResponse(Parts) for Extension<T>` now requires `T: Clone`, as that is required by the http crate ([#&#8203;1882]) - **added:** Add `axum::Json::from_bytes` ([#&#8203;2244]) - **added:** Implement `FromRequestParts` for `http::request::Parts` ([#&#8203;2328]) - **added:** Implement `FromRequestParts` for `http::Extensions` ([#&#8203;2328]) - **fixed:** Clearly document applying `DefaultBodyLimit` to individual routes ([#&#8203;2157]) [#&#8203;1664]: https://github.com/tokio-rs/axum/pull/1664 [#&#8203;1751]: https://github.com/tokio-rs/axum/pull/1751 [#&#8203;1762]: https://github.com/tokio-rs/axum/pull/1762 [#&#8203;1789]: https://github.com/tokio-rs/axum/pull/1789 [#&#8203;1835]: https://github.com/tokio-rs/axum/pull/1835 [#&#8203;1850]: https://github.com/tokio-rs/axum/pull/1850 [#&#8203;1868]: https://github.com/tokio-rs/axum/pull/1868 [#&#8203;1882]: https://github.com/tokio-rs/axum/pull/1882 [#&#8203;1924]: https://github.com/tokio-rs/axum/pull/1924 [#&#8203;1956]: https://github.com/tokio-rs/axum/pull/1956 [#&#8203;1972]: https://github.com/tokio-rs/axum/pull/1972 [#&#8203;2014]: https://github.com/tokio-rs/axum/pull/2014 [#&#8203;2021]: https://github.com/tokio-rs/axum/pull/2021 [#&#8203;2030]: https://github.com/tokio-rs/axum/pull/2030 [#&#8203;2058]: https://github.com/tokio-rs/axum/pull/2058 [#&#8203;2073]: https://github.com/tokio-rs/axum/pull/2073 [#&#8203;2096]: https://github.com/tokio-rs/axum/pull/2096 [#&#8203;2140]: https://github.com/tokio-rs/axum/pull/2140 [#&#8203;2143]: https://github.com/tokio-rs/axum/pull/2143 [#&#8203;2149]: https://github.com/tokio-rs/axum/pull/2149 [#&#8203;2157]: https://github.com/tokio-rs/axum/pull/2157 [#&#8203;2235]: https://github.com/tokio-rs/axum/pull/2235 [#&#8203;2244]: https://github.com/tokio-rs/axum/pull/2244 [#&#8203;2328]: https://github.com/tokio-rs/axum/pull/2328 ### [`v0.6.20`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.20): axum - v0.6.20 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.19...axum-v0.6.20) - **added:** `WebSocketUpgrade::write_buffer_size` and `WebSocketUpgrade::max_write_buffer_size` - **changed:** Deprecate `WebSocketUpgrade::max_send_queue` - **change:** Update tokio-tungstenite to 0.20 - **added:** Implement `Handler` for `T: IntoResponse` ([#&#8203;2140]) [#&#8203;2140]: https://github.com/tokio-rs/axum/pull/2140 ### [`v0.6.19`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.19): axum - v0.6.19 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.18...axum-v0.6.19) - **added:** Add `axum::extract::Query::try_from_uri` ([#&#8203;2058]) - **added:** Implement `IntoResponse` for `Box<str>` and `Box<[u8]>` ([#&#8203;2035]) - **fixed:** Fix bugs around merging routers with nested fallbacks ([#&#8203;2096]) - **fixed:** Fix `.source()` of composite rejections ([#&#8203;2030]) - **fixed:** Allow unreachable code in `#[debug_handler]` ([#&#8203;2014]) - **change:** Update tokio-tungstenite to 0.19 ([#&#8203;2021]) - **change:** axum's MSRV is now 1.63 ([#&#8203;2021]) [#&#8203;2014]: https://github.com/tokio-rs/axum/pull/2014 [#&#8203;2021]: https://github.com/tokio-rs/axum/pull/2021 [#&#8203;2030]: https://github.com/tokio-rs/axum/pull/2030 [#&#8203;2035]: https://github.com/tokio-rs/axum/pull/2035 [#&#8203;2058]: https://github.com/tokio-rs/axum/pull/2058 [#&#8203;2096]: https://github.com/tokio-rs/axum/pull/2096 </details> <details> <summary>chronotope/chrono (chrono)</summary> ### [`v0.4.38`](https://github.com/chronotope/chrono/releases/tag/v0.4.38) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.37...v0.4.38) This release bring a ca. 20% improvement to the performance of the formatting code, and a convenient `days_since` method for the `Weekday` type. Chrono 0.4.38 also removes the long deprecated `rustc-serialize` feature. Support for `rustc-serialize` will be [soft-destabilized in the next Rust edition](https://github.com/rust-lang/rust/pull/116016). Removing the feature will not break existing users of the feature; Cargo will just not update dependents that rely on it to newer versions of chrono. In chrono 0.4.36 we made an accidental breaking change by switching to `derive(Copy)` for `DateTime` instead of a manual implementation. It is reverted in this release. ### Removals - Remove `rustc-serialize` feature ([#&#8203;1548](https://github.com/chronotope/chrono/issues/1548), thanks [@&#8203;workingjubilee](https://github.com/workingjubilee)) ### Additions - Add `Weekday::days_since` ([#&#8203;1249](https://github.com/chronotope/chrono/issues/1249), based on [#&#8203;216](https://github.com/chronotope/chrono/issues/216) by [@&#8203;clarfonthey](https://github.com/clarfonthey)) - Add `TimeDelta::checked_mul` and `TimeDelta::checked_div` ([#&#8203;1565](https://github.com/chronotope/chrono/issues/1565), thanks [@&#8203;Zomtir](https://github.com/Zomtir)) ### Fixes - Return error when rounding with a zero duration ([#&#8203;1474](https://github.com/chronotope/chrono/issues/1474), thanks [@&#8203;Dav1dde](https://github.com/Dav1dde)) - Manually implement `Copy` for `DateTime` if offset is `Copy` ([#&#8203;1573](https://github.com/chronotope/chrono/issues/1573)) ### Internal - Inline `test_encodable_json` and `test_decodable_json` functions ([#&#8203;1550](https://github.com/chronotope/chrono/issues/1550)) - CI: Reduce combinations in `cargo hack check` ([#&#8203;1553](https://github.com/chronotope/chrono/issues/1553)) - Refactor formatting code ([#&#8203;1335](https://github.com/chronotope/chrono/issues/1335)) - Optimize number formatting ([#&#8203;1558](https://github.com/chronotope/chrono/issues/1558)) - Only package files needed for building and testing ([#&#8203;1554](https://github.com/chronotope/chrono/issues/1554)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! ### [`v0.4.37`](https://github.com/chronotope/chrono/releases/tag/v0.4.37) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.36...v0.4.37) Version 0.4.36 introduced an unexpected breaking change and was yanked. In it `LocalResult` was renamed to `MappedLocalTime` to avoid the impression that it is a `Result` type 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 name `MappedLocalTime` the 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](https://github.com/chronotope/chrono/releases/tag/v0.4.36) from yesterday for the yanked release. ### [`v0.4.36`](https://github.com/chronotope/chrono/releases/tag/v0.4.36) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.35...v0.4.36) This release un-deprecates the methods on `TimeDelta` that 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: ```rust use chrono::{Local, NaiveTime}; // Today at 12:00:00 let today_noon = Local::now().with_time(NaiveTime::from_hms_opt(12, 0, 0).unwrap()); ``` ### Additions - Add `DateTime::with_time()` ([#&#8203;1510](https://github.com/chronotope/chrono/issues/1510)) ### Deprecations - Revert `TimeDelta` deprecations ([#&#8203;1543](https://github.com/chronotope/chrono/issues/1543)) - Deprecate `TimeStamp::timestamp_subsec_nanos`, which was missed in the 0.4.35 release ([#&#8203;1486](https://github.com/chronotope/chrono/issues/1486)) ### Documentation - Correct version number of deprecation notices ([#&#8203;1486](https://github.com/chronotope/chrono/issues/1486)) - Fix some typos ([#&#8203;1505](https://github.com/chronotope/chrono/issues/1505)) - Slightly improve serde documentation ([#&#8203;1519](https://github.com/chronotope/chrono/issues/1519)) - Main documentation: simplify links and reflow text ([#&#8203;1535](https://github.com/chronotope/chrono/issues/1535)) ### Internal - CI: Lint benchmarks ([#&#8203;1489](https://github.com/chronotope/chrono/issues/1489)) - Remove unnessary `Copy` and `Send` impls ([#&#8203;1492](https://github.com/chronotope/chrono/issues/1492), thanks [@&#8203;erickt](https://github.com/erickt)) - Backport streamlined `NaiveDate` unit tests ([#&#8203;1500](https://github.com/chronotope/chrono/issues/1500), thanks [@&#8203;Zomtir](https://github.com/Zomtir)) - Rename `LocalResult` to `TzResolution`, add alias ([#&#8203;1501](https://github.com/chronotope/chrono/issues/1501)) - Update windows-bindgen to 0.55 ([#&#8203;1504](https://github.com/chronotope/chrono/issues/1504)) - Avoid duplicate imports, which generate warnings on nightly ([#&#8203;1507](https://github.com/chronotope/chrono/issues/1507)) - Add extra debug assertions to `NaiveDate::from_yof` ([#&#8203;1518](https://github.com/chronotope/chrono/issues/1518)) - Some small simplifications to `DateTime::date_naive` and `NaiveDate::diff_months` ([#&#8203;1530](https://github.com/chronotope/chrono/issues/1530)) - Remove `unwrap` in Unix `Local` type ([#&#8203;1533](https://github.com/chronotope/chrono/issues/1533)) - Use different method to ignore feature-dependent doctests ([#&#8203;1534](https://github.com/chronotope/chrono/issues/1534)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! ### [`v0.4.35`](https://github.com/chronotope/chrono/releases/tag/v0.4.35) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.34...v0.4.35) 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. The `NaiveDateTime` type 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 the `DateTime<Utc>` type, or from the `TimeZone` trait. Converting from `NaiveDateTime` to `DateTime<Utc>` is simple with `.and_utc()`, and in the other direction with `.naive_utc()`. - The panicking constructors of `TimeDelta` (the new name of the `Duration` type) 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 `NaiveDate` now includes a niche. So now `Option<NaiveDate>`, `Option<NaiveDateTime>` and `Option<DateTime<Tz>>` are the same size as their base types. - `format::Numeric` and `format::Fixed` are marked as `non_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 - Add `DateTime::{from_timestamp_micros, from_timestamp_nanos}` ([#&#8203;1234](https://github.com/chronotope/chrono/issues/1234)) - Add getters to `Parsed` ([#&#8203;1465](https://github.com/chronotope/chrono/issues/1465)) ### Deprecations - Deprecate timestamp methods on `NaiveDateTime` ([#&#8203;1473](https://github.com/chronotope/chrono/issues/1473)) - Deprecate panicking constructors of `TimeDelta` ([#&#8203;1450](https://github.com/chronotope/chrono/issues/1450)) ### Changes/fixes - Use `NonZeroI32` inside `NaiveDate` ([#&#8203;1207](https://github.com/chronotope/chrono/issues/1207)) - Mark `format::Numeric` and `format::Fixed` as `non_exhaustive` ([#&#8203;1430](https://github.com/chronotope/chrono/issues/1430)) - `Parsed` fixes to error values ([#&#8203;1439](https://github.com/chronotope/chrono/issues/1439)) - Use `overflowing_naive_local` in `DateTime::checked_add*` ([#&#8203;1333](https://github.com/chronotope/chrono/issues/1333)) - Do complete range checks in `Parsed::set_*` ([#&#8203;1465](https://github.com/chronotope/chrono/issues/1465)) ### Documentation - Rustfmt doctests ([#&#8203;1452](https://github.com/chronotope/chrono/issues/1452)) - Improve docs for crate features ([#&#8203;1455](https://github.com/chronotope/chrono/issues/1455), thanks [@&#8203;edmorley](https://github.com/edmorley)) - Add more documentation and examples to `Parsed` ([#&#8203;1439](https://github.com/chronotope/chrono/issues/1439)) ### Internal - Refactor `internals` module ([#&#8203;1428](https://github.com/chronotope/chrono/issues/1428), [#&#8203;1429](https://github.com/chronotope/chrono/issues/1429), [#&#8203;1431](https://github.com/chronotope/chrono/issues/1431), [#&#8203;1432](https://github.com/chronotope/chrono/issues/1432), [#&#8203;1433](https://github.com/chronotope/chrono/issues/1433), [#&#8203;1438](https://github.com/chronotope/chrono/issues/1438)) - CI: test cross-compiling to `x86_64-unknown-illumos` instead of Solaris ([#&#8203;1437](https://github.com/chronotope/chrono/issues/1437)) - CI: lint Windows target, fix clippy warning ([#&#8203;1441](https://github.com/chronotope/chrono/issues/1441)) - CI: only run `cargo hack check` on Linux ([#&#8203;1442](https://github.com/chronotope/chrono/issues/1442)) - Update windows-bindgen to 0.54 ([#&#8203;1462](https://github.com/chronotope/chrono/issues/1462), [#&#8203;1483](https://github.com/chronotope/chrono/issues/1483)) - Simplify error value of `parse_internal` ([#&#8203;1459](https://github.com/chronotope/chrono/issues/1459)) - Simplify `SerdeError` ([#&#8203;1458](https://github.com/chronotope/chrono/issues/1458)) - Simplify `NaiveDate::from_isoywd` a bit ([#&#8203;1464](https://github.com/chronotope/chrono/issues/1464)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! ### [`v0.4.34`](https://github.com/chronotope/chrono/releases/tag/v0.4.34) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.33...v0.4.34) ### Notable changes - In chrono 0.4.34 we finished the work to make all methods const where doing so is supported by rust 1.61. - We renamed the `Duration` type to `TimeDelta`. This removes the confusion between chrono's type and the later `Duration` type in the standard library. It will remain available under the old name as a type alias for compatibility. - The Windows implementation of `Local` is 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. - The `Display` format of `TimeDelta` is 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 - Add missing range check in `TimeDelta::milliseconds` ([#&#8203;1385](https://github.com/chronotope/chrono/issues/1385), thanks [@&#8203;danwilliams](https://github.com/danwilliams)) - Remove check for `DurationExceedsTimestamp` in `DurationRound` ([#&#8203;1403](https://github.com/chronotope/chrono/issues/1403), thanks [@&#8203;joroKr21](https://github.com/joroKr21)) - Fix localized formatting with `%X` (https://github.com/chronotope/pure-rust-locales/pull/12, [#&#8203;1420](https://github.com/chronotope/chrono/issues/1420)) - Windows: base implementation on `GetTimeZoneInformationForYear` ([#&#8203;1017](https://github.com/chronotope/chrono/issues/1017)) ### Additions - Add `TimeDelta::try_milliseconds` ([#&#8203;1385](https://github.com/chronotope/chrono/issues/1385), thanks [@&#8203;danwilliams](https://github.com/danwilliams)) - Add `TimeDelta::new` ([#&#8203;1337](https://github.com/chronotope/chrono/issues/1337)) - Add `StrftimeItems::{parse, parse_to_owned}` and more documentation ([#&#8203;1184](https://github.com/chronotope/chrono/issues/1184)) - More standard traits and documentation for `format::Locale` (via https://github.com/chronotope/pure-rust-locales/pull/8) ### Changes - Rename `Duration` to `TimeDelta`, add type alias ([#&#8203;1406](https://github.com/chronotope/chrono/issues/1406)) - Make `TimeDelta` methods const ([#&#8203;1337](https://github.com/chronotope/chrono/issues/1337)) - Make remaining methods of `NaiveDate`, `NaiveWeek`, `NaiveTime` and `NaiveDateTime` const where possible ([#&#8203;1337](https://github.com/chronotope/chrono/issues/1337)) - Make methods on `DateTime` const where possible ([#&#8203;1400](https://github.com/chronotope/chrono/issues/1400)) - Make `Display` format of `TimeDelta` conform better to ISO 8601 ([#&#8203;1328](https://github.com/chronotope/chrono/issues/1328)) ### Documentation - Fix the formatting of `timestamp_micros`'s Example doc ([#&#8203;1338](https://github.com/chronotope/chrono/issues/1338) via [#&#8203;1386](https://github.com/chronotope/chrono/issues/1386), thanks [@&#8203;emikitas](https://github.com/emikitas)) - Specify branch for GitHub Actions badge and fix link ([#&#8203;1388](https://github.com/chronotope/chrono/issues/1388)) - Don't mention some deprecated methods in docs ([#&#8203;1395](https://github.com/chronotope/chrono/issues/1395)) - Remove stray documentation from main ([#&#8203;1397](https://github.com/chronotope/chrono/issues/1397)) - Improved documentation of `TimeDelta` constructors ([#&#8203;1385](https://github.com/chronotope/chrono/issues/1385), thanks [@&#8203;danwilliams](https://github.com/danwilliams)) ### Internal - Switch branch names: 0.4.x releases are the `main` branch, work on 0.5 happens in the `0.5.x` branch ([#&#8203;1390](https://github.com/chronotope/chrono/issues/1390), [#&#8203;1402](https://github.com/chronotope/chrono/issues/1402)). - Don't use deprecated method in `impl Arbitrary for DateTime` and set up CI test ([#&#8203;1336](https://github.com/chronotope/chrono/issues/1336)) - Remove workaround for Rust < 1.61 ([#&#8203;1393](https://github.com/chronotope/chrono/issues/1393)) - Bump `codecov/codecov-action` from 3 to 4 ([#&#8203;1404](https://github.com/chronotope/chrono/issues/1404)) - Remove partial support for handling `-0000` offset ([#&#8203;1411](https://github.com/chronotope/chrono/issues/1411)) - Move `TOO_LONG` error out of `parse_internal` ([#&#8203;1419](https://github.com/chronotope/chrono/issues/1419)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! ### [`v0.4.33`](https://github.com/chronotope/chrono/releases/tag/v0.4.33) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.32...v0.4.33) This release fixes the broken docrs.rs build of [chrono 0.4.32](https://github.com/chronotope/chrono/releases/tag/v0.4.32). #### What's Changed - Make `rkyv` feature imply `size_32` ([#&#8203;1383](https://github.com/chronotope/chrono/issues/1383)) - Fixed typo in `Duration::hours()` exception ([#&#8203;1384](https://github.com/chronotope/chrono/issues/1384), thanks [@&#8203;danwilliams](https://github.com/danwilliams)) ### [`v0.4.32`](https://github.com/chronotope/chrono/releases/tag/v0.4.32) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.31...v0.4.32) In this release we shipped part of the effort to reduce the number of methods that could unexpectedly panic, notably for the `DateTime` and `Duration` types. Chrono internally stores the value of a `DateTime` in UTC, and transparently converts it to the local value as required. For example adding a second to a `DateTime` needs 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 for `Debug` output. In chrono 0.4.32 the range of `NaiveDate`, `NaiveDateTime` and `DateTime` is 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 the `MIN` and `MAX` dates. `Duration` had a similar issue. The range of this type was pretty arbitrary picked to match the range of an `i64` in milliseconds. Negating an `i64::MIN` pushes a value out of range, and in the same way negating `Duration::MIN` could 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::MAX` instead and prevent the panic case. Other highlights: - `Duration` gained new fallible initialization methods. - Better support for `rkyv`. - Most methods on `NaiveDateTime` are now const. - We had to bump our MSRV to 1.61 to keep building with our dependencies. This will also allow us to make more methods on `DateTime` const in a future release. Complete list of changes: #### Fixes - Fix panic in `TimeZone::from_local_datetime` ([#&#8203;1071](https://github.com/chronotope/chrono/issues/1071)) - Fix out of range panics in `DateTime` getters and setters ([#&#8203;1317](https://github.com/chronotope/chrono/issues/1317), [#&#8203;1329](https://github.com/chronotope/chrono/issues/1329)) #### Additions - Add `NaiveDateTime::checked_(add|sub)_offset` ([#&#8203;1313](https://github.com/chronotope/chrono/issues/1313)) - Add `DateTime::to_utc` ([#&#8203;1325](https://github.com/chronotope/chrono/issues/1325)) - Derive `Default` for `Duration` ([#&#8203;1327](https://github.com/chronotope/chrono/issues/1327)) - Add `Duration::subsec_nanos` ([#&#8203;1327](https://github.com/chronotope/chrono/issues/1327)) - Add `try_*` builders to `Duration` ([#&#8203;1327](https://github.com/chronotope/chrono/issues/1327)) - Implement `AddAssign` and `SubAssign` for `Duration` ([#&#8203;1327](https://github.com/chronotope/chrono/issues/1327)) - Make methods on `NaiveDateTime` const where possible ([#&#8203;1286](https://github.com/chronotope/chrono/issues/1286)) - Split `clock` feature into `clock` and `now` ([#&#8203;1343](https://github.com/chronotope/chrono/issues/1343), thanks [@&#8203;mmastrac](https://github.com/mmastrac)) - Add `From<NaiveDate>` for `NaiveDateTime` ([#&#8203;1355](https://github.com/chronotope/chrono/issues/1355), thanks [@&#8203;dcechano](https://github.com/dcechano)) - Add `NaiveDateTime::from_timestamp_nanos` ([#&#8203;1357](https://github.com/chronotope/chrono/issues/1357), thanks [@&#8203;Ali-Mirghasemi](https://github.com/Ali-Mirghasemi)) - Add `Months::num_months()` and `num_years()` ([#&#8203;1373](https://github.com/chronotope/chrono/issues/1373), thanks [@&#8203;danwilliams](https://github.com/danwilliams)) - Add `DateTime<Utc>::from_timestamp_millis` ([#&#8203;1374](https://github.com/chronotope/chrono/issues/1374), thanks [@&#8203;xmakro](https://github.com/xmakro)) #### Changes - Fix panic in `Duration::MIN.abs()` (adjust `Duration::MIN` by 1 millisecond) ([#&#8203;1334](https://github.com/chronotope/chrono/issues/1334)) - Bump MSRV to 1.61 ([#&#8203;1347](https://github.com/chronotope/chrono/issues/1347)) - Update windows-targets requirement from 0.48 to 0.52 ([#&#8203;1360](https://github.com/chronotope/chrono/issues/1360)) - Update windows-bindgen to 0.52 ([#&#8203;1379](https://github.com/chronotope/chrono/issues/1379)) #### Deprecations - Deprecate standalone `format` functions ([#&#8203;1306](https://github.com/chronotope/chrono/issues/1306)) #### Documentation - Improve doc comment and tests for timestamp_nanos_opt ([#&#8203;1299](https://github.com/chronotope/chrono/issues/1299), thanks [@&#8203;mlegner](https://github.com/mlegner)) - Switch to `doc_auto_cfg` ([#&#8203;1305](https://github.com/chronotope/chrono/issues/1305), [#&#8203;1326](https://github.com/chronotope/chrono/issues/1326)) - Document panics in `Add`/`Sub` impls and use `expect` ([#&#8203;1316](https://github.com/chronotope/chrono/issues/1316)) - Improve types listed in top-level documentation ([#&#8203;1274](https://github.com/chronotope/chrono/issues/1274)) - Improve deprecation note of `TimeZone::datetime_from_str` ([#&#8203;1342](https://github.com/chronotope/chrono/issues/1342), thanks [@&#8203;tmccombs](https://github.com/tmccombs)) - Fix typos in `Datelike` impl for `DateTime` ([#&#8203;1376](https://github.com/chronotope/chrono/issues/1376), thanks [@&#8203;ElectrifyPro](https://github.com/ElectrifyPro)) #### Rkyv support - Export `Archived*` types in `rkyv` module ([#&#8203;1304](https://github.com/chronotope/chrono/issues/1304)) - Duplicate derives on `Archived*` types ([#&#8203;1271](https://github.com/chronotope/chrono/issues/1271), thanks [@&#8203;Awpteamoose](https://github.com/Awpteamoose)) - Archive derive of PartialEq for rkyv ([#&#8203;959](https://github.com/chronotope/chrono/issues/959), thanks [@&#8203;mkatychev](https://github.com/mkatychev)) - Expose rkyv features as features for chrono users ([#&#8203;1368](https://github.com/chronotope/chrono/issues/1368), thanks [@&#8203;gz](https://github.com/gz)) #### Changes to unstable features - Don't let `unstable-locales` imply the `alloc` feature ([#&#8203;1307](https://github.com/chronotope/chrono/issues/1307)) - Remove `format::{format_localized, format_item_localized}` ([#&#8203;1311](https://github.com/chronotope/chrono/issues/1311)) - Inline `write_rfc2822_inner`, don't localize ([#&#8203;1322](https://github.com/chronotope/chrono/issues/1322)) #### Internal - Add benchmark for `DateTime::with_*` ([#&#8203;1309](https://github.com/chronotope/chrono/issues/1309)) - Fix `*_DAYS_FROM_YEAR_0` calculation ([#&#8203;1312](https://github.com/chronotope/chrono/issues/1312)) - Add `NaiveTime::overflowing_(add|sub)_offset` ([#&#8203;1310](https://github.com/chronotope/chrono/issues/1310)) - Rewrite `DateTime::overflowing_(add|sub)_offset` ([#&#8203;1069](https://github.com/chronotope/chrono/issues/1069)) - Tests calling date command `set env LC_ALL` ([#&#8203;1315](https://github.com/chronotope/chrono/issues/1315), thanks [@&#8203;jtmoon79](https://github.com/jtmoon79)) - Update `deny.toml` ([#&#8203;1320](https://github.com/chronotope/chrono/issues/1320)) - Bump actions/setup-node from 3 to 4 ([#&#8203;1346](https://github.com/chronotope/chrono/issues/1346)) - test.yml remove errant `with: node-version` ([#&#8203;1352](https://github.com/chronotope/chrono/issues/1352), thanks [@&#8203;jtmoon79](https://github.com/jtmoon79)) - CI Linting: Fix missing sources checkout in `toml` job ([#&#8203;1371](https://github.com/chronotope/chrono/issues/1371), thanks [@&#8203;gibbz00](https://github.com/gibbz00)) - Silence clippy lint for test code with Rust 1.74.0 ([#&#8203;1362](https://github.com/chronotope/chrono/issues/1362)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! ### [`v0.4.31`](https://github.com/chronotope/chrono/releases/tag/v0.4.31) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.30...v0.4.31) Another maintenance release. It was not a planned effort to improve our support for UNIX timestamps, yet most PRs seem related to this. ##### Deprecations - Deprecate `timestamp_nanos` in favor of the non-panicking `timestamp_nanos_opt` ([#&#8203;1275](https://github.com/chronotope/chrono/issues/1275)) ##### Additions - Add `DateTime::<Utc>::from_timestamp` ([#&#8203;1279](https://github.com/chronotope/chrono/issues/1279), thanks [@&#8203;demurgos](https://github.com/demurgos)) - Add `TimeZone::timestamp_micros` ([#&#8203;1285](https://github.com/chronotope/chrono/issues/1285), thanks [@&#8203;emikitas](https://github.com/emikitas)) - Add `DateTime<Tz>::timestamp_nanos_opt` and `NaiveDateTime::timestamp_nanos_opt` ([#&#8203;1275](https://github.com/chronotope/chrono/issues/1275)) - Add `UNIX_EPOCH` constants ([#&#8203;1291](https://github.com/chronotope/chrono/issues/1291)) ##### Fixes - Format day of month in RFC 2822 without padding ([#&#8203;1272](https://github.com/chronotope/chrono/issues/1272)) - Don't allow strange leap seconds which are not on a minute boundary initialization methods ([#&#8203;1283](https://github.com/chronotope/chrono/issues/1283)) This makes many methods a little more strict: - `NaiveTime::from_hms_milli` - `NaiveTime::from_hms_milli_opt` - `NaiveTime::from_hms_micro` - `NaiveTime::from_hms_micro_opt` - `NaiveTime::from_hms_nano` - `NaiveTime::from_hms_nano_opt` - `NaiveTime::from_num_seconds_from_midnight` - `NaiveTime::from_num_seconds_from_midnight_opt` - `NaiveDate::and_hms_milli` - `NaiveDate::and_hms_milli_opt` - `NaiveDate::and_hms_micro` - `NaiveDate::and_hms_micro_opt` - `NaiveDate::and_hms_nano` - `NaiveDate::and_hms_nano_opt` - `NaiveDateTime::from_timestamp` - `NaiveDateTime::from_timestamp_opt` - `TimeZone::timestamp` - `TimeZone::timestamp_opt` - Fix underflow in `NaiveDateTime::timestamp_nanos_opt` ([#&#8203;1294](https://github.com/chronotope/chrono/issues/1294), thanks [@&#8203;crepererum](https://github.com/crepererum)) ##### Documentation - Add more documentation about the RFC 2822 obsolete date format ([#&#8203;1267](https://github.com/chronotope/chrono/issues/1267)) ##### Internal - Remove internal `__doctest` feature and `doc_comment` dependency ([#&#8203;1276](https://github.com/chronotope/chrono/issues/1276)) - CI: Bump `actions/checkout` from 3 to 4 ([#&#8203;1280](https://github.com/chronotope/chrono/issues/1280)) - Optimize `NaiveDate::add_days` for small values ([#&#8203;1214](https://github.com/chronotope/chrono/issues/1214)) - Upgrade `pure-rust-locales` to 0.7.0 ([#&#8203;1288](https://github.com/chronotope/chrono/issues/1288), thanks [@&#8203;jeremija](https://github.com/jeremija) wo did good improvements on `pure-rust-locales`) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! ### [`v0.4.30`](https://github.com/chronotope/chrono/releases/tag/v0.4.30) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.29...v0.4.30) In this release, we have decided to swap out the `chrono::Duration` type (which has been a re-export of time 0.1 `Duration` type) with our own definition, which exposes a strict superset of the `time::Duration` API. This helps avoid warnings about the [CVE-2020-26235] and [RUSTSEC-2020-0071] advisories for downstream users and allows us to improve the `Duration` API 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](https://github.com/chronotope/chrono/pull/1095#issuecomment-1571716955) 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 [#&#8203;1268](https://github.com/chronotope/chrono/issues/1268). ##### Additions - Add `NaiveDate::leap_year` ([#&#8203;1261](https://github.com/chronotope/chrono/issues/1261)) ##### Documentation - Update main documentation from README ([#&#8203;1260](https://github.com/chronotope/chrono/issues/1260), thanks [@&#8203;Stygmates](https://github.com/Stygmates)) - Add history of relation between chrono and time 0.1 to documentation (https://github.com/chronotope/chrono/pull/1264, https://github.com/chronotope/chrono/pull/1266) - Clarify `Timelike::num_seconds_from_midnight` is a simple mapping ([#&#8203;1255](https://github.com/chronotope/chrono/issues/1255)) #### Relation between chrono and time 0.1 Rust first had a `time` module added to `std` in its 0.7 release. It later moved to `libextra`, and then to a `libtime` library 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::Duration` was included as `std::time::Duration` ([rust#15934]) in 2014. In preparation of Rust 1.0 at the end of 2014 `libtime` was moved out of the Rust distro and into the `time` crate to eventually be redesigned ([rust#18832], [rust#18858]), like the `num` and `rand` crates. Of course chrono kept its dependency on this `time` crate. `time` started re-exporting `std::time::Duration` during this period. Later, the standard library was changed to have a more limited unsigned `Duration` type ([rust#24920], [RFC 1040]), while the `time` crate kept the full functionality with `time::Duration`. `time::Duration` had been a part of chrono's public API. By 2016 `time` 0.1 lived under the `rust-lang-deprecated` organisation and was not actively maintained ([time#136]). chrono absorbed the platform functionality and `Duration` type of the `time` crate in [chrono#478] (the work started in [chrono#286]). In order to preserve compatibility with downstream crates depending on `time` and `chrono` sharing a `Duration` type, chrono kept depending on time 0.1. chrono offered the option to opt out of the `time` dependency by disabling the `oldtime` feature (swapping it out for an effectively similar chrono type). In 2019, [@&#8203;jhpratt](https://github.com/jhpratt) took over maintenance on the `time` crate and released what amounts to a new crate as `time` 0.2. [rust#15934]: https://github.com/rust-lang/rust/pull/15934 [rust#18832]: https://github.com/rust-lang/rust/pull/18832#issuecomment-62448221 [rust#18858]: https://github.com/rust-lang/rust/pull/18858 [rust#24920]: https://github.com/rust-lang/rust/pull/24920 [RFC 1040]: https://rust-lang.github.io/rfcs/1040-duration-reform.html [time#136]: https://github.com/time-rs/time/issues/136 [chrono#286]: https://github.com/chronotope/chrono/pull/286 [chrono#478]: https://github.com/chronotope/chrono/pull/478 ##### Security advisories In November of 2020 [CVE-2020-26235] and [RUSTSEC-2020-0071] were opened against the `time` crate. [@&#8203;quininer](https://github.com/quininer) had found that calls to `localtime_r` may 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 to `time`. On Unix-like systems a process is given a timezone id or description via the `TZ` environment 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. `time` 0.1 and chrono used the POSIX function `localtime_r` to do the conversion to local time, which reads the `TZ` variable. 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 `getenv` in 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 the `TZ` variable or via `iana-time-zone` as a fallback) and work with data from the system timezone database directly. The code for this was forked from the [tz-rs crate] by [@&#8203;x-hgg-x](https://github.com/x-hgg-x). As such, chrono now respects the Rust lock when reading the `TZ` environment variable. In general, code should avoid modifying the environment. [CVE-2020-26235]: https://nvd.nist.gov/vuln/detail/CVE-2020-26235 [RUSTSEC-2020-0071]: https://rustsec.org/advisories/RUSTSEC-2020-0071 [chrono#499]: https://github.com/chronotope/chrono/pull/499 [RUSTSEC-2020-0159]: https://rustsec.org/advisories/RUSTSEC-2020-0159.html [rust#27970]: https://github.com/rust-lang/rust/issues/27970 [chrono#677]: https://github.com/chronotope/chrono/pull/677 [tz-rs crate]: https://crates.io/crates/tz-rs ##### 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::Duration` type, 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 `Duration` implementation 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. [chrono#1095]: https://github.com/chronotope/chrono/pull/1095 Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! ### [`v0.4.29`](https://github.com/chronotope/chrono/releases/tag/v0.4.29) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.28...v0.4.29) This release fixes a panic introduced in chrono 0.4.27 in `FromStr<DateTime<Utc>>` ([#&#8203;1253](https://github.com/chronotope/chrono/issues/1253)). Chrono now has a [Discord channel](https://discord.gg/sXpav4PS7M). #### Fixes - Fix arbitrary string slicing in `parse_rfc3339_relaxed` ([#&#8203;1254](https://github.com/chronotope/chrono/issues/1254)) #### Deprecations - Deprecate `TimeZone::datetime_from_str` ([#&#8203;1251](https://github.com/chronotope/chrono/issues/1251)) #### Documentation - Correct documentation for `FromStr` for `Weekday` and `Month` ([#&#8203;1226](https://github.com/chronotope/chrono/issues/1226), thanks [@&#8203;wfraser](https://github.com/wfraser)) #### Internal improvements - Revert "add test_issue\_866" ([#&#8203;1238](https://github.com/chronotope/chrono/issues/1238)) - CI: run tests on `i686` and `wasm32-wasi` ([#&#8203;1237](https://github.com/chronotope/chrono/issues/1237)) - CI: Include doctests for code coverage ([#&#8203;1248](https://github.com/chronotope/chrono/issues/1248)) - Move benchmarks to a separate crate ([#&#8203;1243](https://github.com/chronotope/chrono/issues/1243)) This allows us to upgrade the criterion dependency to 5.1 without changing our MSRV. - Add Discord link to README ([#&#8203;1240](https://github.com/chronotope/chrono/issues/1240), backported in [#&#8203;1256](https://github.com/chronotope/chrono/issues/1256)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! ### [`v0.4.28`](https://github.com/chronotope/chrono/releases/tag/v0.4.28) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.27...v0.4.28) This release fixes a test failure on 32-bit targets introduced with 0.4.27, see https://github.com/chronotope/chrono/issues/1234. ### [`v0.4.27`](https://github.com/chronotope/chrono/releases/tag/v0.4.27) [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.26...v0.4.27) This release bumps the MSRV from 1.56 to 1.57. This allows us to take advantage of the panicking in const feature. In this release most methods on `NaiveDate` and `NaiveTime` are made const, `NaiveDateTime` and others will follow in a later release. The parser for the `%+` formatting specifier and the `RFC3339` formatting item is switched from a strict to a relaxed parser (see https://github.com/chronotope/chrono/pull/1145). This matches the existing documentation, and the parser used by `DateTime::from_str`. If you need to validate the input, consider using `DateTime::from_rfc3339`. #### Deprecations - Deprecate `DateTime::{from_local, from_utc}` (https://github.com/chronotope/chrono/pull/1175) #### Additions - Let `DateTime::signed_duration_since` take argument with `Borrow` (https://github.com/chronotope/chrono/pull/1119) - Implement `PartialOrd` for `Month` (https://github.com/chronotope/chrono/pull/999, thanks [@&#8203;Munksgaard](https://github.com/Munksgaard)) - Add `Ord` and `Eq` for types which already derive `PartialOrd` and `PartialEq` (https://github.com/chronotope/chrono/pull/1128, thanks [@&#8203;totikom](https://github.com/totikom)) - implement `FusedIterator` for `NaiveDateDaysIterator` and `NaiveDateWeeksIterator` (https://github.com/chronotope/chrono/pull/1134) - Make `NaiveDateDaysIterator` and `NaiveDateWeeksIterator` public (https://github.com/chronotope/chrono/pull/1134) - Add `FromStr` for `FixedOffset` (https://github.com/chronotope/chrono/pull/1157, thanks [@&#8203;mcronce](https://github.com/mcronce)) - Remove `Tz::Offset: Display` requirement from `DateTime::to_rfc*` (https://github.com/chronotope/chrono/pull/1160) - More flexible offset formatting (not exposed yet) (https://github.com/chronotope/chrono/pull/1160) - Make `StrftimeItems` with `unstable-locales` work without allocating (https://github.com/chronotope/chrono/pull/1152) - Make `NaiveDate::from_ymd_opt` const (https://github.com/chronotope/chrono/pull/1172, thanks [@&#8203;kamadorueda](https://github.com/kamadorueda)) - Implement `Error` trait for `ParseWeekdayError` and `ParseMonthError` (https://github.com/chronotope/chrono/pull/539, thanks [@&#8203;mike-kfed](https://github.com/mike-kfed)) - Make methods on `NaiveTime` const, update MSRV to 1.57 (https://github.com/chronotope/chrono/pull/1080) - Make methods on `NaiveDate` const (https://github.com/chronotope/chrono/pull/1205) - Implement operations for `core::time::Duration` on `DateTime` types (https://github.com/chronotope/chrono/pull/1229) #### Fixes - Ensure `timestamp_nanos` panics on overflow in release builds (https://github.com/chronotope/chrono/pull/1123) - Fix `offset_from_local_datetime` for `wasm_bindgen` (https://github.com/chronotope/chrono/pull/1131) - Parsing: Consider `%s` to be a timestamp in UTC (https://github.com/chronotope/chrono/pull/1136) - Don't panic when formatting with `%#z` (https://github.com/chronotope/chrono/pull/1140, thanks [@&#8203;domodwyer](https://github.com/domodwyer)) - Parsing: allow MINUS SIGN (U+2212) in offset (https://github.com/chronotope/chrono/pull/1087, thanks [@&#8203;jtmoon79](https://github.com/jtmoon79)) - Fix locale formatting for `%c` and `%r` (https://github.com/chronotope/chrono/pull/1165) - Localize decimal point with `unstable-locales` feature (https://github.com/chronotope/chrono/pull/1168) - Fix panic on macOS 10.12 caused by using version 1 of the TZif file format (https://github.com/chronotope/chrono/pull/1201, thanks to help from [@&#8203;jfro](https://github.com/jfro)) - Fix deserialization of negative timestamps (https://github.com/chronotope/chrono/pull/1194) - Do not use `Offset`'s `Debug` impl when serializing `DateTime` (https://github.com/chronotope/chrono/pull/1035) - Allow missing seconds in `NaiveTime::from_str` (https://github.com/chronotope/chrono/pull/1181) - Do not depend on `android-tzdata` if the `clock` feature is not enabled (https://github.com/chronotope/chrono/pull/1220, thanks [@&#8203;AlexTMjugador](https://github.com/AlexTMjugador)) - Small fixes to the RFC 3339 parsers (https://github.com/chronotope/chrono/pull/1145) #### Documentation - Add "Errors" and "Panics" sections to API docs (https://github.com/chronotope/chrono/pull/1120) - Specify licenses in SPDX format (https://github.com/chronotope/chrono/pull/1132, backport of https://github.com/chronotope/chrono/issues/910, thanks [@&#8203;LingMan](https://github.com/LingMan)) - Fix `NaiveTime` doc typo (https://github.com/chronotope/chrono/pull/1146, thanks [@&#8203;zachs18](https://github.com/zachs18)) - Clarify nanosecond formatting specifier doc (https://github.com/chronotope/chrono/pull/1173) - Add warning against combining multiple `Datelike::with_*` (https://github.com/chronotope/chrono/pull/1199) - Fix typo "accepted" (https://github.com/chronotope/chrono/pull/1209, thanks [@&#8203;simon04](https://github.com/simon04)) - Add some examples to `Utc::now` and `Local::now` (https://github.com/chronotope/chrono/pull/1192) - Add example to `Weekday::num_days_from_monday` (https://github.com/chronotope/chrono/pull/1193) - Fix some comments and panic messages (https://github.com/chronotope/chrono/pull/1221, thanks [@&#8203;umanwizard](https://github.com/umanwizard)) #### Internal improvements - `DateTime::to_rfc_*` optimizations (https://github.com/chronotope/chrono/pull/1200) - Move all tests into modules, fix clippy warnings (https://github.com/chronotope/chrono/pull/1138) - Offset parsing cleanup (https://github.com/chronotope/chrono/pull/1158) - Factor out formatting to `format/formatting.rs` (https://github.com/chronotope/chrono/pull/1156) - Format refactorings (https://github.com/chronotope/chrono/pull/1198) - Format toml files with taplo (https://github.com/chronotope/chrono/pull/1117, thanks [@&#8203;tottoto](https://github.com/tottoto)) - Stop vendoring `saturating_abs` (https://github.com/chronotope/chrono/pull/1124) - CI: shell set -eux, use bash (https://github.com/chronotope/chrono/pull/1103, thanks [@&#8203;jtmoon79](https://github.com/jtmoon79)) - Fix dead code error when running dateutils test on Windows (https://github.com/chronotope/chrono/pull/1125) - Remove `Makefile` (https://github.com/chronotope/chrono/pull/1133) - CI: Test `wasm-bindgen` feature (https://github.com/chronotope/chrono/pull/1131) - Stop using deprecated methods in parse module (https://github.com/chronotope/chrono/pull/1142) - Add formatting benchmarks (https://github.com/chronotope/chrono/pull/1155) - Feature gate tests instead of methods (https://github.com/chronotope/chrono/pull/1159, https://github.com/chronotope/chrono/pull/1162) - Parallelize `try_verify_against_date_command` (https://github.com/chronotope/chrono/pull/1161) - CI: also run integration tests with `no_std` (https://github.com/chronotope/chrono/pull/1166) - Split ` test_parse ` (https://github.com/chronotope/chrono/pull/1170) - Remove `#![deny(dead_code)]` (https://github.com/chronotope/chrono/pull/1187) - Clippy fixes for Rust 1.71 (https://github.com/chronotope/chrono/pull/1186) - Various small improvements (https://github.com/chronotope/chrono/pull/1191) - Add unit test for uncovered regions (https://github.com/chronotope/chrono/pull/1149, thanks [@&#8203;CXWorks](https://github.com/CXWorks)) - Don't test the same thing twice in `test_date_extreme_offset` (https://github.com/chronotope/chrono/pull/1195) - CI: Add workflow code coverage report and upload (https://github.com/chronotope/chrono/pull/1178, https://github.com/chronotope/chrono/pull/1215, thanks [@&#8203;jtmoon79](https://github.com/jtmoon79)) - CI: fail on warnings in `features-check` (https://github.com/chronotope/chrono/pull/1216) - Switch to windows-bindgen (https://github.com/chronotope/chrono/pull/1202, thanks to help from [@&#8203;MarijnS95](https://github.com/MarijnS95)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://github.com/djc) and [@&#8203;pitdicker](https://github.com/pitdicker)! </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4517---2024-09-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.16...v4.5.17) ##### Fixes - *(help)* Style required argument groups - *(derive)* Improve error messages when unsupported fields are used ### [`v4.5.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4516---2024-08-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.15...v4.5.16) ##### Fixes - *(derive)* Improve error messages when `derive` feature is missing ### [`v4.5.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4515---2024-08-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.14...v4.5.15) ##### Compatiblity - *(unstable-ext)* `Arg::remove` changed return types ##### Fixes - *(unstable-ext)* Make `Arg::remove` return the removed item ### [`v4.5.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4514---2024-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.13...v4.5.14) ##### Features - *(unstable-ext)* Added `Arg::add` for attaching arbitrary state, like completion hints, to `Arg` without `Arg` knowing about it ### [`v4.5.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4513---2024-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.12...v4.5.13) ##### Fixes - *(derive)* Improve error message when `#[flatten]`ing an optional `#[group(skip)]` - *(help)* Properly wrap long subcommand descriptions in help ### [`v4.5.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4512---2024-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.11...v4.5.12) ### [`v4.5.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4511---2024-07-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.10...v4.5.11) ### [`v4.5.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4510---2024-07-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.9...v4.5.10) ### [`v4.5.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#459---2024-07-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.8...v4.5.9) ##### Fixes - *(error)* When defining a custom help flag, be sure to suggest it like we do the built-in one ### [`v4.5.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#458---2024-06-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.7...v4.5.8) ##### Fixes - Reduce extra flushes ### [`v4.5.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#457---2024-06-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.6...v4.5.7) ##### Fixes - Clean up error message when too few arguments for `num_args` ### [`v4.5.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#456---2024-06-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.5...v4.5.6) ### [`v4.5.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#455---2024-06-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.4...v4.5.5) ##### Fixes - Allow `exclusive` to override `required_unless_present`, `required_unless_present_any`, `required_unless_present_all` ### [`v4.5.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#454---2024-03-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.3...v4.5.4) ##### Fixes - *(derive)* Allow non-literal `#[arg(id)]` attributes again ### [`v4.5.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#453---2024-03-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.2...v4.5.3) ##### Internal - *(derive)* Update `heck` ### [`v4.5.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#452---2024-03-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.1...v4.5.2) ##### Fixes - *(macros)* Silence a warning ### [`v4.5.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4517---2024-09-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.0...v4.5.1) ##### Fixes - *(help)* Style required argument groups - *(derive)* Improve error messages when unsupported fields are used ### [`v4.5.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#450---2024-02-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.18...v4.5.0) ##### Compatibility - Update MSRV to 1.74 ### [`v4.4.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4418---2024-01-16) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.17...v4.4.18) ##### Fixes - *(error)* When lacking `usage` feature, ensure the list of required arguments is unique ### [`v4.4.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4417---2024-01-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.16...v4.4.17) ##### Fixes - Fix `panic!` when mixing `args_conflicts_with_subcommands` with `ArgGroup` (which is implicit with `derive`) introduced in 4.4.15 ### [`v4.4.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4416---2024-01-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.15...v4.4.16) ##### Fixes - Ensure invalid escape sequences in user-defined strings are correctly stripped when terminal doesn't support color ### [`v4.4.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4415---2024-01-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.15) ##### Fixes - Improve error for `args_conflicts_with_subcommands` - Ensure we error for `args_conflicts_with_subcommands` when using subcommand short and long flags ### [`v4.4.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4414---2024-01-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.13...v4.4.14) ##### Documentation - Fix `find` cookbook entry to allow repeats of flags/options ##### Features - Allow `num_args(0)` on options which allows making them emulate being a flag for position-tracking flags ### [`v4.4.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4413---2024-01-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.12...v4.4.13) ##### Documentation - Fix link to structopt migration guide ### [`v4.4.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4412---2023-12-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.11...v4.4.12) ##### Performance - Only ask `TypedValueParser` for possible values if needed ### [`v4.4.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4411---2023-12-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.10...v4.4.11) ##### Features - Add `Command::mut_group` ### [`v4.4.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4410---2023-11-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.9...v4.4.10) ##### Documentation - Link out to changelog - Cross link derive's attribute reference to derive tutorial ### [`v4.4.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#449---2023-11-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.8...v4.4.9) ##### Fixes - *(help)* Show correct `Command::about` under flattened headings - *(help)* Respect `hide` when flattening subcommands ### [`v4.4.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#448---2023-11-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.7...v4.4.8) ##### Features - Add `Command::flatten_help` to allow `git stash -h` like help for subcommands ### [`v4.4.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#447---2023-10-24) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.7) ##### Performance - Reduced code size ### [`v4.4.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#446---2023-09-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.5...v4.4.6) ##### Internal - Upgrade `anstream` ### [`v4.4.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#445---2023-09-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.4...v4.4.5) ##### Fixes - *(parser)* When inferring subcommand `name` or `long_flag`, allow ambiguous-looking matches that unambiguously map back to the same command - *(parser)* When inferring subcommand `long_flag`, don't panic - *(assert)* Clarify what action is causing a positional that doesn't set values which is especially useful for derive users ### [`v4.4.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#444---2023-09-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.3...v4.4.4) ##### Internal - Update `terminal_size` to 0.3 ### [`v4.4.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#443---2023-09-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.2...v4.4.3) ##### Documentation - *(derive)* Clarify use of attributes within the tutorial - Split sections in the builder and derive tutorials into separate modules ### [`v4.4.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#442---2023-08-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.1...v4.4.2) ##### Performance - Improve build times by removing `once_cell` dependency ### [`v4.4.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4418---2024-01-16) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.0...v4.4.1) ##### Fixes - *(error)* When lacking `usage` feature, ensure the list of required arguments is unique ### [`v4.4.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#440---2023-08-24) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.24...v4.4.0) ##### compatibility - update msrv to 1.70.0 ### [`v4.3.24`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4324---2023-08-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.23...v4.3.24) ##### Fixes - Ensure column padding is preserved in `--help` with custom templates ### [`v4.3.23`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4323---2023-08-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.22...v4.3.23) ##### Fixes - Fixed `UnknownArgumentValueParser` to not error on flag's absence ### [`v4.3.22`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4322---2023-08-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.21...v4.3.22) ##### Features - Add `UnknownArgumentValueParser` for injecting errors for improving the experience with errors ### [`v4.3.21`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4321---2023-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.20...v4.3.21) ##### Features - Expose `TryMapValueParser` so the type can be named ### [`v4.3.20`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4320---2023-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.19...v4.3.20) ##### Features - `Command::mut_args` for modifying all arguments en masse ### [`v4.3.19`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4319---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.18...v4.3.19) ##### Fixes - *(parse)* Respect `value_terminator` even in the presence of later multiple-value positional arguments ### [`v4.3.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4318---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.17...v4.3.18) ##### Fixes - *(parse)* Suggest `--` in fewer places where it won't work ### [`v4.3.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4317---2023-07-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.16...v4.3.17) ##### Fixes - *(help)* Address a regression in wrapping `PossibleValue` descriptions in `--help` ### [`v4.3.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4316---2023-07-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.15...v4.3.16) ##### Fixes - Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists) ### [`v4.3.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4315---2023-07-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.14...v4.3.15) ##### Features - *(unstable-styles)* Re-export `anstyle` ##### Documentation - *(unstable-styles)* Provide more examples ### [`v4.3.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4314---2023-07-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.13...v4.3.14) ##### Features - `ArgAction::HelpShort` and `ArgAction::HelpLong` for explicitly specifying which style of help to display ##### Fixes - Skip `[OPTIONS]` in usage if a help or version `ArgAction` is used ### [`v4.3.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4313---2023-07-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.12...v4.3.13) ### [`v4.3.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4312---2023-07-14) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.11...v4.3.12) ##### Fixes - *(derive)* Don't error on enum variant field attributes ### [`v4.3.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4311---2023-07-05) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.10...v4.3.11) ##### Features - *(derive)* Support fields wrapped in `num::Wrapping`, `Box`, or `Arc` - *(derive)* Support `Box<str>`, `Box<OsStr>`, and `Box<Path>` ### [`v4.3.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4310---2023-06-30) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.9...v4.3.10) ##### Performance - Drop a dependency, reducing binary size by 1.3 KiB ### [`v4.3.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#439---2023-06-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.8...v4.3.9) ##### Fixes - `Command::ignore_errors` no longer masks help/version ### [`v4.3.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#438---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.7...v4.3.8) ##### Fixes - Error on ambiguity with `infer_long_arg`, rather than arbitrarily picking one, matching the documentation and subcommand's behavior ### [`v4.3.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#437---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.6...v4.3.7) ##### Documentation - Further clarify magic behavior in derive tutorial - Further clarify derive API's relationship to builder within the tutorial ### [`v4.3.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#436---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.5...v4.3.6) ##### Documentation - Suggest `clio` ### [`v4.3.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#435---2023-06-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.4...v4.3.5) - `ColorChoice::possible_values` is added to simplify things for builder users ##### Fixes - `ColorChoice::to_possible_value` no longer includes descriptions, encouraging shorter help where possible </details> <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.2`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#082---2024-09-02) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.8.1...v0.8.2) 10 pull requests were merged this release cycle. This release addresses a few regressions that have occurred, and refines SQLx's MSRV policy (see [the FAQ](FAQ.md)). ##### Added - \[[#&#8203;3447]]: Clarify usage of Json/Jsonb in query macros \[\[[@&#8203;Lachstec](https://github.com/Lachstec)]] ##### Changed - \[[#&#8203;3424]]: Remove deprecated feature-names from `Cargo.toml` files in examples \[\[[@&#8203;carschandler](https://github.com/carschandler)]] ##### Fixed - \[[#&#8203;3403]]: Fix ([#&#8203;3395](https://github.com/launchbadge/sqlx/issues/3395)) sqlx::test macro in 0.8 \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]] - \[[#&#8203;3411]]: fix: Use rfc3339 to decode date from text \[\[[@&#8203;pierre-wehbe](https://github.com/pierre-wehbe)]] - \[[#&#8203;3453]]: fix([#&#8203;3445](https://github.com/launchbadge/sqlx/issues/3445)): PgHasArrayType \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]] - Fixes `#[sqlx(no_pg_array)]` being forbidden on `#[derive(Type)]` structs. - \[[#&#8203;3454]]: fix: non snake case warning \[\[[@&#8203;joeydewaal](https://github.com/joeydewaal)]] - \[[#&#8203;3459]]: Pgsql cube type compile fail \[\[[@&#8203;kdesjard](https://github.com/kdesjard)]] - \[[#&#8203;3465]]: fix(postgres): max number of binds is 65535, not 32767 (regression) \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3467]]: fix cancellation issues with `PgListener`, `PgStream::recv()` \[\[[@&#8203;abonander](https://github.com/abonander)]] - Fixes cryptic `unknown message: "\\0"` error - \[[#&#8203;3474]]: Fix try_get example in README.md \[\[[@&#8203;luveti](https://github.com/luveti)]] [#&#8203;3403]: https://github.com/launchbadge/sqlx/pull/3403 [#&#8203;3411]: https://github.com/launchbadge/sqlx/pull/3411 [#&#8203;3424]: https://github.com/launchbadge/sqlx/pull/3424 [#&#8203;3447]: https://github.com/launchbadge/sqlx/pull/3447 [#&#8203;3453]: https://github.com/launchbadge/sqlx/pull/3453 [#&#8203;3454]: https://github.com/launchbadge/sqlx/pull/3454 [#&#8203;3455]: https://github.com/launchbadge/sqlx/pull/3455 [#&#8203;3459]: https://github.com/launchbadge/sqlx/pull/3459 [#&#8203;3465]: https://github.com/launchbadge/sqlx/pull/3465 [#&#8203;3467]: https://github.com/launchbadge/sqlx/pull/3467 [#&#8203;3474]: https://github.com/launchbadge/sqlx/pull/3474 ### [`v0.8.1`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://github.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://github.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://github.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://github.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://github.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://github.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://github.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://github.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://github.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://github.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://github.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://github.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://github.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://github.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://github.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://github.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://github.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://github.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://github.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://github.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://github.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://github.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://github.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://github.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://github.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://github.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://github.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://github.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://github.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://github.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://github.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://github.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://github.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://github.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://github.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://github.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://github.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://github.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://github.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://github.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://github.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://github.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://github.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://github.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://github.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://github.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://github.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://github.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://github.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://github.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://github.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://github.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://github.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://github.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://github.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://github.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://github.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://github.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://github.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://github.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://github.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://github.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://github.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://github.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://github.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://github.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://github.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://github.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://github.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://github.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://github.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://github.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://github.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://github.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://github.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://github.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://github.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://github.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://github.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://github.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://github.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://github.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://github.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://github.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://github.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://github.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://github.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://github.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://github.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://github.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://github.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://github.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://github.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://github.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://github.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://github.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://github.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://github.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://github.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://github.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://github.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://github.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://github.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://github.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://github.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://github.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://github.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://github.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://github.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://github.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://github.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://github.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://github.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://github.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://github.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://github.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://github.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://github.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://github.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://github.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://github.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://github.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://github.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://github.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://github.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://github.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://github.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://github.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://github.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://github.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://github.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://github.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://github.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://github.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://github.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://github.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://github.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://github.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://github.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://github.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://github.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://github.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://github.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://github.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://github.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://github.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://github.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://github.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://github.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://github.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://github.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://github.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: https://github.com/launchbadge/sqlx/issues/3108 - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://github.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://github.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://github.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://github.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://github.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://github.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://github.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://github.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://github.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://github.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://github.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://github.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://github.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://github.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://github.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://github.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://github.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://github.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://github.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://github.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://github.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://github.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://github.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://github.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://github.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://github.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://github.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://github.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://github.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://github.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://github.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://github.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://github.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://github.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://github.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://github.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://github.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://github.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://github.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://github.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://github.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://github.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://github.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://github.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://github.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://github.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://github.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://github.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://github.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://github.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://github.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://github.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://github.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://github.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://github.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://github.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://github.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://github.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://github.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://github.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://github.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://github.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://github.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://github.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://github.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://github.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://github.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://github.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://github.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://github.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://github.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://github.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://github.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://github.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://github.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://github.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://github.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://github.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://github.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://github.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://github.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://github.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://github.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://github.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://github.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://github.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://github.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://github.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://github.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://github.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://github.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://github.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://github.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://github.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://github.com/Vrajs16)]] [#&#8203;2478]: https://github.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://github.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://github.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://github.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://github.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://github.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://github.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://github.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://github.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://github.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://github.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://github.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://github.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://github.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://github.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://github.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://github.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://github.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://github.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://github.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://github.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://github.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://github.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://github.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://github.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://github.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://github.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://github.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://github.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://github.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://github.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://github.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://github.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://github.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://github.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://github.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://github.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://github.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://github.com/launchbadge/sqlx/pull/2894 ### [`v0.7.2`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#072---2023-09-25) 23 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2121]]: Add JSON support to `FromRow` derive \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]] - \[[#&#8203;2533]]: Implement mysql_clear_password \[\[[@&#8203;ldanilek](https://github.com/ldanilek)]] - \[[#&#8203;2538]]: cli: add --target-version CLI flags for migrate run/revert \[\[[@&#8203;inahga](https://github.com/inahga)]] - \[[#&#8203;2577]]: supplement Postgres listen example with a small chat example \[\[[@&#8203;JockeM](https://github.com/JockeM)]] - \[[#&#8203;2602]]: Support naming migrations sequentially \[\[[@&#8203;vmax](https://github.com/vmax)]] - \[[#&#8203;2634]]: Adding PgHasArrayType for &\[u8;N] \[\[[@&#8203;snf](https://github.com/snf)]] - \[[#&#8203;2646]]: Support for setting client certificate and key from bytes \[\[[@&#8203;wyhaya](https://github.com/wyhaya)]] - \[[#&#8203;2664]]: Automatically infer migration type \[\[[@&#8203;vmax](https://github.com/vmax)]] - \[[#&#8203;2712]]: Add impl for `Type`, `Decode`, and `Encode` for `Box<str>` and `Box<[u8]>` \[\[[@&#8203;grant0417](https://github.com/grant0417)]] ##### Changed - \[[#&#8203;2650]]: Cleanup format arguments \[\[[@&#8203;nyurik](https://github.com/nyurik)]] - \[[#&#8203;2695]]: remove \&mut PoolConnection from Executor docs \[\[[@&#8203;olback](https://github.com/olback)]] - This impl was removed in 0.7.0 because of coherence issues. - \[[#&#8203;2706]]: Clarify where optional features should be enabled \[\[[@&#8203;kryptan](https://github.com/kryptan)]] - \[[#&#8203;2717]]: Update README.md \[\[[@&#8203;fermanjj](https://github.com/fermanjj)]] - \[[#&#8203;2739]]: Bump mariadb CI images + mysql unpin \[\[[@&#8203;grooverdan](https://github.com/grooverdan)]] - \[[#&#8203;2742]]: Implemented poll_flush for Box\<S:Socket> \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - \[[#&#8203;2740]]: Remove sealed trait comments from documentation \[\[[@&#8203;bobozaur](https://github.com/bobozaur)]] - \[[#&#8203;2750]]: Fix [#&#8203;2384](https://github.com/launchbadge/sqlx/issues/2384), bump flume to v0.11.0 \[\[[@&#8203;madadam](https://github.com/madadam)]] - \[[#&#8203;2757]]: Remove unused `remove_dir_all` crate from `sqlx-cli`, fixes RUSTSEC-2023-0018 \[\[[@&#8203;aldur](https://github.com/aldur)]] ##### Fixed - \[[#&#8203;2624]]: Documentation typo: BYTE -> BINARY \[\[[@&#8203;sebastianv89](https://github.com/sebastianv89)]] - \[[#&#8203;2628]]: docs: 0.7 is stable in the entire README \[\[[@&#8203;marcusirgens](https://github.com/marcusirgens)]] - \[[#&#8203;2630]]: fix(postgres): fix buffer management in PgCopyIn::read_from \[\[[@&#8203;tsing](https://github.com/tsing)]] - \[[#&#8203;2651]]: Chore: Fix few build warnings, and make CI fail on warn \[\[[@&#8203;nyurik](https://github.com/nyurik)]] - \[[#&#8203;2670]]: fix: ignore extra fields in Postgres describe parsing \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2687]]: docs: Fix description of `min_connections` \[\[[@&#8203;hakoerber](https://github.com/hakoerber)]] [#&#8203;2121]: https://github.com/launchbadge/sqlx/pull/2121 [#&#8203;2533]: https://github.com/launchbadge/sqlx/pull/2533 [#&#8203;2538]: https://github.com/launchbadge/sqlx/pull/2538 [#&#8203;2577]: https://github.com/launchbadge/sqlx/pull/2577 [#&#8203;2602]: https://github.com/launchbadge/sqlx/pull/2602 [#&#8203;2624]: https://github.com/launchbadge/sqlx/pull/2624 [#&#8203;2628]: https://github.com/launchbadge/sqlx/pull/2628 [#&#8203;2630]: https://github.com/launchbadge/sqlx/pull/2630 [#&#8203;2634]: https://github.com/launchbadge/sqlx/pull/2634 [#&#8203;2646]: https://github.com/launchbadge/sqlx/pull/2646 [#&#8203;2650]: https://github.com/launchbadge/sqlx/pull/2650 [#&#8203;2651]: https://github.com/launchbadge/sqlx/pull/2651 [#&#8203;2664]: https://github.com/launchbadge/sqlx/pull/2664 [#&#8203;2670]: https://github.com/launchbadge/sqlx/pull/2670 [#&#8203;2687]: https://github.com/launchbadge/sqlx/pull/2687 [#&#8203;2695]: https://github.com/launchbadge/sqlx/pull/2695 [#&#8203;2706]: https://github.com/launchbadge/sqlx/pull/2706 [#&#8203;2712]: https://github.com/launchbadge/sqlx/pull/2712 [#&#8203;2717]: https://github.com/launchbadge/sqlx/pull/2717 [#&#8203;2739]: https://github.com/launchbadge/sqlx/pull/2739 [#&#8203;2740]: https://github.com/launchbadge/sqlx/pull/2740 [#&#8203;2742]: https://github.com/launchbadge/sqlx/pull/2742 [#&#8203;2750]: https://github.com/launchbadge/sqlx/pull/2750 [#&#8203;2757]: https://github.com/launchbadge/sqlx/pull/2757 ### [`v0.7.1`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#071---2023-07-14) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.7.0...v0.7.1) This release mainly addresses issues reported with the 0.7.0 release. 16 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2551]]: Introduce build_query_scalar for QueryBuilder \[\[[@&#8203;iamquang95](https://github.com/iamquang95)]] - \[[#&#8203;2605]]: Implement Default for QueryBuilder \[\[[@&#8203;Xydez](https://github.com/Xydez)]] - \[[#&#8203;2616]]: feat(sqlx-core): add table function to database error \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2619]]: feat: allow opt-out of `PgHasArrayType` with `#[derive(sqlx::Type)]` \[\[[@&#8203;abonander](https://github.com/abonander)]] - TL;DR: if you're getting errors from `#[derive(sqlx::Type)]` with `#[sqlx(transparent)]` regarding `PgHasArrayType` not being implemented, add `#[sqlx(no_pg_array)]` to fix. ##### Changed - \[[#&#8203;2566]]: improve docs about migration files \[\[[@&#8203;jnnnnn](https://github.com/jnnnnn)]] - \[[#&#8203;2576]]: Major Version Update clap to 4.0 \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]] - \[[#&#8203;2597]]: Bump webpki-roots to v0.24 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2603]]: docs(changelog): be more verbose about offline mode breaking change \[\[[@&#8203;mrl5](https://github.com/mrl5)]] ##### Fixed - \[[#&#8203;2553]]: Implement `Clone` for `PoolOptions` manually ([#&#8203;2548](https://github.com/launchbadge/sqlx/issues/2548)) \[\[[@&#8203;alilleybrinker](https://github.com/alilleybrinker)]] - \[[#&#8203;2580]]: Update README.md now that 0.7.0 is no longer in alpha \[\[[@&#8203;saolof](https://github.com/saolof)]] - \[[#&#8203;2585]]: Fix for Issue [#&#8203;2549](https://github.com/launchbadge/sqlx/issues/2549) - cannot use feature "rust_decimal" without also using "bigdecimal" \[\[[@&#8203;deneut](https://github.com/deneut)]] - \[[#&#8203;2586]]: Fix optional dependency on sqlx-macros \[\[[@&#8203;kitterion](https://github.com/kitterion)]] - \[[#&#8203;2593]]: Correct mention of the `tls-native-tls` in the documentation. \[\[[@&#8203;denschub](https://github.com/denschub)]] - \[[#&#8203;2599]]: Remove incorrect CAST in test database cleanup for MySQL. \[\[[@&#8203;fd](https://github.com/fd)]] - \[[#&#8203;2613]]: Fix readme.md to reduce confusion about optional features (decimal->rust_decimal) \[\[[@&#8203;vabka](https://github.com/vabka)]] - \[[#&#8203;2620]]: fix(sqlite/any): encode bool as integer \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] [#&#8203;2551]: https://github.com/launchbadge/sqlx/pull/2551 [#&#8203;2553]: https://github.com/launchbadge/sqlx/pull/2553 [#&#8203;2566]: https://github.com/launchbadge/sqlx/pull/2566 [#&#8203;2576]: https://github.com/launchbadge/sqlx/pull/2576 [#&#8203;2580]: https://github.com/launchbadge/sqlx/pull/2580 [#&#8203;2585]: https://github.com/launchbadge/sqlx/pull/2585 [#&#8203;2586]: https://github.com/launchbadge/sqlx/pull/2586 [#&#8203;2593]: https://github.com/launchbadge/sqlx/pull/2593 [#&#8203;2597]: https://github.com/launchbadge/sqlx/pull/2597 [#&#8203;2599]: https://github.com/launchbadge/sqlx/pull/2599 [#&#8203;2603]: https://github.com/launchbadge/sqlx/pull/2603 [#&#8203;2605]: https://github.com/launchbadge/sqlx/pull/2605 [#&#8203;2613]: https://github.com/launchbadge/sqlx/pull/2613 [#&#8203;2616]: https://github.com/launchbadge/sqlx/pull/2616 [#&#8203;2619]: https://github.com/launchbadge/sqlx/pull/2619 [#&#8203;2620]: https://github.com/launchbadge/sqlx/pull/2620 ### [`v0.7.0`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#070---2023-06-30) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.6.3...v0.7.0) At least **70 pull requests** were merged this release cycle! (The exact count is muddied with pull requests for alpha releases and such.) And we gained 43 new contributors! Thank you to everyone who helped make this release a reality. ##### Breaking Many revisions were made to query analysis in the SQLite driver; these are all potentially breaking changes as they can change the output of `sqlx::query!()` *et al*. We'd like to thank \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] for their numerous PRs to this area. The MSSQL driver has been removed as it was not nearly at the same maturity level as the other drivers. [As previously announced][sqlx-pro], we have plans to introduce a fully featured replacement as a premium offering, alongside drivers for other proprietary databases, with the goal to support full-time development on SQLx. If interested, please email your inquiry to sqlx@launchbadge.com. The offline mode for the queries has been changed to use a separate file per `query!()` invocation, which is intended to reduce the number of conflicts when merging branches in a project that both modified queries. This means that CLI flag `--merged` is no longer supported. See \[[#&#8203;2363]] for details and make sure that your `sqlx-cli` version is in sync with the `sqlx` version in your project. The type ascription override syntax for the query macros has been deprecated, as parse support for it has been removed in `syn 2.0`, which we'll be upgrading to in the next breaking release. This can be replaced with type overrides using casting syntax (`as`). See \[[#&#8203;2483]] for details. - \[[#&#8203;1946]]: Fix compile time verification performance regression for sqlite \[\[[@&#8203;liningpan](https://github.com/liningpan)]] - \[[#&#8203;1960]]: Fix sqlite update return and order by type inference \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;1984]]: Sqlite EXPLAIN type inference improvements \[\[[@&#8203;rongcuid](https://github.com/rongcuid)]] - \[[#&#8203;2039]]: Break drivers out into separate crates, clean up some technical debt \[\[[@&#8203;abonander](https://github.com/abonander)]] - All deprecated items have been removed. - The `mssql` feature and associated database driver has been deleted from the source tree. It will return as part of our planned SQLx Pro offering as a from-scratch rewrite with extra features (such as TLS) and type integrations that were previously missing. - The `runtime-actix-*` features have been deleted. They were previously changed to be aliases of their `runtime-tokio-*` counterparts for backwards compatibility reasons, but their continued existence is misleading as SQLx has no special knowledge of Actix anymore. - To fix, simply replace the `runtime-actix-*` feature with its `runtime-tokio-*` equivalent. - The `git2` feature has been removed. This was a requested integration from a while ago that over time made less and less sense to be part of SQLx itself. We have to be careful with the crates we add to our public API as each one introduces yet another semver hazard. The expected replacement is to make `#[derive(sqlx::Type)]` useful enough that users can write wrapper types for whatever they want to use without SQLx needing to be specifically aware of it. - The `Executor` impls for `Transaction` and `PoolConnection` have been deleted because they cannot exist in the new crate architecture without rewriting the `Executor` trait entirely. - To fix this breakage, simply add a dereference where an `impl Executor` is expected, as they both dereference to the inner connection type which will still implement it: - `&mut transaction` -> `&mut *transaction` - `&mut connection` -> `&mut *connection` - These cannot be blanket impls as it triggers an overflow in the compiler due to the lack of lazy normalization, and the driver crates cannot provide their own impls due to the orphan rule. - We're expecting to do another major refactor of traits to incorporate generic associated types (GAT). This will mean another major release of SQLx but ideally most API usage will not need to change significantly, if at all. - The fields of `Migrator` are now `#[doc(hidden)]` and semver-exempt; they weren't meant to be public. - The `offline` feature has been removed from the `sqlx` facade crate and is enabled unconditionally as most users are expected to have enabled it anyway and disabling it doesn't seem to appreciably affect compile times. - The `decimal` feature has been renamed to `rust_decimal` to match the crate it actually provides integrations for. - `AnyDriver` and `AnyConnection` now require either `sqlx::any::install_drivers()` or `sqlx::any::install_default_drivers()` to be called at some point during the process' lifetime before the first connection is made, as the set of possible drivers is now determined at runtime. This was determined to be the least painful way to provide knowledge of database drivers to `Any` without them being hardcoded. - The `AnyEncode` trait has been removed. - \[[#&#8203;2109]]: feat: better database errors \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2094]]: Update libsqlite3-sys to 0.25.1 \[\[[@&#8203;penberg](https://github.com/penberg)]] - Alongside this upgrade, we are now considering the linkage to `libsqlite3-sys` to be **semver-exempt**, and we reserve the right to upgrade it as necessary. If you are using `libsqlite3-sys` directly or a crate that links it such as `rusqlite`, you should pin the versions of both crates to avoid breakages from `cargo update`: ```toml [dependencies] sqlx = { version = "=0.7.0", features = ["sqlite"] } rusqlite = "=0.29.0" ``` - \[[#&#8203;2132]]: fix: use owned Builder pattern for ConnectOptions \[\[[@&#8203;ar3s3ru](https://github.com/ar3s3ru)]] - \[[#&#8203;2253]]: Sqlite describe fixes \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;2285]]: `time`: Assume UTC when decoding a DATETIME column in sqlite \[\[[@&#8203;nstinus](https://github.com/nstinus)]] - \[[#&#8203;2363]]: \[offline] Change prepare to one-file-per-query \[\[[@&#8203;cycraig](https://github.com/cycraig)]] - \[[#&#8203;2387]]: PATCH: bump libsqlite3-sys to patched version \[\[[@&#8203;grantkee](https://github.com/grantkee)]] - \[[#&#8203;2409]]: fix([#&#8203;2407](https://github.com/launchbadge/sqlx/issues/2407)): respect the HaltIfNull opcode when determining nullability \[\[[@&#8203;arlyon](https://github.com/arlyon)]] - \[[#&#8203;2459]]: limit the number of instructions that can be evaluated \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;2467]]: Add and improve sqlite describe performance benchmarks \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;2491]]: sqlite date macro support \[\[[@&#8203;Arcayr](https://github.com/Arcayr)]] - Changes `OffsetDateTime` to be the first type used when deserializing a `timestamp` type. - \[[#&#8203;2496]]: Bump to libsqlite3-sys 0.26 \[\[[@&#8203;mdecimus](https://github.com/mdecimus)]] - \[[#&#8203;2508]]: Sqlite analytical \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] ##### Added - \[[#&#8203;1850]]: Add client SSL authentication using key-file for Postgres, MySQL and MariaDB \[\[[@&#8203;ThibsG](https://github.com/ThibsG)]] - \[[#&#8203;2088]]: feat: Add set_connect_options method to Pool \[\[[@&#8203;moatra](https://github.com/moatra)]] - \[[#&#8203;2113]]: Expose PoolOptions for reading \[\[[@&#8203;FSMaxB](https://github.com/FSMaxB)]] - \[[#&#8203;2115]]: Allow using complex types in `try_from` when deriving `FromRow` \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]] - \[[#&#8203;2116]]: \[SQLite] Add option to execute `PRAGMA optimize;` on close of a connection \[\[[@&#8203;miles170](https://github.com/miles170)]] - \[[#&#8203;2189]]: Added regexp support in sqlite \[\[[@&#8203;VictorKoenders](https://github.com/VictorKoenders)]] - \[[#&#8203;2224]]: Add From impls for Json \[\[[@&#8203;dbeckwith](https://github.com/dbeckwith)]] - \[[#&#8203;2256]]: add progress handler support to sqlite \[\[[@&#8203;nbaztec](https://github.com/nbaztec)]] - \[[#&#8203;2366]]: Allow ignoring attributes for deriving FromRow \[\[[@&#8203;grgi](https://github.com/grgi)]] - \[[#&#8203;2369]]: new type support in query_as \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]] - \[[#&#8203;2379]]: feat: add `Connection::shrink_buffers`, `PoolConnection::close` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2400]]: fix(docs): example of `sqlx_macros_unstable` in config.toml \[\[[@&#8203;df51d](https://github.com/df51d)]] - \[[#&#8203;2469]]: Add Simple format for Uuid for MySQL & SQLite. \[\[[@&#8203;MidasLamb](https://github.com/MidasLamb)]] - \[[#&#8203;2483]]: chore: add deprecation notice for type ascription use \[\[[@&#8203;saiintbrisson](https://github.com/saiintbrisson)]] - \[[#&#8203;2506]]: add args to query builder ([#&#8203;2494](https://github.com/launchbadge/sqlx/issues/2494)) \[\[[@&#8203;cemoktra](https://github.com/cemoktra)]] - \[[#&#8203;2554]]: Impl `AsMut` for advisory lock types ([#&#8203;2520](https://github.com/launchbadge/sqlx/issues/2520)) \[\[[@&#8203;alilleybrinker](https://github.com/alilleybrinker)]] - \[[#&#8203;2559]]: Add CLI autocompletion using clap_complete \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]] ##### Changed - \[[#&#8203;2185]]: Initial work to switch to `tracing` \[\[[@&#8203;CosmicHorrorDev](https://github.com/CosmicHorrorDev)]] - \[[#&#8203;2193]]: Start testing on Postgres 15 and drop Postgres 10 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - We reserve the right to drop support for end-of-lifed database versions [as discussed in our FAQ][faq-db-version]. - \[[#&#8203;2213]]: Use `let else` statements in favor of macro \[\[[@&#8203;OverHash](https://github.com/OverHash)]] - \[[#&#8203;2365]]: Update dependencies \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2371]]: Disable rustls crate logging feature by default up to date \[\[[@&#8203;sergeiivankov](https://github.com/sergeiivankov)]] - \[[#&#8203;2373]]: chore: Use tracing's fields to get structured logs \[\[[@&#8203;jaysonsantos](https://github.com/jaysonsantos)]] - \[[#&#8203;2393]]: Lower default logging level for statements to Debug \[\[[@&#8203;bnoctis](https://github.com/bnoctis)]] - \[[#&#8203;2445]]: Traverse symlinks when resolving migrations \[\[[@&#8203;tgeoghegan](https://github.com/tgeoghegan)]] - \[[#&#8203;2485]]: chore(sqlx-postgres): replace `dirs` with `home` & `etcetera` \[\[[@&#8203;utkarshgupta137](https://github.com/utkarshgupta137)]] - \[[#&#8203;2515]]: Bump mac_address to 1.1.5 \[\[[@&#8203;repnop](https://github.com/repnop)]] - \[[#&#8203;2440]]: Update rustls to 0.21, webpki-roots to 0.23 \[\[[@&#8203;SergioBenitez](https://github.com/SergioBenitez)]] - \[[#&#8203;2563]]: Update rsa to 0.9 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2564]]: Update bitflags to v2 \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2565]]: Bump indexmap and ahash \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2574]]: doc: make it clear that `ConnectOptions` types impl `FromStr` \[\[[@&#8203;abonander](https://github.com/abonander)]] ##### Fixed - \[[#&#8203;2098]]: Fix sqlite compilation \[\[[@&#8203;cycraig](https://github.com/cycraig)]] - \[[#&#8203;2120]]: fix logical merge conflict \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] - \[[#&#8203;2133]]: Postgres OID resolution query does not take into account current `search_path` \[\[[@&#8203;95ulisse](https://github.com/95ulisse)]] - \[[#&#8203;2156]]: Fixed typo. \[\[[@&#8203;cdbfoster](https://github.com/cdbfoster)]] - \[[#&#8203;2179]]: fix: ensures recover from fail with PgCopyIn \[\[[@&#8203;andyquinterom](https://github.com/andyquinterom)]] - \[[#&#8203;2200]]: Run CI on \*-dev branch \[\[[@&#8203;joehillen](https://github.com/joehillen)]] - \[[#&#8203;2222]]: Add context to confusing sqlx prepare parse error \[\[[@&#8203;laundmo](https://github.com/laundmo)]] - \[[#&#8203;2271]]: feat: support calling Postgres procedures with the macros \[\[[@&#8203;bgeron](https://github.com/bgeron)]] - \[[#&#8203;2282]]: Don't run EXPLAIN nullability analysis on Materialize \[\[[@&#8203;benesch](https://github.com/benesch)]] - \[[#&#8203;2319]]: Set whoami default-features to false \[\[[@&#8203;thedodd](https://github.com/thedodd)]] - \[[#&#8203;2352]]: Preparing 0.7.0-alpha.1 release \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2355]]: Fixed the example code for `sqlx::test` \[\[[@&#8203;kenkoooo](https://github.com/kenkoooo)]] - \[[#&#8203;2367]]: Fix sqlx-cli create, drop, migrate \[\[[@&#8203;cycraig](https://github.com/cycraig)]] - \[[#&#8203;2376]]: fix(pool): close when last handle is dropped, extra check in `try_acquire` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2378]]: Fix README build badge \[\[[@&#8203;dbrgn](https://github.com/dbrgn)]] - \[[#&#8203;2398]]: fix(prepare): store temporary query files inside the workspace \[\[[@&#8203;aschey](https://github.com/aschey)]] - \[[#&#8203;2402]]: fix: drop old time 0.1.44 dep \[\[[@&#8203;codahale](https://github.com/codahale)]] - \[[#&#8203;2413]]: fix(macros-core): use of undeclared `tracked_path` \[\[[@&#8203;df51d](https://github.com/df51d)]] - \[[#&#8203;2420]]: Enable runtime-tokio feature of sqlx when building sqlx-cli \[\[[@&#8203;paolobarbolini](https://github.com/paolobarbolini)]] - \[[#&#8203;2453]]: in README.md, correct spelling and grammar \[\[[@&#8203;vizvasrj](https://github.com/vizvasrj)]] - \[[#&#8203;2454]]: fix: ensure fresh test db's aren't accidentally deleted by do_cleanup \[\[[@&#8203;phlip9](https://github.com/phlip9)]] - \[[#&#8203;2507]]: Exposing the Oid of PostgreSQL types \[\[[@&#8203;Razican](https://github.com/Razican)]] - \[[#&#8203;2519]]: Use ::std::result::Result::Ok in output.rs \[\[[@&#8203;southball](https://github.com/southball)]] - \[[#&#8203;2569]]: Fix broken links to mysql error documentation \[\[[@&#8203;titaniumtraveler](https://github.com/titaniumtraveler)]] - \[[#&#8203;2570]]: Add a newline to the generated JSON files \[\[[@&#8203;nyurik](https://github.com/nyurik)]] - \[[#&#8203;2572]]: Do not panic when `PrepareOk` fails to decode \[\[[@&#8203;stepantubanov](https://github.com/stepantubanov)]] - \[[#&#8203;2573]]: fix(sqlite) Do not drop notify mutex guard until after condvar is triggered \[\[[@&#8203;andrewwhitehead](https://github.com/andrewwhitehead)]] [sqlx-pro]: https://github.com/launchbadge/sqlx/discussions/1616 [faq-db-version]: https://github.com/launchbadge/sqlx/blob/main/FAQ.md#what-database-versions-does-sqlx-support [#&#8203;1850]: https://github.com/launchbadge/sqlx/pull/1850 [#&#8203;1946]: https://github.com/launchbadge/sqlx/pull/1946 [#&#8203;1960]: https://github.com/launchbadge/sqlx/pull/1960 [#&#8203;1984]: https://github.com/launchbadge/sqlx/pull/1984 [#&#8203;2039]: https://github.com/launchbadge/sqlx/pull/2039 [#&#8203;2088]: https://github.com/launchbadge/sqlx/pull/2088 [#&#8203;2092]: https://github.com/launchbadge/sqlx/pull/2092 [#&#8203;2094]: https://github.com/launchbadge/sqlx/pull/2094 [#&#8203;2098]: https://github.com/launchbadge/sqlx/pull/2098 [#&#8203;2109]: https://github.com/launchbadge/sqlx/pull/2109 [#&#8203;2113]: https://github.com/launchbadge/sqlx/pull/2113 [#&#8203;2115]: https://github.com/launchbadge/sqlx/pull/2115 [#&#8203;2116]: https://github.com/launchbadge/sqlx/pull/2116 [#&#8203;2120]: https://github.com/launchbadge/sqlx/pull/2120 [#&#8203;2132]: https://github.com/launchbadge/sqlx/pull/2132 [#&#8203;2133]: https://github.com/launchbadge/sqlx/pull/2133 [#&#8203;2156]: https://github.com/launchbadge/sqlx/pull/2156 [#&#8203;2179]: https://github.com/launchbadge/sqlx/pull/2179 [#&#8203;2185]: https://github.com/launchbadge/sqlx/pull/2185 [#&#8203;2189]: https://github.com/launchbadge/sqlx/pull/2189 [#&#8203;2193]: https://github.com/launchbadge/sqlx/pull/2193 [#&#8203;2200]: https://github.com/launchbadge/sqlx/pull/2200 [#&#8203;2213]: https://github.com/launchbadge/sqlx/pull/2213 [#&#8203;2222]: https://github.com/launchbadge/sqlx/pull/2222 [#&#8203;2224]: https://github.com/launchbadge/sqlx/pull/2224 [#&#8203;2253]: https://github.com/launchbadge/sqlx/pull/2253 [#&#8203;2256]: https://github.com/launchbadge/sqlx/pull/2256 [#&#8203;2271]: https://github.com/launchbadge/sqlx/pull/2271 [#&#8203;2282]: https://github.com/launchbadge/sqlx/pull/2282 [#&#8203;2285]: https://github.com/launchbadge/sqlx/pull/2285 [#&#8203;2319]: https://github.com/launchbadge/sqlx/pull/2319 [#&#8203;2352]: https://github.com/launchbadge/sqlx/pull/2352 [#&#8203;2355]: https://github.com/launchbadge/sqlx/pull/2355 [#&#8203;2363]: https://github.com/launchbadge/sqlx/pull/2363 [#&#8203;2365]: https://github.com/launchbadge/sqlx/pull/2365 [#&#8203;2366]: https://github.com/launchbadge/sqlx/pull/2366 [#&#8203;2367]: https://github.com/launchbadge/sqlx/pull/2367 [#&#8203;2369]: https://github.com/launchbadge/sqlx/pull/2369 [#&#8203;2371]: https://github.com/launchbadge/sqlx/pull/2371 [#&#8203;2373]: https://github.com/launchbadge/sqlx/pull/2373 [#&#8203;2376]: https://github.com/launchbadge/sqlx/pull/2376 [#&#8203;2378]: https://github.com/launchbadge/sqlx/pull/2378 [#&#8203;2379]: https://github.com/launchbadge/sqlx/pull/2379 [#&#8203;2387]: https://github.com/launchbadge/sqlx/pull/2387 [#&#8203;2393]: https://github.com/launchbadge/sqlx/pull/2393 [#&#8203;2398]: https://github.com/launchbadge/sqlx/pull/2398 [#&#8203;2400]: https://github.com/launchbadge/sqlx/pull/2400 [#&#8203;2402]: https://github.com/launchbadge/sqlx/pull/2402 [#&#8203;2408]: https://github.com/launchbadge/sqlx/pull/2408 [#&#8203;2409]: https://github.com/launchbadge/sqlx/pull/2409 [#&#8203;2413]: https://github.com/launchbadge/sqlx/pull/2413 [#&#8203;2420]: https://github.com/launchbadge/sqlx/pull/2420 [#&#8203;2440]: https://github.com/launchbadge/sqlx/pull/2440 [#&#8203;2445]: https://github.com/launchbadge/sqlx/pull/2445 [#&#8203;2453]: https://github.com/launchbadge/sqlx/pull/2453 [#&#8203;2454]: https://github.com/launchbadge/sqlx/pull/2454 [#&#8203;2459]: https://github.com/launchbadge/sqlx/pull/2459 [#&#8203;2467]: https://github.com/launchbadge/sqlx/pull/2467 [#&#8203;2469]: https://github.com/launchbadge/sqlx/pull/2469 [#&#8203;2483]: https://github.com/launchbadge/sqlx/pull/2483 [#&#8203;2485]: https://github.com/launchbadge/sqlx/pull/2485 [#&#8203;2491]: https://github.com/launchbadge/sqlx/pull/2491 [#&#8203;2496]: https://github.com/launchbadge/sqlx/pull/2496 [#&#8203;2506]: https://github.com/launchbadge/sqlx/pull/2506 [#&#8203;2507]: https://github.com/launchbadge/sqlx/pull/2507 [#&#8203;2508]: https://github.com/launchbadge/sqlx/pull/2508 [#&#8203;2515]: https://github.com/launchbadge/sqlx/pull/2515 [#&#8203;2519]: https://github.com/launchbadge/sqlx/pull/2519 [#&#8203;2554]: https://github.com/launchbadge/sqlx/pull/2554 [#&#8203;2559]: https://github.com/launchbadge/sqlx/pull/2559 [#&#8203;2563]: https://github.com/launchbadge/sqlx/pull/2563 [#&#8203;2564]: https://github.com/launchbadge/sqlx/pull/2564 [#&#8203;2565]: https://github.com/launchbadge/sqlx/pull/2565 [#&#8203;2569]: https://github.com/launchbadge/sqlx/pull/2569 [#&#8203;2570]: https://github.com/launchbadge/sqlx/pull/2570 [#&#8203;2572]: https://github.com/launchbadge/sqlx/pull/2572 [#&#8203;2573]: https://github.com/launchbadge/sqlx/pull/2573 [#&#8203;2574]: https://github.com/launchbadge/sqlx/pull/2574 </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.40.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.40.0): Tokio v1.40.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.3...tokio-1.40.0) ### 1.40.0 (August 30th, 2024) ##### Added - io: add `util::SimplexStream` ([#&#8203;6589]) - process: stabilize `Command::process_group` ([#&#8203;6731]) - sync: add `{TrySendError,SendTimeoutError}::into_inner` ([#&#8203;6755]) - task: add `JoinSet::join_all` ([#&#8203;6784]) ##### Added (unstable) - runtime: add `Builder::{on_task_spawn, on_task_terminate}` ([#&#8203;6742]) ##### Changed - io: use vectored io for `write_all_buf` when possible ([#&#8203;6724]) - runtime: prevent niche-optimization to avoid triggering miri ([#&#8203;6744]) - sync: mark mpsc types as `UnwindSafe` ([#&#8203;6783]) - sync,time: make `Sleep` and `BatchSemaphore` instrumentation explicit roots ([#&#8203;6727]) - task: use `NonZeroU64` for `task::Id` ([#&#8203;6733]) - task: include panic message when printing `JoinError` ([#&#8203;6753]) - task: add `#[must_use]` to `JoinHandle::abort_handle` ([#&#8203;6762]) - time: eliminate timer wheel allocations ([#&#8203;6779]) ##### Documented - docs: clarify that `[build]` section doesn't go in Cargo.toml ([#&#8203;6728]) - io: clarify zero remaining capacity case ([#&#8203;6790]) - macros: improve documentation for `select!` ([#&#8203;6774]) - sync: document mpsc channel allocation behavior ([#&#8203;6773]) [#&#8203;6589]: https://github.com/tokio-rs/tokio/pull/6589 [#&#8203;6724]: https://github.com/tokio-rs/tokio/pull/6724 [#&#8203;6727]: https://github.com/tokio-rs/tokio/pull/6727 [#&#8203;6728]: https://github.com/tokio-rs/tokio/pull/6728 [#&#8203;6731]: https://github.com/tokio-rs/tokio/pull/6731 [#&#8203;6733]: https://github.com/tokio-rs/tokio/pull/6733 [#&#8203;6742]: https://github.com/tokio-rs/tokio/pull/6742 [#&#8203;6744]: https://github.com/tokio-rs/tokio/pull/6744 [#&#8203;6753]: https://github.com/tokio-rs/tokio/pull/6753 [#&#8203;6755]: https://github.com/tokio-rs/tokio/pull/6755 [#&#8203;6762]: https://github.com/tokio-rs/tokio/pull/6762 [#&#8203;6773]: https://github.com/tokio-rs/tokio/pull/6773 [#&#8203;6774]: https://github.com/tokio-rs/tokio/pull/6774 [#&#8203;6779]: https://github.com/tokio-rs/tokio/pull/6779 [#&#8203;6783]: https://github.com/tokio-rs/tokio/pull/6783 [#&#8203;6784]: https://github.com/tokio-rs/tokio/pull/6784 [#&#8203;6790]: https://github.com/tokio-rs/tokio/pull/6790 ### [`v1.39.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.3): Tokio v1.39.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.2...tokio-1.39.3) ### 1.39.3 (August 17th, 2024) This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. ([#&#8203;6772]) [#&#8203;6772]: https://github.com/tokio-rs/tokio/pull/6772 ### [`v1.39.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.2): Tokio v1.39.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.1...tokio-1.39.2) ### 1.39.2 (July 27th, 2024) This release fixes a regression where the `select!` macro stopped accepting expressions that make use of temporary lifetime extension. ([#&#8203;6722]) [#&#8203;6722]: https://github.com/tokio-rs/tokio/pull/6722 ### [`v1.39.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.1): Tokio v1.39.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.0...tokio-1.39.1) ### 1.39.1 (July 23rd, 2024) This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. ([#&#8203;6715]) [#&#8203;6715]: https://github.com/tokio-rs/tokio/pull/6715 ### [`v1.39.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.0): Tokio v1.39.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.1...tokio-1.39.0) ### 1.39.0 (July 23rd, 2024) - This release bumps the MSRV to 1.70. ([#&#8203;6645]) - This release upgrades to mio v1. ([#&#8203;6635]) - This release upgrades to windows-sys v0.52 ([#&#8203;6154]) ##### Added - io: implement `AsyncSeek` for `Empty` ([#&#8203;6663]) - metrics: stabilize `num_alive_tasks` ([#&#8203;6619], [#&#8203;6667]) - process: add `Command::as_std_mut` ([#&#8203;6608]) - sync: add `watch::Sender::same_channel` ([#&#8203;6637]) - sync: add `{Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count}` ([#&#8203;6661]) - sync: implement `Default` for `watch::Sender` ([#&#8203;6626]) - task: implement `Clone` for `AbortHandle` ([#&#8203;6621]) - task: stabilize `consume_budget` ([#&#8203;6622]) ##### Changed - io: improve panic message of `ReadBuf::put_slice()` ([#&#8203;6629]) - io: read during write in `copy_bidirectional` and `copy` ([#&#8203;6532]) - runtime: replace `num_cpus` with `available_parallelism` ([#&#8203;6709]) - task: avoid stack overflow when passing large future to `block_on` ([#&#8203;6692]) - time: avoid traversing entries in the time wheel twice ([#&#8203;6584]) - time: support `IntoFuture` with `timeout` ([#&#8203;6666]) - macros: support `IntoFuture` with `join!` and `select!` ([#&#8203;6710]) ##### Fixed - docs: fix docsrs builds with the fs feature enabled ([#&#8203;6585]) - io: only use short-read optimization on known-to-be-compatible platforms ([#&#8203;6668]) - time: fix overflow panic when using large durations with `Interval` ([#&#8203;6612]) ##### Added (unstable) - macros: allow `unhandled_panic` behavior for `#[tokio::main]` and `#[tokio::test]` ([#&#8203;6593]) - metrics: add `spawned_tasks_count` ([#&#8203;6114]) - metrics: add `worker_park_unpark_count` ([#&#8203;6696]) - metrics: add worker thread id ([#&#8203;6695]) ##### Documented - io: update `tokio::io::stdout` documentation ([#&#8203;6674]) - macros: typo fix in `join.rs` and `try_join.rs` ([#&#8203;6641]) - runtime: fix typo in `unhandled_panic` ([#&#8203;6660]) - task: document behavior of `JoinSet::try_join_next` when all tasks are running ([#&#8203;6671]) [#&#8203;6114]: https://github.com/tokio-rs/tokio/pull/6114 [#&#8203;6154]: https://github.com/tokio-rs/tokio/pull/6154 [#&#8203;6532]: https://github.com/tokio-rs/tokio/pull/6532 [#&#8203;6584]: https://github.com/tokio-rs/tokio/pull/6584 [#&#8203;6585]: https://github.com/tokio-rs/tokio/pull/6585 [#&#8203;6593]: https://github.com/tokio-rs/tokio/pull/6593 [#&#8203;6608]: https://github.com/tokio-rs/tokio/pull/6608 [#&#8203;6612]: https://github.com/tokio-rs/tokio/pull/6612 [#&#8203;6619]: https://github.com/tokio-rs/tokio/pull/6619 [#&#8203;6621]: https://github.com/tokio-rs/tokio/pull/6621 [#&#8203;6622]: https://github.com/tokio-rs/tokio/pull/6622 [#&#8203;6626]: https://github.com/tokio-rs/tokio/pull/6626 [#&#8203;6629]: https://github.com/tokio-rs/tokio/pull/6629 [#&#8203;6635]: https://github.com/tokio-rs/tokio/pull/6635 [#&#8203;6637]: https://github.com/tokio-rs/tokio/pull/6637 [#&#8203;6641]: https://github.com/tokio-rs/tokio/pull/6641 [#&#8203;6645]: https://github.com/tokio-rs/tokio/pull/6645 [#&#8203;6660]: https://github.com/tokio-rs/tokio/pull/6660 [#&#8203;6661]: https://github.com/tokio-rs/tokio/pull/6661 [#&#8203;6663]: https://github.com/tokio-rs/tokio/pull/6663 [#&#8203;6666]: https://github.com/tokio-rs/tokio/pull/6666 [#&#8203;6667]: https://github.com/tokio-rs/tokio/pull/6667 [#&#8203;6668]: https://github.com/tokio-rs/tokio/pull/6668 [#&#8203;6671]: https://github.com/tokio-rs/tokio/pull/6671 [#&#8203;6674]: https://github.com/tokio-rs/tokio/pull/6674 [#&#8203;6692]: https://github.com/tokio-rs/tokio/pull/6692 [#&#8203;6695]: https://github.com/tokio-rs/tokio/pull/6695 [#&#8203;6696]: https://github.com/tokio-rs/tokio/pull/6696 [#&#8203;6709]: https://github.com/tokio-rs/tokio/pull/6709 [#&#8203;6710]: https://github.com/tokio-rs/tokio/pull/6710 ### [`v1.38.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.1): Tokio v1.38.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.0...tokio-1.38.1) ### 1.38.1 (July 16th, 2024) This release fixes the bug identified as ([#&#8203;6682]), which caused timers not to fire when they should. ##### Fixed - time: update `wake_up` while holding all the locks of sharded time wheels ([#&#8203;6683]) [#&#8203;6682]: https://github.com/tokio-rs/tokio/pull/6682 [#&#8203;6683]: https://github.com/tokio-rs/tokio/pull/6683 ### [`v1.38.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.0): Tokio v1.38.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.37.0...tokio-1.38.0) This release marks the beginning of stabilization for runtime metrics. It stabilizes `RuntimeMetrics::worker_count`. Future releases will continue to stabilize more metrics. ##### Added - fs: add `File::create_new` ([#&#8203;6573]) - io: add `copy_bidirectional_with_sizes` ([#&#8203;6500]) - io: implement `AsyncBufRead` for `Join` ([#&#8203;6449]) - net: add Apple visionOS support ([#&#8203;6465]) - net: implement `Clone` for `NamedPipeInfo` ([#&#8203;6586]) - net: support QNX OS ([#&#8203;6421]) - sync: add `Notify::notify_last` ([#&#8203;6520]) - sync: add `mpsc::Receiver::{capacity,max_capacity}` ([#&#8203;6511]) - sync: add `split` method to the semaphore permit ([#&#8203;6472], [#&#8203;6478]) - task: add `tokio::task::join_set::Builder::spawn_blocking` ([#&#8203;6578]) - wasm: support rt-multi-thread with wasm32-wasi-preview1-threads ([#&#8203;6510]) ##### Changed - macros: make `#[tokio::test]` append `#[test]` at the end of the attribute list ([#&#8203;6497]) - metrics: fix `blocking_threads` count ([#&#8203;6551]) - metrics: stabilize `RuntimeMetrics::worker_count` ([#&#8203;6556]) - runtime: move task out of the `lifo_slot` in `block_in_place` ([#&#8203;6596]) - runtime: panic if `global_queue_interval` is zero ([#&#8203;6445]) - sync: always drop message in destructor for oneshot receiver ([#&#8203;6558]) - sync: instrument `Semaphore` for task dumps ([#&#8203;6499]) - sync: use FIFO ordering when waking batches of wakers ([#&#8203;6521]) - task: make `LocalKey::get` work with Clone types ([#&#8203;6433]) - tests: update nix and mio-aio dev-dependencies ([#&#8203;6552]) - time: clean up implementation ([#&#8203;6517]) - time: lazily init timers on first poll ([#&#8203;6512]) - time: remove the `true_when` field in `TimerShared` ([#&#8203;6563]) - time: use sharding for timer implementation ([#&#8203;6534]) ##### Fixed - taskdump: allow building taskdump docs on non-unix machines ([#&#8203;6564]) - time: check for overflow in `Interval::poll_tick` ([#&#8203;6487]) - sync: fix incorrect `is_empty` on mpsc block boundaries ([#&#8203;6603]) ##### Documented - fs: rewrite file system docs ([#&#8203;6467]) - io: fix `stdin` documentation ([#&#8203;6581]) - io: fix obsolete reference in `ReadHalf::unsplit()` documentation ([#&#8203;6498]) - macros: render more comprehensible documentation for `select!` ([#&#8203;6468]) - net: add missing types to module docs ([#&#8203;6482]) - net: fix misleading `NamedPipeServer` example ([#&#8203;6590]) - sync: add examples for `SemaphorePermit`, `OwnedSemaphorePermit` ([#&#8203;6477]) - sync: document that `Barrier::wait` is not cancel safe ([#&#8203;6494]) - sync: explain relation between `watch::Sender::{subscribe,closed}` ([#&#8203;6490]) - task: clarify that you can't abort `spawn_blocking` tasks ([#&#8203;6571]) - task: fix a typo in doc of `LocalSet::run_until` ([#&#8203;6599]) - time: fix test-util requirement for pause and resume in docs ([#&#8203;6503]) [#&#8203;6421]: https://github.com/tokio-rs/tokio/pull/6421 [#&#8203;6433]: https://github.com/tokio-rs/tokio/pull/6433 [#&#8203;6445]: https://github.com/tokio-rs/tokio/pull/6445 [#&#8203;6449]: https://github.com/tokio-rs/tokio/pull/6449 [#&#8203;6465]: https://github.com/tokio-rs/tokio/pull/6465 [#&#8203;6467]: https://github.com/tokio-rs/tokio/pull/6467 [#&#8203;6468]: https://github.com/tokio-rs/tokio/pull/6468 [#&#8203;6472]: https://github.com/tokio-rs/tokio/pull/6472 [#&#8203;6477]: https://github.com/tokio-rs/tokio/pull/6477 [#&#8203;6478]: https://github.com/tokio-rs/tokio/pull/6478 [#&#8203;6482]: https://github.com/tokio-rs/tokio/pull/6482 [#&#8203;6487]: https://github.com/tokio-rs/tokio/pull/6487 [#&#8203;6490]: https://github.com/tokio-rs/tokio/pull/6490 [#&#8203;6494]: https://github.com/tokio-rs/tokio/pull/6494 [#&#8203;6497]: https://github.com/tokio-rs/tokio/pull/6497 [#&#8203;6498]: https://github.com/tokio-rs/tokio/pull/6498 [#&#8203;6499]: https://github.com/tokio-rs/tokio/pull/6499 [#&#8203;6500]: https://github.com/tokio-rs/tokio/pull/6500 [#&#8203;6503]: https://github.com/tokio-rs/tokio/pull/6503 [#&#8203;6510]: https://github.com/tokio-rs/tokio/pull/6510 [#&#8203;6511]: https://github.com/tokio-rs/tokio/pull/6511 [#&#8203;6512]: https://github.com/tokio-rs/tokio/pull/6512 [#&#8203;6517]: https://github.com/tokio-rs/tokio/pull/6517 [#&#8203;6520]: https://github.com/tokio-rs/tokio/pull/6520 [#&#8203;6521]: https://github.com/tokio-rs/tokio/pull/6521 [#&#8203;6534]: https://github.com/tokio-rs/tokio/pull/6534 [#&#8203;6551]: https://github.com/tokio-rs/tokio/pull/6551 [#&#8203;6552]: https://github.com/tokio-rs/tokio/pull/6552 [#&#8203;6556]: https://github.com/tokio-rs/tokio/pull/6556 [#&#8203;6558]: https://github.com/tokio-rs/tokio/pull/6558 [#&#8203;6563]: https://github.com/tokio-rs/tokio/pull/6563 [#&#8203;6564]: https://github.com/tokio-rs/tokio/pull/6564 [#&#8203;6571]: https://github.com/tokio-rs/tokio/pull/6571 [#&#8203;6573]: https://github.com/tokio-rs/tokio/pull/6573 [#&#8203;6578]: https://github.com/tokio-rs/tokio/pull/6578 [#&#8203;6581]: https://github.com/tokio-rs/tokio/pull/6581 [#&#8203;6586]: https://github.com/tokio-rs/tokio/pull/6586 [#&#8203;6590]: https://github.com/tokio-rs/tokio/pull/6590 [#&#8203;6596]: https://github.com/tokio-rs/tokio/pull/6596 [#&#8203;6599]: https://github.com/tokio-rs/tokio/pull/6599 [#&#8203;6603]: https://github.com/tokio-rs/tokio/pull/6603 ### [`v1.37.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.37.0): Tokio v1.37.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0) ### 1.37.0 (March 28th, 2024) ##### Added - fs: add `set_max_buf_size` to `tokio::fs::File` ([#&#8203;6411]) - io: add `try_new` and `try_with_interest` to `AsyncFd` ([#&#8203;6345]) - sync: add `forget_permits` method to semaphore ([#&#8203;6331]) - sync: add `is_closed`, `is_empty`, and `len` to mpsc receivers ([#&#8203;6348]) - sync: add a `rwlock()` method to owned `RwLock` guards ([#&#8203;6418]) - sync: expose strong and weak counts of mpsc sender handles ([#&#8203;6405]) - sync: implement `Clone` for `watch::Sender` ([#&#8203;6388]) - task: add `TaskLocalFuture::take_value` ([#&#8203;6340]) - task: implement `FromIterator` for `JoinSet` ([#&#8203;6300]) ##### Changed - io: make `io::split` use a mutex instead of a spinlock ([#&#8203;6403]) ##### Fixed - docs: fix docsrs build without net feature ([#&#8203;6360]) - macros: allow select with only else branch ([#&#8203;6339]) - runtime: fix leaking registration entries when os registration fails ([#&#8203;6329]) ##### Documented - io: document cancel safety of `AsyncBufReadExt::fill_buf` ([#&#8203;6431]) - io: document cancel safety of `AsyncReadExt`'s primitive read functions ([#&#8203;6337]) - runtime: add doc link from `Runtime` to `#[tokio::main]` ([#&#8203;6366]) - runtime: make the `enter` example deterministic ([#&#8203;6351]) - sync: add Semaphore example for limiting the number of outgoing requests ([#&#8203;6419]) - sync: fix missing period in broadcast docs ([#&#8203;6377]) - sync: mark `mpsc::Sender::downgrade` with `#[must_use]` ([#&#8203;6326]) - sync: reorder `const_new` before `new_with` ([#&#8203;6392]) - sync: update watch channel docs ([#&#8203;6395]) - task: fix documentation links ([#&#8203;6336]) ##### Changed (unstable) - runtime: include task `Id` in taskdumps ([#&#8203;6328]) - runtime: panic if `unhandled_panic` is enabled when not supported ([#&#8203;6410]) [#&#8203;6300]: https://github.com/tokio-rs/tokio/pull/6300 [#&#8203;6326]: https://github.com/tokio-rs/tokio/pull/6326 [#&#8203;6328]: https://github.com/tokio-rs/tokio/pull/6328 [#&#8203;6329]: https://github.com/tokio-rs/tokio/pull/6329 [#&#8203;6331]: https://github.com/tokio-rs/tokio/pull/6331 [#&#8203;6336]: https://github.com/tokio-rs/tokio/pull/6336 [#&#8203;6337]: https://github.com/tokio-rs/tokio/pull/6337 [#&#8203;6339]: https://github.com/tokio-rs/tokio/pull/6339 [#&#8203;6340]: https://github.com/tokio-rs/tokio/pull/6340 [#&#8203;6345]: https://github.com/tokio-rs/tokio/pull/6345 [#&#8203;6348]: https://github.com/tokio-rs/tokio/pull/6348 [#&#8203;6351]: https://github.com/tokio-rs/tokio/pull/6351 [#&#8203;6360]: https://github.com/tokio-rs/tokio/pull/6360 [#&#8203;6366]: https://github.com/tokio-rs/tokio/pull/6366 [#&#8203;6377]: https://github.com/tokio-rs/tokio/pull/6377 [#&#8203;6388]: https://github.com/tokio-rs/tokio/pull/6388 [#&#8203;6392]: https://github.com/tokio-rs/tokio/pull/6392 [#&#8203;6395]: https://github.com/tokio-rs/tokio/pull/6395 [#&#8203;6403]: https://github.com/tokio-rs/tokio/pull/6403 [#&#8203;6405]: https://github.com/tokio-rs/tokio/pull/6405 [#&#8203;6410]: https://github.com/tokio-rs/tokio/pull/6410 [#&#8203;6411]: https://github.com/tokio-rs/tokio/pull/6411 [#&#8203;6418]: https://github.com/tokio-rs/tokio/pull/6418 [#&#8203;6419]: https://github.com/tokio-rs/tokio/pull/6419 [#&#8203;6431]: https://github.com/tokio-rs/tokio/pull/6431 ### [`v1.36.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.36.0): Tokio v1.36.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.35.1...tokio-1.36.0) ### 1.36.0 (February 2nd, 2024) ##### Added - io: add `tokio::io::Join` ([#&#8203;6220]) - io: implement `AsyncWrite` for `Empty` ([#&#8203;6235]) - net: add support for anonymous unix pipes ([#&#8203;6127]) - net: add `UnixSocket` ([#&#8203;6290]) - net: expose keepalive option on `TcpSocket` ([#&#8203;6311]) - sync: add `{Receiver,UnboundedReceiver}::poll_recv_many` ([#&#8203;6236]) - sync: add `Sender::{try_,}reserve_many` ([#&#8203;6205]) - sync: add `watch::Receiver::mark_unchanged` ([#&#8203;6252]) - task: add `JoinSet::try_join_next` ([#&#8203;6280]) ##### Changed - io: make `copy` cooperative ([#&#8203;6265]) - io: make `repeat` and `sink` cooperative ([#&#8203;6254]) - io: simplify check for empty slice ([#&#8203;6293]) - process: use pidfd on Linux when available ([#&#8203;6152]) - sync: use AtomicBool in broadcast channel future ([#&#8203;6298]) ##### Documented - io: clarify `clear_ready` docs ([#&#8203;6304]) - net: document that `*Fd` traits on `TcpSocket` are unix-only ([#&#8203;6294]) - sync: document FIFO behavior of `tokio::sync::Mutex` ([#&#8203;6279]) - chore: typographic improvements ([#&#8203;6262]) - runtime: remove obsolete comment ([#&#8203;6303]) - task: fix typo ([#&#8203;6261]) [#&#8203;6220]: https://github.com/tokio-rs/tokio/pull/6220 [#&#8203;6235]: https://github.com/tokio-rs/tokio/pull/6235 [#&#8203;6127]: https://github.com/tokio-rs/tokio/pull/6127 [#&#8203;6290]: https://github.com/tokio-rs/tokio/pull/6290 [#&#8203;6311]: https://github.com/tokio-rs/tokio/pull/6311 [#&#8203;6236]: https://github.com/tokio-rs/tokio/pull/6236 [#&#8203;6205]: https://github.com/tokio-rs/tokio/pull/6205 [#&#8203;6252]: https://github.com/tokio-rs/tokio/pull/6252 [#&#8203;6280]: https://github.com/tokio-rs/tokio/pull/6280 [#&#8203;6265]: https://github.com/tokio-rs/tokio/pull/6265 [#&#8203;6254]: https://github.com/tokio-rs/tokio/pull/6254 [#&#8203;6293]: https://github.com/tokio-rs/tokio/pull/6293 [#&#8203;6238]: https://github.com/tokio-rs/tokio/pull/6238 [#&#8203;6152]: https://github.com/tokio-rs/tokio/pull/6152 [#&#8203;6298]: https://github.com/tokio-rs/tokio/pull/6298 [#&#8203;6262]: https://github.com/tokio-rs/tokio/pull/6262 [#&#8203;6303]: https://github.com/tokio-rs/tokio/pull/6303 [#&#8203;6261]: https://github.com/tokio-rs/tokio/pull/6261 [#&#8203;6304]: https://github.com/tokio-rs/tokio/pull/6304 [#&#8203;6294]: https://github.com/tokio-rs/tokio/pull/6294 [#&#8203;6279]: https://github.com/tokio-rs/tokio/pull/6279 ### [`v1.35.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.35.1): Tokio v1.35.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1) ### 1.35.1 (December 19, 2023) This is a forward part of a change that was backported to 1.25.3. ##### Fixed - io: add budgeting to `tokio::runtime::io::registration::async_io` ([#&#8203;6221]) [#&#8203;6221]: https://github.com/tokio-rs/tokio/pull/6221 ### [`v1.35.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.35.0): Tokio v1.35.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.34.0...tokio-1.35.0) ### 1.35.0 (December 8th, 2023) ##### Added - net: add Apple watchOS support ([#&#8203;6176]) ##### Changed - io: drop the `Sized` requirements from `AsyncReadExt.read_buf` ([#&#8203;6169]) - runtime: make `Runtime` unwind safe ([#&#8203;6189]) - runtime: reduce the lock contention in task spawn ([#&#8203;6001]) - tokio: update nix dependency to 0.27.1 ([#&#8203;6190]) ##### Fixed - chore: make `--cfg docsrs` work without net feature ([#&#8203;6166]) - chore: use relaxed load for `unsync_load` on miri ([#&#8203;6179]) - runtime: handle missing context on wake ([#&#8203;6148]) - taskdump: fix taskdump cargo config example ([#&#8203;6150]) - taskdump: skip notified tasks during taskdumps ([#&#8203;6194]) - tracing: avoid creating resource spans with current parent, use a None parent instead ([#&#8203;6107]) - tracing: make task span explicit root ([#&#8203;6158]) ##### Documented - io: flush in `AsyncWriteExt` examples ([#&#8203;6149]) - runtime: document fairness guarantees and current behavior ([#&#8203;6145]) - task: document cancel safety of `LocalSet::run_until` ([#&#8203;6147]) [#&#8203;6001]: https://github.com/tokio-rs/tokio/pull/6001 [#&#8203;6107]: https://github.com/tokio-rs/tokio/pull/6107 [#&#8203;6144]: https://github.com/tokio-rs/tokio/pull/6144 [#&#8203;6145]: https://github.com/tokio-rs/tokio/pull/6145 [#&#8203;6147]: https://github.com/tokio-rs/tokio/pull/6147 [#&#8203;6148]: https://github.com/tokio-rs/tokio/pull/6148 [#&#8203;6149]: https://github.com/tokio-rs/tokio/pull/6149 [#&#8203;6150]: https://github.com/tokio-rs/tokio/pull/6150 [#&#8203;6158]: https://github.com/tokio-rs/tokio/pull/6158 [#&#8203;6166]: https://github.com/tokio-rs/tokio/pull/6166 [#&#8203;6169]: https://github.com/tokio-rs/tokio/pull/6169 [#&#8203;6176]: https://github.com/tokio-rs/tokio/pull/6176 [#&#8203;6179]: https://github.com/tokio-rs/tokio/pull/6179 [#&#8203;6189]: https://github.com/tokio-rs/tokio/pull/6189 [#&#8203;6190]: https://github.com/tokio-rs/tokio/pull/6190 [#&#8203;6194]: https://github.com/tokio-rs/tokio/pull/6194 ### [`v1.34.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.34.0): Tokio v1.34.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.33.0...tokio-1.34.0) ##### Fixed - io: allow `clear_readiness` after io driver shutdown ([#&#8203;6067]) - io: fix integer overflow in `take` ([#&#8203;6080]) - io: fix I/O resource hang ([#&#8203;6134]) - sync: fix `broadcast::channel` link ([#&#8203;6100]) ##### Changed - macros: use `::core` qualified imports instead of `::std` inside `tokio::test` macro ([#&#8203;5973]) ##### Added - fs: update cfg attr in `fs::read_dir` to include `aix` ([#&#8203;6075]) - sync: add `mpsc::Receiver::recv_many` ([#&#8203;6010]) - tokio: added vita target support ([#&#8203;6094]) [#&#8203;5973]: https://github.com/tokio-rs/tokio/pull/5973 [#&#8203;6067]: https://github.com/tokio-rs/tokio/pull/6067 [#&#8203;6080]: https://github.com/tokio-rs/tokio/pull/6080 [#&#8203;6134]: https://github.com/tokio-rs/tokio/pull/6134 [#&#8203;6100]: https://github.com/tokio-rs/tokio/pull/6100 [#&#8203;6075]: https://github.com/tokio-rs/tokio/pull/6075 [#&#8203;6010]: https://github.com/tokio-rs/tokio/pull/6010 [#&#8203;6094]: https://github.com/tokio-rs/tokio/pull/6094 ### [`v1.33.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.33.0): Tokio v1.33.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.32.1...tokio-1.33.0) ### 1.33.0 (October 9, 2023) ##### Fixed - io: mark `Interest::add` with `#[must_use]` ([#&#8203;6037]) - runtime: fix cache line size for RISC-V ([#&#8203;5994]) - sync: prevent lock poisoning in `watch::Receiver::wait_for` ([#&#8203;6021]) - task: fix `spawn_local` source location ([#&#8203;5984]) ##### Changed - sync: use Acquire/Release orderings instead of SeqCst in `watch` ([#&#8203;6018]) ##### Added - fs: add vectored writes to `tokio::fs::File` ([#&#8203;5958]) - io: add `Interest::remove` method ([#&#8203;5906]) - io: add vectored writes to `DuplexStream` ([#&#8203;5985]) - net: add Apple tvOS support ([#&#8203;6045]) - sync: add `?Sized` bound to `{MutexGuard,OwnedMutexGuard}::map` ([#&#8203;5997]) - sync: add `watch::Receiver::mark_unseen` ([#&#8203;5962], [#&#8203;6014], [#&#8203;6017]) - sync: add `watch::Sender::new` ([#&#8203;5998]) - sync: add const fn `OnceCell::from_value` ([#&#8203;5903]) ##### Removed - remove unused `stats` feature ([#&#8203;5952]) ##### Documented - add missing backticks in code examples ([#&#8203;5938], [#&#8203;6056]) - fix typos ([#&#8203;5988], [#&#8203;6030]) - process: document that `Child::wait` is cancel safe ([#&#8203;5977]) - sync: add examples for `Semaphore` ([#&#8203;5939], [#&#8203;5956], [#&#8203;5978], [#&#8203;6031], [#&#8203;6032], [#&#8203;6050]) - sync: document that `broadcast` capacity is a lower bound ([#&#8203;6042]) - sync: document that `const_new` is not instrumented ([#&#8203;6002]) - sync: improve cancel-safety documentation for `mpsc::Sender::send` ([#&#8203;5947]) - sync: improve docs for `watch` channel ([#&#8203;5954]) - taskdump: render taskdump documentation on docs.rs ([#&#8203;5972]) ##### Unstable - taskdump: fix potential deadlock ([#&#8203;6036]) [#&#8203;5903]: https://github.com/tokio-rs/tokio/pull/5903 [#&#8203;5906]: https://github.com/tokio-rs/tokio/pull/5906 [#&#8203;5938]: https://github.com/tokio-rs/tokio/pull/5938 [#&#8203;5939]: https://github.com/tokio-rs/tokio/pull/5939 [#&#8203;5947]: https://github.com/tokio-rs/tokio/pull/5947 [#&#8203;5952]: https://github.com/tokio-rs/tokio/pull/5952 [#&#8203;5954]: https://github.com/tokio-rs/tokio/pull/5954 [#&#8203;5956]: https://github.com/tokio-rs/tokio/pull/5956 [#&#8203;5958]: https://github.com/tokio-rs/tokio/pull/5958 [#&#8203;5960]: https://github.com/tokio-rs/tokio/pull/5960 [#&#8203;5962]: https://github.com/tokio-rs/tokio/pull/5962 [#&#8203;5971]: https://github.com/tokio-rs/tokio/pull/5971 [#&#8203;5972]: https://github.com/tokio-rs/tokio/pull/5972 [#&#8203;5977]: https://github.com/tokio-rs/tokio/pull/5977 [#&#8203;5978]: https://github.com/tokio-rs/tokio/pull/5978 [#&#8203;5984]: https://github.com/tokio-rs/tokio/pull/5984 [#&#8203;5985]: https://github.com/tokio-rs/tokio/pull/5985 [#&#8203;5988]: https://github.com/tokio-rs/tokio/pull/5988 [#&#8203;5994]: https://github.com/tokio-rs/tokio/pull/5994 [#&#8203;5997]: https://github.com/tokio-rs/tokio/pull/5997 [#&#8203;5998]: https://github.com/tokio-rs/tokio/pull/5998 [#&#8203;6002]: https://github.com/tokio-rs/tokio/pull/6002 [#&#8203;6014]: https://github.com/tokio-rs/tokio/pull/6014 [#&#8203;6017]: https://github.com/tokio-rs/tokio/pull/6017 [#&#8203;6018]: https://github.com/tokio-rs/tokio/pull/6018 [#&#8203;6021]: https://github.com/tokio-rs/tokio/pull/6021 [#&#8203;6030]: https://github.com/tokio-rs/tokio/pull/6030 [#&#8203;6031]: https://github.com/tokio-rs/tokio/pull/6031 [#&#8203;6032]: https://github.com/tokio-rs/tokio/pull/6032 [#&#8203;6036]: https://github.com/tokio-rs/tokio/pull/6036 [#&#8203;6037]: https://github.com/tokio-rs/tokio/pull/6037 [#&#8203;6042]: https://github.com/tokio-rs/tokio/pull/6042 [#&#8203;6045]: https://github.com/tokio-rs/tokio/pull/6045 [#&#8203;6050]: https://github.com/tokio-rs/tokio/pull/6050 [#&#8203;6056]: https://github.com/tokio-rs/tokio/pull/6056 [#&#8203;6058]: https://github.com/tokio-rs/tokio/pull/6058 ### [`v1.32.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.32.1): Tokio v1.32.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.32.1) ### 1.32.1 (December 19, 2023) This is a forward part of a change that was backported to 1.25.3. ##### Fixed - io: add budgeting to `tokio::runtime::io::registration::async_io` ([#&#8203;6221]) [#&#8203;6221]: https://github.com/tokio-rs/tokio/pull/6221 ### [`v1.32.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.32.0): Tokio v1.32.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.31.0...tokio-1.32.0) ##### Fixed - sync: fix potential quadratic behavior in `broadcast::Receiver` ([#&#8203;5925]) ##### Added - process: stabilize `Command::raw_arg` ([#&#8203;5930]) - io: enable awaiting error readiness ([#&#8203;5781]) ##### Unstable - rt(alt): improve the scalability of alt runtime as the number of cores grows ([#&#8203;5935]) [#&#8203;5925]: https://github.com/tokio-rs/tokio/pull/5925 [#&#8203;5930]: https://github.com/tokio-rs/tokio/pull/5930 [#&#8203;5781]: https://github.com/tokio-rs/tokio/pull/5781 [#&#8203;5935]: https://github.com/tokio-rs/tokio/pull/5935 ### [`v1.31.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.31.0): Tokio v1.31.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.30.0...tokio-1.31.0) ##### Fixed - io: delegate `WriteHalf::poll_write_vectored` ([#&#8203;5914]) ##### Unstable - rt(unstable): fix memory leak in unstable next-gen scheduler prototype ([#&#8203;5911]) - rt: expose mean task poll time metric ([#&#8203;5927]) [#&#8203;5914]: https://github.com/tokio-rs/tokio/pull/5914 [#&#8203;5911]: https://github.com/tokio-rs/tokio/pull/5911 [#&#8203;5927]: https://github.com/tokio-rs/tokio/pull/5927 ### [`v1.30.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.30.0): Tokio v1.30.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.29.1...tokio-1.30.0) ### 1.30.0 (August 9, 2023) This release bumps the MSRV of Tokio to 1.63. ([#&#8203;5887]) ##### Changed - tokio: reduce LLVM code generation ([#&#8203;5859]) - io: support `--cfg mio_unsupported_force_poll_poll` flag ([#&#8203;5881]) - sync: make `const_new` methods always available ([#&#8203;5885]) - sync: avoid false sharing in mpsc channel ([#&#8203;5829]) - rt: pop at least one task from inject queue ([#&#8203;5908]) ##### Added - sync: add `broadcast::Sender::new` ([#&#8203;5824]) - net: implement `UCred` for espidf ([#&#8203;5868]) - fs: add `File::options()` ([#&#8203;5869]) - time: implement extra reset variants for `Interval` ([#&#8203;5878]) - process: add `{ChildStd*}::into_owned_{fd, handle}` ([#&#8203;5899]) ##### Removed - tokio: removed unused `tokio_*` cfgs ([#&#8203;5890]) - remove build script to speed up compilation ([#&#8203;5887]) ##### Documented - sync: mention lagging in docs for `broadcast::send` ([#&#8203;5820]) - runtime: expand on sharing runtime docs ([#&#8203;5858]) - io: use vec in example for `AsyncReadExt::read_exact` ([#&#8203;5863]) - time: mark `Sleep` as `!Unpin` in docs ([#&#8203;5916]) - process: fix `raw_arg` not showing up in docs ([#&#8203;5865]) ##### Unstable - rt: add runtime ID ([#&#8203;5864]) - rt: initial implementation of new threaded runtime ([#&#8203;5823]) [#&#8203;5820]: https://github.com/tokio-rs/tokio/pull/5820 [#&#8203;5823]: https://github.com/tokio-rs/tokio/pull/5823 [#&#8203;5824]: https://github.com/tokio-rs/tokio/pull/5824 [#&#8203;5829]: https://github.com/tokio-rs/tokio/pull/5829 [#&#8203;5858]: https://github.com/tokio-rs/tokio/pull/5858 [#&#8203;5859]: https://github.com/tokio-rs/tokio/pull/5859 [#&#8203;5863]: https://github.com/tokio-rs/tokio/pull/5863 [#&#8203;5864]: https://github.com/tokio-rs/tokio/pull/5864 [#&#8203;5865]: https://github.com/tokio-rs/tokio/pull/5865 [#&#8203;5868]: https://github.com/tokio-rs/tokio/pull/5868 [#&#8203;5869]: https://github.com/tokio-rs/tokio/pull/5869 [#&#8203;5878]: https://github.com/tokio-rs/tokio/pull/5878 [#&#8203;5881]: https://github.com/tokio-rs/tokio/pull/5881 [#&#8203;5885]: https://github.com/tokio-rs/tokio/pull/5885 [#&#8203;5887]: https://github.com/tokio-rs/tokio/pull/5887 [#&#8203;5890]: https://github.com/tokio-rs/tokio/pull/5890 [#&#8203;5899]: https://github.com/tokio-rs/tokio/pull/5899 [#&#8203;5908]: https://github.com/tokio-rs/tokio/pull/5908 [#&#8203;5916]: https://github.com/tokio-rs/tokio/pull/5916 ### [`v1.29.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.29.1): Tokio v1.29.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1) ##### Fixed - rt: fix nesting two `block_in_place` with a `block_on` between ([#&#8203;5837]) [#&#8203;5837]: https://github.com/tokio-rs/tokio/pull/5837 ### [`v1.29.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.29.0): Tokio v1.29.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0) Technically a breaking change, the `Send` implementation is removed from `runtime::EnterGuard`. This change fixes a bug and should not impact most users. ##### Breaking - rt: `EnterGuard` should not be `Send` ([#&#8203;5766]) ##### Fixed - fs: reduce blocking ops in `fs::read_dir` ([#&#8203;5653]) - rt: fix possible starvation ([#&#8203;5686], [#&#8203;5712]) - rt: fix stacked borrows issue in `JoinSet` ([#&#8203;5693]) - rt: panic if `EnterGuard` dropped incorrect order ([#&#8203;5772]) - time: do not overflow to signal value ([#&#8203;5710]) - fs: wait for in-flight ops before cloning `File` ([#&#8203;5803]) ##### Changed - rt: reduce time to poll tasks scheduled from outside the runtime ([#&#8203;5705], [#&#8203;5720]) ##### Added - net: add uds doc alias for unix sockets ([#&#8203;5659]) - rt: add metric for number of tasks ([#&#8203;5628]) - sync: implement more traits for channel errors ([#&#8203;5666]) - net: add nodelay methods on TcpSocket ([#&#8203;5672]) - sync: add `broadcast::Receiver::blocking_recv` ([#&#8203;5690]) - process: add `raw_arg` method to `Command` ([#&#8203;5704]) - io: support PRIORITY epoll events ([#&#8203;5566]) - task: add `JoinSet::poll_join_next` ([#&#8203;5721]) - net: add support for Redox OS ([#&#8203;5790]) ##### Unstable - rt: add the ability to dump task backtraces ([#&#8203;5608], [#&#8203;5676], [#&#8203;5708], [#&#8203;5717]) - rt: instrument task poll times with a histogram ([#&#8203;5685]) [#&#8203;5766]: https://github.com/tokio-rs/tokio/pull/5766 [#&#8203;5653]: https://github.com/tokio-rs/tokio/pull/5653 [#&#8203;5686]: https://github.com/tokio-rs/tokio/pull/5686 [#&#8203;5712]: https://github.com/tokio-rs/tokio/pull/5712 [#&#8203;5693]: https://github.com/tokio-rs/tokio/pull/5693 [#&#8203;5772]: https://github.com/tokio-rs/tokio/pull/5772 [#&#8203;5710]: https://github.com/tokio-rs/tokio/pull/5710 [#&#8203;5803]: https://github.com/tokio-rs/tokio/pull/5803 [#&#8203;5705]: https://github.com/tokio-rs/tokio/pull/5705 [#&#8203;5720]: https://github.com/tokio-rs/tokio/pull/5720 [#&#8203;5659]: https://github.com/tokio-rs/tokio/pull/5659 [#&#8203;5628]: https://github.com/tokio-rs/tokio/pull/5628 [#&#8203;5666]: https://github.com/tokio-rs/tokio/pull/5666 [#&#8203;5672]: https://github.com/tokio-rs/tokio/pull/5672 [#&#8203;5690]: https://github.com/tokio-rs/tokio/pull/5690 [#&#8203;5704]: https://github.com/tokio-rs/tokio/pull/5704 [#&#8203;5566]: https://github.com/tokio-rs/tokio/pull/5566 [#&#8203;5721]: https://github.com/tokio-rs/tokio/pull/5721 [#&#8203;5790]: https://github.com/tokio-rs/tokio/pull/5790 [#&#8203;5608]: https://github.com/tokio-rs/tokio/pull/5608 [#&#8203;5676]: https://github.com/tokio-rs/tokio/pull/5676 [#&#8203;5708]: https://github.com/tokio-rs/tokio/pull/5708 [#&#8203;5717]: https://github.com/tokio-rs/tokio/pull/5717 [#&#8203;5685]: https://github.com/tokio-rs/tokio/pull/5685 </details> --- ### 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](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQyNC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
kjuulh added 1 commit 2023-08-08 14:08:08 +02:00
chore(deps): update all dependencies
Some checks failed
renovate/artifacts Artifact file update failure
614275f8d5
Author
Owner

⚠ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --manifest-path Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `sqlx`.
    ... required by package `bearing v0.1.0 (/tmp/renovate/repos/gitea/kjuulh/bearing/crates/bearing)`
versions that meet the requirements `^0.7` are: 0.7.4, 0.7.3, 0.7.2, 0.7.1, 0.7.0

the package `bearing` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features.


failed to select a version for `sqlx` which could resolve this conflict

File name: Cargo.lock
Command failed: cargo update --manifest-path crates/bearing/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `sqlx`.
    ... required by package `bearing v0.1.0 (/tmp/renovate/repos/gitea/kjuulh/bearing/crates/bearing)`
versions that meet the requirements `^0.7` are: 0.7.4, 0.7.3, 0.7.2, 0.7.1, 0.7.0

the package `bearing` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features.


failed to select a version for `sqlx` which could resolve this conflict

### ⚠ Artifact update problem Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: Cargo.lock ``` Command failed: cargo update --manifest-path Cargo.toml --workspace Updating crates.io index error: failed to select a version for `sqlx`. ... required by package `bearing v0.1.0 (/tmp/renovate/repos/gitea/kjuulh/bearing/crates/bearing)` versions that meet the requirements `^0.7` are: 0.7.4, 0.7.3, 0.7.2, 0.7.1, 0.7.0 the package `bearing` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features. failed to select a version for `sqlx` which could resolve this conflict ``` ##### File name: Cargo.lock ``` Command failed: cargo update --manifest-path crates/bearing/Cargo.toml --workspace Updating crates.io index error: failed to select a version for `sqlx`. ... required by package `bearing v0.1.0 (/tmp/renovate/repos/gitea/kjuulh/bearing/crates/bearing)` versions that meet the requirements `^0.7` are: 0.7.4, 0.7.3, 0.7.2, 0.7.1, 0.7.0 the package `bearing` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features. failed to select a version for `sqlx` which could resolve this conflict ```
kjuulh force-pushed renovate/all from 614275f8d5 to 4b53fc21a7 2023-08-15 09:42:57 +02:00 Compare
kjuulh force-pushed renovate/all from 4b53fc21a7 to 3c6e6c7667 2023-08-15 18:05:20 +02:00 Compare
kjuulh force-pushed renovate/all from 3c6e6c7667 to f804b33070 2023-08-17 03:38:08 +02:00 Compare
kjuulh force-pushed renovate/all from f804b33070 to 3c16adf58a 2023-08-17 16:30:42 +02:00 Compare
kjuulh force-pushed renovate/all from 3c16adf58a to fabc70bd31 2023-08-18 23:52:01 +02:00 Compare
kjuulh force-pushed renovate/all from fabc70bd31 to cfe21690aa 2023-08-23 16:48:44 +02:00 Compare
kjuulh force-pushed renovate/all from cfe21690aa to a57270c286 2023-08-24 18:32:12 +02:00 Compare
kjuulh force-pushed renovate/all from a57270c286 to ebfdfe541e 2023-08-28 19:21:59 +02:00 Compare
kjuulh force-pushed renovate/all from ebfdfe541e to baceaf990a 2023-08-31 20:53:55 +02:00 Compare
kjuulh force-pushed renovate/all from baceaf990a to 7bc33d4487 2023-09-12 20:43:09 +02:00 Compare
kjuulh force-pushed renovate/all from 7bc33d4487 to e68a110b33 2023-09-18 17:58:32 +02:00 Compare
kjuulh force-pushed renovate/all from e68a110b33 to ce086980f4 2023-09-25 23:31:38 +02:00 Compare
kjuulh force-pushed renovate/all from ce086980f4 to d8c2626919 2023-09-28 22:02:52 +02:00 Compare
kjuulh force-pushed renovate/all from d8c2626919 to ed2eb3cad2 2023-10-24 20:50:07 +02:00 Compare
kjuulh force-pushed renovate/all from ed2eb3cad2 to e3ae519648 2023-11-10 23:55:53 +01:00 Compare
kjuulh force-pushed renovate/all from e3ae519648 to 3bf6c521a7 2023-11-13 18:31:56 +01:00 Compare
kjuulh force-pushed renovate/all from 3bf6c521a7 to 42366da195 2023-11-27 09:54:59 +01:00 Compare
kjuulh force-pushed renovate/all from 42366da195 to 6b5271a86c 2023-11-27 10:20:04 +01:00 Compare
kjuulh force-pushed renovate/all from 6b5271a86c to e1e5ee4b59 2023-11-27 19:14:09 +01:00 Compare
kjuulh force-pushed renovate/all from e1e5ee4b59 to a45900d272 2023-11-28 04:52:36 +01:00 Compare
kjuulh force-pushed renovate/all from a45900d272 to 63fc7c4c20 2023-12-04 09:42:48 +01:00 Compare
kjuulh force-pushed renovate/all from 63fc7c4c20 to befe7feb62 2023-12-04 19:32:17 +01:00 Compare
kjuulh force-pushed renovate/all from befe7feb62 to 072e778d3e 2023-12-21 02:16:05 +01:00 Compare
kjuulh force-pushed renovate/all from 072e778d3e to 373fc93319 2023-12-27 01:02:11 +01:00 Compare
kjuulh force-pushed renovate/all from 373fc93319 to 76aa3353cf 2023-12-28 19:46:03 +01:00 Compare
kjuulh force-pushed renovate/all from 76aa3353cf to 1f06d4be98 2023-12-29 18:05:52 +01:00 Compare
kjuulh force-pushed renovate/all from 1f06d4be98 to b2cc47b903 2023-12-31 00:09:34 +01:00 Compare
kjuulh force-pushed renovate/all from b2cc47b903 to 02789d1187 2024-01-02 05:49:49 +01:00 Compare
kjuulh force-pushed renovate/all from 02789d1187 to a847a2b5e9 2024-01-04 20:25:39 +01:00 Compare
kjuulh force-pushed renovate/all from a847a2b5e9 to 5b050e4abc 2024-01-08 17:57:31 +01:00 Compare
kjuulh force-pushed renovate/all from 5b050e4abc to b269e54f1e 2024-01-11 18:00:12 +01:00 Compare
kjuulh force-pushed renovate/all from b269e54f1e to 94d02d96a2 2024-01-12 04:09:59 +01:00 Compare
kjuulh force-pushed renovate/all from 94d02d96a2 to eaf435406e 2024-01-13 15:04:37 +01:00 Compare
kjuulh force-pushed renovate/all from eaf435406e to ae4b63dda3 2024-01-15 18:03:56 +01:00 Compare
kjuulh force-pushed renovate/all from ae4b63dda3 to e2752866e4 2024-01-16 21:36:21 +01:00 Compare
kjuulh force-pushed renovate/all from e2752866e4 to c85594ef6b 2024-02-08 18:45:12 +01:00 Compare
kjuulh force-pushed renovate/all from c85594ef6b to 05e8164479 2024-02-16 14:46:58 +01:00 Compare
kjuulh force-pushed renovate/all from 05e8164479 to 59198e7fb3 2024-02-19 07:17:04 +01:00 Compare
kjuulh force-pushed renovate/all from 59198e7fb3 to 543287c07f 2024-03-06 18:57:51 +01:00 Compare
kjuulh force-pushed renovate/all from 543287c07f to f21ab17d87 2024-03-12 04:50:39 +01:00 Compare
kjuulh force-pushed renovate/all from f21ab17d87 to c3f7d14b89 2024-03-15 14:19:15 +01:00 Compare
kjuulh force-pushed renovate/all from c3f7d14b89 to 72bb56d9f3 2024-03-24 21:02:45 +01:00 Compare
kjuulh force-pushed renovate/all from 72bb56d9f3 to d33b1919fa 2024-03-25 22:33:32 +01:00 Compare
kjuulh force-pushed renovate/all from d33b1919fa to 83bac0f236 2024-04-10 06:27:47 +02:00 Compare
kjuulh force-pushed renovate/all from 83bac0f236 to 0e358aa3e4 2024-05-06 20:53:49 +02:00 Compare
kjuulh force-pushed renovate/all from 0e358aa3e4 to eea0ce98d9 2024-05-17 20:17:12 +02:00 Compare
kjuulh force-pushed renovate/all from eea0ce98d9 to 7f39a640ca 2024-05-18 00:40:54 +02:00 Compare
kjuulh force-pushed renovate/all from 7f39a640ca to a353d1a004 2024-05-18 14:25:31 +02:00 Compare
kjuulh force-pushed renovate/all from a353d1a004 to fea7fb49c0 2024-05-23 21:43:17 +02:00 Compare
Author
Owner

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `sqlx`.
    ... required by package `bearing v0.1.0 (/tmp/renovate/repos/gitea/kjuulh/bearing/crates/bearing)`
versions that meet the requirements `^0.8` are: 0.8.2, 0.8.1, 0.8.0

the package `bearing` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features.


failed to select a version for `sqlx` which could resolve this conflict

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path crates/bearing/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `sqlx`.
    ... required by package `bearing v0.1.0 (/tmp/renovate/repos/gitea/kjuulh/bearing/crates/bearing)`
versions that meet the requirements `^0.8` are: 0.8.2, 0.8.1, 0.8.0

the package `bearing` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features.


failed to select a version for `sqlx` which could resolve this conflict

### ⚠️ Artifact update problem Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: Cargo.lock ``` Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace Updating crates.io index error: failed to select a version for `sqlx`. ... required by package `bearing v0.1.0 (/tmp/renovate/repos/gitea/kjuulh/bearing/crates/bearing)` versions that meet the requirements `^0.8` are: 0.8.2, 0.8.1, 0.8.0 the package `bearing` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features. failed to select a version for `sqlx` which could resolve this conflict ``` ##### File name: Cargo.lock ``` Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path crates/bearing/Cargo.toml --workspace Updating crates.io index error: failed to select a version for `sqlx`. ... required by package `bearing v0.1.0 (/tmp/renovate/repos/gitea/kjuulh/bearing/crates/bearing)` versions that meet the requirements `^0.8` are: 0.8.2, 0.8.1, 0.8.0 the package `bearing` depends on `sqlx`, with features: `offline` but `sqlx` does not have these features. failed to select a version for `sqlx` which could resolve this conflict ```
kjuulh force-pushed renovate/all from fea7fb49c0 to 19f5c91808 2024-05-23 22:49:44 +02:00 Compare
kjuulh force-pushed renovate/all from 19f5c91808 to 6dcafd3fa7 2024-05-23 23:24:13 +02:00 Compare
kjuulh force-pushed renovate/all from 6dcafd3fa7 to 1bfb85dfdb 2024-05-23 23:55:49 +02:00 Compare
kjuulh force-pushed renovate/all from 1bfb85dfdb to 2ea0d9c65b 2024-05-24 00:05:19 +02:00 Compare
kjuulh force-pushed renovate/all from 2ea0d9c65b to e0d8cb19eb 2024-05-24 01:00:02 +02:00 Compare
kjuulh force-pushed renovate/all from e0d8cb19eb to 19f3dd7df6 2024-05-24 01:30:27 +02:00 Compare
kjuulh force-pushed renovate/all from 19f3dd7df6 to 9b18e35a78 2024-05-24 02:01:40 +02:00 Compare
kjuulh force-pushed renovate/all from 9b18e35a78 to 7938d19e4e 2024-05-24 02:32:33 +02:00 Compare
kjuulh force-pushed renovate/all from 7938d19e4e to 55dcdb53ca 2024-05-24 03:03:53 +02:00 Compare
kjuulh force-pushed renovate/all from 55dcdb53ca to 5d279b05f1 2024-05-24 03:37:36 +02:00 Compare
kjuulh force-pushed renovate/all from 5d279b05f1 to ed0df1b468 2024-05-24 04:08:23 +02:00 Compare
kjuulh force-pushed renovate/all from ed0df1b468 to 067f4ac5eb 2024-05-24 04:38:26 +02:00 Compare
kjuulh force-pushed renovate/all from 067f4ac5eb to b1787bbd08 2024-05-24 05:09:19 +02:00 Compare
kjuulh force-pushed renovate/all from b1787bbd08 to 59e8b79a3a 2024-05-24 05:39:44 +02:00 Compare
kjuulh force-pushed renovate/all from 59e8b79a3a to dc724123f2 2024-05-24 06:04:27 +02:00 Compare
kjuulh force-pushed renovate/all from dc724123f2 to 9afc3e5930 2024-05-24 06:56:42 +02:00 Compare
kjuulh force-pushed renovate/all from 9afc3e5930 to c7d67d9778 2024-05-24 07:26:51 +02:00 Compare
kjuulh force-pushed renovate/all from c7d67d9778 to 0711937322 2024-05-24 07:56:59 +02:00 Compare
kjuulh force-pushed renovate/all from 0711937322 to 404707bf5a 2024-05-24 08:26:36 +02:00 Compare
kjuulh force-pushed renovate/all from 404707bf5a to c29263e628 2024-05-24 08:55:58 +02:00 Compare
kjuulh force-pushed renovate/all from c29263e628 to 746e5a30e1 2024-05-24 09:25:11 +02:00 Compare
kjuulh force-pushed renovate/all from 746e5a30e1 to 9a8addca8f 2024-05-24 09:54:43 +02:00 Compare
kjuulh force-pushed renovate/all from 9a8addca8f to c233f0a77b 2024-05-24 10:24:46 +02:00 Compare
kjuulh force-pushed renovate/all from c233f0a77b to 053ef2f822 2024-05-24 10:54:20 +02:00 Compare
kjuulh force-pushed renovate/all from 053ef2f822 to 8e44deb41c 2024-05-24 11:25:05 +02:00 Compare
kjuulh force-pushed renovate/all from 8e44deb41c to b74cdc32e5 2024-05-24 11:55:33 +02:00 Compare
kjuulh force-pushed renovate/all from b74cdc32e5 to b7cd81cb34 2024-05-24 12:04:47 +02:00 Compare
kjuulh force-pushed renovate/all from b7cd81cb34 to 5d89d2f63e 2024-05-24 12:56:00 +02:00 Compare
kjuulh force-pushed renovate/all from 5d89d2f63e to cf763e456e 2024-05-24 13:26:04 +02:00 Compare
kjuulh force-pushed renovate/all from cf763e456e to 02e2ff1849 2024-05-24 13:56:28 +02:00 Compare
kjuulh force-pushed renovate/all from 02e2ff1849 to 69eb1f0ad7 2024-05-24 14:26:33 +02:00 Compare
kjuulh force-pushed renovate/all from 69eb1f0ad7 to 4748ba2fff 2024-05-24 14:57:06 +02:00 Compare
kjuulh force-pushed renovate/all from 4748ba2fff to dec992f0b4 2024-05-24 15:27:31 +02:00 Compare
kjuulh force-pushed renovate/all from dec992f0b4 to 4b209d795e 2024-05-24 15:58:55 +02:00 Compare
kjuulh force-pushed renovate/all from 4b209d795e to 4c5357c2b8 2024-05-24 16:29:41 +02:00 Compare
kjuulh force-pushed renovate/all from 4c5357c2b8 to 0fd6cf1a26 2024-05-24 17:00:45 +02:00 Compare
kjuulh force-pushed renovate/all from 0fd6cf1a26 to 50f0f725cc 2024-05-24 17:31:32 +02:00 Compare
kjuulh force-pushed renovate/all from 50f0f725cc to 5ba19466c9 2024-05-24 18:04:31 +02:00 Compare
kjuulh force-pushed renovate/all from 5ba19466c9 to ab32af45e3 2024-05-24 18:58:49 +02:00 Compare
kjuulh force-pushed renovate/all from ab32af45e3 to a794e3ef71 2024-05-24 19:29:47 +02:00 Compare
kjuulh force-pushed renovate/all from a794e3ef71 to 31514c615a 2024-05-24 20:01:41 +02:00 Compare
kjuulh force-pushed renovate/all from 31514c615a to 7a52b0090d 2024-05-24 20:33:48 +02:00 Compare
kjuulh force-pushed renovate/all from 7a52b0090d to ca267acd54 2024-05-24 21:06:04 +02:00 Compare
kjuulh force-pushed renovate/all from ca267acd54 to 261a106521 2024-05-24 21:36:47 +02:00 Compare
kjuulh force-pushed renovate/all from 261a106521 to 0fbebcd724 2024-05-24 22:09:06 +02:00 Compare
kjuulh force-pushed renovate/all from 0fbebcd724 to 6dd34341fe 2024-05-24 22:39:55 +02:00 Compare
kjuulh force-pushed renovate/all from 6dd34341fe to d3d9cecf27 2024-05-24 23:12:23 +02:00 Compare
kjuulh force-pushed renovate/all from d3d9cecf27 to a21d4268ed 2024-05-24 23:42:56 +02:00 Compare
kjuulh force-pushed renovate/all from a21d4268ed to d9423e7b8b 2024-05-25 00:04:50 +02:00 Compare
kjuulh force-pushed renovate/all from d9423e7b8b to 64b8ee6c9c 2024-05-25 00:58:24 +02:00 Compare
kjuulh force-pushed renovate/all from 64b8ee6c9c to d0c2ddbf10 2024-05-25 01:29:33 +02:00 Compare
kjuulh force-pushed renovate/all from d0c2ddbf10 to dc049e83f0 2024-05-25 02:01:08 +02:00 Compare
kjuulh force-pushed renovate/all from dc049e83f0 to dead4ebfaf 2024-05-25 02:32:26 +02:00 Compare
kjuulh force-pushed renovate/all from dead4ebfaf to 949077241f 2024-05-25 03:03:50 +02:00 Compare
kjuulh force-pushed renovate/all from 949077241f to f912d7ad24 2024-05-25 03:35:11 +02:00 Compare
kjuulh force-pushed renovate/all from f912d7ad24 to 8379bba31f 2024-05-25 04:07:01 +02:00 Compare
kjuulh force-pushed renovate/all from 8379bba31f to e0b51da71d 2024-05-25 04:38:04 +02:00 Compare
kjuulh force-pushed renovate/all from e0b51da71d to 4f0c83fb33 2024-05-25 05:09:55 +02:00 Compare
kjuulh force-pushed renovate/all from 4f0c83fb33 to f61315ad87 2024-05-25 05:41:10 +02:00 Compare
kjuulh force-pushed renovate/all from f61315ad87 to 8e7f0a109b 2024-05-25 06:04:57 +02:00 Compare
kjuulh force-pushed renovate/all from 8e7f0a109b to 9f508316d6 2024-05-25 06:58:44 +02:00 Compare
kjuulh force-pushed renovate/all from 9f508316d6 to cebc808442 2024-05-25 07:29:29 +02:00 Compare
kjuulh force-pushed renovate/all from cebc808442 to 6041b3e912 2024-05-25 08:01:16 +02:00 Compare
kjuulh force-pushed renovate/all from 6041b3e912 to 8ec7a5420b 2024-05-25 08:32:29 +02:00 Compare
kjuulh force-pushed renovate/all from 8ec7a5420b to 3d07f52f8a 2024-05-25 09:04:01 +02:00 Compare
kjuulh force-pushed renovate/all from 3d07f52f8a to e70beb5ba8 2024-05-25 09:35:24 +02:00 Compare
kjuulh force-pushed renovate/all from e70beb5ba8 to 9d1d8eca17 2024-05-25 10:07:23 +02:00 Compare
kjuulh force-pushed renovate/all from 9d1d8eca17 to 12d1c6ca7b 2024-05-25 10:38:16 +02:00 Compare
kjuulh force-pushed renovate/all from 12d1c6ca7b to 15023a00da 2024-05-25 11:10:56 +02:00 Compare
kjuulh force-pushed renovate/all from 15023a00da to 58ff60ecac 2024-05-25 11:41:24 +02:00 Compare
kjuulh force-pushed renovate/all from 58ff60ecac to eb3c71859a 2024-05-25 12:04:37 +02:00 Compare
kjuulh force-pushed renovate/all from eb3c71859a to 56ca98b076 2024-05-25 12:58:37 +02:00 Compare
kjuulh force-pushed renovate/all from 56ca98b076 to 37f63200fb 2024-05-25 13:31:06 +02:00 Compare
kjuulh force-pushed renovate/all from 37f63200fb to 2137d10bf1 2024-05-25 14:03:14 +02:00 Compare
kjuulh force-pushed renovate/all from 2137d10bf1 to e2210531fd 2024-05-25 14:36:22 +02:00 Compare
kjuulh force-pushed renovate/all from e2210531fd to 95c965ead1 2024-05-25 15:07:36 +02:00 Compare
kjuulh force-pushed renovate/all from 95c965ead1 to eb5d09944e 2024-05-25 15:38:32 +02:00 Compare
kjuulh force-pushed renovate/all from eb5d09944e to a7edc6d80f 2024-05-25 16:09:43 +02:00 Compare
kjuulh force-pushed renovate/all from a7edc6d80f to f877658d9a 2024-05-25 16:40:38 +02:00 Compare
kjuulh force-pushed renovate/all from f877658d9a to 401ba3657c 2024-05-25 17:12:24 +02:00 Compare
kjuulh force-pushed renovate/all from 401ba3657c to c4017f4c95 2024-05-25 17:42:51 +02:00 Compare
kjuulh force-pushed renovate/all from c4017f4c95 to 60dd1e9228 2024-05-25 18:04:35 +02:00 Compare
kjuulh force-pushed renovate/all from 60dd1e9228 to c3f0f8f47c 2024-05-25 18:54:13 +02:00 Compare
kjuulh force-pushed renovate/all from c3f0f8f47c to 05cab17d6c 2024-05-25 19:24:14 +02:00 Compare
kjuulh force-pushed renovate/all from 05cab17d6c to a280b434aa 2024-05-25 19:55:23 +02:00 Compare
kjuulh force-pushed renovate/all from a280b434aa to e965a52be6 2024-05-25 20:27:58 +02:00 Compare
kjuulh force-pushed renovate/all from e965a52be6 to cb76d20bff 2024-05-25 21:02:07 +02:00 Compare
kjuulh force-pushed renovate/all from cb76d20bff to fe3394bbba 2024-05-25 21:35:06 +02:00 Compare
kjuulh force-pushed renovate/all from fe3394bbba to bd30117e31 2024-05-25 22:07:24 +02:00 Compare
kjuulh force-pushed renovate/all from bd30117e31 to 3057bae7f0 2024-05-25 22:37:33 +02:00 Compare
kjuulh force-pushed renovate/all from 3057bae7f0 to df9c90b08e 2024-05-25 23:09:10 +02:00 Compare
kjuulh force-pushed renovate/all from df9c90b08e to 3d833495a7 2024-05-25 23:40:06 +02:00 Compare
kjuulh force-pushed renovate/all from 3d833495a7 to 0a21fc28cf 2024-05-26 00:04:55 +02:00 Compare
kjuulh force-pushed renovate/all from 0a21fc28cf to 4979b1a4ff 2024-05-26 00:55:08 +02:00 Compare
kjuulh force-pushed renovate/all from 4979b1a4ff to 90776ffe49 2024-05-26 01:25:49 +02:00 Compare
kjuulh force-pushed renovate/all from 90776ffe49 to 4da741dc95 2024-05-26 01:56:29 +02:00 Compare
kjuulh force-pushed renovate/all from 4da741dc95 to d8e404fec5 2024-05-26 02:27:23 +02:00 Compare
kjuulh force-pushed renovate/all from d8e404fec5 to 742903040f 2024-05-26 02:58:28 +02:00 Compare
kjuulh force-pushed renovate/all from 742903040f to 7973ff2d3a 2024-05-26 03:29:22 +02:00 Compare
kjuulh force-pushed renovate/all from 7973ff2d3a to 494a4adb64 2024-05-26 03:56:04 +02:00 Compare
kjuulh force-pushed renovate/all from 494a4adb64 to 6193c7af48 2024-05-26 04:27:03 +02:00 Compare
kjuulh force-pushed renovate/all from 6193c7af48 to 611aea9282 2024-05-26 04:57:53 +02:00 Compare
kjuulh force-pushed renovate/all from 611aea9282 to 3bc717bbaa 2024-05-26 05:28:41 +02:00 Compare
kjuulh force-pushed renovate/all from 3bc717bbaa to 96f81b0b9e 2024-05-26 05:59:46 +02:00 Compare
kjuulh force-pushed renovate/all from 96f81b0b9e to 172fa45e76 2024-05-26 06:05:03 +02:00 Compare
kjuulh force-pushed renovate/all from 172fa45e76 to 09248e4fe8 2024-05-26 06:54:47 +02:00 Compare
kjuulh force-pushed renovate/all from 09248e4fe8 to 0dad38324e 2024-05-26 07:24:44 +02:00 Compare
kjuulh force-pushed renovate/all from 0dad38324e to de715a72fe 2024-05-26 07:56:16 +02:00 Compare
kjuulh force-pushed renovate/all from de715a72fe to a60d753ae1 2024-05-26 08:26:55 +02:00 Compare
kjuulh force-pushed renovate/all from a60d753ae1 to 3be6f368db 2024-05-26 08:57:53 +02:00 Compare
kjuulh force-pushed renovate/all from 3be6f368db to 0b78270791 2024-05-26 09:29:00 +02:00 Compare
kjuulh force-pushed renovate/all from 0b78270791 to 6042dfec76 2024-05-26 10:00:07 +02:00 Compare
kjuulh force-pushed renovate/all from 6042dfec76 to 91f9fed4fc 2024-05-26 10:31:02 +02:00 Compare
kjuulh force-pushed renovate/all from 91f9fed4fc to f766ab4edf 2024-05-26 11:01:59 +02:00 Compare
kjuulh force-pushed renovate/all from f766ab4edf to f6831644f0 2024-05-26 11:48:09 +02:00 Compare
kjuulh force-pushed renovate/all from f6831644f0 to c1c811ff8f 2024-05-26 12:04:15 +02:00 Compare
kjuulh force-pushed renovate/all from c1c811ff8f to 39877dc9d7 2024-05-26 12:53:17 +02:00 Compare
kjuulh force-pushed renovate/all from 39877dc9d7 to bb3bdac3c9 2024-05-26 13:21:16 +02:00 Compare
kjuulh force-pushed renovate/all from bb3bdac3c9 to 79b1d9e69e 2024-07-06 15:03:50 +02:00 Compare
kjuulh force-pushed renovate/all from 79b1d9e69e to 8a3e2a6b05 2024-07-06 15:13:20 +02:00 Compare
kjuulh force-pushed renovate/all from 8a3e2a6b05 to 93a667a371 2024-08-21 22:27:49 +02:00 Compare
kjuulh force-pushed renovate/all from 93a667a371 to bf864c0afb 2024-08-21 23:55:12 +02:00 Compare
kjuulh force-pushed renovate/all from bf864c0afb to 67609214fe 2024-08-22 00:05:01 +02:00 Compare
kjuulh force-pushed renovate/all from 67609214fe to bbd242a68d 2024-08-22 01:14:37 +02:00 Compare
kjuulh force-pushed renovate/all from bbd242a68d to 7922e576ab 2024-08-22 01:53:53 +02:00 Compare
kjuulh force-pushed renovate/all from 7922e576ab to 64ede2028f 2024-08-22 02:32:38 +02:00 Compare
kjuulh force-pushed renovate/all from 64ede2028f to b9315dd8b9 2024-08-22 03:08:44 +02:00 Compare
kjuulh force-pushed renovate/all from b9315dd8b9 to d79de2b55e 2024-08-22 03:39:54 +02:00 Compare
kjuulh force-pushed renovate/all from d79de2b55e to 35a99b9b57 2024-08-22 04:09:30 +02:00 Compare
kjuulh force-pushed renovate/all from 35a99b9b57 to 1a8896f02b 2024-08-22 04:39:18 +02:00 Compare
kjuulh force-pushed renovate/all from 1a8896f02b to d767292a71 2024-08-22 05:11:03 +02:00 Compare
kjuulh force-pushed renovate/all from d767292a71 to 5ccf73d71f 2024-08-22 05:41:50 +02:00 Compare
kjuulh force-pushed renovate/all from 5ccf73d71f to afd14c46dd 2024-08-22 06:03:43 +02:00 Compare
kjuulh force-pushed renovate/all from afd14c46dd to 27d0c1dbde 2024-08-22 06:51:06 +02:00 Compare
kjuulh force-pushed renovate/all from 27d0c1dbde to 8a18d051f0 2024-08-22 07:21:07 +02:00 Compare
kjuulh force-pushed renovate/all from 8a18d051f0 to 5e12608634 2024-08-22 07:52:06 +02:00 Compare
kjuulh force-pushed renovate/all from 5e12608634 to ab981e36d4 2024-08-22 08:22:21 +02:00 Compare
kjuulh force-pushed renovate/all from ab981e36d4 to dabd6cda76 2024-08-22 09:02:17 +02:00 Compare
kjuulh force-pushed renovate/all from dabd6cda76 to d1ce682a90 2024-08-22 09:41:50 +02:00 Compare
kjuulh force-pushed renovate/all from d1ce682a90 to b4d0448eb9 2024-08-22 10:26:27 +02:00 Compare
kjuulh force-pushed renovate/all from b4d0448eb9 to 3b190a3ec9 2024-08-22 11:11:07 +02:00 Compare
kjuulh force-pushed renovate/all from 3b190a3ec9 to 69331fb9d0 2024-08-22 11:55:22 +02:00 Compare
kjuulh force-pushed renovate/all from 69331fb9d0 to 4642e2e436 2024-08-22 12:03:20 +02:00 Compare
kjuulh force-pushed renovate/all from 4642e2e436 to 93d9f8a098 2024-08-22 13:05:24 +02:00 Compare
kjuulh force-pushed renovate/all from 93d9f8a098 to 5d02971c28 2024-08-22 13:36:20 +02:00 Compare
kjuulh force-pushed renovate/all from 5d02971c28 to 7cd68c5a97 2024-08-22 14:13:39 +02:00 Compare
kjuulh force-pushed renovate/all from 7cd68c5a97 to c2fde97eae 2024-08-22 14:54:27 +02:00 Compare
kjuulh force-pushed renovate/all from c2fde97eae to 5f79882307 2024-08-22 15:37:13 +02:00 Compare
kjuulh force-pushed renovate/all from 5f79882307 to c142c83efe 2024-08-22 16:18:40 +02:00 Compare
kjuulh force-pushed renovate/all from c142c83efe to 3c65212f3b 2024-08-22 17:05:10 +02:00 Compare
kjuulh force-pushed renovate/all from 3c65212f3b to e5f656e547 2024-08-22 17:41:26 +02:00 Compare
kjuulh force-pushed renovate/all from e5f656e547 to 7df86ddcbd 2024-08-22 18:03:06 +02:00 Compare
kjuulh force-pushed renovate/all from 7df86ddcbd to e82cf14774 2024-08-22 18:54:05 +02:00 Compare
kjuulh force-pushed renovate/all from e82cf14774 to 2bb1fcc215 2024-08-22 19:32:39 +02:00 Compare
kjuulh force-pushed renovate/all from 2bb1fcc215 to 05db1c5eac 2024-08-22 20:10:15 +02:00 Compare
kjuulh force-pushed renovate/all from 05db1c5eac to 62404fdd0b 2024-08-22 20:44:16 +02:00 Compare
kjuulh force-pushed renovate/all from 62404fdd0b to 6a72bf1308 2024-08-22 21:18:53 +02:00 Compare
kjuulh force-pushed renovate/all from 6a72bf1308 to f20ca552e9 2024-08-22 21:54:35 +02:00 Compare
kjuulh force-pushed renovate/all from f20ca552e9 to 9fcff60e75 2024-08-22 22:29:32 +02:00 Compare
kjuulh force-pushed renovate/all from 9fcff60e75 to d7081c1eea 2024-08-22 23:04:21 +02:00 Compare
kjuulh force-pushed renovate/all from d7081c1eea to 48a4b25ff5 2024-08-22 23:38:55 +02:00 Compare
kjuulh force-pushed renovate/all from 48a4b25ff5 to dcff2a68bf 2024-08-23 00:03:50 +02:00 Compare
kjuulh force-pushed renovate/all from dcff2a68bf to 9643de444c 2024-08-23 00:59:11 +02:00 Compare
kjuulh force-pushed renovate/all from 9643de444c to 7e4cd4c3f6 2024-08-23 01:33:39 +02:00 Compare
kjuulh force-pushed renovate/all from 7e4cd4c3f6 to 80a1bdb3b1 2024-08-23 02:08:56 +02:00 Compare
kjuulh force-pushed renovate/all from 80a1bdb3b1 to 02f563b7e1 2024-08-23 02:42:56 +02:00 Compare
kjuulh force-pushed renovate/all from 02f563b7e1 to b248ffc5ed 2024-08-23 03:18:25 +02:00 Compare
kjuulh force-pushed renovate/all from b248ffc5ed to cd6c613a34 2024-08-23 03:51:06 +02:00 Compare
kjuulh force-pushed renovate/all from cd6c613a34 to 259890e8cf 2024-08-23 04:25:10 +02:00 Compare
kjuulh force-pushed renovate/all from 259890e8cf to c80281ed53 2024-08-23 04:59:33 +02:00 Compare
kjuulh force-pushed renovate/all from c80281ed53 to 6e57cd0e79 2024-08-23 05:34:25 +02:00 Compare
kjuulh force-pushed renovate/all from 6e57cd0e79 to f2eca5a6d7 2024-08-23 06:03:32 +02:00 Compare
kjuulh force-pushed renovate/all from f2eca5a6d7 to 0c5d34f015 2024-08-23 06:53:42 +02:00 Compare
kjuulh force-pushed renovate/all from 0c5d34f015 to 353be64b20 2024-08-23 07:28:29 +02:00 Compare
kjuulh force-pushed renovate/all from 353be64b20 to ea13ce857e 2024-08-23 08:03:20 +02:00 Compare
kjuulh force-pushed renovate/all from ea13ce857e to 203201daa7 2024-08-23 08:37:41 +02:00 Compare
kjuulh force-pushed renovate/all from 203201daa7 to eee867a747 2024-08-23 09:13:03 +02:00 Compare
kjuulh force-pushed renovate/all from eee867a747 to 5aba7b2da4 2024-08-23 09:47:03 +02:00 Compare
kjuulh force-pushed renovate/all from 5aba7b2da4 to 0e7ae46566 2024-08-23 10:21:16 +02:00 Compare
kjuulh force-pushed renovate/all from 0e7ae46566 to edaf7fd7bc 2024-08-23 10:54:54 +02:00 Compare
kjuulh force-pushed renovate/all from edaf7fd7bc to 492d771df0 2024-08-23 11:28:57 +02:00 Compare
kjuulh force-pushed renovate/all from 492d771df0 to 49a55291bf 2024-08-23 12:03:02 +02:00 Compare
kjuulh force-pushed renovate/all from 49a55291bf to 4b219d4204 2024-08-23 12:50:52 +02:00 Compare
kjuulh force-pushed renovate/all from 4b219d4204 to 3fb7b77208 2024-08-23 13:24:31 +02:00 Compare
kjuulh force-pushed renovate/all from 3fb7b77208 to 5a537e94ee 2024-08-23 13:59:10 +02:00 Compare
kjuulh force-pushed renovate/all from 5a537e94ee to 3706a17115 2024-08-23 14:32:55 +02:00 Compare
kjuulh force-pushed renovate/all from 3706a17115 to c1bfd14962 2024-08-23 15:06:51 +02:00 Compare
kjuulh force-pushed renovate/all from c1bfd14962 to 45b413d917 2024-08-23 15:40:48 +02:00 Compare
kjuulh force-pushed renovate/all from 45b413d917 to 54fdeb7316 2024-08-23 16:15:39 +02:00 Compare
kjuulh force-pushed renovate/all from 54fdeb7316 to a8ee5c23a7 2024-08-23 16:49:50 +02:00 Compare
kjuulh force-pushed renovate/all from a8ee5c23a7 to 3383fb4f5e 2024-08-23 17:25:19 +02:00 Compare
kjuulh force-pushed renovate/all from 3383fb4f5e to 335afbfa2b 2024-08-23 18:02:55 +02:00 Compare
kjuulh force-pushed renovate/all from 335afbfa2b to 2ffd291e06 2024-08-23 18:52:33 +02:00 Compare
kjuulh force-pushed renovate/all from 2ffd291e06 to ec7634c3e3 2024-08-23 19:27:35 +02:00 Compare
kjuulh force-pushed renovate/all from ec7634c3e3 to 0a0d822765 2024-08-23 20:02:16 +02:00 Compare
kjuulh force-pushed renovate/all from 0a0d822765 to 569519d744 2024-08-23 20:36:56 +02:00 Compare
kjuulh force-pushed renovate/all from 569519d744 to 8523b7f722 2024-08-23 21:12:04 +02:00 Compare
kjuulh force-pushed renovate/all from 8523b7f722 to 8ca9f3939f 2024-08-23 21:47:00 +02:00 Compare
kjuulh force-pushed renovate/all from 8ca9f3939f to 80adc77a8b 2024-08-23 22:24:00 +02:00 Compare
kjuulh force-pushed renovate/all from 80adc77a8b to ce362d3ed7 2024-08-23 23:03:32 +02:00 Compare
kjuulh force-pushed renovate/all from ce362d3ed7 to 1d280de409 2024-08-23 23:41:44 +02:00 Compare
kjuulh force-pushed renovate/all from 1d280de409 to bb04223e14 2024-08-24 00:03:29 +02:00 Compare
kjuulh force-pushed renovate/all from bb04223e14 to 94c10d9180 2024-08-24 00:54:27 +02:00 Compare
kjuulh force-pushed renovate/all from 94c10d9180 to d5c8d96c83 2024-08-24 01:29:50 +02:00 Compare
kjuulh force-pushed renovate/all from d5c8d96c83 to 913f153717 2024-08-24 02:05:27 +02:00 Compare
kjuulh force-pushed renovate/all from 913f153717 to 4c8b7f5526 2024-08-24 02:40:15 +02:00 Compare
kjuulh force-pushed renovate/all from 4c8b7f5526 to 66e52048ff 2024-08-24 03:15:34 +02:00 Compare
kjuulh force-pushed renovate/all from 66e52048ff to 4ff3d82f9b 2024-08-24 03:49:18 +02:00 Compare
kjuulh force-pushed renovate/all from 4ff3d82f9b to a5832e83b5 2024-08-24 04:25:36 +02:00 Compare
kjuulh force-pushed renovate/all from a5832e83b5 to cd9d19a2d2 2024-08-24 05:01:28 +02:00 Compare
kjuulh force-pushed renovate/all from cd9d19a2d2 to 42a6dc1b65 2024-08-24 05:37:48 +02:00 Compare
kjuulh force-pushed renovate/all from 42a6dc1b65 to a05d448ea2 2024-08-24 06:03:03 +02:00 Compare
kjuulh force-pushed renovate/all from a05d448ea2 to 62c552ecdc 2024-08-24 06:57:24 +02:00 Compare
kjuulh force-pushed renovate/all from 62c552ecdc to b8607bb0f6 2024-08-24 07:33:02 +02:00 Compare
kjuulh force-pushed renovate/all from b8607bb0f6 to ce4cca58ef 2024-08-24 08:08:30 +02:00 Compare
kjuulh force-pushed renovate/all from ce4cca58ef to 1a4351286c 2024-08-24 08:43:36 +02:00 Compare
kjuulh force-pushed renovate/all from 1a4351286c to 19568571f4 2024-08-24 09:18:51 +02:00 Compare
kjuulh force-pushed renovate/all from 19568571f4 to c2159bf6ce 2024-08-24 09:53:32 +02:00 Compare
kjuulh force-pushed renovate/all from c2159bf6ce to 29bbc8122a 2024-08-24 10:30:05 +02:00 Compare
kjuulh force-pushed renovate/all from 29bbc8122a to b8a328b526 2024-08-24 11:05:28 +02:00 Compare
kjuulh force-pushed renovate/all from b8a328b526 to 8cbcb2305d 2024-08-24 11:40:31 +02:00 Compare
kjuulh force-pushed renovate/all from 8cbcb2305d to 06e84bc1e5 2024-08-24 12:02:57 +02:00 Compare
kjuulh force-pushed renovate/all from 06e84bc1e5 to 5cf38ff327 2024-08-24 12:53:13 +02:00 Compare
kjuulh force-pushed renovate/all from 5cf38ff327 to 8ae70c2635 2024-08-24 13:28:39 +02:00 Compare
kjuulh force-pushed renovate/all from 8ae70c2635 to a6d25acff2 2024-08-24 14:04:45 +02:00 Compare
kjuulh force-pushed renovate/all from a6d25acff2 to 4b2173ea97 2024-08-24 14:39:55 +02:00 Compare
kjuulh force-pushed renovate/all from 4b2173ea97 to 12792642d3 2024-08-24 15:15:50 +02:00 Compare
kjuulh force-pushed renovate/all from 12792642d3 to 57a4d86140 2024-08-24 15:50:43 +02:00 Compare
kjuulh force-pushed renovate/all from 57a4d86140 to 2b6d9528d9 2024-08-24 16:26:37 +02:00 Compare
kjuulh force-pushed renovate/all from 2b6d9528d9 to fbd8526acc 2024-08-24 17:01:59 +02:00 Compare
kjuulh force-pushed renovate/all from fbd8526acc to a340852ef1 2024-08-24 17:37:37 +02:00 Compare
kjuulh force-pushed renovate/all from a340852ef1 to 1fae648e79 2024-08-24 18:03:04 +02:00 Compare
kjuulh force-pushed renovate/all from 1fae648e79 to e689eb39a4 2024-08-24 18:53:31 +02:00 Compare
kjuulh force-pushed renovate/all from e689eb39a4 to 7d49fd9568 2024-08-24 19:29:00 +02:00 Compare
kjuulh force-pushed renovate/all from 7d49fd9568 to 4d504c4418 2024-08-24 20:04:59 +02:00 Compare
kjuulh force-pushed renovate/all from 4d504c4418 to a3eb588d23 2024-08-24 20:40:24 +02:00 Compare
kjuulh force-pushed renovate/all from a3eb588d23 to 2d392bf3d2 2024-08-24 21:16:21 +02:00 Compare
kjuulh force-pushed renovate/all from 2d392bf3d2 to 144a168b9e 2024-08-24 21:51:56 +02:00 Compare
kjuulh force-pushed renovate/all from 144a168b9e to d52304481c 2024-08-24 22:28:58 +02:00 Compare
kjuulh force-pushed renovate/all from d52304481c to 77f1af17bf 2024-08-24 23:04:46 +02:00 Compare
kjuulh force-pushed renovate/all from 77f1af17bf to 6503bec875 2024-08-24 23:40:10 +02:00 Compare
kjuulh force-pushed renovate/all from 6503bec875 to f7305feb1b 2024-08-25 00:03:31 +02:00 Compare
kjuulh force-pushed renovate/all from f7305feb1b to bfae7c9cb5 2024-08-25 00:55:47 +02:00 Compare
kjuulh force-pushed renovate/all from bfae7c9cb5 to aaaf096fea 2024-08-25 01:31:24 +02:00 Compare
kjuulh force-pushed renovate/all from aaaf096fea to bd4cf46d8d 2024-08-25 02:07:56 +02:00 Compare
kjuulh force-pushed renovate/all from bd4cf46d8d to 0c4683553a 2024-08-25 02:43:04 +02:00 Compare
kjuulh force-pushed renovate/all from 0c4683553a to a23eba0f47 2024-08-25 03:19:24 +02:00 Compare
kjuulh force-pushed renovate/all from a23eba0f47 to bcecf7cec6 2024-08-25 03:53:05 +02:00 Compare
kjuulh force-pushed renovate/all from bcecf7cec6 to 2af94e5e58 2024-08-25 04:27:51 +02:00 Compare
kjuulh force-pushed renovate/all from 2af94e5e58 to c3ddb5f3ff 2024-08-25 05:03:22 +02:00 Compare
kjuulh force-pushed renovate/all from c3ddb5f3ff to ca0ff854e9 2024-08-25 05:39:35 +02:00 Compare
kjuulh force-pushed renovate/all from ca0ff854e9 to ab960e4485 2024-08-25 06:03:06 +02:00 Compare
kjuulh force-pushed renovate/all from ab960e4485 to 4673878ade 2024-08-25 06:54:13 +02:00 Compare
kjuulh force-pushed renovate/all from 4673878ade to 6e2f21204b 2024-08-25 07:29:54 +02:00 Compare
kjuulh force-pushed renovate/all from 6e2f21204b to eeada4701c 2024-08-25 08:05:08 +02:00 Compare
kjuulh force-pushed renovate/all from eeada4701c to 48ec685168 2024-08-25 08:40:27 +02:00 Compare
kjuulh force-pushed renovate/all from 48ec685168 to 70cb6beadd 2024-08-25 09:16:30 +02:00 Compare
kjuulh force-pushed renovate/all from 70cb6beadd to 61b51fad8e 2024-08-25 09:51:56 +02:00 Compare
kjuulh force-pushed renovate/all from 61b51fad8e to c459a833f7 2024-08-25 10:27:18 +02:00 Compare
kjuulh force-pushed renovate/all from c459a833f7 to 120969e68d 2024-08-25 11:02:32 +02:00 Compare
kjuulh force-pushed renovate/all from 120969e68d to fbe62aa483 2024-08-25 11:37:38 +02:00 Compare
kjuulh force-pushed renovate/all from fbe62aa483 to 1701e23057 2024-08-25 12:03:07 +02:00 Compare
kjuulh force-pushed renovate/all from 1701e23057 to bd3787c9e7 2024-08-25 12:53:42 +02:00 Compare
kjuulh force-pushed renovate/all from bd3787c9e7 to 8b6b981f39 2024-08-25 13:28:41 +02:00 Compare
kjuulh force-pushed renovate/all from 8b6b981f39 to 26d74cf4f1 2024-08-25 14:04:28 +02:00 Compare
kjuulh force-pushed renovate/all from 26d74cf4f1 to a6dfe50307 2024-08-25 14:39:36 +02:00 Compare
kjuulh force-pushed renovate/all from a6dfe50307 to 626931e7be 2024-08-25 15:16:10 +02:00 Compare
kjuulh force-pushed renovate/all from 626931e7be to 6712ada3c4 2024-08-25 15:51:32 +02:00 Compare
kjuulh force-pushed renovate/all from 6712ada3c4 to 5e01cd3b3c 2024-08-25 16:28:16 +02:00 Compare
kjuulh force-pushed renovate/all from 5e01cd3b3c to b2ce1d86c3 2024-08-25 17:03:40 +02:00 Compare
kjuulh force-pushed renovate/all from b2ce1d86c3 to 50ebd7d193 2024-08-25 17:39:03 +02:00 Compare
kjuulh force-pushed renovate/all from 50ebd7d193 to a4f4921a47 2024-08-25 18:03:04 +02:00 Compare
kjuulh force-pushed renovate/all from a4f4921a47 to c94702721b 2024-08-25 18:53:26 +02:00 Compare
kjuulh force-pushed renovate/all from c94702721b to e3d2f7fe95 2024-08-25 19:29:11 +02:00 Compare
kjuulh force-pushed renovate/all from e3d2f7fe95 to fad586ab5f 2024-08-25 20:04:46 +02:00 Compare
kjuulh force-pushed renovate/all from fad586ab5f to cf3b52116a 2024-08-25 20:39:36 +02:00 Compare
kjuulh force-pushed renovate/all from cf3b52116a to 26dfdf2443 2024-08-25 21:15:21 +02:00 Compare
kjuulh force-pushed renovate/all from 26dfdf2443 to 8ecf5ee5eb 2024-08-25 21:50:35 +02:00 Compare
kjuulh force-pushed renovate/all from 8ecf5ee5eb to 6092755923 2024-08-25 22:26:16 +02:00 Compare
kjuulh force-pushed renovate/all from 6092755923 to 3f0899f8a2 2024-08-25 23:01:40 +02:00 Compare
kjuulh force-pushed renovate/all from 3f0899f8a2 to 6aa1449ade 2024-08-25 23:37:06 +02:00 Compare
kjuulh force-pushed renovate/all from 6aa1449ade to ae15e3abdf 2024-08-26 00:03:39 +02:00 Compare
kjuulh force-pushed renovate/all from ae15e3abdf to 0d92a05775 2024-08-26 00:54:50 +02:00 Compare
kjuulh force-pushed renovate/all from 0d92a05775 to 3d2f43f9a1 2024-08-26 01:31:01 +02:00 Compare
kjuulh force-pushed renovate/all from 3d2f43f9a1 to fe34e04bb5 2024-08-26 02:07:50 +02:00 Compare
kjuulh force-pushed renovate/all from fe34e04bb5 to 672fa30bda 2024-08-26 02:43:20 +02:00 Compare
kjuulh force-pushed renovate/all from 672fa30bda to 2a3b903422 2024-08-26 03:19:46 +02:00 Compare
kjuulh force-pushed renovate/all from 2a3b903422 to 36948753e4 2024-08-26 03:55:18 +02:00 Compare
kjuulh force-pushed renovate/all from 36948753e4 to b37603dee0 2024-08-26 04:31:12 +02:00 Compare
kjuulh force-pushed renovate/all from b37603dee0 to dd31cf3e6e 2024-08-26 05:08:09 +02:00 Compare
kjuulh force-pushed renovate/all from dd31cf3e6e to 514b2ab795 2024-08-26 05:44:35 +02:00 Compare
kjuulh force-pushed renovate/all from 514b2ab795 to 582dfa7bb5 2024-08-26 06:03:05 +02:00 Compare
kjuulh force-pushed renovate/all from 582dfa7bb5 to ee17b7e3bc 2024-08-26 06:55:34 +02:00 Compare
kjuulh force-pushed renovate/all from ee17b7e3bc to 37fca9ea15 2024-08-26 07:30:43 +02:00 Compare
kjuulh force-pushed renovate/all from 37fca9ea15 to e4c1cae120 2024-08-26 08:07:38 +02:00 Compare
kjuulh force-pushed renovate/all from e4c1cae120 to b2ecaa03a3 2024-08-26 08:44:12 +02:00 Compare
kjuulh force-pushed renovate/all from b2ecaa03a3 to 842a01b0f3 2024-08-26 09:21:29 +02:00 Compare
kjuulh force-pushed renovate/all from 842a01b0f3 to 4db8bdc446 2024-08-26 09:57:12 +02:00 Compare
kjuulh force-pushed renovate/all from 4db8bdc446 to 71b81b8fbe 2024-08-26 10:33:48 +02:00 Compare
kjuulh force-pushed renovate/all from 71b81b8fbe to 5389570bab 2024-08-26 11:10:05 +02:00 Compare
kjuulh force-pushed renovate/all from 5389570bab to f6e018d8e1 2024-08-26 11:46:42 +02:00 Compare
kjuulh force-pushed renovate/all from f6e018d8e1 to e4e96980a1 2024-08-26 12:03:12 +02:00 Compare
kjuulh force-pushed renovate/all from e4e96980a1 to d590f28b2b 2024-08-26 12:55:12 +02:00 Compare
kjuulh force-pushed renovate/all from d590f28b2b to f7e0cd890e 2024-08-26 13:30:39 +02:00 Compare
kjuulh force-pushed renovate/all from f7e0cd890e to 388149f2ed 2024-08-26 14:08:47 +02:00 Compare
kjuulh force-pushed renovate/all from 388149f2ed to 47bcf1d696 2024-08-26 14:45:50 +02:00 Compare
kjuulh force-pushed renovate/all from 47bcf1d696 to dcfc1c18d2 2024-08-26 15:23:22 +02:00 Compare
kjuulh force-pushed renovate/all from dcfc1c18d2 to 8e76502222 2024-08-26 16:00:47 +02:00 Compare
kjuulh force-pushed renovate/all from 8e76502222 to 60d8210356 2024-08-26 16:37:56 +02:00 Compare
kjuulh force-pushed renovate/all from 60d8210356 to 6b701bfb9f 2024-08-26 17:15:29 +02:00 Compare
kjuulh force-pushed renovate/all from 6b701bfb9f to 8a90de16f6 2024-08-26 17:52:32 +02:00 Compare
kjuulh force-pushed renovate/all from 8a90de16f6 to de06aeb581 2024-08-26 18:03:08 +02:00 Compare
kjuulh force-pushed renovate/all from de06aeb581 to 1c8d4d4200 2024-08-26 18:53:28 +02:00 Compare
kjuulh force-pushed renovate/all from 1c8d4d4200 to e28bae579d 2024-08-26 19:28:50 +02:00 Compare
kjuulh force-pushed renovate/all from e28bae579d to 49e69b94c9 2024-08-26 20:05:14 +02:00 Compare
kjuulh force-pushed renovate/all from 49e69b94c9 to 045547f1d2 2024-08-26 20:40:25 +02:00 Compare
kjuulh force-pushed renovate/all from 045547f1d2 to 4a74266897 2024-08-26 21:16:25 +02:00 Compare
kjuulh force-pushed renovate/all from 4a74266897 to 92aef4e8c3 2024-08-26 21:51:57 +02:00 Compare
kjuulh force-pushed renovate/all from 92aef4e8c3 to bb2a1f0222 2024-08-26 22:27:42 +02:00 Compare
kjuulh force-pushed renovate/all from bb2a1f0222 to 8f019cd4e2 2024-08-26 23:05:16 +02:00 Compare
kjuulh force-pushed renovate/all from 8f019cd4e2 to 11185d060e 2024-08-26 23:42:22 +02:00 Compare
kjuulh force-pushed renovate/all from 11185d060e to 20d91b0f8f 2024-08-27 00:03:40 +02:00 Compare
kjuulh force-pushed renovate/all from 20d91b0f8f to f89d067409 2024-08-27 00:57:38 +02:00 Compare
kjuulh force-pushed renovate/all from f89d067409 to 54bb7692bb 2024-08-27 01:33:25 +02:00 Compare
kjuulh force-pushed renovate/all from 54bb7692bb to 427a49cf0e 2024-08-27 02:10:32 +02:00 Compare
kjuulh force-pushed renovate/all from 427a49cf0e to aa254e5a27 2024-08-27 02:46:03 +02:00 Compare
kjuulh force-pushed renovate/all from aa254e5a27 to f02faf7a99 2024-08-27 03:22:50 +02:00 Compare
kjuulh force-pushed renovate/all from f02faf7a99 to 0d45705442 2024-08-27 03:58:07 +02:00 Compare
kjuulh force-pushed renovate/all from 0d45705442 to 8edd8285a1 2024-08-27 04:33:18 +02:00 Compare
kjuulh force-pushed renovate/all from 8edd8285a1 to 153a50ee11 2024-08-27 05:08:56 +02:00 Compare
kjuulh force-pushed renovate/all from 153a50ee11 to 150eb9c389 2024-08-27 05:45:18 +02:00 Compare
kjuulh force-pushed renovate/all from 150eb9c389 to 6e45b5bb8a 2024-08-27 06:03:19 +02:00 Compare
kjuulh force-pushed renovate/all from 6e45b5bb8a to 17a4a09546 2024-08-27 06:54:33 +02:00 Compare
kjuulh force-pushed renovate/all from 17a4a09546 to 406e31a3a3 2024-08-27 07:30:21 +02:00 Compare
kjuulh force-pushed renovate/all from 406e31a3a3 to a84b656530 2024-08-27 08:06:41 +02:00 Compare
kjuulh force-pushed renovate/all from a84b656530 to 7b85eb591a 2024-08-27 08:42:03 +02:00 Compare
kjuulh force-pushed renovate/all from 7b85eb591a to 1d0fa86d6a 2024-08-27 09:17:57 +02:00 Compare
kjuulh force-pushed renovate/all from 1d0fa86d6a to 5ac0862927 2024-08-27 09:53:01 +02:00 Compare
kjuulh force-pushed renovate/all from 5ac0862927 to d7f924608c 2024-08-27 10:28:27 +02:00 Compare
kjuulh force-pushed renovate/all from d7f924608c to a951c990dd 2024-08-27 11:03:41 +02:00 Compare
kjuulh force-pushed renovate/all from a951c990dd to c7c5009510 2024-08-27 11:40:27 +02:00 Compare
kjuulh force-pushed renovate/all from c7c5009510 to ba2fe0f225 2024-08-27 12:03:40 +02:00 Compare
kjuulh force-pushed renovate/all from ba2fe0f225 to b9539032ff 2024-08-27 12:55:33 +02:00 Compare
kjuulh force-pushed renovate/all from b9539032ff to fe45bde3fe 2024-08-27 13:31:02 +02:00 Compare
kjuulh force-pushed renovate/all from fe45bde3fe to 5bda2424c0 2024-08-27 14:08:07 +02:00 Compare
kjuulh force-pushed renovate/all from 5bda2424c0 to cf8eb23331 2024-08-27 14:44:05 +02:00 Compare
kjuulh force-pushed renovate/all from cf8eb23331 to d333fcc7b6 2024-08-27 15:20:15 +02:00 Compare
kjuulh force-pushed renovate/all from d333fcc7b6 to 8fd9a0b8a9 2024-08-27 15:55:34 +02:00 Compare
kjuulh force-pushed renovate/all from 8fd9a0b8a9 to 80247bad16 2024-08-27 16:31:42 +02:00 Compare
kjuulh force-pushed renovate/all from 80247bad16 to 2adf1054b4 2024-08-27 17:07:19 +02:00 Compare
kjuulh force-pushed renovate/all from 2adf1054b4 to 9f8989b765 2024-08-27 17:44:21 +02:00 Compare
kjuulh force-pushed renovate/all from 9f8989b765 to d6b2930b91 2024-08-27 18:03:15 +02:00 Compare
kjuulh force-pushed renovate/all from d6b2930b91 to 2081de26e5 2024-08-27 18:56:25 +02:00 Compare
kjuulh force-pushed renovate/all from 2081de26e5 to 7a1cab9321 2024-08-27 19:33:08 +02:00 Compare
kjuulh force-pushed renovate/all from 7a1cab9321 to b25c61e09f 2024-08-27 20:10:22 +02:00 Compare
kjuulh force-pushed renovate/all from b25c61e09f to c5224dc66d 2024-08-27 20:46:24 +02:00 Compare
kjuulh force-pushed renovate/all from c5224dc66d to ff78bd3932 2024-08-27 21:23:03 +02:00 Compare
kjuulh force-pushed renovate/all from ff78bd3932 to a9e22dcb0e 2024-08-27 21:58:53 +02:00 Compare
kjuulh force-pushed renovate/all from a9e22dcb0e to d00ab4f1c5 2024-08-27 22:35:20 +02:00 Compare
kjuulh force-pushed renovate/all from d00ab4f1c5 to 1b67a1871f 2024-08-27 23:12:11 +02:00 Compare
kjuulh force-pushed renovate/all from 1b67a1871f to 5cf9e9ab3f 2024-08-27 23:48:35 +02:00 Compare
kjuulh force-pushed renovate/all from 5cf9e9ab3f to 3021923cf7 2024-08-28 00:03:36 +02:00 Compare
kjuulh force-pushed renovate/all from 3021923cf7 to 21a7579b4e 2024-08-28 00:57:56 +02:00 Compare
kjuulh force-pushed renovate/all from 21a7579b4e to 5a11c5b292 2024-08-28 01:34:38 +02:00 Compare
kjuulh force-pushed renovate/all from 5a11c5b292 to 4f50bcffbd 2024-08-28 02:11:46 +02:00 Compare
kjuulh force-pushed renovate/all from 4f50bcffbd to 3ae3621734 2024-08-28 02:50:42 +02:00 Compare
kjuulh force-pushed renovate/all from 3ae3621734 to 3a7e12371c 2024-08-28 03:29:29 +02:00 Compare
kjuulh force-pushed renovate/all from 3a7e12371c to 628e862dca 2024-08-28 04:04:37 +02:00 Compare
kjuulh force-pushed renovate/all from 628e862dca to 38c48d7d14 2024-08-28 04:40:35 +02:00 Compare
kjuulh force-pushed renovate/all from 38c48d7d14 to 9823fa2c0d 2024-08-28 05:17:04 +02:00 Compare
kjuulh force-pushed renovate/all from 9823fa2c0d to 613b2f799d 2024-08-28 05:54:27 +02:00 Compare
kjuulh force-pushed renovate/all from 613b2f799d to 4abfef8a95 2024-08-28 06:03:07 +02:00 Compare
kjuulh force-pushed renovate/all from 4abfef8a95 to 6dfd11d6db 2024-08-28 06:55:32 +02:00 Compare
kjuulh force-pushed renovate/all from 6dfd11d6db to 9537fc10e6 2024-08-28 07:31:51 +02:00 Compare
kjuulh force-pushed renovate/all from 9537fc10e6 to 7b9a464f2b 2024-08-28 08:08:56 +02:00 Compare
kjuulh force-pushed renovate/all from 7b9a464f2b to e00c3a3bbf 2024-08-28 08:45:31 +02:00 Compare
kjuulh force-pushed renovate/all from e00c3a3bbf to 90369d42d2 2024-08-28 09:23:14 +02:00 Compare
kjuulh force-pushed renovate/all from 90369d42d2 to 88271b469b 2024-08-28 09:59:35 +02:00 Compare
kjuulh force-pushed renovate/all from 88271b469b to 7f22fb5747 2024-08-28 10:36:20 +02:00 Compare
kjuulh force-pushed renovate/all from 7f22fb5747 to e067642897 2024-08-28 11:12:23 +02:00 Compare
kjuulh force-pushed renovate/all from e067642897 to dc282e23b1 2024-08-28 11:49:07 +02:00 Compare
kjuulh force-pushed renovate/all from dc282e23b1 to 9b86825acb 2024-08-28 12:03:04 +02:00 Compare
kjuulh force-pushed renovate/all from 9b86825acb to 1463582bf5 2024-08-28 12:56:03 +02:00 Compare
kjuulh force-pushed renovate/all from 1463582bf5 to 2217770832 2024-08-28 13:32:26 +02:00 Compare
kjuulh force-pushed renovate/all from 2217770832 to 917e57dc15 2024-08-28 14:09:24 +02:00 Compare
kjuulh force-pushed renovate/all from 917e57dc15 to 34ad0561c9 2024-08-28 14:45:02 +02:00 Compare
kjuulh force-pushed renovate/all from 34ad0561c9 to 64d21efb58 2024-08-28 15:21:09 +02:00 Compare
kjuulh force-pushed renovate/all from 64d21efb58 to f67c60b5ad 2024-08-28 15:57:04 +02:00 Compare
kjuulh force-pushed renovate/all from f67c60b5ad to 2b8bd53e3e 2024-08-28 16:34:21 +02:00 Compare
kjuulh force-pushed renovate/all from 2b8bd53e3e to 1823906b8d 2024-08-28 17:11:23 +02:00 Compare
kjuulh force-pushed renovate/all from 1823906b8d to 63ff2edf6f 2024-08-28 17:48:20 +02:00 Compare
kjuulh force-pushed renovate/all from 63ff2edf6f to 64f03c7765 2024-08-28 18:03:10 +02:00 Compare
kjuulh force-pushed renovate/all from 64f03c7765 to 2ed8bc4077 2024-08-28 18:56:23 +02:00 Compare
kjuulh force-pushed renovate/all from 2ed8bc4077 to 397a349e83 2024-08-28 19:34:18 +02:00 Compare
kjuulh force-pushed renovate/all from 397a349e83 to 8a876bf056 2024-08-28 20:15:26 +02:00 Compare
kjuulh force-pushed renovate/all from 8a876bf056 to f5bf7a8d37 2024-08-28 20:55:06 +02:00 Compare
kjuulh force-pushed renovate/all from f5bf7a8d37 to d19bac34da 2024-08-28 21:35:06 +02:00 Compare
kjuulh force-pushed renovate/all from d19bac34da to c716a5c079 2024-08-28 22:15:56 +02:00 Compare
kjuulh force-pushed renovate/all from c716a5c079 to 33fcb53a6c 2024-08-28 22:56:30 +02:00 Compare
kjuulh force-pushed renovate/all from 33fcb53a6c to 6342d19afa 2024-08-28 23:38:23 +02:00 Compare
kjuulh force-pushed renovate/all from 6342d19afa to d89828c2ee 2024-08-29 00:04:30 +02:00 Compare
kjuulh force-pushed renovate/all from d89828c2ee to dcab563c9a 2024-08-29 01:02:54 +02:00 Compare
kjuulh force-pushed renovate/all from dcab563c9a to 5eaddda3c1 2024-08-29 01:42:36 +02:00 Compare
kjuulh force-pushed renovate/all from 5eaddda3c1 to ef971b5985 2024-08-29 02:20:27 +02:00 Compare
kjuulh force-pushed renovate/all from ef971b5985 to 3c5be15811 2024-08-29 02:57:28 +02:00 Compare
kjuulh force-pushed renovate/all from 3c5be15811 to 5dc08ec433 2024-08-29 03:34:36 +02:00 Compare
kjuulh force-pushed renovate/all from 5dc08ec433 to 5ae185faea 2024-08-29 04:10:32 +02:00 Compare
kjuulh force-pushed renovate/all from 5ae185faea to ae162bed64 2024-08-29 04:46:45 +02:00 Compare
kjuulh force-pushed renovate/all from ae162bed64 to a7ee6e1cd8 2024-08-29 05:24:10 +02:00 Compare
kjuulh force-pushed renovate/all from a7ee6e1cd8 to 0b3b95f9c0 2024-08-29 06:03:23 +02:00 Compare
kjuulh force-pushed renovate/all from 0b3b95f9c0 to bd189f0d45 2024-08-29 06:57:02 +02:00 Compare
kjuulh force-pushed renovate/all from bd189f0d45 to c94ee419cd 2024-08-29 07:34:55 +02:00 Compare
kjuulh force-pushed renovate/all from c94ee419cd to 570520b111 2024-08-29 08:13:19 +02:00 Compare
kjuulh force-pushed renovate/all from 570520b111 to 7353c36144 2024-08-29 08:49:52 +02:00 Compare
kjuulh force-pushed renovate/all from 7353c36144 to 15a98fa818 2024-08-29 09:27:40 +02:00 Compare
kjuulh force-pushed renovate/all from 15a98fa818 to 5880b3bc7d 2024-08-29 10:03:37 +02:00 Compare
kjuulh force-pushed renovate/all from 5880b3bc7d to c58b15907c 2024-08-29 10:40:37 +02:00 Compare
kjuulh force-pushed renovate/all from c58b15907c to 2c86e9b004 2024-08-29 11:17:29 +02:00 Compare
kjuulh force-pushed renovate/all from 2c86e9b004 to 7d0e6f7757 2024-08-29 11:54:56 +02:00 Compare
kjuulh force-pushed renovate/all from 7d0e6f7757 to 8712dc2423 2024-08-29 12:03:14 +02:00 Compare
kjuulh force-pushed renovate/all from 8712dc2423 to 8fca81971f 2024-08-29 12:56:38 +02:00 Compare
kjuulh force-pushed renovate/all from 8fca81971f to ec736a8167 2024-08-29 13:33:10 +02:00 Compare
kjuulh force-pushed renovate/all from ec736a8167 to f7278b89fe 2024-08-29 14:10:39 +02:00 Compare
kjuulh force-pushed renovate/all from f7278b89fe to 598657be46 2024-08-29 14:46:08 +02:00 Compare
kjuulh force-pushed renovate/all from 598657be46 to 47eaf6412c 2024-08-29 15:23:22 +02:00 Compare
kjuulh force-pushed renovate/all from 47eaf6412c to ffb212ae9d 2024-08-29 16:01:02 +02:00 Compare
kjuulh force-pushed renovate/all from ffb212ae9d to 993f0b13a3 2024-08-29 16:38:34 +02:00 Compare
kjuulh force-pushed renovate/all from 993f0b13a3 to b89624ce4a 2024-08-29 17:16:31 +02:00 Compare
kjuulh force-pushed renovate/all from b89624ce4a to c92750acae 2024-08-29 17:54:17 +02:00 Compare
kjuulh force-pushed renovate/all from c92750acae to 8e7ea7be2f 2024-08-29 18:03:17 +02:00 Compare
kjuulh force-pushed renovate/all from 8e7ea7be2f to b735289585 2024-08-29 18:56:19 +02:00 Compare
kjuulh force-pushed renovate/all from b735289585 to 3d5364c530 2024-08-29 19:33:23 +02:00 Compare
kjuulh force-pushed renovate/all from 3d5364c530 to d2c9105c88 2024-08-29 20:11:08 +02:00 Compare
kjuulh force-pushed renovate/all from d2c9105c88 to 59b2603041 2024-08-29 20:47:19 +02:00 Compare
kjuulh force-pushed renovate/all from 59b2603041 to e60f68111b 2024-08-29 21:25:21 +02:00 Compare
kjuulh force-pushed renovate/all from e60f68111b to e528a8a35c 2024-08-29 22:02:16 +02:00 Compare
kjuulh force-pushed renovate/all from e528a8a35c to c9edb40f7e 2024-08-29 22:39:16 +02:00 Compare
kjuulh force-pushed renovate/all from c9edb40f7e to bcdbbf3a9c 2024-08-29 23:18:17 +02:00 Compare
kjuulh force-pushed renovate/all from bcdbbf3a9c to 141d9fd8f5 2024-08-29 23:55:24 +02:00 Compare
kjuulh force-pushed renovate/all from 141d9fd8f5 to 0bc2e5b428 2024-08-30 00:04:26 +02:00 Compare
kjuulh force-pushed renovate/all from 0bc2e5b428 to efb2b3f364 2024-08-30 01:00:25 +02:00 Compare
kjuulh force-pushed renovate/all from efb2b3f364 to 521c410db5 2024-08-30 01:38:32 +02:00 Compare
kjuulh force-pushed renovate/all from 521c410db5 to 6f9e20fc3a 2024-08-30 02:17:29 +02:00 Compare
kjuulh force-pushed renovate/all from 6f9e20fc3a to 4b100fd3f8 2024-08-30 02:55:26 +02:00 Compare
kjuulh force-pushed renovate/all from 4b100fd3f8 to c97aa228ea 2024-08-30 03:34:24 +02:00 Compare
kjuulh force-pushed renovate/all from c97aa228ea to f80cb152f8 2024-08-30 04:11:32 +02:00 Compare
kjuulh force-pushed renovate/all from f80cb152f8 to d899751d08 2024-08-30 04:50:24 +02:00 Compare
kjuulh force-pushed renovate/all from d899751d08 to 0fb11b8c41 2024-08-30 05:29:12 +02:00 Compare
kjuulh force-pushed renovate/all from 0fb11b8c41 to 85be41aba5 2024-08-30 06:04:03 +02:00 Compare
kjuulh force-pushed renovate/all from 85be41aba5 to a5cde7035a 2024-08-30 06:59:42 +02:00 Compare
kjuulh force-pushed renovate/all from a5cde7035a to f2d0388769 2024-08-30 07:37:51 +02:00 Compare
kjuulh force-pushed renovate/all from f2d0388769 to d2c68beab2 2024-08-30 08:16:10 +02:00 Compare
kjuulh force-pushed renovate/all from d2c68beab2 to bd629f8ed4 2024-08-30 08:53:01 +02:00 Compare
kjuulh force-pushed renovate/all from bd629f8ed4 to 697d07b939 2024-08-30 09:31:47 +02:00 Compare
kjuulh force-pushed renovate/all from 697d07b939 to 88b207c4d6 2024-08-30 10:08:57 +02:00 Compare
kjuulh force-pushed renovate/all from 88b207c4d6 to af8208ee40 2024-08-30 10:53:00 +02:00 Compare
kjuulh force-pushed renovate/all from af8208ee40 to f0a59b90f6 2024-08-30 11:34:43 +02:00 Compare
kjuulh force-pushed renovate/all from f0a59b90f6 to bad71da886 2024-08-30 12:03:29 +02:00 Compare
kjuulh force-pushed renovate/all from bad71da886 to 1d7cb1eda8 2024-08-30 13:03:08 +02:00 Compare
kjuulh force-pushed renovate/all from 1d7cb1eda8 to a3ffd5e9df 2024-08-30 13:41:44 +02:00 Compare
kjuulh force-pushed renovate/all from a3ffd5e9df to a0feee0bee 2024-08-30 14:19:14 +02:00 Compare
kjuulh force-pushed renovate/all from a0feee0bee to 0b56f057ca 2024-08-30 14:55:38 +02:00 Compare
kjuulh force-pushed renovate/all from 0b56f057ca to c5dbe5ce8f 2024-08-30 15:32:41 +02:00 Compare
kjuulh force-pushed renovate/all from c5dbe5ce8f to bfe5db9d94 2024-08-30 16:09:13 +02:00 Compare
kjuulh force-pushed renovate/all from bfe5db9d94 to 93c9726ee9 2024-08-30 16:45:46 +02:00 Compare
kjuulh force-pushed renovate/all from 93c9726ee9 to d136523634 2024-08-30 17:21:26 +02:00 Compare
kjuulh force-pushed renovate/all from d136523634 to 60a88ceb45 2024-08-30 17:58:18 +02:00 Compare
kjuulh force-pushed renovate/all from 60a88ceb45 to 92bb292bca 2024-08-30 18:03:17 +02:00 Compare
kjuulh force-pushed renovate/all from 92bb292bca to 72b7b34738 2024-08-30 18:55:13 +02:00 Compare
kjuulh force-pushed renovate/all from 72b7b34738 to 908a8b32ed 2024-08-30 19:31:55 +02:00 Compare
kjuulh force-pushed renovate/all from 908a8b32ed to 8b84cdad68 2024-08-30 20:08:42 +02:00 Compare
kjuulh force-pushed renovate/all from 8b84cdad68 to 0ba4e25de4 2024-08-31 02:03:02 +02:00 Compare
kjuulh force-pushed renovate/all from 0ba4e25de4 to 037a3a5a1f 2024-08-31 06:03:07 +02:00 Compare
kjuulh force-pushed renovate/all from 037a3a5a1f to e2bf7514cb 2024-09-01 02:03:10 +02:00 Compare
kjuulh force-pushed renovate/all from e2bf7514cb to b925db69d0 2024-09-01 06:03:09 +02:00 Compare
kjuulh force-pushed renovate/all from b925db69d0 to e0acef5fa5 2024-09-02 02:03:07 +02:00 Compare
kjuulh force-pushed renovate/all from e0acef5fa5 to a994c6cec3 2024-09-02 06:03:10 +02:00 Compare
kjuulh force-pushed renovate/all from a994c6cec3 to 9aa63ba0c3 2024-09-03 02:03:07 +02:00 Compare
kjuulh force-pushed renovate/all from 9aa63ba0c3 to 12f857f22c 2024-09-03 06:03:02 +02:00 Compare
kjuulh force-pushed renovate/all from 12f857f22c to 4d24b46980 2024-09-04 02:03:29 +02:00 Compare
kjuulh force-pushed renovate/all from 4d24b46980 to e40b69cffa 2024-09-04 06:03:27 +02:00 Compare
kjuulh force-pushed renovate/all from e40b69cffa to 431aecb08c 2024-09-05 02:03:23 +02:00 Compare
kjuulh force-pushed renovate/all from 431aecb08c to 4b5821e757 2024-09-05 06:03:23 +02:00 Compare
kjuulh force-pushed renovate/all from 4b5821e757 to e1854594d7 2024-09-06 02:04:28 +02:00 Compare
kjuulh force-pushed renovate/all from e1854594d7 to 2a9bc35366 2024-09-06 06:03:24 +02:00 Compare
kjuulh force-pushed renovate/all from 2a9bc35366 to 49e7e552c5 2024-09-07 02:03:19 +02:00 Compare
kjuulh force-pushed renovate/all from 49e7e552c5 to 2af0f56d9b 2024-09-07 06:03:19 +02:00 Compare
kjuulh force-pushed renovate/all from 2af0f56d9b to 9397eb5cd0 2024-09-08 02:04:20 +02:00 Compare
kjuulh force-pushed renovate/all from 9397eb5cd0 to 2203d32b15 2024-09-08 06:04:01 +02:00 Compare
kjuulh force-pushed renovate/all from 2203d32b15 to 2389ad0bfc 2024-09-08 14:44:53 +02:00 Compare
kjuulh force-pushed renovate/all from 2389ad0bfc to dde8d70e47 2024-09-09 02:04:10 +02:00 Compare
kjuulh force-pushed renovate/all from dde8d70e47 to b09428a1dc 2024-09-09 06:04:08 +02:00 Compare
kjuulh force-pushed renovate/all from b09428a1dc to 8eddb86ddd 2024-09-10 02:04:03 +02:00 Compare
kjuulh force-pushed renovate/all from 8eddb86ddd to 54438e9365 2024-09-10 06:04:09 +02:00 Compare
kjuulh force-pushed renovate/all from 54438e9365 to 36e281434a 2024-09-11 02:04:43 +02:00 Compare
kjuulh force-pushed renovate/all from 36e281434a to 7a83b0eef7 2024-09-11 06:04:03 +02:00 Compare
kjuulh force-pushed renovate/all from 7a83b0eef7 to c369329f3a 2024-09-12 02:04:23 +02:00 Compare
kjuulh force-pushed renovate/all from c369329f3a to ce1563f082 2024-09-12 06:04:58 +02:00 Compare
kjuulh force-pushed renovate/all from ce1563f082 to a3efc25d68 2024-09-13 02:04:29 +02:00 Compare
kjuulh force-pushed renovate/all from a3efc25d68 to 0e4258e52a 2024-09-13 06:04:11 +02:00 Compare
kjuulh force-pushed renovate/all from 0e4258e52a to 11099311cf 2024-09-14 02:03:53 +02:00 Compare
kjuulh force-pushed renovate/all from 11099311cf to 7049232fdb 2024-09-14 06:04:23 +02:00 Compare
kjuulh force-pushed renovate/all from 7049232fdb to 20ec510f4e 2024-09-15 02:04:02 +02:00 Compare
kjuulh force-pushed renovate/all from 20ec510f4e to bf3ae6525b 2024-09-15 06:03:46 +02:00 Compare
kjuulh force-pushed renovate/all from bf3ae6525b to aefa5dc636 2024-09-16 02:04:00 +02:00 Compare
kjuulh force-pushed renovate/all from aefa5dc636 to 645ec9652c 2024-09-16 06:04:19 +02:00 Compare
Some checks failed
renovate/artifacts Artifact file update failure
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/all:renovate/all
git checkout renovate/all
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kjuulh/bearing#2
No description provided.