fix(deps): update all dependencies #10

Merged
kjuulh merged 2 commits from renovate/all into main 2024-04-05 21:11:37 +02:00
Owner

This PR contains the following updates:

Package Type Update Change
anyhow dependencies patch 1.0.60 -> 1.0.81
async-graphql dependencies major 4.0.6 -> 7.0.3
axum dependencies minor 0.5.13 -> 0.7.5
sqlx dependencies minor 0.6 -> 0.7
tokio (source) dependencies minor 1.20.1 -> 1.37.0
tower-http dependencies minor 0.3.4 -> 0.5.2
tracing (source) dependencies patch 0.1.36 -> 0.1.40
tracing-subscriber (source) dependencies patch 0.3.15 -> 0.3.18
uuid dependencies minor 1.1.2 -> 1.8.0

Release Notes

dtolnay/anyhow

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

v1.0.71

Compare Source

  • Documentation improvements

v1.0.70

Compare Source

  • Update syn dependency to 2.x

v1.0.69

Compare Source

  • Documentation improvements

v1.0.68

Compare Source

  • Opt out of -Zrustdoc-scrape-examples on docs.rs for now

v1.0.67

Compare Source

  • Improve the backtrace captured when context() is used on an Option (#​280)

v1.0.66

Compare Source

  • Reduce unhelpful backtrace frames in backtraces captured during a context call (#​279)

v1.0.65

Compare Source

v1.0.64

Compare Source

  • Correctly propagate Backtrace when using #[source] anyhow::Error with thiserror crate (#​231)

v1.0.63

Compare Source

v1.0.62

Compare Source

  • Fix extra rebuilding when interleaving command-line cargo invocations with IDE builds (#​261)

v1.0.61

Compare Source

  • Work around rust-analyzer builds poisoning all subsequent command-line cargo builds (#​252)
async-graphql/async-graphql

v7.0.3

  • Sort schema fields & enums if required #​1475
  • Change the type_name of EmptySubscription fix #​1435 #​1475
  • add Request::set_parsed_query method #​1483
  • Upgrade strum to 0.26 #​1485
  • Fix validation of non-nullable variables with default values #​1491
  • add NextExecute::run_with_data method to attach context data before execution
  • feat: add registry method in dynamic::Registry #​1492
  • Allow non-scalars to be used as directive arguments #​1493
  • fix: add description to __schema introspection result #​1489

v7.0.2

  • Fix #[derive(OneofObject)] rejecting enums where the type comes from a macro subsitution #​1473
  • Optimize object proc-macro codegen #​1470
  • Use impl Future instead of async-trait in most traits. #​1468
  • Upgrade base64 to 0.21 #​1466
  • Standardize space between Args, Lists and Binary items #​1392
  • feat: support bigdecimal 0.4.x #​1358

v7.0.1

  • Add Shareable Attribute To InputObjectField #​1459
  • Feature Generic Unions #​1424
  • Address axum integration compilation error with non-Sync body #​1460
  • fix: date cursor precision string format #​1462

v7.0.0

  • upgrade to http1
  • Feature extend ResolveInfo with field attribute #​1428

v6.0.11

v6.0.10

  • bump opentelemetry 0.20.0 #​1406
  • fix check for serial #​1405
  • fixes complexity visitor
  • bump Rocket from 0.5.0-rc.2 to 0.5.0-rc.4

v6.0.9

  • add support uploading files in dynamic schema #​1384
  • Include @composeDirective in Federation's _service field and document #[TypeDirective] #​1400

v6.0.7

  • initialize source field in tracing extension parse_query method #​1367
  • test(variables): empty object passes but empty array fails #​1377
  • Add support for entities without a reference resolver #​1378
  • Fixes #​1356

v6.0.6

  • fixed SDL formatting for resolver argument comments regressed #​1363

v6.0.5

  • Implement exporting argument documentation #​1352
  • Add ValueAccessor::as_value and ListAccessor::as_values_slice methods #​1353
  • dynamic: fixes key not found when using entity resolver #​1362
  • fix panic in complexity visitor #​1359
  • update MSRV to 1.70.0

v6.0.4

  • Parse "repeatable" in directive definitions. #​1336
  • add support multipart/mixed request. #​1348
  • async-graphql-actix-web: add GraphQL handler.
  • async-graphql-axum: add GraphQL service.

v6.0.3

  • dynamic: fix the error that some methods of XXXAccessor return reference lifetimes that are smaller than expected.
  • dynamic: no longer throws an error if the Query object does not contain any fields but the schema contains entities.
  • chore: make accessors public and reexport indexmap #​1329
  • feat: added OutputType implementation for std::sync::Weak #​1334

v6.0.1

v6.0.0

  • Bump syn from 1.0 to 2.0
  • Bump darling from 0.14 to 0.20
  • Bump indexmap from 1.6.2 to 2
  • Attributes guard, process_with, complexity support expression or string as value #​1295
  • Schema (type) level directive support with optional support of federation composeDirective #​1308
  • Add support for generic structs derriving InputObject and SimpleObject #​1313
  • chore: trim up some unnecessary code #​1324
  • Adds Dataloader::get_cached_values method to the dataloader cache so that callers can access the contents of the cache without knowing the keys. #​1326

Breaking Changes


#[derive(Interface)]
#[graphql(field(name = "id", ty = "&i32"))] // rename from type to ty
enum Node {
    MyObj(MyObj),
}
  • Change the parameter location of the macro Directive to PascalCase
// #[Directive(location = "field")]

#[Directive(location = "Field")]
pub fn lowercase() -> impl CustomDirective {
    LowercaseDirective
}

v5.0.10

  • Upgrade opentelemetry to 0.19.0 #​1252
  • Remove internal CursorScalar type and expose Edge::cursor member #​1302

v5.0.9

  • Prevent input check stack overflow #​1293
  • Change batch requests to run concurrently #​1290

v5.0.8

  • Improve documentation on Dataloader #​1282
  • Prevent recursive input type checking from hitting stack overflow #​1284
  • update MSRV to 1.65.0

v5.0.7

  • Disable default-features in workspace.dependencies #​1232
  • Copy edit extensions section of The Book #​1234
  • disable default features for async-graphql in workspace dependencies #​1237
  • chore: make edge field and connection field shareable #​1246
  • Added 3 new fns to the ObjectAccessor. #​1244
  • Dataloader futures lose span context #​1256
  • Propagate ErrorExtensionValues when calling InputValueError.propagate #​1257
  • Correct error string for object in ValueAccessor #​1260

v5.0.6

  • docs: Tweak dataloader example and link to full example #​1194
  • docs: Mention the importance of using dataloader with federation/entities #​1194
  • chore: enable GraphiQL/Playground via feature flag #​1202
  • fix: Export directives to federation SDL so they can be composed. #​1209
  • Fix doc contents details and add AutoCorrect lint to CI. #​1210
  • fix: provide correct type for _service with dynamic schema #​1212
  • feat(subscription): support generics in MergedSubscription types #​1222
  • feat: modify Connection to allow optionally disable nodes field in gql output. #​1218
  • fixes interface type condition query #​1228
  • fixes #​1226
  • update MSRV to 1.64.0

v5.0.5

v5.0.4

  • Fix named_list_nn #​1172
  • Add DynamicRequestExt::root_value to specify the root value for the request
  • Change CustomValidator::check returns error type from String to InputValueError<T>.
  • Add support that custom validators can set error extensions. #​1174

v5.0.3

v5.0.2

v5.0.1

  • Upgrade opentelemetry to 0.19.0 #​1252
  • Remove internal CursorScalar type and expose Edge::cursor member #​1302

v5.0.0

  • Update MSRV to 1.60.0
  • async-graphql-axum] bump axum from `0.5.1` to `0.6.0` [#&#8203;1106](https://github.com/async-graphql/async-graphql/issues/1106)
    
    

v4.0.16

  • Add credentials to GraphiQL 2 #​1105
  • Add TypeName support for InputObject #​1110
  • Fix error message #​1058
  • Add TypeName support for Enum, Union, OneofInputObject, Subscription, MergedObject, MergedSubscription, Scalar, Interface, Directive
  • Fixes #​1052
  • Implement CustomValidator<T> for F: Fn(&T) -> Result<(), E: Into<String>>
  • Add validator attribute to InputObject macro #​1072

v4.0.15

  • Dynamic Document Title for GraphiQL v2 and GraphQL Playground #​1099
  • Skip tracing for introspection queries. #​841
  • Add SchemaBuilder::disable_suggestions method to disable field suggestions. #​1101

v4.0.14

  • Implement a simple approach to using the link directive. #​1060
  • docs: Update federation docs with examples of each directive. #​1080
  • Add support for parse request from query string. #​1085

v4.0.13

  • Compare to expected schema #​1048
  • docs: readme flair #​1054
  • Remove bson-uuid feature #​1032
  • Add no_cache for cache_control attribute #​1051
  • Resurrect code generation through tests #​1062
  • Support for primitive type in CursorType #​1049
  • Add SDLExportOptions::include_specified_by method to enable specifiedBy directive #​1065

v4.0.12

  • Update MSRV to 1.59.0
  • Support @specifiedBy directive in SDL export #​1041
  • Add GraphiQL v2 #​1044
  • Export SDL: consistently avoid trailing spaces #​1043

v4.0.11

v4.0.10

  • Fixes extension request.data(X) being lost in the resolver #​1018
  • Add Apollo federation @shareable directive support #​1025
  • Add Apollo Federation @inaccessible directive support #​1026

v4.0.9

  • on_connection_init takes FnOnce instead of Fn #​1022

v4.0.8

  • Add tracing to dataloader methods when the tracing feature is enabled. #​996

v4.0.7

  • Limit parser recursion depth to 64.
tokio-rs/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)

v0.6.18: axum - v0.6.18

Compare Source

  • fixed: Don't remove the Sec-WebSocket-Key header in WebSocketUpgrade (#​1972)

v0.6.17: axum - v0.6.17

Compare Source

  • fixed: Fix fallbacks causing a panic on CONNECT requests (#​1958)

v0.6.16: axum - v0.6.16

Compare Source

  • fixed: Don't allow extracting MatchedPath in fallbacks (#​1934)
  • fixed: Fix panic if Router with something nested at / was used as a fallback (#​1934)
  • added: Document that Router::new().fallback(...) isn't optimal (#​1940)

v0.6.15: axum - v0.6.15

Compare Source

  • fixed: Removed additional leftover debug messages (#​1927)

v0.6.14: axum - v0.6.14

Compare Source

  • fixed: Removed leftover "path_router hit" debug message (#​1925)

v0.6.13: axum - v0.6.13

Compare Source

  • added: Log rejections from built-in extractors with the
    axum::rejection=trace target (#​1890)
  • fixed: Fixed performance regression with Router::nest introduced in
    0.6.0. nest now flattens the routes which performs better (#​1711)
  • fixed: Extracting MatchedPath in nested handlers now gives the full
    matched path, including the nested path (#​1711)
  • added: Implement Deref and DerefMut for built-in extractors (#​1922)

v0.6.12: axum - v0.6.12

Compare Source

  • added: Implement IntoResponse for MultipartError (#​1861)
  • fixed: More clearly document what wildcards matches (#​1873)

v0.6.11: axum - v0.6.11

Compare Source

  • fixed: Don't require S: Debug for impl Debug for Router<S> (#​1836)
  • fixed: Clone state a bit less when handling requests (#​1837)
  • fixed: Unpin itoa dependency (#​1815)

v0.6.10: axum - v0.6.10

Compare Source

  • fixed: Add #[must_use] attributes to types that do nothing unless used (#​1809)
  • fixed: Gracefully handle missing headers in the TypedHeader extractor (#​1810)
  • fixed: Fix routing issues when loading a Router via a dynamic library (#​1806)

v0.6.9: axum - v0.6.9

Compare Source

  • changed: Update to tower-http 0.4. axum is still compatible with tower-http 0.3 (#​1783)

v0.6.8: axum - v0.6.8

Compare Source

  • fixed: Fix Allow missing from routers with middleware (#​1773)
  • added: Add KeepAlive::event for customizing the event sent for SSE keep alive (#​1729)

v0.6.7: axum - v0.6.7

Compare Source

  • added: Add FormRejection::FailedToDeserializeFormBody which is returned
    if the request body couldn't be deserialized into the target type, as opposed
    to FailedToDeserializeForm which is only for query parameters (#​1683)
  • added: Add MockConnectInfo for setting ConnectInfo during tests (#​1767)

v0.6.6: axum - v0.6.6

Compare Source

  • fixed: Enable passing MethodRouter to Router::fallback (#​1730)

v0.6.5: axum - v0.6.5

Compare Source

  • fixed: Fix #[debug_handler] sometimes giving wrong borrow related suggestions (#​1710)
  • Document gotchas related to using impl IntoResponse as the return type from handler functions (#​1736)

v0.6.4: axum - v0.6.4

Compare Source

  • Depend on axum-macros 0.3.2

v0.6.3: axum - v0.6.3

Compare Source

  • added: Implement IntoResponse for &'static [u8; N] and [u8; N] (#​1690)
  • fixed: Make Path support types using serde::Deserializer::deserialize_any (#​1693)
  • added: Add RawPathParams (#​1713)
  • added: Implement Clone and Service for axum::middleware::Next (#​1712)
  • fixed: Document required tokio features to run "Hello, World!" example (#​1715)

v0.6.2: axum - v0.6.2

Compare Source

  • added: Add body_text and status methods to built-in rejections (#​1612)
  • added: Enable the runtime feature of hyper when using tokio (#​1671)

v0.6.1: axum - v0.6.1

Compare Source

  • added: Expand the docs for Router::with_state (#​1580)

v0.6.0: axum-extra - v0.6.0

Compare Source

  • breaking: Change casing of ProtoBuf to Protobuf (#​1595)

  • breaking: SpaRouter has been removed. Use ServeDir and ServeFile
    from tower-http instead:

    // before
    Router::new().merge(SpaRouter::new("/assets", "dist"));
    
    // with ServeDir
    Router::new().nest_service("/assets", ServeDir::new("dist"));
    
    // before with `index_file`
    Router::new().merge(SpaRouter::new("/assets", "dist").index_file("index.html"));
    
    // with ServeDir + ServeFile
    Router::new().nest_service(
        "/assets",
        ServeDir::new("dist").not_found_service(ServeFile::new("dist/index.html")),
    );
    

    See the static-file-server-example for more examples (#​1784)

v0.5.17: axum - v0.5.17

Compare Source

  • fixed: Annotate panicking functions with #[track_caller] so the error
    message points to where the user added the invalid router, rather than
    somewhere internally in axum (#​1248)
  • fixed: Make Multipart extractor work with RequestBodyLimit middleware (#​1379)
  • added: Add DefaultBodyLimit::max for changing the default body limit (#​1397)
  • added: Various documentation improvements

v0.5.16: axum - v0.5.16

Compare Source

Security

  • breaking: Added default limit to how much data Bytes::from_request will
    consume. Previously it would attempt to consume the entire request body
    without checking its length. This meant if a malicious peer sent an large (or
    infinite) request body your server might run out of memory and crash.

    The default limit is at 2 MB and can be disabled by adding the new
    DefaultBodyLimit::disable() middleware. See its documentation for more
    details.

    This also applies to these extractors which used Bytes::from_request
    internally:

    • Form
    • Json
    • String

    Thanks to Shachar Menashe for reporting this vulnerability.

    (#​1346)

v0.5.15: axum - v0.5.15

Compare Source

Note: This is a re-release of 0.5.14 that fixes an accidental breaking change.

  • fixed: Don't expose internal type names in QueryRejection response. (#​1171)
  • fixed: Improve performance of JSON serialization (#​1178)
  • fixed: Improve build times by generating less IR (#​1192)

v0.5.14: axum - v0.5.14

Compare Source

Yanked, as it contained an accidental breaking change.

launchbadge/sqlx

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)]]
    
    

v0.6.3

Compare Source

This is a hotfix to address the breakage caused by transitive dependencies upgrading to syn = "2".

We set default-features = false for our dependency on syn = "1" to be good crates.io citizens,
but failed to enable the features we actually used, which went undetected because we transitively depended on
syn with the default features enabled through other crates,
and so they were also on for us because features are additive.

When those other dependencies upgraded to syn = "2" it was no longer enabling those features for us,
and so compilation broke for projects that don't also depend on syn = "1", transitively or otherwise.

There is no PR for this fix as there was no longer a dedicated development branch for 0.6,
but discussion can be found in issue #​2418.

As of this release, the 0.7 release is in alpha and so development is no longer occurring against 0.6.
This fix will be forward-ported to 0.7.

v0.6.2

Compare Source

25 pull requests were merged this release cycle.

Added
  • [#&#8203;1081]]: Add `try_from` attribute for `FromRow` derive \[\[[@&#8203;zzhengzhuo](https://github.com/zzhengzhuo)]]
    -   Exemplifies "out of sight, out of mind." It's surprisingly easy to forget about PRs when they get pushed onto
        the second page. We'll be sure to clean out the backlog for 0.7.0.
    
  • [#&#8203;2014]]: Support additional SQLCipher options in SQLite driver. \[\[[@&#8203;szymek156](https://github.com/szymek156)]]
    
  • [#&#8203;2052]]: Add issue templates \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2053]]: Add documentation for `IpAddr` support in Postgres \[\[[@&#8203;rakshith-ravi](https://github.com/rakshith-ravi)]]
    
  • [#&#8203;2062]]: Add extension support for SQLite \[\[[@&#8203;bradfier](https://github.com/bradfier)]]
    
  • [#&#8203;2063]]: customizable db locking during migration \[\[[@&#8203;fuzzbuck](https://github.com/fuzzbuck)]]
    
    
Changed
  • [#&#8203;2025]]: Bump sqlformat to 2.0 \[\[[@&#8203;NSMustache](https://github.com/NSMustache)]]
    
  • [#&#8203;2056]]: chore: Switch to sha1 crate \[\[[@&#8203;stoically](https://github.com/stoically)]]
    
  • [#&#8203;2071]]: Use cargo check consistently in `prepare` \[\[[@&#8203;cycraig](https://github.com/cycraig)]]
    
    
Fixed
  • [#&#8203;1991]]: Ensure migration progress is not lost for Postgres, MySQL and SQLite. \[\[[@&#8203;crepererum](https://github.com/crepererum)]]
    
  • [#&#8203;2023]]: Fix expansion of `#[sqlx(flatten)]` for `FromRow` derive \[\[[@&#8203;RustyYato](https://github.com/RustyYato)]]
    
  • [#&#8203;2028]]: Use fully qualified path when forwarding to `#[test]` from `#[sqlx::test]` \[\[[@&#8203;alexander-jackson](https://github.com/alexander-jackson)]]
    
  • [#&#8203;2040]]: Fix typo in `FromRow` docs \[\[[@&#8203;zlidner](https://github.com/zlidner)]]
    
  • [#&#8203;2046]]: added flag for PIPES_AS_CONCAT connection setting for MySQL to fix [#&#8203;2034](https://github.com/launchbadge/sqlx/issues/2034) \[\[[@&#8203;marcustut](https://github.com/marcustut)]]
    
  • [#&#8203;2055]]: Use unlock notify also on `sqlite3_exec`  \[\[[@&#8203;madadam](https://github.com/madadam)]]
    
  • [#&#8203;2057]]: Make begin,commit,rollback cancel-safe in sqlite  \[\[[@&#8203;madadam](https://github.com/madadam)]]
    
  • [#&#8203;2058]]: fix typo in documentation \[\[[@&#8203;lovasoa](https://github.com/lovasoa)]]
    
  • [#&#8203;2067]]: fix(docs): close code block in query_builder.rs \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2069]]: Fix `prepare` race condition in workspaces \[\[[@&#8203;cycraig](https://github.com/cycraig)]]\\
    -   NOTE: this changes the directory structure under `target/` that `cargo sqlx prepare` depends on.
        If you use offline mode in your workflow, please rerun `cargo install sqlx-cli` to upgrade.
    
  • [#&#8203;2072]]: SqliteConnectOptions typo \[\[[@&#8203;fasterthanlime](https://github.com/fasterthanlime)]]
    
  • [#&#8203;2074]]: fix: mssql uses unsigned for tinyint instead of signed \[\[[@&#8203;he4d](https://github.com/he4d)]]
    
  • [#&#8203;2081]]: close unnamed portal after each executed extended query \[\[[@&#8203;DXist](https://github.com/DXist)]]
    
  • [#&#8203;2086]]: PgHasArrayType for transparent types fix. \[\[[@&#8203;Wopple](https://github.com/Wopple)]]
    -   NOTE: this is a breaking change and has been postponed to 0.7.0.
    
  • [#&#8203;2089]]: fix: Remove default chrono dep on time for sqlx-cli \[\[[@&#8203;TravisWhitehead](https://github.com/TravisWhitehead)]]
    
  • [#&#8203;2091]]: Sqlite explain plan log efficiency \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]]
    
    

v0.6.1

Compare Source

33 pull requests were merged this release cycle.

Added
  • [#&#8203;1495]]: Add example for manual implementation of the `FromRow` trait \[\[[@&#8203;Erik1000](https://github.com/Erik1000)]]
    
  • [#&#8203;1822]]: (Postgres) Add support for `std::net::IpAddr` \[\[[@&#8203;meh](https://github.com/meh)]]
    -   Decoding returns an error if the `INET` value in Postgres is a prefix and not a full address
        (`/32` for IPv4, `/128` for IPv6).
    
  • [#&#8203;1865]]: Add SQLite support for the `time` crate \[\[[@&#8203;johnbcodes](https://github.com/johnbcodes)]]
    
  • [#&#8203;1902]]: Add an example of how to use `QueryBuilder::separated()` \[\[[@&#8203;sbeckeriv](https://github.com/sbeckeriv)]]
    
  • [#&#8203;1917]]: Added docs for `sqlx::types::Json` \[\[[@&#8203;jayy-lmao](https://github.com/jayy-lmao)]]
    
  • [#&#8203;1919]]: Implement `Clone` for `PoolOptions` \[\[[@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw)]]
    
  • [#&#8203;1953]]: Support Rust arrays in Postgres \[\[[@&#8203;e00E](https://github.com/e00E)]]
    
  • [#&#8203;1954]]: Add `push_tuples` for `QueryBuilder` \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]]
    
  • [#&#8203;1959]]: Support `#[sqlx(flatten)]` attribute in `FromRow` \[\[[@&#8203;TheoOiry](https://github.com/TheoOiry)]]
    
  • [#&#8203;1967]]: Add example with external query files \[\[[@&#8203;JoeyMckenzie](https://github.com/JoeyMckenzie)]]
    
  • [#&#8203;1985]]: Add `query_builder::Separated::push_bind_unseparated()` \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]]
    
  • [#&#8203;2001]]: Implement `#[sqlx::test]` for general use
    -   Includes automatic database management, migration and fixture application.
    -   Drops support for end-of-lifed database versions, see PR for details.
    
  • [#&#8203;2005]]: `QueryBuilder` improvements \[\[[@&#8203;abonander](https://github.com/abonander)]]
    -   Raw SQL getters, new method to build `QueryAs` instead of `Query`.
    
  • [#&#8203;2013]]: (SQLite) Allow VFS to be set as URL query parameter \[\[[@&#8203;liningpan](https://github.com/liningpan)]]
    
    
Changed
  • [#&#8203;1679]]: refactor: alias actix-\* features to their equivalent tokio-\* features \[\[[@&#8203;robjtede](https://github.com/robjtede)]]
    
  • [#&#8203;1906]]: replaced all uses of "uri" to "url" \[\[[@&#8203;RomainStorai](https://github.com/RomainStorai)]]
    
  • [#&#8203;1965]]: SQLite improvements \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;1977]]: Docs: clarify relationship between `query_as!()` and `FromRow` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;2003]]: Replace `dotenv` with `dotenvy` \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
    
Fixed
  • [#&#8203;1802]]: Try avoiding a full clean in `cargo sqlx prepare --merged` \[\[[@&#8203;LovecraftianHorror](https://github.com/LovecraftianHorror)]]
    
  • [#&#8203;1848]]: Fix type info access in `Any` database driver \[\[[@&#8203;raviqqe](https://github.com/raviqqe)]]
    
  • [#&#8203;1910]]: Set `CARGO_TARGET_DIR` when compiling queries \[\[[@&#8203;sedrik](https://github.com/sedrik)]]
    
  • [#&#8203;1915]]: Pool: fix panic when using callbacks \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;1930]]: Don't cache SQLite connection for macros \[\[[@&#8203;LovecraftianHorror](https://github.com/LovecraftianHorror)]]
    
  • [#&#8203;1948]]: Fix panic in Postgres `BYTEA` decode \[\[[@&#8203;e00E](https://github.com/e00E)]]
    
  • [#&#8203;1955]]: Fix typo in FAQ \[\[[@&#8203;kenkoooo](https://github.com/kenkoooo)]]
    
  • [#&#8203;1968]]: (Postgres) don't panic if `S` or `V` notice fields are not UTF-8 \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;1969]]: Fix sqlx-cli build \[\[[@&#8203;ivan](https://github.com/ivan)]]
    
  • [#&#8203;1974]]: Use the `rust-cache` action for CI \[\[[@&#8203;abonander](https://github.com/abonander)]]
    
  • [#&#8203;1988]]: Agree on a single default runtime for the whole workspace \[\[[@&#8203;crepererum](https://github.com/crepererum)]]
    
  • [#&#8203;1989]]: Fix panics in `PgListener` \[\[[@&#8203;crepererum](https://github.com/crepererum)]]
    
  • [#&#8203;1990]]: Switch `master` to `main` in docs \[\[[@&#8203;crepererum](https://github.com/crepererum)]]
    -   The change had already been made in the repo, the docs were out of date.
    
  • [#&#8203;1993]]: Update versions in quickstart examples in README \[\[[@&#8203;UramnOIL](https://github.com/UramnOIL)]]
    
    
tokio-rs/tokio

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

v1.28.2: Tokio v1.28.2

Compare Source

1.28.2 (May 28, 2023)

Forward ports 1.18.6 changes.

Fixed
  • deps: disable default features for mio (#​5728)

v1.28.1: Tokio v1.28.1

Compare Source

1.28.1 (May 10th, 2023)

This release fixes a mistake in the build script that makes AsFd implementations unavailable on Rust 1.63. (#​5677)

v1.28.0: Tokio v1.28.0

Compare Source

1.28.0 (April 25th, 2023)

Added
  • io: add AsyncFd::async_io (#​5542)
  • io: impl BufMut for ReadBuf (#​5590)
  • net: add recv_buf for UdpSocket and UnixDatagram (#​5583)
  • sync: add OwnedSemaphorePermit::semaphore (#​5618)
  • sync: add same_channel to broadcast channel (#​5607)
  • sync: add watch::Receiver::wait_for (#​5611)
  • task: add JoinSet::spawn_blocking and JoinSet::spawn_blocking_on (#​5612)
Changed
  • deps: update windows-sys to 0.48 (#​5591)
  • io: make read_to_end not grow unnecessarily (#​5610)
  • macros: make entrypoints more efficient (#​5621)
  • sync: improve Debug impl for RwLock (#​5647)
  • sync: reduce contention in Notify (#​5503)
Fixed
  • net: support get_peer_cred on AIX (#​5065)
  • sync: avoid deadlocks in broadcast with custom wakers (#​5578)
Documented
  • sync: fix typo in Semaphore::MAX_PERMITS (#​5645)
  • sync: fix typo in tokio::sync::watch::Sender docs (#​5587)

v1.27.0: Tokio v1.27.0

Compare Source

1.27.0 (March 27th, 2023)

This release bumps the MSRV of Tokio to 1.56. (#​5559)

Added
  • io: add async_io helper method to sockets (#​5512)
  • io: add implementations of AsFd/AsHandle/AsSocket (#​5514, #​5540)
  • net: add UdpSocket::peek_sender() (#​5520)
  • sync: add RwLockWriteGuard::{downgrade_map, try_downgrade_map} (#​5527)
  • task: add JoinHandle::abort_handle (#​5543)
Changed
  • io: use memchr from libc (#​5558)
  • macros: accept path as crate rename in #[tokio::main] (#​5557)
  • macros: update to syn 2.0.0 (#​5572)
  • time: don't register for a wakeup when Interval returns Ready (#​5553)
Fixed
  • fs: fuse std iterator in ReadDir (#​5555)
  • tracing: fix spawn_blocking location fields (#​5573)
  • time: clean up redundant check in Wheel::poll() (#​5574)
Documented
  • macros: define cancellation safety (#​5525)
  • io: add details to docs of tokio::io::copy[_buf] (#​5575)
  • io: refer to ReaderStream and StreamReader in module docs (#​5576)

v1.26.0: Tokio v1.26.0

Compare Source

Fixed
Added
Changed
Internal Changes
Unstable
Documented

v1.25.3: Tokio v1.25.3

Compare Source

1.25.3 (December 17th, 2023)

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

v1.25.2: Tokio v1.25.2

Compare Source

1.25.2 (September 22, 2023)

Forward ports 1.20.6 changes.

Changed

v1.25.1: Tokio v1.25.1

Compare Source

1.25.1 (May 28, 2023)

Forward ports 1.18.6 changes.

Fixed
  • deps: disable default features for mio (#​5728)

v1.25.0: Tokio v1.25.0

1.25.0 (January 28, 2023)

Fixed
  • rt: fix runtime metrics reporting (#​5330)
Added
  • sync: add broadcast::Sender::len (#​5343)
Changed
  • fs: increase maximum read buffer size to 2MiB (#​5397)

v1.24.1: Tokio v1.24.1

Compare Source

This release fixes a compilation failure on targets without AtomicU64 when using rustc older than 1.63. (#​5356)

v1.24.0: Tokio v1.24.0

Compare Source

The highlight of this release is the reduction of lock contention for all I/O operations (#​5300). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications.

Fixed
  • rt: improve native AtomicU64 support detection (#​5284)
Added
  • rt: add configuration option for max number of I/O events polled from the OS
    per tick (#​5186)
  • rt: add an environment variable for configuring the default number of worker
    threads per runtime instance (#​4250)
Changed
  • sync: reduce MPSC channel stack usage (#​5294)
  • io: reduce lock contention in I/O operations (#​5300)
  • fs: speed up read_dir() by chunking operations (#​5309)
  • rt: use internal ThreadId implementation (#​5329)
  • test: don't auto-advance time when a spawn_blocking task is running (#​5115)

v1.23.1: Tokio v1.23.1

Compare Source

This release forward ports changes from 1.18.4.

Fixed
  • net: fix Windows named pipe server builder to maintain option when toggling
    pipe mode (#​5336).

v1.23.0: Tokio v1.23.0

Compare Source

Fixed
  • net: fix Windows named pipe connect (#​5208)
  • io: support vectored writes for ChildStdin (#​5216)
  • io: fix async fn ready() false positive for OS-specific events (#​5231)
Changed
  • runtime: yield_now defers task until after driver poll (#​5223)
  • runtime: reduce amount of codegen needed per spawned task (#​5213)
  • windows: replace winapi dependency with windows-sys (#​5204)

v1.22.0: Tokio v1.22.0

Compare Source

Added
  • runtime: add Handle::runtime_flavor (#​5138)
  • sync: add Mutex::blocking_lock_owned (#​5130)
  • sync: add Semaphore::MAX_PERMITS (#​5144)
  • sync: add merge() to semaphore permits (#​4948)
  • sync: add mpsc::WeakUnboundedSender (#​5189)
Added (unstable)
  • process: add Command::process_group (#​5114)
  • runtime: export metrics about the blocking thread pool (#​5161)
  • task: add task::id() and task::try_id() (#​5171)
Fixed
  • macros: don't take ownership of futures in macros (#​5087)
  • runtime: fix Stacked Borrows violation in LocalOwnedTasks (#​5099)
  • runtime: mitigate ABA with 32-bit queue indices when possible (#​5042)
  • task: wake local tasks to the local queue when woken by the same thread (#​5095)
  • time: panic in release mode when mark_pending called illegally (#​5093)
  • runtime: fix typo in expect message (#​5169)
  • runtime: fix unsync_load on atomic types (#​5175)
  • task: elaborate safety comments in task deallocation (#​5172)
  • runtime: fix LocalSet drop in thread local (#​5179)
  • net: remove libc type leakage in a public API (#​5191)
  • runtime: update the alignment of CachePadded (#​5106)
Changed
  • io: make tokio::io::copy continue filling the buffer when writer stalls (#​5066)
  • runtime: remove coop::budget from LocalSet::run_until (#​5155)
  • sync: make Notify panic safe (#​5154)
Documented
  • io: fix doc for write_i8 to use signed integers (#​5040)
  • net: fix doc typos for TCP and UDP set_tos methods (#​5073)
  • net: fix function name in UdpSocket::recv documentation (#​5150)
  • sync: typo in TryLockError for RwLock::try_write (#​5160)
  • task: document that spawned tasks execute immediately (#​5117)
  • time: document return type of timeout (#​5118)
  • time: document that timeout checks only before poll (#​5126)
  • sync: specify return type of oneshot::Receiver in docs (#​5198)
Internal changes
  • runtime: use const Mutex::new for globals (#​5061)
  • runtime: remove Option around mio::Events in io driver (#​5078)
  • runtime: remove a conditional compilation clause (#​5104)
  • runtime: remove a reference to internal time handle (#​5107)
  • runtime: misc time driver cleanup (#​5120)
  • runtime: move signal driver to runtime module (#​5121)
  • runtime: signal driver now uses I/O driver directly (#​5125)
  • runtime: start decoupling I/O driver and I/O handle (#​5127)
  • runtime: switch io::handle refs with scheduler:Handle (#​5128)
  • runtime: remove Arc from I/O driver (#​5134)
  • runtime: use signal driver handle via scheduler::Handle (#​5135)
  • runtime: move internal clock fns out of context (#​5139)
  • runtime: remove runtime::context module (#​5140)
  • runtime: keep driver cfgs in driver.rs (#​5141)
  • runtime: add runtime::context to unify thread-locals (#​5143)
  • runtime: rename some confusing internal variables/fns (#​5151)
  • runtime: move coop mod into runtime (#​5152)
  • runtime: move budget state to context thread-local (#​5157)
  • runtime: move park logic into runtime module (#​5158)
  • runtime: move Runtime into its own file (#​5159)
  • runtime: unify entering a runtime with Handle::enter (#​5163)
  • runtime: remove handle reference from each scheduler (#​5166)
  • runtime: move enter into context (#​5167)
  • runtime: combine context and entered thread-locals (#​5168)
  • runtime: fix accidental unsetting of current handle (#​5178)
  • runtime: move CoreStage methods to Core (#​5182)
  • sync: name mpsc semaphore types (#​5146)

v1.21.2: Tokio v1.21.2

Compare Source

1.21.2 (September 27, 2022)

This release removes the dependency on the once_cell crate to restore the MSRV of 1.21.x, which is the latest minor version at the time of release. (#​5048)

v1.21.1: Tokio v1.21.1

Compare Source

1.21.1 (September 13, 2022)

Fixed
  • net: fix dependency resolution for socket2 (#​5000)
  • task: ignore failure to set TLS in LocalSet Drop (#​4976)

v1.21.0: Tokio v1.21.0

Compare Source

1.21.0 (September 2, 2022)

This release is the first release of Tokio to intentionally support WASM. The sync,macros,io-util,rt,time features are stabilized on WASM. Additionally the wasm32-wasi target is given unstable support for the net feature.

Added
  • net: add device and bind_device methods to TCP/UDP sockets (#​4882)
  • net: add tos and set_tos methods to TCP and UDP sockets (#​4877)
  • net: add security flags to named pipe ServerOptions (#​4845)
  • signal: add more windows signal handlers (#​4924)
  • sync: add mpsc::Sender::max_capacity method (#​4904)
  • sync: implement Weak version of mpsc::Sender (#​4595)
  • task: add LocalSet::enter (#​4765)
  • task: stabilize JoinSet and AbortHandle (#​4920)
  • tokio: add track_caller to public APIs (#​4805, #​4848, #​4852)
  • wasm: initial support for wasm32-wasi target (#​4716)
Fixed
  • miri: improve miri compatibility by avoiding temporary references in linked_list::Link impls (#​4841)
  • signal: don't register write interest on signal pipe (#​4898)
  • sync: add #[must_use] to lock guards (#​4886)
  • sync: fix hang when calling recv on closed and reopened broadcast channel (#​4867)
  • task: propagate attributes on task-locals (#​4837)
Changed
  • fs: change panic to error in File::start_seek (#​4897)
  • io: reduce syscalls in poll_read (#​4840)
  • process: use blocking threadpool for child stdio I/O (#​4824)
  • signal: make SignalKind methods const (#​4956)
Internal changes
  • rt: extract basic_scheduler::Config (#​4935)
  • rt: move I/O driver into runtime module (#​4942)
  • rt: rename internal scheduler types (#​4945)
Documented
  • chore: fix typos and grammar (#​4858, #​4894, #​4928)
  • io: fix typo in AsyncSeekExt::rewind docs (#​4893)
  • net: add documentation to try_read() for zero-length buffers (#​4937)
  • runtime: remove incorrect panic section for Builder::worker_threads (#​4849)
  • sync: doc of watch::Sender::send improved (#​4959)
  • task: add cancel safety docs to JoinHandle (#​4901)
  • task: expand on cancellation of spawn_blocking (#​4811)
  • time: clarify that the first tick of Interval::tick happens immediately (#​4951)
Unstable
  • rt: add unstable option to disable the LIFO slot (#​4936)
  • task: fix incorrect signature in Builder::spawn_on (#​4953)
  • task: make task::Builder::spawn* methods fallible (#​4823)

v1.20.6: Tokio v1.20.6

Compare Source

1.20.6 (September 22, 2023)

This is a backport of a change from 1.27.0.

Changed

v1.20.5: Tokio v1.20.5

Compare Source

1.20.5 (May 28, 2023)

Forward ports 1.18.6 changes.

Fixed
  • deps: disable default features for mio (#​5728)

v1.20.4

Compare Source

v1.20.3

Compare Source

v1.20.2: Tokio v1.20.2

Compare Source

1.20.2 (September 27, 2022)

This release removes the dependency on the once_cell crate to restore the MSRV of the 1.20.x LTS release. (#​5048)

tower-rs/tower-http

v0.5.2: v0.5.2

Compare Source

Added:

  • compression: Will now send a vary: accept-encoding header on compressed responses (#​399)
  • compression: Support x-gzip as equivalent to gzip in accept-encoding request header (#​467)

Fixed

  • compression: Skip compression for range requests (#​446)
  • compression: Skip compression for SSE responses by default (#​465)
  • cors: Actually keep Vary headers set by the inner service when setting response headers (#​473)
    • Version 0.5.1 intended to ship this, but the implementation was buggy and didn't actually do anything

v0.5.1: v0.5.1

Compare Source

  • fs: Support files precompressed with zstd in ServeFile
  • trace: Add default generic parameters for ResponseBody and ResponseFuture (#​455)
  • trace: Add type aliases HttpMakeClassifier and GrpcMakeClassifier (#​455)

Fixed

  • cors: Keep Vary headers set by the inner service when setting response headers (#​398)
  • fs: ServeDir now no longer redirects from /directory to /directory/
    if append_index_html_on_directories is disabled (#​421)

v0.5.0: v0.5.0

Compare Source

Changed

  • Bump Minimum Supported Rust Version to 1.66 (#​433)
  • Update to http-body 1.0 (#​348)
  • Update to http 1.0 (#​348)
  • Preserve service error type in RequestDecompression (#​368)

Fixed

  • Accepts range headers with ranges where the end of range goes past the end of the document by bumping
    http-range-header to 0.4

v0.4.4: v0.4.4

Compare Source

  • trace: Default implementations for trace bodies.

v0.4.3: v0.4.3

Compare Source

Fixed

  • compression: Fix accidental breaking change in 0.4.2.

v0.4.2: v0.4.2

Compare Source

Added

  • cors: Add support for private network preflights (#​373)
  • compression: Implement Default for DecompressionBody (#​370)

Changed

  • compression: Update to async-compression 0.4 (#​371)

Fixed

  • compression: Override default brotli compression level 11 -> 4 (#​356)
  • trace: Simplify dynamic tracing level application (#​380)
  • normalize_path: Fix path normalization for preceding slashes (#​359)

v0.4.1: v0.4.1

Compare Source

Added

  • request_id: Derive Default for MakeRequestUuid (#​335)
  • fs: Derive Default for ServeFileSystemResponseBody (#​336)
  • compression: Expose compression quality on the CompressionLayer (#​333)

Fixed

  • compression: Improve parsing of Accept-Encoding request header (#​220)
  • normalize_path: Fix path normalization of index route (#​347)
  • decompression: Enable multiple_members for GzipDecoder (#​354)

v0.4.0: v0.4.0

Compare Source

Added

  • decompression: Add RequestDecompression middleware (#​282)
  • compression: Implement Default for CompressionBody (#​323)
  • compression, decompression: Support zstd (de)compression (#​322)

Changed

  • serve_dir: ServeDir and ServeFile's error types are now Infallible and any IO errors
    will be converted into responses. Use try_call to generate error responses manually (BREAKING) (#​283)
  • serve_dir: ServeDir::fallback and ServeDir::not_found_service now requires
    the fallback service to use Infallible as its error type (BREAKING) (#​283)
  • compression, decompression: Tweak prefered compression encodings (#​325)

Removed

  • Removed RequireAuthorization in favor of ValidateRequest (BREAKING) (#​290)

Fixed

  • serve_dir: Don't include identity in Content-Encoding header (#​317)
  • compression: Do compress SVGs (#​321)
  • serve_dir: In ServeDir, convert io::ErrorKind::NotADirectory to 404 Not Found (#​331)

v0.3.5: v0.3.5

Compare Source

Added

  • Add NormalizePath middleware (#​275)
  • Add ValidateRequest middleware (#​289)
  • Add RequestBodyTimeout middleware (#​303)

Changed

  • Bump Minimum Supported Rust Version to 1.60 (#​299)

Fixed

  • trace: Correctly identify gRPC requests in default on_response callback (#​278)
  • cors: Panic if a wildcard (*) is passed to AllowOrigin::list. Use
    AllowOrigin::any() instead (#​285)
  • serve_dir: Call the fallback on non-uft8 request paths (#​310)
tokio-rs/tracing

v0.1.40: tracing 0.1.40

Compare Source

This release fixes a potential stack use-after-free in the
Instrument::into_inner method. Only uses of this method are affected by this
bug.

Fixed
  • Use mem::ManuallyDrop instead of mem::forget in Instrument::into_inner
    (#​2765)

Thanks to @​cramertj and @​manishearth for finding and fixing this issue!

v0.1.39: tracing 0.1.39

Compare Source

This release adds several additional features to the tracing macros. In
addition, it updates the tracing-core dependency to v0.1.32 and
the tracing-attributes dependency to v0.1.27.

Added
  • Allow constant field names in macros (#​2617)
  • Allow setting event names in macros (#​2699)
  • core: Allow ValueSets of any length (#​2508)
Changed
  • tracing-attributes: updated to 0.1.27
  • tracing-core: updated to 0.1.32
  • attributes: Bump minimum version of proc-macro2 to 1.0.60 (#​2732)
  • attributes: Generate less dead code for async block return type hint (#​2709)
Fixed
  • Use fully qualified names in macros for items exported from std prelude
    (#​2621, #​2757)
  • attributes: Allow [clippy::let_with_type_underscore] in macro-generated
    code ([#​2609])
  • attributes: Allow unknown_lints in macro-generated code (#​2626)
  • attributes: Fix a compilation error in #[instrument] when the "log"
    feature is enabled (#​2599)
Documented
  • Add axum-insights to relevant crates. (#​2713)
  • Fix link to RAI pattern crate documentation ([#​2612])
  • Fix docs typos and warnings (#​2581)
  • Add clippy-tracing to related crates (#​2628)
  • Add tracing-cloudwatch to related crates (#​2667)
  • Fix deadlink to tracing-etw repo (#​2602)

v0.1.38: tracing 0.1.38

Compare Source

This tracing release changes the Drop implementation for Instrumented
Futures so that the attached Span is entered when dropping the Future. This
means that events emitted by the Future's Drop implementation will now be
recorded within its Span. It also adds #[inline] hints to methods called in
the event! macro's expansion, for an improvement in both binary size and
performance.

Additionally, this release updates the tracing-attributes dependency to
v0.1.24, which updates the [syn][syn] dependency to v2.x.x.
tracing-attributes v0.1.24 also includes improvements to the #[instrument]
macro; see the tracing-attributes 0.1.24 release notes for
details.

Added
  • Instrumented futures will now enter the attached Span in their Drop
    implementation, allowing events emitted when dropping the future to occur
    within the span (#​2562)
  • #[inline] attributes for methods called by the event! macros, making
    generated code smaller (#​2555)
  • attributes: level argument to #[instrument(err)] and
    #[instrument(ret)] to override the level of
    the generated return value event (#​2335)
  • attributes: Improved compiler error message when #[instrument] is added to a const fn
    (#​2418)
Changed
  • tracing-attributes: updated to 0.1.24
  • Removed unneeded cfg-if dependency (#​2553)
  • attributes: Updated [syn][syn] dependency to 2.0 (#​2516)
Fixed
  • attributes: Fix clippy::unreachable warnings in #[instrument]-generated code (#​2356)
  • attributes: Removed unused "visit" feature flag from syn dependency (#​2530)
Documented
  • attributes: Documented default level for #[instrument(err)] (#​2433)
  • attributes: Improved documentation for levels in #[instrument] (#​2350)

Thanks to @​nitnelave, @​jsgf, @​Abhicodes-crypto, @​LukeMathWalker, @​andrewpollack,
@​quad, @​klensy, @​davidpdrsn, @​dbidwell94, @​ldm0, @​NobodyXu, @​ilsv, and @​daxpedda
for contributing to this release!

v0.1.37: tracing 0.1.37

Compare Source

This release of tracing incorporates changes from tracing-core
v0.1.30 and tracing-attributes v0.1.23,
including the new Subscriber::on_register_dispatch method for performing late
initialization after a Subscriber is registered as a Dispatch, and bugfixes
for the #[instrument] attribute. Additionally, it fixes instances of the
bare_trait_objects lint, which is now a warning on tracing's MSRV and will
become an error in the next edition.

Fixed
  • attributes: Incorrect handling of inner attributes in #[instrument]ed
    functions (#​2307)
  • attributes: Incorrect location of compiler diagnostic spans generated for
    type errors in #[instrument]ed async fns (#​2270)
  • attributes: Updated syn dependency to fix compilation with -Z minimal-versions (#​2246)
  • bare_trait_objects warning in valueset! macro expansion (#​2308)
Added
  • core: Subscriber::on_register_dispatch method (#​2269)
  • core: WeakDispatch type and Dispatch::downgrade() function (#​2293)
Changed
  • tracing-core: updated to 0.1.30
  • tracing-attributes: updated to 0.1.23
Documented
  • Added [tracing-web][tracing-web] and [reqwest-tracing][reqwest-tracing] to related crates (#​2283,
    #​2331)

Thanks to new contributors @​compiler-errors, @​e-nomem, @​WorldSEnder, @​Xiami2012,
and @​tl-rodrigo-gryzinski, as well as @​jswrenn and @​CAD97, for contributing to
this release!

uuid-rs/uuid

v1.8.0

Compare Source

⚠️ Potential Breakage ⚠️

A new impl AsRef<Uuid> for Uuid bound has been added, which can break inference on code like:

let b = uuid.as_ref();

You can fix these by explicitly typing the result of the conversion:

let b: &[u8] = uuid.as_ref();

or by calling as_bytes instead:

let b = uuid.as_bytes();

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.7.0...1.8.0

v1.7.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.6.1...1.7.0

v1.6.1

Compare Source

What's Changed

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.6.0...1.6.1

v1.6.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.5.0...1.6.0

v1.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.4.1...1.5.0

v1.4.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1

v1.4.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.4...1.4.0

v1.3.4

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.3...1.3.4

v1.3.3

Compare Source

What's Changed

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.2...1.3.3

v1.3.2

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.1...1.3.2

v1.3.1

Compare Source

What's Changed

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1

v1.3.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.2.2...1.3.0

v1.2.2

Compare Source

What's Changed

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2

v1.2.1

Compare Source

What's Changed

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.2.0...1.2.1

v1.2.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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) | dependencies | patch | `1.0.60` -> `1.0.81` | | [async-graphql](https://github.com/async-graphql/async-graphql) | dependencies | major | `4.0.6` -> `7.0.3` | | [axum](https://github.com/tokio-rs/axum) | dependencies | minor | `0.5.13` -> `0.7.5` | | [sqlx](https://github.com/launchbadge/sqlx) | dependencies | minor | `0.6` -> `0.7` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.20.1` -> `1.37.0` | | [tower-http](https://github.com/tower-rs/tower-http) | dependencies | minor | `0.3.4` -> `0.5.2` | | [tracing](https://tokio.rs) ([source](https://github.com/tokio-rs/tracing)) | dependencies | patch | `0.1.36` -> `0.1.40` | | [tracing-subscriber](https://tokio.rs) ([source](https://github.com/tokio-rs/tracing)) | dependencies | patch | `0.3.15` -> `0.3.18` | | [uuid](https://github.com/uuid-rs/uuid) | dependencies | minor | `1.1.2` -> `1.8.0` | --- ### Release Notes <details> <summary>dtolnay/anyhow</summary> ### [`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 ### [`v1.0.71`](https://github.com/dtolnay/anyhow/releases/tag/1.0.71) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.70...1.0.71) - Documentation improvements ### [`v1.0.70`](https://github.com/dtolnay/anyhow/releases/tag/1.0.70) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.69...1.0.70) - Update syn dependency to 2.x ### [`v1.0.69`](https://github.com/dtolnay/anyhow/releases/tag/1.0.69) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.68...1.0.69) - Documentation improvements ### [`v1.0.68`](https://github.com/dtolnay/anyhow/releases/tag/1.0.68) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.67...1.0.68) - Opt out of `-Zrustdoc-scrape-examples` on docs.rs for now ### [`v1.0.67`](https://github.com/dtolnay/anyhow/releases/tag/1.0.67) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.66...1.0.67) - Improve the backtrace captured when `context()` is used on an `Option` ([#&#8203;280](https://github.com/dtolnay/anyhow/issues/280)) ### [`v1.0.66`](https://github.com/dtolnay/anyhow/releases/tag/1.0.66) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.65...1.0.66) - Reduce unhelpful backtrace frames in backtraces captured during a `context` call ([#&#8203;279](https://github.com/dtolnay/anyhow/issues/279)) ### [`v1.0.65`](https://github.com/dtolnay/anyhow/releases/tag/1.0.65) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.64...1.0.65) - <code>impl <a href="https://doc.rust-lang.org/std/any/trait.Provider.html">Provider</a> for anyhow::Error</code> ### [`v1.0.64`](https://github.com/dtolnay/anyhow/releases/tag/1.0.64) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.63...1.0.64) - Correctly propagate Backtrace when using `#[source] anyhow::Error` with [thiserror](https://github.com/dtolnay/thiserror) crate ([#&#8203;231](https://github.com/dtolnay/anyhow/issues/231)) ### [`v1.0.63`](https://github.com/dtolnay/anyhow/releases/tag/1.0.63) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.62...1.0.63) - Expose backtraces via the new "generic member access" API on the Error trait (https://github.com/rust-lang/rust/issues/99301, https://github.com/rust-lang/rust/issues/96024) ### [`v1.0.62`](https://github.com/dtolnay/anyhow/releases/tag/1.0.62) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.61...1.0.62) - Fix extra rebuilding when interleaving command-line `cargo` invocations with IDE builds ([#&#8203;261](https://github.com/dtolnay/anyhow/issues/261)) ### [`v1.0.61`](https://github.com/dtolnay/anyhow/releases/tag/1.0.61) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.60...1.0.61) - Work around rust-analyzer builds poisoning all subsequent command-line cargo builds ([#&#8203;252](https://github.com/dtolnay/anyhow/issues/252)) </details> <details> <summary>async-graphql/async-graphql</summary> ### [`v7.0.3`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;703-2024-03-16) - Sort schema fields & enums if required [#&#8203;1475](https://github.com/async-graphql/async-graphql/pull/1475) - Change the `type_name` of `EmptySubscription` fix [#&#8203;1435](https://github.com/async-graphql/async-graphql/issues/1435) [#&#8203;1475](https://github.com/async-graphql/async-graphql/pull/1475) - add `Request::set_parsed_query` method [#&#8203;1483](https://github.com/async-graphql/async-graphql/pull/1483) - Upgrade strum to 0.26 [#&#8203;1485](https://github.com/async-graphql/async-graphql/pull/1485) - Fix validation of non-nullable variables with default values [#&#8203;1491](https://github.com/async-graphql/async-graphql/pull/1491) - add `NextExecute::run_with_data` method to attach context data before execution - feat: add registry method in dynamic::Registry [#&#8203;1492](https://github.com/async-graphql/async-graphql/pull/1492) - Allow non-scalars to be used as directive arguments [#&#8203;1493](https://github.com/async-graphql/async-graphql/pull/1493) - fix: add description to \__schema introspection result [#&#8203;1489](https://github.com/async-graphql/async-graphql/pull/1489) ### [`v7.0.2`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;702-2024-02-18) - Fix `#[derive(OneofObject)]` rejecting enums where the type comes from a macro subsitution [#&#8203;1473](https://github.com/async-graphql/async-graphql/pull/1473) - Optimize object proc-macro codegen [#&#8203;1470](https://github.com/async-graphql/async-graphql/pull/1470) - Use `impl Future` instead of `async-trait` in most traits. [#&#8203;1468](https://github.com/async-graphql/async-graphql/pull/1468) - Upgrade `base64` to `0.21` [#&#8203;1466](https://github.com/async-graphql/async-graphql/pull/1466) - Standardize space between Args, Lists and Binary items [#&#8203;1392](https://github.com/async-graphql/async-graphql/pull/1392) - feat: support bigdecimal 0.4.x [#&#8203;1358](https://github.com/async-graphql/async-graphql/pull/1358) ### [`v7.0.1`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;701-2024-01-21) - Add `Shareable` Attribute To InputObjectField [#&#8203;1459](https://github.com/async-graphql/async-graphql/pull/1459) - Feature Generic Unions [#&#8203;1424](https://github.com/async-graphql/async-graphql/pull/1424) - Address axum integration compilation error with non-Sync body [#&#8203;1460](https://github.com/async-graphql/async-graphql/pull/1460) - fix: date cursor precision string format [#&#8203;1462](https://github.com/async-graphql/async-graphql/pull/1462) ### [`v7.0.0`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;700-2024-01-06) - upgrade to `http1` - Feature extend ResolveInfo with field attribute [#&#8203;1428](https://github.com/async-graphql/async-graphql/pull/1428) ### [`v6.0.11`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;6011-2023-11-19) - Clean up example docs [#&#8203;1411](https://github.com/async-graphql/async-graphql/pull/1411) - Run batch requests concurrently [#&#8203;1420](https://github.com/async-graphql/async-graphql/pull/1420) - Update opentelemetry to `v0.21.x` [#&#8203;1422](https://github.com/async-graphql/async-graphql/pull/1422) ### [`v6.0.10`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;6010-2023-11-04) - bump opentelemetry `0.20.0` [#&#8203;1406](https://github.com/async-graphql/async-graphql/pull/1406) - fix check for serial [#&#8203;1405](https://github.com/async-graphql/async-graphql/pull/1405) - fixes complexity visitor - bump Rocket from `0.5.0-rc.2` to `0.5.0-rc.4` ### [`v6.0.9`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;609-2023-10-21) - add support uploading files in dynamic schema [#&#8203;1384](https://github.com/async-graphql/async-graphql/discussions/1384) - Include `@composeDirective` in Federation's `_service` field and document `#[TypeDirective]` [#&#8203;1400](https://github.com/async-graphql/async-graphql/pull/1400) ### [`v6.0.7`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;607-2023-09-23) - initialize source field in tracing extension parse_query method [#&#8203;1367](https://github.com/async-graphql/async-graphql/pull/1367) - test(variables): empty object passes but empty array fails [#&#8203;1377](https://github.com/async-graphql/async-graphql/pull/1377) - Add support for entities without a reference resolver [#&#8203;1378](https://github.com/async-graphql/async-graphql/pull/1378) - Fixes [#&#8203;1356](https://github.com/async-graphql/async-graphql/pull/1356) ### [`v6.0.6`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;606-2023-09-04) - fixed SDL formatting for resolver argument comments regressed [#&#8203;1363](https://github.com/async-graphql/async-graphql/issues/1363) ### [`v6.0.5`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;605-2023-08-20) - Implement exporting argument documentation [#&#8203;1352](https://github.com/async-graphql/async-graphql/pull/1352) - Add `ValueAccessor::as_value` and `ListAccessor::as_values_slice` methods [#&#8203;1353](https://github.com/async-graphql/async-graphql/pull/1353) - dynamic: fixes key not found when using entity resolver [#&#8203;1362](https://github.com/async-graphql/async-graphql/issues/1362) - fix panic in complexity visitor [#&#8203;1359](https://github.com/async-graphql/async-graphql/pull/1359) - update MSRV to `1.70.0` ### [`v6.0.4`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;604-2023-08-18) - Parse "repeatable" in directive definitions. [#&#8203;1336](https://github.com/async-graphql/async-graphql/pull/1336) - add support `multipart/mixed` request. [#&#8203;1348](https://github.com/async-graphql/async-graphql/issues/1348) - async-graphql-actix-web: add `GraphQL` handler. - async-graphql-axum: add `GraphQL` service. ### [`v6.0.3`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;603-2023-08-15) - dynamic: fix the error that some methods of `XXXAccessor` return reference lifetimes that are smaller than expected. - dynamic: no longer throws an error if the Query object does not contain any fields but the schema contains entities. - chore: make accessors public and reexport indexmap [#&#8203;1329](https://github.com/async-graphql/async-graphql/pull/1329) - feat: added `OutputType` implementation for `std::sync::Weak` [#&#8203;1334](https://github.com/async-graphql/async-graphql/pull/1334) ### [`v6.0.1`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;6011-2023-11-19) - Clean up example docs [#&#8203;1411](https://github.com/async-graphql/async-graphql/pull/1411) - Run batch requests concurrently [#&#8203;1420](https://github.com/async-graphql/async-graphql/pull/1420) - Update opentelemetry to `v0.21.x` [#&#8203;1422](https://github.com/async-graphql/async-graphql/pull/1422) ### [`v6.0.0`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;600-2023-07-29) - Bump `syn` from `1.0` to `2.0` - Bump `darling` from `0.14` to `0.20` - Bump `indexmap` from `1.6.2` to `2` - Attributes `guard`, `process_with`, `complexity` support expression or string as value [#&#8203;1295](https://github.com/async-graphql/async-graphql/issues/1295) - Schema (type) level directive support with optional support of federation composeDirective [#&#8203;1308](https://github.com/async-graphql/async-graphql/pull/1308) - Add support for generic structs derriving InputObject and SimpleObject [#&#8203;1313](https://github.com/async-graphql/async-graphql/pull/1313) - chore: trim up some unnecessary code [#&#8203;1324](https://github.com/async-graphql/async-graphql/pull/1324) - Adds `Dataloader::get_cached_values` method to the dataloader cache so that callers can access the contents of the cache without knowing the keys. [#&#8203;1326](https://github.com/async-graphql/async-graphql/pull/1326) #### Breaking Changes - Since `syn 2.0` no longer supports keywords as meta path, rename the parameter used to specify interface field types from `type` to `ty`. https://github.com/dtolnay/syn/issues/1458 https://github.com/TedDriggs/darling/issues/238 ```rust #[derive(Interface)] #[graphql(field(name = "id", ty = "&i32"))] // rename from type to ty enum Node { MyObj(MyObj), } ``` - Change the parameter `location` of the macro `Directive` to *PascalCase* ```rust // #[Directive(location = "field")] #[Directive(location = "Field")] pub fn lowercase() -> impl CustomDirective { LowercaseDirective } ``` ### [`v5.0.10`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;5010-2023-06-07) - Upgrade opentelemetry to 0.19.0 [#&#8203;1252](https://github.com/async-graphql/async-graphql/pull/1262) - Remove internal `CursorScalar` type and expose `Edge::cursor` member [#&#8203;1302](https://github.com/async-graphql/async-graphql/pull/1302) ### [`v5.0.9`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;509-2023-05-25) - Prevent input check stack overflow [#&#8203;1293](https://github.com/async-graphql/async-graphql/pull/1293) - Change batch requests to run concurrently [#&#8203;1290](https://github.com/async-graphql/async-graphql/issues/1290) ### [`v5.0.8`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;508-2023-05-09) - Improve documentation on Dataloader [#&#8203;1282](https://github.com/async-graphql/async-graphql/pull/1282) - Prevent recursive input type checking from hitting stack overflow [#&#8203;1284](https://github.com/async-graphql/async-graphql/pull/1284) - update MSRV to `1.65.0` ### [`v5.0.7`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;507-2023-03-25) - Disable default-features in workspace.dependencies [#&#8203;1232](https://github.com/async-graphql/async-graphql/pull/1232) - Copy edit extensions section of The Book [#&#8203;1234](https://github.com/async-graphql/async-graphql/pull/1234) - disable default features for async-graphql in workspace dependencies [#&#8203;1237](https://github.com/async-graphql/async-graphql/pull/1237) - chore: make edge field and connection field shareable [#&#8203;1246](https://github.com/async-graphql/async-graphql/pull/1246) - Added 3 new fns to the ObjectAccessor. [#&#8203;1244](https://github.com/async-graphql/async-graphql/pull/1244) - Dataloader futures lose span context [#&#8203;1256](https://github.com/async-graphql/async-graphql/pull/1256) - Propagate ErrorExtensionValues when calling InputValueError.propagate [#&#8203;1257](https://github.com/async-graphql/async-graphql/pull/1257) - Correct error string for object in ValueAccessor [#&#8203;1260](https://github.com/async-graphql/async-graphql/pull/1260) ### [`v5.0.6`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;506-2023-02-11) - docs: Tweak dataloader example and link to full example [#&#8203;1194](https://github.com/async-graphql/async-graphql/pull/1194) - docs: Mention the importance of using dataloader with federation/entities [#&#8203;1194](https://github.com/async-graphql/async-graphql/pull/1194) - chore: enable GraphiQL/Playground via feature flag [#&#8203;1202](https://github.com/async-graphql/async-graphql/pull/1202) - fix: Export directives to federation SDL so they can be composed. [#&#8203;1209](https://github.com/async-graphql/async-graphql/pull/1209) - Fix doc contents details and add AutoCorrect lint to CI. [#&#8203;1210](https://github.com/async-graphql/async-graphql/pull/1210) - fix: provide correct type for \_service with dynamic schema [#&#8203;1212](https://github.com/async-graphql/async-graphql/pull/1212) - feat(subscription): support generics in MergedSubscription types [#&#8203;1222](https://github.com/async-graphql/async-graphql/pull/1222) - feat: modify Connection to allow optionally disable nodes field in gql output. [#&#8203;1218](https://github.com/async-graphql/async-graphql/pull/1218) - fixes interface type condition query [#&#8203;1228](https://github.com/async-graphql/async-graphql/pull/1228) - fixes [#&#8203;1226](https://github.com/async-graphql/async-graphql/issues/1226) - update MSRV to `1.64.0` ### [`v5.0.5`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;505-2023-01-03) - dynamic schema: add boxed_any function [#&#8203;1179](https://github.com/async-graphql/async-graphql/pull/1179) - Improve GraphiQL v2 [#&#8203;1182](https://github.com/async-graphql/async-graphql/pull/1182) - Fix: \__Type.oneOf to \__Type.isOneOf [#&#8203;1188](https://github.com/async-graphql/async-graphql/pull/1188) - Implemente From<ID> for ConstValue [#&#8203;1169](https://github.com/async-graphql/async-graphql/pull/1169) - Fixes [#&#8203;1192](https://github.com/async-graphql/async-graphql/issues/1192) ### [`v5.0.4`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;504-2022-12-17) - Fix named_list_nn [#&#8203;1172](https://github.com/async-graphql/async-graphql/pull/1172) - Add `DynamicRequestExt::root_value` to specify the root value for the request - Change `CustomValidator::check` returns error type from `String` to `InputValueError<T>`. - Add support that custom validators can set error extensions. [#&#8203;1174](https://github.com/async-graphql/async-graphql/issues/1174) ### [`v5.0.3`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;503-2022-12-07) - Fixes [#&#8203;1163](https://github.com/async-graphql/async-graphql/issues/1163) - Fixes [#&#8203;1161](https://github.com/async-graphql/async-graphql/issues/1161) ### [`v5.0.2`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;502-2022-11-30) - Fixes [#&#8203;1157](https://github.com/async-graphql/async-graphql/issues/1157) ### [`v5.0.1`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;5010-2023-06-07) - Upgrade opentelemetry to 0.19.0 [#&#8203;1252](https://github.com/async-graphql/async-graphql/pull/1262) - Remove internal `CursorScalar` type and expose `Edge::cursor` member [#&#8203;1302](https://github.com/async-graphql/async-graphql/pull/1302) ### [`v5.0.0`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;500-2022-11-27) - Update MSRV to `1.60.0` - \[async-graphql-axum] bump axum from `0.5.1` to `0.6.0` [#&#8203;1106](https://github.com/async-graphql/async-graphql/issues/1106) ### [`v4.0.16`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;4016-2022-10-20) - Add credentials to GraphiQL 2 [#&#8203;1105](https://github.com/async-graphql/async-graphql/pull/1105) - Add TypeName support for InputObject [#&#8203;1110](https://github.com/async-graphql/async-graphql/pull/1110) - Fix error message [#&#8203;1058](https://github.com/async-graphql/async-graphql/pull/1058) - Add TypeName support for Enum, Union, OneofInputObject, Subscription, MergedObject, MergedSubscription, Scalar, Interface, Directive - Fixes [#&#8203;1052](https://github.com/async-graphql/async-graphql/issues/1052) - Implement `CustomValidator<T>` for `F: Fn(&T) -> Result<(), E: Into<String>>` - Add `validator` attribute to `InputObject` macro [#&#8203;1072](https://github.com/async-graphql/async-graphql/issues/1072) ### [`v4.0.15`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;4015-2022-10-07) - Dynamic Document Title for GraphiQL v2 and GraphQL Playground [#&#8203;1099](https://github.com/async-graphql/async-graphql/pull/1099) - Skip tracing for introspection queries. [#&#8203;841](https://github.com/async-graphql/async-graphql/issues/841) - Add `SchemaBuilder::disable_suggestions` method to disable field suggestions. [#&#8203;1101](https://github.com/async-graphql/async-graphql/issues/1101) ### [`v4.0.14`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;4014-2022-09-25) - Implement a simple approach to using the link directive. [#&#8203;1060](https://github.com/async-graphql/async-graphql/pull/1060) - docs: Update federation docs with examples of each directive. [#&#8203;1080](https://github.com/async-graphql/async-graphql/pull/1080) - Add support for parse request from query string. [#&#8203;1085](https://github.com/async-graphql/async-graphql/issues/1085) ### [`v4.0.13`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;4013-2022-09-09) - Compare to expected schema [#&#8203;1048](https://github.com/async-graphql/async-graphql/pull/1048) - docs: readme flair [#&#8203;1054](https://github.com/async-graphql/async-graphql/pull/1054) - Remove `bson-uuid` feature [#&#8203;1032](https://github.com/async-graphql/async-graphql/issues/1032) - Add `no_cache` for `cache_control` attribute [#&#8203;1051](https://github.com/async-graphql/async-graphql/issues/1051) - Resurrect code generation through tests [#&#8203;1062](https://github.com/async-graphql/async-graphql/pull/1062) - Support for primitive type in CursorType [#&#8203;1049](https://github.com/async-graphql/async-graphql/pull/1049) - Add `SDLExportOptions::include_specified_by` method to enable `specifiedBy` directive [#&#8203;1065](https://github.com/async-graphql/async-graphql/issues/1065) ### [`v4.0.12`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;4012-2022-08-24) - Update MSRV to `1.59.0` - Support `@specifiedBy` directive in SDL export [#&#8203;1041](https://github.com/async-graphql/async-graphql/pull/1041) - Add GraphiQL v2 [#&#8203;1044](https://github.com/async-graphql/async-graphql/pull/1044) - Export SDL: consistently avoid trailing spaces [#&#8203;1043](https://github.com/async-graphql/async-graphql/pull/1043) ### [`v4.0.11`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;4011-2022-08-23) - Define `override` directive on fields [#&#8203;1029](https://github.com/async-graphql/async-graphql/pull/1029) - Add `@tag` support [#&#8203;1038](https://github.com/async-graphql/async-graphql/pull/1038) - Export SDL: avoid trailing space for scalar definitions [#&#8203;1036](https://github.com/async-graphql/async-graphql/pull/1036) - Fixes [#&#8203;1039](https://github.com/async-graphql/async-graphql/issues/1039) ### [`v4.0.10`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;4010-2022-08-18) - Fixes extension `request.data(X)` being lost in the resolver [#&#8203;1018](https://github.com/async-graphql/async-graphql/pull/1018) - Add Apollo federation `@shareable` directive support [#&#8203;1025](https://github.com/async-graphql/async-graphql/pull/1025) - Add Apollo Federation `@inaccessible` directive support [#&#8203;1026](https://github.com/async-graphql/async-graphql/pull/1026) ### [`v4.0.9`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;409-2022-08-15) - `on_connection_init` takes `FnOnce` instead of `Fn` [#&#8203;1022](https://github.com/async-graphql/async-graphql/issues/1022#issuecomment-1214575590) ### [`v4.0.8`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;408-2022-08-12) - Add tracing to dataloader methods when the tracing feature is enabled. [#&#8203;996](https://github.com/async-graphql/async-graphql/pull/996) ### [`v4.0.7`](https://github.com/async-graphql/async-graphql/blob/HEAD/CHANGELOG.md#&#8203;407-2022-08-09) - Limit parser recursion depth to `64`. </details> <details> <summary>tokio-rs/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 ### [`v0.6.18`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.18): axum - v0.6.18 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.17...axum-v0.6.18) - **fixed:** Don't remove the `Sec-WebSocket-Key` header in `WebSocketUpgrade` ([#&#8203;1972]) [#&#8203;1972]: https://github.com/tokio-rs/axum/pull/1972 ### [`v0.6.17`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.17): axum - v0.6.17 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.16...axum-v0.6.17) - **fixed:** Fix fallbacks causing a panic on `CONNECT` requests ([#&#8203;1958]) [#&#8203;1958]: https://github.com/tokio-rs/axum/pull/1958 ### [`v0.6.16`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.16): axum - v0.6.16 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.15...axum-v0.6.16) - **fixed:** Don't allow extracting `MatchedPath` in fallbacks ([#&#8203;1934]) - **fixed:** Fix panic if `Router` with something nested at `/` was used as a fallback ([#&#8203;1934]) - **added:** Document that `Router::new().fallback(...)` isn't optimal ([#&#8203;1940]) [#&#8203;1934]: https://github.com/tokio-rs/axum/pull/1934 [#&#8203;1940]: https://github.com/tokio-rs/axum/pull/1940 ### [`v0.6.15`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.15): axum - v0.6.15 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.14...axum-v0.6.15) - **fixed:** Removed additional leftover debug messages ([#&#8203;1927]) [#&#8203;1927]: https://github.com/tokio-rs/axum/pull/1927 ### [`v0.6.14`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.14): axum - v0.6.14 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.13...axum-v0.6.14) - **fixed:** Removed leftover "path_router hit" debug message ([#&#8203;1925]) [#&#8203;1925]: https://github.com/tokio-rs/axum/pull/1925 ### [`v0.6.13`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.13): axum - v0.6.13 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.12...axum-v0.6.13) - **added:** Log rejections from built-in extractors with the `axum::rejection=trace` target ([#&#8203;1890]) - **fixed:** Fixed performance regression with `Router::nest` introduced in 0.6.0. `nest` now flattens the routes which performs better ([#&#8203;1711]) - **fixed:** Extracting `MatchedPath` in nested handlers now gives the full matched path, including the nested path ([#&#8203;1711]) - **added:** Implement `Deref` and `DerefMut` for built-in extractors ([#&#8203;1922]) [#&#8203;1711]: https://github.com/tokio-rs/axum/pull/1711 [#&#8203;1890]: https://github.com/tokio-rs/axum/pull/1890 [#&#8203;1922]: https://github.com/tokio-rs/axum/pull/1922 ### [`v0.6.12`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.12): axum - v0.6.12 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.11...axum-v0.6.12) - **added:** Implement `IntoResponse` for `MultipartError` ([#&#8203;1861]) - **fixed:** More clearly document what wildcards matches ([#&#8203;1873]) [#&#8203;1861]: https://github.com/tokio-rs/axum/pull/1861 [#&#8203;1873]: https://github.com/tokio-rs/axum/pull/1873 ### [`v0.6.11`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.11): axum - v0.6.11 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.10...axum-v0.6.11) - **fixed:** Don't require `S: Debug` for `impl Debug for Router<S>` ([#&#8203;1836]) - **fixed:** Clone state a bit less when handling requests ([#&#8203;1837]) - **fixed:** Unpin itoa dependency ([#&#8203;1815]) [#&#8203;1815]: https://github.com/tokio-rs/axum/pull/1815 [#&#8203;1836]: https://github.com/tokio-rs/axum/pull/1836 [#&#8203;1837]: https://github.com/tokio-rs/axum/pull/1837 ### [`v0.6.10`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.10): axum - v0.6.10 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.9...axum-v0.6.10) - **fixed:** Add `#[must_use]` attributes to types that do nothing unless used ([#&#8203;1809]) - **fixed:** Gracefully handle missing headers in the `TypedHeader` extractor ([#&#8203;1810]) - **fixed:** Fix routing issues when loading a `Router` via a dynamic library ([#&#8203;1806]) [#&#8203;1806]: https://github.com/tokio-rs/axum/pull/1806 [#&#8203;1809]: https://github.com/tokio-rs/axum/pull/1809 [#&#8203;1810]: https://github.com/tokio-rs/axum/pull/1810 ### [`v0.6.9`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.9): axum - v0.6.9 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.8...axum-v0.6.9) - **changed:** Update to tower-http 0.4. axum is still compatible with tower-http 0.3 ([#&#8203;1783]) [#&#8203;1783]: https://github.com/tokio-rs/axum/pull/1783 ### [`v0.6.8`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.8): axum - v0.6.8 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.7...axum-v0.6.8) - **fixed:** Fix `Allow` missing from routers with middleware ([#&#8203;1773]) - **added:** Add `KeepAlive::event` for customizing the event sent for SSE keep alive ([#&#8203;1729]) [#&#8203;1729]: https://github.com/tokio-rs/axum/pull/1729 [#&#8203;1773]: https://github.com/tokio-rs/axum/pull/1773 ### [`v0.6.7`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.7): axum - v0.6.7 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.6...axum-v0.6.7) - **added:** Add `FormRejection::FailedToDeserializeFormBody` which is returned if the request body couldn't be deserialized into the target type, as opposed to `FailedToDeserializeForm` which is only for query parameters ([#&#8203;1683]) - **added:** Add `MockConnectInfo` for setting `ConnectInfo` during tests ([#&#8203;1767]) [#&#8203;1683]: https://github.com/tokio-rs/axum/pull/1683 [#&#8203;1767]: https://github.com/tokio-rs/axum/pull/1767 ### [`v0.6.6`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.6): axum - v0.6.6 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.5...axum-v0.6.6) - **fixed:** Enable passing `MethodRouter` to `Router::fallback` ([#&#8203;1730]) [#&#8203;1730]: https://github.com/tokio-rs/axum/pull/1730 ### [`v0.6.5`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.5): axum - v0.6.5 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.4...axum-v0.6.5) - **fixed:** Fix `#[debug_handler]` sometimes giving wrong borrow related suggestions ([#&#8203;1710]) - Document gotchas related to using `impl IntoResponse` as the return type from handler functions ([#&#8203;1736]) [#&#8203;1710]: https://github.com/tokio-rs/axum/pull/1710 [#&#8203;1736]: https://github.com/tokio-rs/axum/pull/1736 ### [`v0.6.4`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.4): axum - v0.6.4 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.3...axum-v0.6.4) - Depend on axum-macros 0.3.2 ### [`v0.6.3`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.3): axum - v0.6.3 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.2...axum-v0.6.3) - **added:** Implement `IntoResponse` for `&'static [u8; N]` and `[u8; N]` ([#&#8203;1690]) - **fixed:** Make `Path` support types using `serde::Deserializer::deserialize_any` ([#&#8203;1693]) - **added:** Add `RawPathParams` ([#&#8203;1713]) - **added:** Implement `Clone` and `Service` for `axum::middleware::Next` ([#&#8203;1712]) - **fixed:** Document required tokio features to run "Hello, World!" example ([#&#8203;1715]) [#&#8203;1690]: https://github.com/tokio-rs/axum/pull/1690 [#&#8203;1693]: https://github.com/tokio-rs/axum/pull/1693 [#&#8203;1712]: https://github.com/tokio-rs/axum/pull/1712 [#&#8203;1713]: https://github.com/tokio-rs/axum/pull/1713 [#&#8203;1715]: https://github.com/tokio-rs/axum/pull/1715 ### [`v0.6.2`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.2): axum - v0.6.2 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.1...axum-v0.6.2) - **added:** Add `body_text` and `status` methods to built-in rejections ([#&#8203;1612]) - **added:** Enable the `runtime` feature of `hyper` when using `tokio` ([#&#8203;1671]) [#&#8203;1612]: https://github.com/tokio-rs/axum/pull/1612 [#&#8203;1671]: https://github.com/tokio-rs/axum/pull/1671 ### [`v0.6.1`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.6.1): axum - v0.6.1 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.6.0...axum-v0.6.1) - **added:** Expand the docs for `Router::with_state` ([#&#8203;1580]) [#&#8203;1580]: https://github.com/tokio-rs/axum/pull/1580 ### [`v0.6.0`](https://github.com/tokio-rs/axum/releases/tag/axum-extra-v0.6.0): axum-extra - v0.6.0 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.5.17...axum-v0.6.0) - **breaking:** Change casing of `ProtoBuf` to `Protobuf` ([#&#8203;1595]) - **breaking:** `SpaRouter` has been removed. Use `ServeDir` and `ServeFile` from `tower-http` instead: ```rust // before Router::new().merge(SpaRouter::new("/assets", "dist")); // with ServeDir Router::new().nest_service("/assets", ServeDir::new("dist")); // before with `index_file` Router::new().merge(SpaRouter::new("/assets", "dist").index_file("index.html")); // with ServeDir + ServeFile Router::new().nest_service( "/assets", ServeDir::new("dist").not_found_service(ServeFile::new("dist/index.html")), ); ``` See the [static-file-server-example] for more examples ([#&#8203;1784]) [#&#8203;1595]: https://github.com/tokio-rs/axum/pull/1595 [#&#8203;1784]: https://github.com/tokio-rs/axum/pull/1784 [static-file-server-example]: https://github.com/tokio-rs/axum/blob/main/examples/static-file-server/src/main.rs ### [`v0.5.17`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.17): axum - v0.5.17 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.5.16...axum-v0.5.17) - **fixed:** Annotate panicking functions with `#[track_caller]` so the error message points to where the user added the invalid router, rather than somewhere internally in axum ([#&#8203;1248]) - **fixed:** Make `Multipart` extractor work with `RequestBodyLimit` middleware ([#&#8203;1379]) - **added:** Add `DefaultBodyLimit::max` for changing the default body limit ([#&#8203;1397]) - **added:** Various documentation improvements [#&#8203;1248]: https://github.com/tokio-rs/axum/pull/1248 [#&#8203;1379]: https://github.com/tokio-rs/axum/pull/1379 [#&#8203;1397]: https://github.com/tokio-rs/axum/pull/1397 ### [`v0.5.16`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.16): axum - v0.5.16 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.5.15...axum-v0.5.16) #### Security - **breaking:** Added default limit to how much data `Bytes::from_request` will consume. Previously it would attempt to consume the entire request body without checking its length. This meant if a malicious peer sent an large (or infinite) request body your server might run out of memory and crash. The default limit is at 2 MB and can be disabled by adding the new `DefaultBodyLimit::disable()` middleware. See its documentation for more details. This also applies to these extractors which used `Bytes::from_request` internally: - `Form` - `Json` - `String` Thanks to Shachar Menashe for reporting this vulnerability. ([#&#8203;1346]) [#&#8203;1346]: https://github.com/tokio-rs/axum/pull/1346 ### [`v0.5.15`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.15): axum - v0.5.15 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.5.14...axum-v0.5.15) Note: This is a re-release of 0.5.14 that fixes an accidental breaking change. - **fixed:** Don't expose internal type names in `QueryRejection` response. ([#&#8203;1171]) - **fixed:** Improve performance of JSON serialization ([#&#8203;1178]) - **fixed:** Improve build times by generating less IR ([#&#8203;1192]) [#&#8203;1171]: https://github.com/tokio-rs/axum/pull/1171 [#&#8203;1178]: https://github.com/tokio-rs/axum/pull/1178 [#&#8203;1192]: https://github.com/tokio-rs/axum/pull/1192 ### [`v0.5.14`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.14): axum - v0.5.14 [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.5.13...axum-v0.5.14) Yanked, as it contained an accidental breaking change. </details> <details> <summary>launchbadge/sqlx</summary> ### [`v0.7.4`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#&#8203;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#&#8203;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#&#8203;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#&#8203;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#&#8203;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 ### [`v0.6.3`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#&#8203;063---2023-03-21) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.6.2...v0.6.3) This is a hotfix to address the breakage caused by transitive dependencies upgrading to `syn = "2"`. We set `default-features = false` for our dependency on `syn = "1"` to be good crates.io citizens, but failed to enable the features we actually used, which went undetected because we transitively depended on `syn` with the default features enabled through other crates, and so they were also on for us because features are additive. When those other dependencies upgraded to `syn = "2"` it was no longer enabling those features for us, and so compilation broke for projects that don't also depend on `syn = "1"`, transitively or otherwise. There is no PR for this fix as there was no longer a dedicated development branch for `0.6`, but discussion can be found in [issue #&#8203;2418]. As of this release, the `0.7` release is in alpha and so development is no longer occurring against `0.6`. This fix will be forward-ported to `0.7`. [issue #&#8203;2418]: https://github.com/launchbadge/sqlx/issues/2418 ### [`v0.6.2`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#&#8203;062---2022-09-14) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.6.1...v0.6.2) [25 pull requests][0.6.2-prs] were merged this release cycle. ##### Added - \[[#&#8203;1081]]: Add `try_from` attribute for `FromRow` derive \[\[[@&#8203;zzhengzhuo](https://github.com/zzhengzhuo)]] - Exemplifies "out of sight, out of mind." It's surprisingly easy to forget about PRs when they get pushed onto the second page. We'll be sure to clean out the backlog for 0.7.0. - \[[#&#8203;2014]]: Support additional SQLCipher options in SQLite driver. \[\[[@&#8203;szymek156](https://github.com/szymek156)]] - \[[#&#8203;2052]]: Add issue templates \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2053]]: Add documentation for `IpAddr` support in Postgres \[\[[@&#8203;rakshith-ravi](https://github.com/rakshith-ravi)]] - \[[#&#8203;2062]]: Add extension support for SQLite \[\[[@&#8203;bradfier](https://github.com/bradfier)]] - \[[#&#8203;2063]]: customizable db locking during migration \[\[[@&#8203;fuzzbuck](https://github.com/fuzzbuck)]] ##### Changed - \[[#&#8203;2025]]: Bump sqlformat to 2.0 \[\[[@&#8203;NSMustache](https://github.com/NSMustache)]] - \[[#&#8203;2056]]: chore: Switch to sha1 crate \[\[[@&#8203;stoically](https://github.com/stoically)]] - \[[#&#8203;2071]]: Use cargo check consistently in `prepare` \[\[[@&#8203;cycraig](https://github.com/cycraig)]] ##### Fixed - \[[#&#8203;1991]]: Ensure migration progress is not lost for Postgres, MySQL and SQLite. \[\[[@&#8203;crepererum](https://github.com/crepererum)]] - \[[#&#8203;2023]]: Fix expansion of `#[sqlx(flatten)]` for `FromRow` derive \[\[[@&#8203;RustyYato](https://github.com/RustyYato)]] - \[[#&#8203;2028]]: Use fully qualified path when forwarding to `#[test]` from `#[sqlx::test]` \[\[[@&#8203;alexander-jackson](https://github.com/alexander-jackson)]] - \[[#&#8203;2040]]: Fix typo in `FromRow` docs \[\[[@&#8203;zlidner](https://github.com/zlidner)]] - \[[#&#8203;2046]]: added flag for PIPES_AS_CONCAT connection setting for MySQL to fix [#&#8203;2034](https://github.com/launchbadge/sqlx/issues/2034) \[\[[@&#8203;marcustut](https://github.com/marcustut)]] - \[[#&#8203;2055]]: Use unlock notify also on `sqlite3_exec` \[\[[@&#8203;madadam](https://github.com/madadam)]] - \[[#&#8203;2057]]: Make begin,commit,rollback cancel-safe in sqlite \[\[[@&#8203;madadam](https://github.com/madadam)]] - \[[#&#8203;2058]]: fix typo in documentation \[\[[@&#8203;lovasoa](https://github.com/lovasoa)]] - \[[#&#8203;2067]]: fix(docs): close code block in query_builder.rs \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2069]]: Fix `prepare` race condition in workspaces \[\[[@&#8203;cycraig](https://github.com/cycraig)]]\\ - NOTE: this changes the directory structure under `target/` that `cargo sqlx prepare` depends on. If you use offline mode in your workflow, please rerun `cargo install sqlx-cli` to upgrade. - \[[#&#8203;2072]]: SqliteConnectOptions typo \[\[[@&#8203;fasterthanlime](https://github.com/fasterthanlime)]] - \[[#&#8203;2074]]: fix: mssql uses unsigned for tinyint instead of signed \[\[[@&#8203;he4d](https://github.com/he4d)]] - \[[#&#8203;2081]]: close unnamed portal after each executed extended query \[\[[@&#8203;DXist](https://github.com/DXist)]] - \[[#&#8203;2086]]: PgHasArrayType for transparent types fix. \[\[[@&#8203;Wopple](https://github.com/Wopple)]] - NOTE: this is a breaking change and has been postponed to 0.7.0. - \[[#&#8203;2089]]: fix: Remove default chrono dep on time for sqlx-cli \[\[[@&#8203;TravisWhitehead](https://github.com/TravisWhitehead)]] - \[[#&#8203;2091]]: Sqlite explain plan log efficiency \[\[[@&#8203;tyrelr](https://github.com/tyrelr)]] [0.6.2-prs]: https://github.com/launchbadge/sqlx/pulls?q=is%3Apr+is%3Aclosed+merged%3A2022-08-04..2022-09-14+ [#&#8203;1081]: https://github.com/launchbadge/sqlx/pull/1081 [#&#8203;1991]: https://github.com/launchbadge/sqlx/pull/1991 [#&#8203;2014]: https://github.com/launchbadge/sqlx/pull/2014 [#&#8203;2023]: https://github.com/launchbadge/sqlx/pull/2023 [#&#8203;2025]: https://github.com/launchbadge/sqlx/pull/2025 [#&#8203;2028]: https://github.com/launchbadge/sqlx/pull/2028 [#&#8203;2040]: https://github.com/launchbadge/sqlx/pull/2040 [#&#8203;2046]: https://github.com/launchbadge/sqlx/pull/2046 [#&#8203;2052]: https://github.com/launchbadge/sqlx/pull/2052 [#&#8203;2053]: https://github.com/launchbadge/sqlx/pull/2053 [#&#8203;2055]: https://github.com/launchbadge/sqlx/pull/2055 [#&#8203;2056]: https://github.com/launchbadge/sqlx/pull/2056 [#&#8203;2057]: https://github.com/launchbadge/sqlx/pull/2057 [#&#8203;2058]: https://github.com/launchbadge/sqlx/pull/2058 [#&#8203;2062]: https://github.com/launchbadge/sqlx/pull/2062 [#&#8203;2063]: https://github.com/launchbadge/sqlx/pull/2063 [#&#8203;2067]: https://github.com/launchbadge/sqlx/pull/2067 [#&#8203;2069]: https://github.com/launchbadge/sqlx/pull/2069 [#&#8203;2071]: https://github.com/launchbadge/sqlx/pull/2071 [#&#8203;2072]: https://github.com/launchbadge/sqlx/pull/2072 [#&#8203;2074]: https://github.com/launchbadge/sqlx/pull/2074 [#&#8203;2081]: https://github.com/launchbadge/sqlx/pull/2081 [#&#8203;2086]: https://github.com/launchbadge/sqlx/pull/2086 [#&#8203;2089]: https://github.com/launchbadge/sqlx/pull/2089 [#&#8203;2091]: https://github.com/launchbadge/sqlx/pull/2091 ### [`v0.6.1`](https://github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#&#8203;061---2022-08-02) [Compare Source](https://github.com/launchbadge/sqlx/compare/v0.6.0...v0.6.1) [33 pull requests][0.6.1-prs] were merged this release cycle. ##### Added - \[[#&#8203;1495]]: Add example for manual implementation of the `FromRow` trait \[\[[@&#8203;Erik1000](https://github.com/Erik1000)]] - \[[#&#8203;1822]]: (Postgres) Add support for `std::net::IpAddr` \[\[[@&#8203;meh](https://github.com/meh)]] - Decoding returns an error if the `INET` value in Postgres is a prefix and not a full address (`/32` for IPv4, `/128` for IPv6). - \[[#&#8203;1865]]: Add SQLite support for the `time` crate \[\[[@&#8203;johnbcodes](https://github.com/johnbcodes)]] - \[[#&#8203;1902]]: Add an example of how to use `QueryBuilder::separated()` \[\[[@&#8203;sbeckeriv](https://github.com/sbeckeriv)]] - \[[#&#8203;1917]]: Added docs for `sqlx::types::Json` \[\[[@&#8203;jayy-lmao](https://github.com/jayy-lmao)]] - \[[#&#8203;1919]]: Implement `Clone` for `PoolOptions` \[\[[@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw)]] - \[[#&#8203;1953]]: Support Rust arrays in Postgres \[\[[@&#8203;e00E](https://github.com/e00E)]] - \[[#&#8203;1954]]: Add `push_tuples` for `QueryBuilder` \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]] - \[[#&#8203;1959]]: Support `#[sqlx(flatten)]` attribute in `FromRow` \[\[[@&#8203;TheoOiry](https://github.com/TheoOiry)]] - \[[#&#8203;1967]]: Add example with external query files \[\[[@&#8203;JoeyMckenzie](https://github.com/JoeyMckenzie)]] - \[[#&#8203;1985]]: Add `query_builder::Separated::push_bind_unseparated()` \[\[[@&#8203;0xdeafbeef](https://github.com/0xdeafbeef)]] - \[[#&#8203;2001]]: Implement `#[sqlx::test]` for general use - Includes automatic database management, migration and fixture application. - Drops support for end-of-lifed database versions, see PR for details. - \[[#&#8203;2005]]: `QueryBuilder` improvements \[\[[@&#8203;abonander](https://github.com/abonander)]] - Raw SQL getters, new method to build `QueryAs` instead of `Query`. - \[[#&#8203;2013]]: (SQLite) Allow VFS to be set as URL query parameter \[\[[@&#8203;liningpan](https://github.com/liningpan)]] ##### Changed - \[[#&#8203;1679]]: refactor: alias actix-\* features to their equivalent tokio-\* features \[\[[@&#8203;robjtede](https://github.com/robjtede)]] - \[[#&#8203;1906]]: replaced all uses of "uri" to "url" \[\[[@&#8203;RomainStorai](https://github.com/RomainStorai)]] - \[[#&#8203;1965]]: SQLite improvements \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;1977]]: Docs: clarify relationship between `query_as!()` and `FromRow` \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;2003]]: Replace `dotenv` with `dotenvy` \[\[[@&#8203;abonander](https://github.com/abonander)]] ##### Fixed - \[[#&#8203;1802]]: Try avoiding a full clean in `cargo sqlx prepare --merged` \[\[[@&#8203;LovecraftianHorror](https://github.com/LovecraftianHorror)]] - \[[#&#8203;1848]]: Fix type info access in `Any` database driver \[\[[@&#8203;raviqqe](https://github.com/raviqqe)]] - \[[#&#8203;1910]]: Set `CARGO_TARGET_DIR` when compiling queries \[\[[@&#8203;sedrik](https://github.com/sedrik)]] - \[[#&#8203;1915]]: Pool: fix panic when using callbacks \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;1930]]: Don't cache SQLite connection for macros \[\[[@&#8203;LovecraftianHorror](https://github.com/LovecraftianHorror)]] - \[[#&#8203;1948]]: Fix panic in Postgres `BYTEA` decode \[\[[@&#8203;e00E](https://github.com/e00E)]] - \[[#&#8203;1955]]: Fix typo in FAQ \[\[[@&#8203;kenkoooo](https://github.com/kenkoooo)]] - \[[#&#8203;1968]]: (Postgres) don't panic if `S` or `V` notice fields are not UTF-8 \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;1969]]: Fix sqlx-cli build \[\[[@&#8203;ivan](https://github.com/ivan)]] - \[[#&#8203;1974]]: Use the `rust-cache` action for CI \[\[[@&#8203;abonander](https://github.com/abonander)]] - \[[#&#8203;1988]]: Agree on a single default runtime for the whole workspace \[\[[@&#8203;crepererum](https://github.com/crepererum)]] - \[[#&#8203;1989]]: Fix panics in `PgListener` \[\[[@&#8203;crepererum](https://github.com/crepererum)]] - \[[#&#8203;1990]]: Switch `master` to `main` in docs \[\[[@&#8203;crepererum](https://github.com/crepererum)]] - The change had already been made in the repo, the docs were out of date. - \[[#&#8203;1993]]: Update versions in quickstart examples in README \[\[[@&#8203;UramnOIL](https://github.com/UramnOIL)]] [0.6.1-prs]: https://github.com/launchbadge/sqlx/pulls?page=1&q=is%3Apr+is%3Aclosed+merged%3A2022-06-17..2022-08-02 [#&#8203;1906]: https://github.com/launchbadge/sqlx/pull/1906 [#&#8203;1495]: https://github.com/launchbadge/sqlx/pull/1495 [#&#8203;1679]: https://github.com/launchbadge/sqlx/pull/1679 [#&#8203;1802]: https://github.com/launchbadge/sqlx/pull/1802 [#&#8203;1822]: https://github.com/launchbadge/sqlx/pull/1822 [#&#8203;1848]: https://github.com/launchbadge/sqlx/pull/1848 [#&#8203;1865]: https://github.com/launchbadge/sqlx/pull/1865 [#&#8203;1902]: https://github.com/launchbadge/sqlx/pull/1902 [#&#8203;1910]: https://github.com/launchbadge/sqlx/pull/1910 [#&#8203;1915]: https://github.com/launchbadge/sqlx/pull/1915 [#&#8203;1917]: https://github.com/launchbadge/sqlx/pull/1917 [#&#8203;1919]: https://github.com/launchbadge/sqlx/pull/1919 [#&#8203;1930]: https://github.com/launchbadge/sqlx/pull/1930 [#&#8203;1948]: https://github.com/launchbadge/sqlx/pull/1948 [#&#8203;1953]: https://github.com/launchbadge/sqlx/pull/1953 [#&#8203;1954]: https://github.com/launchbadge/sqlx/pull/1954 [#&#8203;1955]: https://github.com/launchbadge/sqlx/pull/1955 [#&#8203;1959]: https://github.com/launchbadge/sqlx/pull/1959 [#&#8203;1965]: https://github.com/launchbadge/sqlx/pull/1965 [#&#8203;1967]: https://github.com/launchbadge/sqlx/pull/1967 [#&#8203;1968]: https://github.com/launchbadge/sqlx/pull/1968 [#&#8203;1969]: https://github.com/launchbadge/sqlx/pull/1969 [#&#8203;1974]: https://github.com/launchbadge/sqlx/pull/1974 [#&#8203;1977]: https://github.com/launchbadge/sqlx/pull/1977 [#&#8203;1985]: https://github.com/launchbadge/sqlx/pull/1985 [#&#8203;1988]: https://github.com/launchbadge/sqlx/pull/1988 [#&#8203;1989]: https://github.com/launchbadge/sqlx/pull/1989 [#&#8203;1990]: https://github.com/launchbadge/sqlx/pull/1990 [#&#8203;1993]: https://github.com/launchbadge/sqlx/pull/1993 [#&#8203;2001]: https://github.com/launchbadge/sqlx/pull/2001 [#&#8203;2003]: https://github.com/launchbadge/sqlx/pull/2003 [#&#8203;2005]: https://github.com/launchbadge/sqlx/pull/2005 [#&#8203;2013]: https://github.com/launchbadge/sqlx/pull/2013 </details> <details> <summary>tokio-rs/tokio</summary> ### [`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 ### [`v1.28.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.28.2): Tokio v1.28.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.28.1...tokio-1.28.2) ### 1.28.2 (May 28, 2023) Forward ports 1.18.6 changes. ##### Fixed - deps: disable default features for mio ([#&#8203;5728]) [#&#8203;5728]: https://github.com/tokio-rs/tokio/pull/5728 ### [`v1.28.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.28.1): Tokio v1.28.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.28.0...tokio-1.28.1) ### 1.28.1 (May 10th, 2023) This release fixes a mistake in the build script that makes `AsFd` implementations unavailable on Rust 1.63. ([#&#8203;5677]) [#&#8203;5677]: https://github.com/tokio-rs/tokio/pull/5677 ### [`v1.28.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.28.0): Tokio v1.28.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.0) ### 1.28.0 (April 25th, 2023) ##### Added - io: add `AsyncFd::async_io` ([#&#8203;5542]) - io: impl BufMut for ReadBuf ([#&#8203;5590]) - net: add `recv_buf` for `UdpSocket` and `UnixDatagram` ([#&#8203;5583]) - sync: add `OwnedSemaphorePermit::semaphore` ([#&#8203;5618]) - sync: add `same_channel` to broadcast channel ([#&#8203;5607]) - sync: add `watch::Receiver::wait_for` ([#&#8203;5611]) - task: add `JoinSet::spawn_blocking` and `JoinSet::spawn_blocking_on` ([#&#8203;5612]) ##### Changed - deps: update windows-sys to 0.48 ([#&#8203;5591]) - io: make `read_to_end` not grow unnecessarily ([#&#8203;5610]) - macros: make entrypoints more efficient ([#&#8203;5621]) - sync: improve Debug impl for `RwLock` ([#&#8203;5647]) - sync: reduce contention in `Notify` ([#&#8203;5503]) ##### Fixed - net: support `get_peer_cred` on AIX ([#&#8203;5065]) - sync: avoid deadlocks in `broadcast` with custom wakers ([#&#8203;5578]) ##### Documented - sync: fix typo in `Semaphore::MAX_PERMITS` ([#&#8203;5645]) - sync: fix typo in `tokio::sync::watch::Sender` docs ([#&#8203;5587]) [#&#8203;5065]: https://github.com/tokio-rs/tokio/pull/5065 [#&#8203;5503]: https://github.com/tokio-rs/tokio/pull/5503 [#&#8203;5542]: https://github.com/tokio-rs/tokio/pull/5542 [#&#8203;5578]: https://github.com/tokio-rs/tokio/pull/5578 [#&#8203;5583]: https://github.com/tokio-rs/tokio/pull/5583 [#&#8203;5587]: https://github.com/tokio-rs/tokio/pull/5587 [#&#8203;5590]: https://github.com/tokio-rs/tokio/pull/5590 [#&#8203;5591]: https://github.com/tokio-rs/tokio/pull/5591 [#&#8203;5607]: https://github.com/tokio-rs/tokio/pull/5607 [#&#8203;5610]: https://github.com/tokio-rs/tokio/pull/5610 [#&#8203;5611]: https://github.com/tokio-rs/tokio/pull/5611 [#&#8203;5612]: https://github.com/tokio-rs/tokio/pull/5612 [#&#8203;5618]: https://github.com/tokio-rs/tokio/pull/5618 [#&#8203;5621]: https://github.com/tokio-rs/tokio/pull/5621 [#&#8203;5645]: https://github.com/tokio-rs/tokio/pull/5645 [#&#8203;5647]: https://github.com/tokio-rs/tokio/pull/5647 ### [`v1.27.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.27.0): Tokio v1.27.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.26.0...tokio-1.27.0) ### 1.27.0 (March 27th, 2023) This release bumps the MSRV of Tokio to 1.56. ([#&#8203;5559]) ##### Added - io: add `async_io` helper method to sockets ([#&#8203;5512]) - io: add implementations of `AsFd`/`AsHandle`/`AsSocket` ([#&#8203;5514], [#&#8203;5540]) - net: add `UdpSocket::peek_sender()` ([#&#8203;5520]) - sync: add `RwLockWriteGuard::{downgrade_map, try_downgrade_map}` ([#&#8203;5527]) - task: add `JoinHandle::abort_handle` ([#&#8203;5543]) ##### Changed - io: use `memchr` from `libc` ([#&#8203;5558]) - macros: accept path as crate rename in `#[tokio::main]` ([#&#8203;5557]) - macros: update to syn 2.0.0 ([#&#8203;5572]) - time: don't register for a wakeup when `Interval` returns `Ready` ([#&#8203;5553]) ##### Fixed - fs: fuse std iterator in `ReadDir` ([#&#8203;5555]) - tracing: fix `spawn_blocking` location fields ([#&#8203;5573]) - time: clean up redundant check in `Wheel::poll()` ([#&#8203;5574]) ##### Documented - macros: define cancellation safety ([#&#8203;5525]) - io: add details to docs of `tokio::io::copy[_buf]` ([#&#8203;5575]) - io: refer to `ReaderStream` and `StreamReader` in module docs ([#&#8203;5576]) [#&#8203;5512]: https://github.com/tokio-rs/tokio/pull/5512 [#&#8203;5514]: https://github.com/tokio-rs/tokio/pull/5514 [#&#8203;5520]: https://github.com/tokio-rs/tokio/pull/5520 [#&#8203;5525]: https://github.com/tokio-rs/tokio/pull/5525 [#&#8203;5527]: https://github.com/tokio-rs/tokio/pull/5527 [#&#8203;5540]: https://github.com/tokio-rs/tokio/pull/5540 [#&#8203;5543]: https://github.com/tokio-rs/tokio/pull/5543 [#&#8203;5553]: https://github.com/tokio-rs/tokio/pull/5553 [#&#8203;5555]: https://github.com/tokio-rs/tokio/pull/5555 [#&#8203;5557]: https://github.com/tokio-rs/tokio/pull/5557 [#&#8203;5558]: https://github.com/tokio-rs/tokio/pull/5558 [#&#8203;5559]: https://github.com/tokio-rs/tokio/pull/5559 [#&#8203;5572]: https://github.com/tokio-rs/tokio/pull/5572 [#&#8203;5573]: https://github.com/tokio-rs/tokio/pull/5573 [#&#8203;5574]: https://github.com/tokio-rs/tokio/pull/5574 [#&#8203;5575]: https://github.com/tokio-rs/tokio/pull/5575 [#&#8203;5576]: https://github.com/tokio-rs/tokio/pull/5576 ### [`v1.26.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.26.0): Tokio v1.26.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.25.3...tokio-1.26.0) ##### Fixed - macros: fix empty `join!` and `try_join!` ([https://github.com/tokio-rs/tokio/pull/5504]) - sync: don't leak tracing spans in mutex guards ([https://github.com/tokio-rs/tokio/pull/5469]) - sync: drop wakers after unlocking the mutex in Notify ([https://github.com/tokio-rs/tokio/pull/5471]) - sync: drop wakers outside lock in semaphore ([https://github.com/tokio-rs/tokio/pull/5475]) ##### Added - fs: add `fs::try_exists` ([https://github.com/tokio-rs/tokio/pull/4299]) - net: add types for named unix pipes ([https://github.com/tokio-rs/tokio/pull/5351]) - sync: add `MappedOwnedMutexGuard` ([https://github.com/tokio-rs/tokio/pull/5474]) ##### Changed - chore: update windows-sys to 0.45 ([https://github.com/tokio-rs/tokio/pull/5386]) - net: use Message Read Mode for named pipes ([https://github.com/tokio-rs/tokio/pull/5350]) - sync: mark lock guards with `#[clippy::has_significant_drop]` ([https://github.com/tokio-rs/tokio/pull/5422]) - sync: reduce contention in watch channel ([https://github.com/tokio-rs/tokio/pull/5464]) - time: remove cache padding in timer entries ([https://github.com/tokio-rs/tokio/pull/5468]) - time: Improve `Instant::now()` perf with test-util ([https://github.com/tokio-rs/tokio/pull/5513]) ##### Internal Changes - io: use `poll_fn` in `copy_bidirectional` ([https://github.com/tokio-rs/tokio/pull/5486]) - net: refactor named pipe builders to not use bitfields ([https://github.com/tokio-rs/tokio/pull/5477]) - rt: remove Arc from Clock ([https://github.com/tokio-rs/tokio/pull/5434]) - sync: make `notify_waiters` calls atomic ([https://github.com/tokio-rs/tokio/pull/5458]) - time: don't store deadline twice in sleep entries ([https://github.com/tokio-rs/tokio/pull/5410]) ##### Unstable - metrics: add a new metric for budget exhaustion yields ([https://github.com/tokio-rs/tokio/pull/5517]) ##### Documented - io: improve AsyncFd example ([https://github.com/tokio-rs/tokio/pull/5481]) - runtime: document the nature of the main future ([https://github.com/tokio-rs/tokio/pull/5494]) - runtime: remove extra period in docs ([https://github.com/tokio-rs/tokio/pull/5511]) - signal: updated Documentation for Signals ([https://github.com/tokio-rs/tokio/pull/5459]) - sync: add doc aliases for `blocking_*` methods ([https://github.com/tokio-rs/tokio/pull/5448]) - sync: fix docs for Send/Sync bounds in broadcast ([https://github.com/tokio-rs/tokio/pull/5480]) - sync: document drop behavior for channels ([https://github.com/tokio-rs/tokio/pull/5497]) - task: clarify what happens to spawned work during runtime shutdown ([https://github.com/tokio-rs/tokio/pull/5394]) - task: clarify `process::Command` docs ([https://github.com/tokio-rs/tokio/pull/5413]) - task: fix wording with 'unsend' ([https://github.com/tokio-rs/tokio/pull/5452]) - time: document immediate completion guarantee for timeouts ([https://github.com/tokio-rs/tokio/pull/5509]) - tokio: document supported platforms ([https://github.com/tokio-rs/tokio/pull/5483]) [https://github.com/tokio-rs/tokio/pull/4299]: https://github.com/tokio-rs/tokio/pull/4299 [https://github.com/tokio-rs/tokio/pull/5350]: https://github.com/tokio-rs/tokio/pull/5350 [https://github.com/tokio-rs/tokio/pull/5351]: https://github.com/tokio-rs/tokio/pull/5351 [https://github.com/tokio-rs/tokio/pull/5386]: https://github.com/tokio-rs/tokio/pull/5386 [https://github.com/tokio-rs/tokio/pull/5394]: https://github.com/tokio-rs/tokio/pull/5394 [https://github.com/tokio-rs/tokio/pull/5410]: https://github.com/tokio-rs/tokio/pull/5410 [https://github.com/tokio-rs/tokio/pull/5413]: https://github.com/tokio-rs/tokio/pull/5413 [https://github.com/tokio-rs/tokio/pull/5422]: https://github.com/tokio-rs/tokio/pull/5422 [https://github.com/tokio-rs/tokio/pull/5434]: https://github.com/tokio-rs/tokio/pull/5434 [https://github.com/tokio-rs/tokio/pull/5448]: https://github.com/tokio-rs/tokio/pull/5448 [https://github.com/tokio-rs/tokio/pull/5452]: https://github.com/tokio-rs/tokio/pull/5452 [https://github.com/tokio-rs/tokio/pull/5458]: https://github.com/tokio-rs/tokio/pull/5458 [https://github.com/tokio-rs/tokio/pull/5459]: https://github.com/tokio-rs/tokio/pull/5459 [https://github.com/tokio-rs/tokio/pull/5464]: https://github.com/tokio-rs/tokio/pull/5464 [https://github.com/tokio-rs/tokio/pull/5468]: https://github.com/tokio-rs/tokio/pull/5468 [https://github.com/tokio-rs/tokio/pull/5469]: https://github.com/tokio-rs/tokio/pull/5469 [https://github.com/tokio-rs/tokio/pull/5471]: https://github.com/tokio-rs/tokio/pull/5471 [https://github.com/tokio-rs/tokio/pull/5474]: https://github.com/tokio-rs/tokio/pull/5474 [https://github.com/tokio-rs/tokio/pull/5475]: https://github.com/tokio-rs/tokio/pull/5475 [https://github.com/tokio-rs/tokio/pull/5477]: https://github.com/tokio-rs/tokio/pull/5477 [https://github.com/tokio-rs/tokio/pull/5480]: https://github.com/tokio-rs/tokio/pull/5480 [https://github.com/tokio-rs/tokio/pull/5481]: https://github.com/tokio-rs/tokio/pull/5481 [https://github.com/tokio-rs/tokio/pull/5483]: https://github.com/tokio-rs/tokio/pull/5483 [https://github.com/tokio-rs/tokio/pull/5486]: https://github.com/tokio-rs/tokio/pull/5486 [https://github.com/tokio-rs/tokio/pull/5494]: https://github.com/tokio-rs/tokio/pull/5494 [https://github.com/tokio-rs/tokio/pull/5497]: https://github.com/tokio-rs/tokio/pull/5497 [https://github.com/tokio-rs/tokio/pull/5504]: https://github.com/tokio-rs/tokio/pull/5504 [https://github.com/tokio-rs/tokio/pull/5509]: https://github.com/tokio-rs/tokio/pull/5509 [https://github.com/tokio-rs/tokio/pull/5511]: https://github.com/tokio-rs/tokio/pull/5511 [https://github.com/tokio-rs/tokio/pull/5513]: https://github.com/tokio-rs/tokio/pull/5513 [https://github.com/tokio-rs/tokio/pull/5517]: https://github.com/tokio-rs/tokio/pull/5517 ### [`v1.25.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.25.3): Tokio v1.25.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.25.2...tokio-1.25.3) ### 1.25.3 (December 17th, 2023) ##### Fixed - io: add budgeting to `tokio::runtime::io::registration::async_io` ([#&#8203;6221]) [#&#8203;6221]: https://github.com/tokio-rs/tokio/pull/6221 ### [`v1.25.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.25.2): Tokio v1.25.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.25.1...tokio-1.25.2) ### 1.25.2 (September 22, 2023) Forward ports 1.20.6 changes. ##### Changed - io: use `memchr` from `libc` ([#&#8203;5960]) [#&#8203;5960]: https://github.com/tokio-rs/tokio/pull/5960 ### [`v1.25.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.25.1): Tokio v1.25.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.25.0...tokio-1.25.1) ### 1.25.1 (May 28, 2023) Forward ports 1.18.6 changes. ##### Fixed - deps: disable default features for mio ([#&#8203;5728]) [#&#8203;5728]: https://github.com/tokio-rs/tokio/pull/5728 ### [`v1.25.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.25.0): Tokio v1.25.0 ### 1.25.0 (January 28, 2023) ##### Fixed - rt: fix runtime metrics reporting ([#&#8203;5330]) ##### Added - sync: add `broadcast::Sender::len` ([#&#8203;5343]) ##### Changed - fs: increase maximum read buffer size to 2MiB ([#&#8203;5397]) [#&#8203;5330]: https://github.com/tokio-rs/tokio/pull/5330 [#&#8203;5343]: https://github.com/tokio-rs/tokio/pull/5343 [#&#8203;5397]: https://github.com/tokio-rs/tokio/pull/5397 ### [`v1.24.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.24.1): Tokio v1.24.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.24.0...tokio-1.24.1) This release fixes a compilation failure on targets without `AtomicU64` when using rustc older than 1.63. ([#&#8203;5356]) [#&#8203;5356]: https://github.com/tokio-rs/tokio/pull/5356 ### [`v1.24.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.24.0): Tokio v1.24.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.23.1...tokio-1.24.0) The highlight of this release is the reduction of lock contention for all I/O operations ([#&#8203;5300](https://github.com/tokio-rs/tokio/issues/5300)). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications. ##### Fixed - rt: improve native `AtomicU64` support detection ([#&#8203;5284]) ##### Added - rt: add configuration option for max number of I/O events polled from the OS per tick ([#&#8203;5186]) - rt: add an environment variable for configuring the default number of worker threads per runtime instance ([#&#8203;4250]) ##### Changed - sync: reduce MPSC channel stack usage ([#&#8203;5294]) - io: reduce lock contention in I/O operations ([#&#8203;5300]) - fs: speed up `read_dir()` by chunking operations ([#&#8203;5309]) - rt: use internal `ThreadId` implementation ([#&#8203;5329]) - test: don't auto-advance time when a `spawn_blocking` task is running ([#&#8203;5115]) [#&#8203;5186]: https://github.com/tokio-rs/tokio/pull/5186 [#&#8203;5294]: https://github.com/tokio-rs/tokio/pull/5294 [#&#8203;5284]: https://github.com/tokio-rs/tokio/pull/5284 [#&#8203;4250]: https://github.com/tokio-rs/tokio/pull/4250 [#&#8203;5300]: https://github.com/tokio-rs/tokio/pull/5300 [#&#8203;5329]: https://github.com/tokio-rs/tokio/pull/5329 [#&#8203;5115]: https://github.com/tokio-rs/tokio/pull/5115 [#&#8203;5309]: https://github.com/tokio-rs/tokio/pull/5309 ### [`v1.23.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.23.1): Tokio v1.23.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.23.0...tokio-1.23.1) This release forward ports changes from 1.18.4. ##### Fixed - net: fix Windows named pipe server builder to maintain option when toggling pipe mode ([#&#8203;5336]). [#&#8203;5336]: https://github.com/tokio-rs/tokio/pull/5336 ### [`v1.23.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.23.0): Tokio v1.23.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.22.0...tokio-1.23.0) ##### Fixed - net: fix Windows named pipe connect ([#&#8203;5208]) - io: support vectored writes for `ChildStdin` ([#&#8203;5216]) - io: fix `async fn ready()` false positive for OS-specific events ([#&#8203;5231]) ##### Changed - runtime: `yield_now` defers task until after driver poll ([#&#8203;5223]) - runtime: reduce amount of codegen needed per spawned task ([#&#8203;5213]) - windows: replace `winapi` dependency with `windows-sys` ([#&#8203;5204]) [#&#8203;5208]: https://github.com/tokio-rs/tokio/pull/5208 [#&#8203;5216]: https://github.com/tokio-rs/tokio/pull/5216 [#&#8203;5213]: https://github.com/tokio-rs/tokio/pull/5213 [#&#8203;5204]: https://github.com/tokio-rs/tokio/pull/5204 [#&#8203;5223]: https://github.com/tokio-rs/tokio/pull/5223 [#&#8203;5231]: https://github.com/tokio-rs/tokio/pull/5231 ### [`v1.22.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.22.0): Tokio v1.22.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.21.2...tokio-1.22.0) ##### Added - runtime: add `Handle::runtime_flavor` ([#&#8203;5138]) - sync: add `Mutex::blocking_lock_owned` ([#&#8203;5130]) - sync: add `Semaphore::MAX_PERMITS` ([#&#8203;5144]) - sync: add `merge()` to semaphore permits ([#&#8203;4948]) - sync: add `mpsc::WeakUnboundedSender` ([#&#8203;5189]) ##### Added (unstable) - process: add `Command::process_group` ([#&#8203;5114]) - runtime: export metrics about the blocking thread pool ([#&#8203;5161]) - task: add `task::id()` and `task::try_id()` ([#&#8203;5171]) ##### Fixed - macros: don't take ownership of futures in macros ([#&#8203;5087]) - runtime: fix Stacked Borrows violation in `LocalOwnedTasks` ([#&#8203;5099]) - runtime: mitigate ABA with 32-bit queue indices when possible ([#&#8203;5042]) - task: wake local tasks to the local queue when woken by the same thread ([#&#8203;5095]) - time: panic in release mode when `mark_pending` called illegally ([#&#8203;5093]) - runtime: fix typo in expect message ([#&#8203;5169]) - runtime: fix `unsync_load` on atomic types ([#&#8203;5175]) - task: elaborate safety comments in task deallocation ([#&#8203;5172]) - runtime: fix `LocalSet` drop in thread local ([#&#8203;5179]) - net: remove libc type leakage in a public API ([#&#8203;5191]) - runtime: update the alignment of `CachePadded` ([#&#8203;5106]) ##### Changed - io: make `tokio::io::copy` continue filling the buffer when writer stalls ([#&#8203;5066]) - runtime: remove `coop::budget` from `LocalSet::run_until` ([#&#8203;5155]) - sync: make `Notify` panic safe ([#&#8203;5154]) ##### Documented - io: fix doc for `write_i8` to use signed integers ([#&#8203;5040]) - net: fix doc typos for TCP and UDP `set_tos` methods ([#&#8203;5073]) - net: fix function name in `UdpSocket::recv` documentation ([#&#8203;5150]) - sync: typo in `TryLockError` for `RwLock::try_write` ([#&#8203;5160]) - task: document that spawned tasks execute immediately ([#&#8203;5117]) - time: document return type of `timeout` ([#&#8203;5118]) - time: document that `timeout` checks only before poll ([#&#8203;5126]) - sync: specify return type of `oneshot::Receiver` in docs ([#&#8203;5198]) ##### Internal changes - runtime: use const `Mutex::new` for globals ([#&#8203;5061]) - runtime: remove `Option` around `mio::Events` in io driver ([#&#8203;5078]) - runtime: remove a conditional compilation clause ([#&#8203;5104]) - runtime: remove a reference to internal time handle ([#&#8203;5107]) - runtime: misc time driver cleanup ([#&#8203;5120]) - runtime: move signal driver to runtime module ([#&#8203;5121]) - runtime: signal driver now uses I/O driver directly ([#&#8203;5125]) - runtime: start decoupling I/O driver and I/O handle ([#&#8203;5127]) - runtime: switch `io::handle` refs with scheduler:Handle ([#&#8203;5128]) - runtime: remove Arc from I/O driver ([#&#8203;5134]) - runtime: use signal driver handle via `scheduler::Handle` ([#&#8203;5135]) - runtime: move internal clock fns out of context ([#&#8203;5139]) - runtime: remove `runtime::context` module ([#&#8203;5140]) - runtime: keep driver cfgs in `driver.rs` ([#&#8203;5141]) - runtime: add `runtime::context` to unify thread-locals ([#&#8203;5143]) - runtime: rename some confusing internal variables/fns ([#&#8203;5151]) - runtime: move `coop` mod into `runtime` ([#&#8203;5152]) - runtime: move budget state to context thread-local ([#&#8203;5157]) - runtime: move park logic into runtime module ([#&#8203;5158]) - runtime: move `Runtime` into its own file ([#&#8203;5159]) - runtime: unify entering a runtime with `Handle::enter` ([#&#8203;5163]) - runtime: remove handle reference from each scheduler ([#&#8203;5166]) - runtime: move `enter` into `context` ([#&#8203;5167]) - runtime: combine context and entered thread-locals ([#&#8203;5168]) - runtime: fix accidental unsetting of current handle ([#&#8203;5178]) - runtime: move `CoreStage` methods to `Core` ([#&#8203;5182]) - sync: name mpsc semaphore types ([#&#8203;5146]) [#&#8203;4948]: https://github.com/tokio-rs/tokio/pull/4948 [#&#8203;5040]: https://github.com/tokio-rs/tokio/pull/5040 [#&#8203;5042]: https://github.com/tokio-rs/tokio/pull/5042 [#&#8203;5061]: https://github.com/tokio-rs/tokio/pull/5061 [#&#8203;5066]: https://github.com/tokio-rs/tokio/pull/5066 [#&#8203;5073]: https://github.com/tokio-rs/tokio/pull/5073 [#&#8203;5078]: https://github.com/tokio-rs/tokio/pull/5078 [#&#8203;5087]: https://github.com/tokio-rs/tokio/pull/5087 [#&#8203;5093]: https://github.com/tokio-rs/tokio/pull/5093 [#&#8203;5095]: https://github.com/tokio-rs/tokio/pull/5095 [#&#8203;5099]: https://github.com/tokio-rs/tokio/pull/5099 [#&#8203;5104]: https://github.com/tokio-rs/tokio/pull/5104 [#&#8203;5106]: https://github.com/tokio-rs/tokio/pull/5106 [#&#8203;5107]: https://github.com/tokio-rs/tokio/pull/5107 [#&#8203;5114]: https://github.com/tokio-rs/tokio/pull/5114 [#&#8203;5117]: https://github.com/tokio-rs/tokio/pull/5117 [#&#8203;5118]: https://github.com/tokio-rs/tokio/pull/5118 [#&#8203;5120]: https://github.com/tokio-rs/tokio/pull/5120 [#&#8203;5121]: https://github.com/tokio-rs/tokio/pull/5121 [#&#8203;5125]: https://github.com/tokio-rs/tokio/pull/5125 [#&#8203;5126]: https://github.com/tokio-rs/tokio/pull/5126 [#&#8203;5127]: https://github.com/tokio-rs/tokio/pull/5127 [#&#8203;5128]: https://github.com/tokio-rs/tokio/pull/5128 [#&#8203;5130]: https://github.com/tokio-rs/tokio/pull/5130 [#&#8203;5134]: https://github.com/tokio-rs/tokio/pull/5134 [#&#8203;5135]: https://github.com/tokio-rs/tokio/pull/5135 [#&#8203;5138]: https://github.com/tokio-rs/tokio/pull/5138 [#&#8203;5138]: https://github.com/tokio-rs/tokio/pull/5138 [#&#8203;5139]: https://github.com/tokio-rs/tokio/pull/5139 [#&#8203;5140]: https://github.com/tokio-rs/tokio/pull/5140 [#&#8203;5141]: https://github.com/tokio-rs/tokio/pull/5141 [#&#8203;5143]: https://github.com/tokio-rs/tokio/pull/5143 [#&#8203;5144]: https://github.com/tokio-rs/tokio/pull/5144 [#&#8203;5144]: https://github.com/tokio-rs/tokio/pull/5144 [#&#8203;5146]: https://github.com/tokio-rs/tokio/pull/5146 [#&#8203;5150]: https://github.com/tokio-rs/tokio/pull/5150 [#&#8203;5151]: https://github.com/tokio-rs/tokio/pull/5151 [#&#8203;5152]: https://github.com/tokio-rs/tokio/pull/5152 [#&#8203;5154]: https://github.com/tokio-rs/tokio/pull/5154 [#&#8203;5155]: https://github.com/tokio-rs/tokio/pull/5155 [#&#8203;5157]: https://github.com/tokio-rs/tokio/pull/5157 [#&#8203;5158]: https://github.com/tokio-rs/tokio/pull/5158 [#&#8203;5159]: https://github.com/tokio-rs/tokio/pull/5159 [#&#8203;5160]: https://github.com/tokio-rs/tokio/pull/5160 [#&#8203;5161]: https://github.com/tokio-rs/tokio/pull/5161 [#&#8203;5163]: https://github.com/tokio-rs/tokio/pull/5163 [#&#8203;5166]: https://github.com/tokio-rs/tokio/pull/5166 [#&#8203;5167]: https://github.com/tokio-rs/tokio/pull/5167 [#&#8203;5168]: https://github.com/tokio-rs/tokio/pull/5168 [#&#8203;5169]: https://github.com/tokio-rs/tokio/pull/5169 [#&#8203;5171]: https://github.com/tokio-rs/tokio/pull/5171 [#&#8203;5172]: https://github.com/tokio-rs/tokio/pull/5172 [#&#8203;5175]: https://github.com/tokio-rs/tokio/pull/5175 [#&#8203;5178]: https://github.com/tokio-rs/tokio/pull/5178 [#&#8203;5179]: https://github.com/tokio-rs/tokio/pull/5179 [#&#8203;5182]: https://github.com/tokio-rs/tokio/pull/5182 [#&#8203;5189]: https://github.com/tokio-rs/tokio/pull/5189 [#&#8203;5191]: https://github.com/tokio-rs/tokio/pull/5191 [#&#8203;5198]: https://github.com/tokio-rs/tokio/pull/5198 ### [`v1.21.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.21.2): Tokio v1.21.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.21.1...tokio-1.21.2) ### 1.21.2 (September 27, 2022) This release removes the dependency on the `once_cell` crate to restore the MSRV of 1.21.x, which is the latest minor version at the time of release. ([#&#8203;5048]) [#&#8203;5048]: https://github.com/tokio-rs/tokio/pull/5048 ### [`v1.21.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.21.1): Tokio v1.21.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.21.0...tokio-1.21.1) ### 1.21.1 (September 13, 2022) ##### Fixed - net: fix dependency resolution for socket2 ([#&#8203;5000]) - task: ignore failure to set TLS in `LocalSet` Drop ([#&#8203;4976]) [#&#8203;4976]: https://github.com/tokio-rs/tokio/pull/4976 [#&#8203;5000]: https://github.com/tokio-rs/tokio/pull/5000 ### [`v1.21.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.21.0): Tokio v1.21.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.20.6...tokio-1.21.0) ### 1.21.0 (September 2, 2022) This release is the first release of Tokio to intentionally support WASM. The `sync,macros,io-util,rt,time` features are stabilized on WASM. Additionally the wasm32-wasi target is given unstable support for the `net` feature. ##### Added - net: add `device` and `bind_device` methods to TCP/UDP sockets ([#&#8203;4882]) - net: add `tos` and `set_tos` methods to TCP and UDP sockets ([#&#8203;4877]) - net: add security flags to named pipe `ServerOptions` ([#&#8203;4845]) - signal: add more windows signal handlers ([#&#8203;4924]) - sync: add `mpsc::Sender::max_capacity` method ([#&#8203;4904]) - sync: implement Weak version of `mpsc::Sender` ([#&#8203;4595]) - task: add `LocalSet::enter` ([#&#8203;4765]) - task: stabilize `JoinSet` and `AbortHandle` ([#&#8203;4920]) - tokio: add `track_caller` to public APIs ([#&#8203;4805], [#&#8203;4848], [#&#8203;4852]) - wasm: initial support for `wasm32-wasi` target ([#&#8203;4716]) ##### Fixed - miri: improve miri compatibility by avoiding temporary references in `linked_list::Link` impls ([#&#8203;4841]) - signal: don't register write interest on signal pipe ([#&#8203;4898]) - sync: add `#[must_use]` to lock guards ([#&#8203;4886]) - sync: fix hang when calling `recv` on closed and reopened broadcast channel ([#&#8203;4867]) - task: propagate attributes on task-locals ([#&#8203;4837]) ##### Changed - fs: change panic to error in `File::start_seek` ([#&#8203;4897]) - io: reduce syscalls in `poll_read` ([#&#8203;4840]) - process: use blocking threadpool for child stdio I/O ([#&#8203;4824]) - signal: make `SignalKind` methods const ([#&#8203;4956]) ##### Internal changes - rt: extract `basic_scheduler::Config` ([#&#8203;4935]) - rt: move I/O driver into `runtime` module ([#&#8203;4942]) - rt: rename internal scheduler types ([#&#8203;4945]) ##### Documented - chore: fix typos and grammar ([#&#8203;4858], [#&#8203;4894], [#&#8203;4928]) - io: fix typo in `AsyncSeekExt::rewind` docs ([#&#8203;4893]) - net: add documentation to `try_read()` for zero-length buffers ([#&#8203;4937]) - runtime: remove incorrect panic section for `Builder::worker_threads` ([#&#8203;4849]) - sync: doc of `watch::Sender::send` improved ([#&#8203;4959]) - task: add cancel safety docs to `JoinHandle` ([#&#8203;4901]) - task: expand on cancellation of `spawn_blocking` ([#&#8203;4811]) - time: clarify that the first tick of `Interval::tick` happens immediately ([#&#8203;4951]) ##### Unstable - rt: add unstable option to disable the LIFO slot ([#&#8203;4936]) - task: fix incorrect signature in `Builder::spawn_on` ([#&#8203;4953]) - task: make `task::Builder::spawn*` methods fallible ([#&#8203;4823]) [#&#8203;4595]: https://github.com/tokio-rs/tokio/pull/4595 [#&#8203;4716]: https://github.com/tokio-rs/tokio/pull/4716 [#&#8203;4765]: https://github.com/tokio-rs/tokio/pull/4765 [#&#8203;4805]: https://github.com/tokio-rs/tokio/pull/4805 [#&#8203;4811]: https://github.com/tokio-rs/tokio/pull/4811 [#&#8203;4823]: https://github.com/tokio-rs/tokio/pull/4823 [#&#8203;4824]: https://github.com/tokio-rs/tokio/pull/4824 [#&#8203;4837]: https://github.com/tokio-rs/tokio/pull/4837 [#&#8203;4840]: https://github.com/tokio-rs/tokio/pull/4840 [#&#8203;4841]: https://github.com/tokio-rs/tokio/pull/4841 [#&#8203;4845]: https://github.com/tokio-rs/tokio/pull/4845 [#&#8203;4848]: https://github.com/tokio-rs/tokio/pull/4848 [#&#8203;4849]: https://github.com/tokio-rs/tokio/pull/4849 [#&#8203;4852]: https://github.com/tokio-rs/tokio/pull/4852 [#&#8203;4858]: https://github.com/tokio-rs/tokio/pull/4858 [#&#8203;4867]: https://github.com/tokio-rs/tokio/pull/4867 [#&#8203;4877]: https://github.com/tokio-rs/tokio/pull/4877 [#&#8203;4882]: https://github.com/tokio-rs/tokio/pull/4882 [#&#8203;4886]: https://github.com/tokio-rs/tokio/pull/4886 [#&#8203;4893]: https://github.com/tokio-rs/tokio/pull/4893 [#&#8203;4894]: https://github.com/tokio-rs/tokio/pull/4894 [#&#8203;4897]: https://github.com/tokio-rs/tokio/pull/4897 [#&#8203;4898]: https://github.com/tokio-rs/tokio/pull/4898 [#&#8203;4901]: https://github.com/tokio-rs/tokio/pull/4901 [#&#8203;4904]: https://github.com/tokio-rs/tokio/pull/4904 [#&#8203;4920]: https://github.com/tokio-rs/tokio/pull/4920 [#&#8203;4924]: https://github.com/tokio-rs/tokio/pull/4924 [#&#8203;4928]: https://github.com/tokio-rs/tokio/pull/4928 [#&#8203;4935]: https://github.com/tokio-rs/tokio/pull/4935 [#&#8203;4936]: https://github.com/tokio-rs/tokio/pull/4936 [#&#8203;4937]: https://github.com/tokio-rs/tokio/pull/4937 [#&#8203;4942]: https://github.com/tokio-rs/tokio/pull/4942 [#&#8203;4945]: https://github.com/tokio-rs/tokio/pull/4945 [#&#8203;4951]: https://github.com/tokio-rs/tokio/pull/4951 [#&#8203;4953]: https://github.com/tokio-rs/tokio/pull/4953 [#&#8203;4956]: https://github.com/tokio-rs/tokio/pull/4956 [#&#8203;4959]: https://github.com/tokio-rs/tokio/pull/4959 ### [`v1.20.6`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.20.6): Tokio v1.20.6 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.20.5...tokio-1.20.6) ### 1.20.6 (September 22, 2023) This is a backport of a change from 1.27.0. ##### Changed - io: use `memchr` from `libc` ([#&#8203;5960]) [#&#8203;5960]: https://github.com/tokio-rs/tokio/pull/5960 ### [`v1.20.5`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.20.5): Tokio v1.20.5 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.20.4...tokio-1.20.5) ### 1.20.5 (May 28, 2023) Forward ports 1.18.6 changes. ##### Fixed - deps: disable default features for mio ([#&#8203;5728]) [#&#8203;5728]: https://github.com/tokio-rs/tokio/pull/5728 ### [`v1.20.4`](https://github.com/tokio-rs/tokio/compare/tokio-1.20.3...tokio-1.20.4) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.20.3...tokio-1.20.4) ### [`v1.20.3`](https://github.com/tokio-rs/tokio/compare/tokio-1.20.2...tokio-1.20.3) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.20.2...tokio-1.20.3) ### [`v1.20.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.20.2): Tokio v1.20.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.20.1...tokio-1.20.2) ### 1.20.2 (September 27, 2022) This release removes the dependency on the `once_cell` crate to restore the MSRV of the 1.20.x LTS release. ([#&#8203;5048]) [#&#8203;5048]: https://github.com/tokio-rs/tokio/pull/5048 </details> <details> <summary>tower-rs/tower-http</summary> ### [`v0.5.2`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.5.2): v0.5.2 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.5.1...tower-http-0.5.2) #### Added: - **compression:** Will now send a `vary: accept-encoding` header on compressed responses ([#&#8203;399]) - **compression:** Support `x-gzip` as equivalent to `gzip` in `accept-encoding` request header ([#&#8203;467]) #### Fixed - **compression:** Skip compression for range requests ([#&#8203;446]) - **compression:** Skip compression for SSE responses by default ([#&#8203;465]) - **cors:** *Actually* keep Vary headers set by the inner service when setting response headers ([#&#8203;473]) - Version 0.5.1 intended to ship this, but the implementation was buggy and didn't actually do anything [#&#8203;399]: https://github.com/tower-rs/tower-http/pull/399 [#&#8203;446]: https://github.com/tower-rs/tower-http/pull/446 [#&#8203;465]: https://github.com/tower-rs/tower-http/pull/465 [#&#8203;467]: https://github.com/tower-rs/tower-http/pull/467 [#&#8203;473]: https://github.com/tower-rs/tower-http/pull/473 ### [`v0.5.1`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.5.1): v0.5.1 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.5.0...tower-http-0.5.1) - **fs:** Support files precompressed with `zstd` in `ServeFile` - **trace:** Add default generic parameters for `ResponseBody` and `ResponseFuture` ([#&#8203;455]) - **trace:** Add type aliases `HttpMakeClassifier` and `GrpcMakeClassifier` ([#&#8203;455]) #### Fixed - **cors:** Keep Vary headers set by the inner service when setting response headers ([#&#8203;398]) - **fs:** `ServeDir` now no longer redirects from `/directory` to `/directory/` if `append_index_html_on_directories` is disabled ([#&#8203;421]) [#&#8203;398]: https://github.com/tower-rs/tower-http/pull/398 [#&#8203;421]: https://github.com/tower-rs/tower-http/pull/421 [#&#8203;455]: https://github.com/tower-rs/tower-http/pull/455 ### [`v0.5.0`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.5.0): v0.5.0 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.4.4...tower-http-0.5.0) #### Changed - Bump Minimum Supported Rust Version to 1.66 ([#&#8203;433]) - Update to http-body 1.0 ([#&#8203;348]) - Update to http 1.0 ([#&#8203;348]) - Preserve service error type in RequestDecompression ([#&#8203;368]) #### Fixed - Accepts range headers with ranges where the end of range goes past the end of the document by bumping http-range-header to `0.4` [#&#8203;418]: https://github.com/tower-rs/tower-http/pull/418 [#&#8203;433]: https://github.com/tower-rs/tower-http/pull/433 [#&#8203;348]: https://github.com/tower-rs/tower-http/pull/348 [#&#8203;368]: https://github.com/tower-rs/tower-http/pull/368 ### [`v0.4.4`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.4.4): v0.4.4 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.4.3...tower-http-0.4.4) - **trace**: Default implementations for trace bodies. ### [`v0.4.3`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.4.3): v0.4.3 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.4.2...tower-http-0.4.3) #### Fixed - **compression:** Fix accidental breaking change in 0.4.2. ### [`v0.4.2`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.4.2): v0.4.2 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.4.1...tower-http-0.4.2) #### Added - **cors:** Add support for private network preflights ([#&#8203;373]) - **compression:** Implement `Default` for `DecompressionBody` ([#&#8203;370]) #### Changed - **compression:** Update to async-compression 0.4 ([#&#8203;371]) #### Fixed - **compression:** Override default brotli compression level 11 -> 4 ([#&#8203;356]) - **trace:** Simplify dynamic tracing level application ([#&#8203;380]) - **normalize_path:** Fix path normalization for preceding slashes ([#&#8203;359]) [#&#8203;356]: https://github.com/tower-rs/tower-http/pull/356 [#&#8203;359]: https://github.com/tower-rs/tower-http/pull/359 [#&#8203;370]: https://github.com/tower-rs/tower-http/pull/370 [#&#8203;371]: https://github.com/tower-rs/tower-http/pull/371 [#&#8203;373]: https://github.com/tower-rs/tower-http/pull/373 [#&#8203;380]: https://github.com/tower-rs/tower-http/pull/380 ### [`v0.4.1`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.4.1): v0.4.1 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.4.0...tower-http-0.4.1) #### Added - **request_id:** Derive `Default` for `MakeRequestUuid` ([#&#8203;335]) - **fs:** Derive `Default` for `ServeFileSystemResponseBody` ([#&#8203;336]) - **compression:** Expose compression quality on the CompressionLayer ([#&#8203;333]) #### Fixed - **compression:** Improve parsing of `Accept-Encoding` request header ([#&#8203;220]) - **normalize_path:** Fix path normalization of index route ([#&#8203;347]) - **decompression:** Enable `multiple_members` for `GzipDecoder` ([#&#8203;354]) [#&#8203;347]: https://github.com/tower-rs/tower-http/pull/347 [#&#8203;333]: https://github.com/tower-rs/tower-http/pull/333 [#&#8203;220]: https://github.com/tower-rs/tower-http/pull/220 [#&#8203;335]: https://github.com/tower-rs/tower-http/pull/335 [#&#8203;336]: https://github.com/tower-rs/tower-http/pull/336 [#&#8203;354]: https://github.com/tower-rs/tower-http/pull/354 ### [`v0.4.0`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.4.0): v0.4.0 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.3.5...tower-http-0.4.0) #### Added - **decompression:** Add `RequestDecompression` middleware ([#&#8203;282]) - **compression:** Implement `Default` for `CompressionBody` ([#&#8203;323]) - **compression, decompression:** Support zstd (de)compression ([#&#8203;322]) #### Changed - **serve_dir:** `ServeDir` and `ServeFile`'s error types are now `Infallible` and any IO errors will be converted into responses. Use `try_call` to generate error responses manually (BREAKING) ([#&#8203;283]) - **serve_dir:** `ServeDir::fallback` and `ServeDir::not_found_service` now requires the fallback service to use `Infallible` as its error type (BREAKING) ([#&#8203;283]) - **compression, decompression:** Tweak prefered compression encodings ([#&#8203;325]) #### Removed - Removed `RequireAuthorization` in favor of `ValidateRequest` (BREAKING) ([#&#8203;290]) #### Fixed - **serve_dir:** Don't include identity in Content-Encoding header ([#&#8203;317]) - **compression:** Do compress SVGs ([#&#8203;321]) - **serve_dir:** In `ServeDir`, convert `io::ErrorKind::NotADirectory` to `404 Not Found` ([#&#8203;331]) [#&#8203;282]: https://github.com/tower-rs/tower-http/pull/282 [#&#8203;283]: https://github.com/tower-rs/tower-http/pull/283 [#&#8203;290]: https://github.com/tower-rs/tower-http/pull/290 [#&#8203;317]: https://github.com/tower-rs/tower-http/pull/317 [#&#8203;321]: https://github.com/tower-rs/tower-http/pull/321 [#&#8203;322]: https://github.com/tower-rs/tower-http/pull/322 [#&#8203;323]: https://github.com/tower-rs/tower-http/pull/323 [#&#8203;325]: https://github.com/tower-rs/tower-http/pull/325 [#&#8203;331]: https://github.com/tower-rs/tower-http/pull/331 ### [`v0.3.5`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.3.5): v0.3.5 [Compare Source](https://github.com/tower-rs/tower-http/compare/tower-http-0.3.4...tower-http-0.3.5) #### Added - Add `NormalizePath` middleware ([#&#8203;275]) - Add `ValidateRequest` middleware ([#&#8203;289]) - Add `RequestBodyTimeout` middleware ([#&#8203;303]) #### Changed - Bump Minimum Supported Rust Version to 1.60 ([#&#8203;299]) #### Fixed - **trace:** Correctly identify gRPC requests in default `on_response` callback ([#&#8203;278]) - **cors:** Panic if a wildcard (`*`) is passed to `AllowOrigin::list`. Use `AllowOrigin::any()` instead ([#&#8203;285]) - **serve_dir:** Call the fallback on non-uft8 request paths ([#&#8203;310]) [#&#8203;275]: https://github.com/tower-rs/tower-http/pull/275 [#&#8203;278]: https://github.com/tower-rs/tower-http/pull/278 [#&#8203;285]: https://github.com/tower-rs/tower-http/pull/285 [#&#8203;289]: https://github.com/tower-rs/tower-http/pull/289 [#&#8203;299]: https://github.com/tower-rs/tower-http/pull/299 [#&#8203;303]: https://github.com/tower-rs/tower-http/pull/303 [#&#8203;310]: https://github.com/tower-rs/tower-http/pull/310 </details> <details> <summary>tokio-rs/tracing</summary> ### [`v0.1.40`](https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.40): tracing 0.1.40 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-0.1.39...tracing-0.1.40) This release fixes a potential stack use-after-free in the `Instrument::into_inner` method. Only uses of this method are affected by this bug. ##### Fixed - Use `mem::ManuallyDrop` instead of `mem::forget` in `Instrument::into_inner` ([#&#8203;2765]) [#&#8203;2765]: https://github.com/tokio-rs/tracing/pull/2765 Thanks to [@&#8203;cramertj](https://github.com/cramertj) and [@&#8203;manishearth](https://github.com/manishearth) for finding and fixing this issue! ### [`v0.1.39`](https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.39): tracing 0.1.39 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-0.1.38...tracing-0.1.39) This release adds several additional features to the `tracing` macros. In addition, it updates the `tracing-core` dependency to [v0.1.32][core-0.1.32] and the `tracing-attributes` dependency to [v0.1.27][attrs-0.1.27]. ##### Added - Allow constant field names in macros ([#&#8203;2617]) - Allow setting event names in macros ([#&#8203;2699]) - **core**: Allow `ValueSet`s of any length ([#&#8203;2508]) ##### Changed - `tracing-attributes`: updated to [0.1.27][attrs-0.1.27] - `tracing-core`: updated to [0.1.32][core-0.1.32] - **attributes**: Bump minimum version of proc-macro2 to 1.0.60 ([#&#8203;2732]) - **attributes**: Generate less dead code for async block return type hint ([#&#8203;2709]) ##### Fixed - Use fully qualified names in macros for items exported from std prelude ([#&#8203;2621], [#&#8203;2757]) - **attributes**: Allow \[`clippy::let_with_type_underscore`] in macro-generated code (\[[#&#8203;2609](https://github.com/tokio-rs/tracing/issues/2609)]) - **attributes**: Allow `unknown_lints` in macro-generated code ([#&#8203;2626]) - **attributes**: Fix a compilation error in `#[instrument]` when the `"log"` feature is enabled ([#&#8203;2599]) ##### Documented - Add `axum-insights` to relevant crates. ([#&#8203;2713]) - Fix link to RAI pattern crate documentation (\[[#&#8203;2612](https://github.com/tokio-rs/tracing/issues/2612)]) - Fix docs typos and warnings ([#&#8203;2581]) - Add `clippy-tracing` to related crates ([#&#8203;2628]) - Add `tracing-cloudwatch` to related crates ([#&#8203;2667]) - Fix deadlink to `tracing-etw` repo ([#&#8203;2602]) [#&#8203;2617]: https://github.com/tokio-rs/tracing/pull/2617 [#&#8203;2699]: https://github.com/tokio-rs/tracing/pull/2699 [#&#8203;2508]: https://github.com/tokio-rs/tracing/pull/2508 [#&#8203;2621]: https://github.com/tokio-rs/tracing/pull/2621 [#&#8203;2713]: https://github.com/tokio-rs/tracing/pull/2713 [#&#8203;2581]: https://github.com/tokio-rs/tracing/pull/2581 [#&#8203;2628]: https://github.com/tokio-rs/tracing/pull/2628 [#&#8203;2667]: https://github.com/tokio-rs/tracing/pull/2667 [#&#8203;2602]: https://github.com/tokio-rs/tracing/pull/2602 [#&#8203;2626]: https://github.com/tokio-rs/tracing/pull/2626 [#&#8203;2757]: https://github.com/tokio-rs/tracing/pull/2757 [#&#8203;2732]: https://github.com/tokio-rs/tracing/pull/2732 [#&#8203;2709]: https://github.com/tokio-rs/tracing/pull/2709 [#&#8203;2599]: https://github.com/tokio-rs/tracing/pull/2599 [`let_with_type_underscore`]: http://rust-lang.github.io/rust-clippy/rust-1.70.0/index.html#let_with_type_underscore [attrs-0.1.27]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.27 [core-0.1.32]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.32 ### [`v0.1.38`](https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.38): tracing 0.1.38 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-0.1.37...tracing-0.1.38) This `tracing` release changes the `Drop` implementation for `Instrumented` `Future`s so that the attached `Span` is entered when dropping the `Future`. This means that events emitted by the `Future`'s `Drop` implementation will now be recorded within its `Span`. It also adds `#[inline]` hints to methods called in the `event!` macro's expansion, for an improvement in both binary size and performance. Additionally, this release updates the `tracing-attributes` dependency to [v0.1.24][attrs-0.1.24], which updates the [`syn`][syn] dependency to v2.x.x. `tracing-attributes` v0.1.24 also includes improvements to the `#[instrument]` macro; see [the `tracing-attributes` 0.1.24 release notes][attrs-0.1.24] for details. ##### Added - `Instrumented` futures will now enter the attached `Span` in their `Drop` implementation, allowing events emitted when dropping the future to occur within the span ([#&#8203;2562](https://github.com/tokio-rs/tracing/issues/2562)) - `#[inline]` attributes for methods called by the `event!` macros, making generated code smaller ([#&#8203;2555](https://github.com/tokio-rs/tracing/issues/2555)) - **attributes**: `level` argument to `#[instrument(err)]` and `#[instrument(ret)]` to override the level of the generated return value event ([#&#8203;2335](https://github.com/tokio-rs/tracing/issues/2335)) - **attributes**: Improved compiler error message when `#[instrument]` is added to a `const fn` ([#&#8203;2418](https://github.com/tokio-rs/tracing/issues/2418)) ##### Changed - `tracing-attributes`: updated to [0.1.24][attrs-0.1.24] - Removed unneeded `cfg-if` dependency ([#&#8203;2553](https://github.com/tokio-rs/tracing/issues/2553)) - **attributes**: Updated [`syn`][syn] dependency to 2.0 ([#&#8203;2516](https://github.com/tokio-rs/tracing/issues/2516)) ##### Fixed - **attributes**: Fix `clippy::unreachable` warnings in `#[instrument]`-generated code ([#&#8203;2356](https://github.com/tokio-rs/tracing/issues/2356)) - **attributes**: Removed unused "visit" feature flag from `syn` dependency ([#&#8203;2530](https://github.com/tokio-rs/tracing/issues/2530)) ##### Documented - **attributes**: Documented default level for `#[instrument(err)]` ([#&#8203;2433](https://github.com/tokio-rs/tracing/issues/2433)) - **attributes**: Improved documentation for levels in `#[instrument]` ([#&#8203;2350](https://github.com/tokio-rs/tracing/issues/2350)) Thanks to [@&#8203;nitnelave](https://github.com/nitnelave), [@&#8203;jsgf](https://github.com/jsgf), [@&#8203;Abhicodes-crypto](https://github.com/Abhicodes-crypto), [@&#8203;LukeMathWalker](https://github.com/LukeMathWalker), [@&#8203;andrewpollack](https://github.com/andrewpollack), [@&#8203;quad](https://github.com/quad), [@&#8203;klensy](https://github.com/klensy), [@&#8203;davidpdrsn](https://github.com/davidpdrsn), [@&#8203;dbidwell94](https://github.com/dbidwell94), [@&#8203;ldm0](https://github.com/ldm0), [@&#8203;NobodyXu](https://github.com/NobodyXu), [@&#8203;ilsv](https://github.com/ilsv), and [@&#8203;daxpedda](https://github.com/daxpedda) for contributing to this release! [`syn`]: https://crates.io/crates/syn [attrs-0.1.24]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.24 ### [`v0.1.37`](https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.37): tracing 0.1.37 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-0.1.36...tracing-0.1.37) This release of `tracing` incorporates changes from `tracing-core` [v0.1.30][core-0.1.30] and `tracing-attributes` [v0.1.23][attrs-0.1.23], including the new `Subscriber::on_register_dispatch` method for performing late initialization after a `Subscriber` is registered as a `Dispatch`, and bugfixes for the `#[instrument]` attribute. Additionally, it fixes instances of the `bare_trait_objects` lint, which is now a warning on `tracing`'s MSRV and will become an error in the next edition. ##### Fixed - **attributes**: Incorrect handling of inner attributes in `#[instrument]`ed functions ([#&#8203;2307]) - **attributes**: Incorrect location of compiler diagnostic spans generated for type errors in `#[instrument]`ed `async fn`s ([#&#8203;2270]) - **attributes**: Updated `syn` dependency to fix compilation with `-Z minimal-versions` ([#&#8203;2246]) - `bare_trait_objects` warning in `valueset!` macro expansion ([#&#8203;2308]) ##### Added - **core**: `Subscriber::on_register_dispatch` method ([#&#8203;2269]) - **core**: `WeakDispatch` type and `Dispatch::downgrade()` function ([#&#8203;2293]) ##### Changed - `tracing-core`: updated to [0.1.30][core-0.1.30] - `tracing-attributes`: updated to [0.1.23][attrs-0.1.23] ##### Documented - Added [`tracing-web`][tracing-web] and [`reqwest-tracing`][reqwest-tracing] to related crates ([#&#8203;2283], [#&#8203;2331]) Thanks to new contributors [@&#8203;compiler-errors](https://github.com/compiler-errors), [@&#8203;e-nomem](https://github.com/e-nomem), [@&#8203;WorldSEnder](https://github.com/WorldSEnder), [@&#8203;Xiami2012](https://github.com/Xiami2012), and [@&#8203;tl-rodrigo-gryzinski](https://github.com/tl-rodrigo-gryzinski), as well as [@&#8203;jswrenn](https://github.com/jswrenn) and [@&#8203;CAD97](https://github.com/CAD97), for contributing to this release! [core-0.1.30]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.30 [attrs-0.1.23]: https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.23 [`tracing-web`]: https://crates.io/crates/tracing-web/ [`reqwest-tracing`]: https://crates.io/crates/reqwest-tracing/ [#&#8203;2246]: https://github.com/tokio-rs/tracing/pull/2246 [#&#8203;2269]: https://github.com/tokio-rs/tracing/pull/2269 [#&#8203;2283]: https://github.com/tokio-rs/tracing/pull/2283 [#&#8203;2270]: https://github.com/tokio-rs/tracing/pull/2270 [#&#8203;2293]: https://github.com/tokio-rs/tracing/pull/2293 [#&#8203;2307]: https://github.com/tokio-rs/tracing/pull/2307 [#&#8203;2308]: https://github.com/tokio-rs/tracing/pull/2308 [#&#8203;2331]: https://github.com/tokio-rs/tracing/pull/2331 </details> <details> <summary>uuid-rs/uuid</summary> ### [`v1.8.0`](https://github.com/uuid-rs/uuid/releases/tag/1.8.0) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.7.0...1.8.0) #### ⚠️ Potential Breakage ⚠️ A new `impl AsRef<Uuid> for Uuid` bound has been added, which can break inference on code like: ```rust let b = uuid.as_ref(); ``` You can fix these by explicitly typing the result of the conversion: ```rust let b: &[u8] = uuid.as_ref(); ``` or by calling `as_bytes` instead: ```rust let b = uuid.as_bytes(); ``` #### What's Changed - docs: fix small spelling mistake by [@&#8203;bengsparks](https://github.com/bengsparks) in https://github.com/uuid-rs/uuid/pull/737 - serde serialize_with support by [@&#8203;dakaizou](https://github.com/dakaizou) in https://github.com/uuid-rs/uuid/pull/735 - Fix up CI builds by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/744 - Only add `wasm-bindgen` as a dependency on `wasm32-unknown-unknown` by [@&#8203;emilk](https://github.com/emilk) in https://github.com/uuid-rs/uuid/pull/738 - impl AsRef<Uuid> for Uuid by [@&#8203;koshell](https://github.com/koshell) in https://github.com/uuid-rs/uuid/pull/743 - Add v6 to v8 draft link to README by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/746 - Add a workflow for running cargo outdated by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/745 - Prepare for 1.8.0 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/747 #### New Contributors - [@&#8203;bengsparks](https://github.com/bengsparks) made their first contribution in https://github.com/uuid-rs/uuid/pull/737 - [@&#8203;dakaizou](https://github.com/dakaizou) made their first contribution in https://github.com/uuid-rs/uuid/pull/735 - [@&#8203;emilk](https://github.com/emilk) made their first contribution in https://github.com/uuid-rs/uuid/pull/738 - [@&#8203;koshell](https://github.com/koshell) made their first contribution in https://github.com/uuid-rs/uuid/pull/743 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.7.0...1.8.0 ### [`v1.7.0`](https://github.com/uuid-rs/uuid/releases/tag/1.7.0) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.6.1...1.7.0) #### What's Changed - Add missing test for invalid parse_str by [@&#8203;CXWorks](https://github.com/CXWorks) in https://github.com/uuid-rs/uuid/pull/723 - Upgrade borsh unstable dependency to v1.0 and make it stable by [@&#8203;bgeron](https://github.com/bgeron) in https://github.com/uuid-rs/uuid/pull/724 - Reduce the package size of uuid by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/726 - Make use of newer Cargo features for specifying dependencies by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/727 - Prepare for 1.7.0 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/728 #### New Contributors - [@&#8203;CXWorks](https://github.com/CXWorks) made their first contribution in https://github.com/uuid-rs/uuid/pull/723 - [@&#8203;bgeron](https://github.com/bgeron) made their first contribution in https://github.com/uuid-rs/uuid/pull/724 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.6.1...1.7.0 ### [`v1.6.1`](https://github.com/uuid-rs/uuid/releases/tag/1.6.1) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.6.0...1.6.1) #### What's Changed - Fix uuid macro in consts by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/721 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.6.0...1.6.1 ### [`v1.6.0`](https://github.com/uuid-rs/uuid/releases/tag/1.6.0) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.5.0...1.6.0) #### What's Changed - doc: fix links in v6 module by [@&#8203;metalalive](https://github.com/metalalive) in https://github.com/uuid-rs/uuid/pull/714 - Stabilize UUIDv6-v8 support by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/718 - Prepare for 1.6.0 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/719 #### New Contributors - [@&#8203;metalalive](https://github.com/metalalive) made their first contribution in https://github.com/uuid-rs/uuid/pull/714 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.5.0...1.6.0 ### [`v1.5.0`](https://github.com/uuid-rs/uuid/releases/tag/1.5.0) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.4.1...1.5.0) #### What's Changed - Add impl From<Uuid> for String under the std feature flag by [@&#8203;brahms116](https://github.com/brahms116) in https://github.com/uuid-rs/uuid/pull/700 - Remove dead link to templates by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/704 - make ClockSequence wrap correctly by [@&#8203;fef1312](https://github.com/fef1312) in https://github.com/uuid-rs/uuid/pull/705 - Track MSRV in Cargo.toml by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/706 - Support converting between Uuid and vec by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/703 - Replace MIPS with Miri and add clippy to CI by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/712 - Added `bytemuck` support by [@&#8203;John-Toohey](https://github.com/John-Toohey) in https://github.com/uuid-rs/uuid/pull/711 - Prepare for 1.5.0 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/713 #### New Contributors - [@&#8203;brahms116](https://github.com/brahms116) made their first contribution in https://github.com/uuid-rs/uuid/pull/700 - [@&#8203;fef1312](https://github.com/fef1312) made their first contribution in https://github.com/uuid-rs/uuid/pull/705 - [@&#8203;John-Toohey](https://github.com/John-Toohey) made their first contribution in https://github.com/uuid-rs/uuid/pull/711 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.4.1...1.5.0 ### [`v1.4.1`](https://github.com/uuid-rs/uuid/releases/tag/1.4.1) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1) #### What's Changed - Fix macro hygiene by [@&#8203;teohhanhui](https://github.com/teohhanhui) in https://github.com/uuid-rs/uuid/pull/694 - Add #\[inline] for Uuid::from_bytes\[\_ref] and Uuid::{as,into}\_bytes by [@&#8203;jrose-signal](https://github.com/jrose-signal) in https://github.com/uuid-rs/uuid/pull/693 - Print uuids in examples by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/697 - Prepare for 1.4.1 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/698 #### New Contributors - [@&#8203;teohhanhui](https://github.com/teohhanhui) made their first contribution in https://github.com/uuid-rs/uuid/pull/694 - [@&#8203;jrose-signal](https://github.com/jrose-signal) made their first contribution in https://github.com/uuid-rs/uuid/pull/693 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1 ### [`v1.4.0`](https://github.com/uuid-rs/uuid/releases/tag/1.4.0) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.3.4...1.4.0) #### What's Changed - Fixed wasm tests not running due to incorrect attribute target by [@&#8203;kmusick](https://github.com/kmusick) in https://github.com/uuid-rs/uuid/pull/688 - Fixing issue with Cloudflare Workers and wasm32-unknown-unknown when using now() by [@&#8203;kmusick](https://github.com/kmusick) in https://github.com/uuid-rs/uuid/pull/690 - Add `borsh` support by [@&#8203;grovesNL](https://github.com/grovesNL) in https://github.com/uuid-rs/uuid/pull/686 - Fix some timestamp generation by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/691 - Prepare for 1.4.0 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/692 #### New Contributors - [@&#8203;kmusick](https://github.com/kmusick) made their first contribution in https://github.com/uuid-rs/uuid/pull/688 - [@&#8203;grovesNL](https://github.com/grovesNL) made their first contribution in https://github.com/uuid-rs/uuid/pull/686 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.3.4...1.4.0 ### [`v1.3.4`](https://github.com/uuid-rs/uuid/releases/tag/1.3.4) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.3.3...1.3.4) #### What's Changed - Add `wasm32-wasi` support with tests by [@&#8203;acfoltzer](https://github.com/acfoltzer) in https://github.com/uuid-rs/uuid/pull/677 - Fix up MSRV build in CI by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/679 - fix: keep the order when filling random bytes by [@&#8203;Hanaasagi](https://github.com/Hanaasagi) in https://github.com/uuid-rs/uuid/pull/682 - Prepare for 1.3.4 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/683 #### New Contributors - [@&#8203;acfoltzer](https://github.com/acfoltzer) made their first contribution in https://github.com/uuid-rs/uuid/pull/677 - [@&#8203;Hanaasagi](https://github.com/Hanaasagi) made their first contribution in https://github.com/uuid-rs/uuid/pull/682 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.3.3...1.3.4 ### [`v1.3.3`](https://github.com/uuid-rs/uuid/releases/tag/1.3.3) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.3.2...1.3.3) #### What's Changed - Use sha hash for checkout action and remove others by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/671 - Hard deprecate Timestamp::to_unix_nanos by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/673 - Prepare for 1.3.3 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/674 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.3.2...1.3.3 ### [`v1.3.2`](https://github.com/uuid-rs/uuid/releases/tag/1.3.2) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.3.1...1.3.2) #### What's Changed - Create SECURITY.md by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/668 - Faster as_u128 and to_u128\_le by [@&#8203;pkoenig10](https://github.com/pkoenig10) in https://github.com/uuid-rs/uuid/pull/669 - prepare for 1.3.2 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/670 #### New Contributors - [@&#8203;pkoenig10](https://github.com/pkoenig10) made their first contribution in https://github.com/uuid-rs/uuid/pull/669 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.3.1...1.3.2 ### [`v1.3.1`](https://github.com/uuid-rs/uuid/releases/tag/1.3.1) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1) #### What's Changed - Update syn requirement from 1.0.80 to 2.0.5 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/uuid-rs/uuid/pull/663 - Update windows-sys requirement from 0.45.0 to 0.48.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/uuid-rs/uuid/pull/665 - remove some extra chars in a comment by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/666 - Prepare for 1.3.1 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/667 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1 ### [`v1.3.0`](https://github.com/uuid-rs/uuid/releases/tag/1.3.0) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.2.2...1.3.0) #### What's Changed - Fix error message. by [@&#8203;basbossink-ds](https://github.com/basbossink-ds) in https://github.com/uuid-rs/uuid/pull/656 - implement Arbitrary::size_hint by [@&#8203;Ekleog](https://github.com/Ekleog) in https://github.com/uuid-rs/uuid/pull/657 - Always use hyphenated format regardless of flags by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/658 - Update windows-sys requirement from 0.42.0 to 0.45.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/uuid-rs/uuid/pull/654 - Prepare for 1.3.0 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/659 #### New Contributors - [@&#8203;basbossink-ds](https://github.com/basbossink-ds) made their first contribution in https://github.com/uuid-rs/uuid/pull/656 - [@&#8203;Ekleog](https://github.com/Ekleog) made their first contribution in https://github.com/uuid-rs/uuid/pull/657 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.2.2...1.3.0 ### [`v1.2.2`](https://github.com/uuid-rs/uuid/releases/tag/1.2.2) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2) #### What's Changed - CI Cleanups by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/640 - Remove extern crate alloc by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/645 - Prepare for 1.2.2 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/646 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2 ### [`v1.2.1`](https://github.com/uuid-rs/uuid/releases/tag/1.2.1) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.2.0...1.2.1) #### What's Changed - Fix up lost re-export of v1 Timestamp by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/636 - Prepare for 1.2.1 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/637 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.2.0...1.2.1 ### [`v1.2.0`](https://github.com/uuid-rs/uuid/releases/tag/1.2.0) [Compare Source](https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.0) #### What's Changed - formatting changes by [@&#8203;pintariching](https://github.com/pintariching) in https://github.com/uuid-rs/uuid/pull/610 - Remove outdated Travis CI reference by [@&#8203;atouchet](https://github.com/atouchet) in https://github.com/uuid-rs/uuid/pull/616 - refactors Timestamp, Context and ClockSequence, and adds UUIDS v6, v7, v8 by [@&#8203;rrichardson](https://github.com/rrichardson) in https://github.com/uuid-rs/uuid/pull/611 - migrate from winapi to windows_sys in examples by [@&#8203;sn99](https://github.com/sn99) in https://github.com/uuid-rs/uuid/pull/626 - Update windows-sys requirement from 0.36.1 to 0.42.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/uuid-rs/uuid/pull/628 - Some work on the new version features by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/625 - Implement now in wasm by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/630 - More work on docs by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/631 - hide draft versions behind the unstable cfg by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/633 - Prepare for 1.2.0 release by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/uuid-rs/uuid/pull/634 #### New Contributors - [@&#8203;pintariching](https://github.com/pintariching) made their first contribution in https://github.com/uuid-rs/uuid/pull/610 - [@&#8203;atouchet](https://github.com/atouchet) made their first contribution in https://github.com/uuid-rs/uuid/pull/616 - [@&#8203;sn99](https://github.com/sn99) made their first contribution in https://github.com/uuid-rs/uuid/pull/626 **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.0 </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:eyJjcmVhdGVkSW5WZXIiOiIzMi4yNDEuMTEiLCJ1cGRhdGVkSW5WZXIiOiIzNC4xNjAuMCJ9-->
kjuulh force-pushed renovate/all from 13ee3f7529 to 7613d0c3ba 2022-11-15 17:59:33 +01:00 Compare
kjuulh force-pushed renovate/all from 7613d0c3ba to 42e4b4f0f3 2022-11-18 22:52:27 +01:00 Compare
kjuulh force-pushed renovate/all from 42e4b4f0f3 to b9af9dc9a1 2022-11-26 13:39:38 +01:00 Compare
kjuulh force-pushed renovate/all from b9af9dc9a1 to 9211832ae5 2022-12-01 20:13:59 +01:00 Compare
kjuulh force-pushed renovate/all from 9211832ae5 to 9ba312da0a 2022-12-02 15:45:17 +01:00 Compare
kjuulh force-pushed renovate/all from 9ba312da0a to 3ad85705aa 2022-12-06 19:43:59 +01:00 Compare
kjuulh force-pushed renovate/all from 3ad85705aa to 6d7b8df782 2022-12-07 16:10:46 +01:00 Compare
kjuulh force-pushed renovate/all from 6d7b8df782 to 5937884e6f 2022-12-18 12:03:07 +01:00 Compare
kjuulh force-pushed renovate/all from 5937884e6f to 203d0834df 2022-12-18 18:28:02 +01:00 Compare
kjuulh force-pushed renovate/all from 203d0834df to 548462712a 2023-01-03 17:13:32 +01:00 Compare
kjuulh force-pushed renovate/all from 548462712a to 9f81a1f17b 2023-01-04 20:31:37 +01:00 Compare
kjuulh force-pushed renovate/all from 9f81a1f17b to 70d9c08f38 2023-01-05 20:30:39 +01:00 Compare
kjuulh force-pushed renovate/all from 70d9c08f38 to 680499c8a0 2023-01-06 12:12:12 +01:00 Compare
kjuulh force-pushed renovate/all from 680499c8a0 to 8a762facf1 2023-01-09 14:26:00 +01:00 Compare
kjuulh force-pushed renovate/all from 8a762facf1 to 96700de17a 2023-01-17 22:02:42 +01:00 Compare
kjuulh force-pushed renovate/all from 96700de17a to 18f70abeb9 2023-01-21 00:47:38 +01:00 Compare
kjuulh force-pushed renovate/all from 18f70abeb9 to 8003cc301d 2023-01-24 14:38:57 +01:00 Compare
kjuulh force-pushed renovate/all from 8003cc301d to 197ab4051b 2023-01-30 07:35:34 +01:00 Compare
kjuulh force-pushed renovate/all from 197ab4051b to 3d76dc590b 2023-02-01 13:07:49 +01:00 Compare
kjuulh force-pushed renovate/all from 3d76dc590b to 17abd7e98b 2023-02-05 12:07:22 +01:00 Compare
kjuulh force-pushed renovate/all from 17abd7e98b to fe7512bd93 2023-02-11 10:23:30 +01:00 Compare
kjuulh force-pushed renovate/all from fe7512bd93 to 07d3c21692 2023-02-11 23:24:39 +01:00 Compare
kjuulh force-pushed renovate/all from 07d3c21692 to 2ccefc5cfb 2023-02-12 12:58:37 +01:00 Compare
kjuulh force-pushed renovate/all from 2ccefc5cfb to fb07c31b26 2023-02-17 15:42:37 +01:00 Compare
kjuulh force-pushed renovate/all from fb07c31b26 to ddce213fa5 2023-02-25 00:09:07 +01:00 Compare
kjuulh force-pushed renovate/all from ddce213fa5 to b43c487555 2023-02-27 20:13:19 +01:00 Compare
kjuulh force-pushed renovate/all from b43c487555 to b96bda3368 2023-03-02 08:06:07 +01:00 Compare
kjuulh force-pushed renovate/all from b96bda3368 to 2ec49e888a 2023-03-03 18:48:15 +01:00 Compare
kjuulh force-pushed renovate/all from 2ec49e888a to 685db66d10 2023-03-13 18:04:56 +01:00 Compare
kjuulh force-pushed renovate/all from 685db66d10 to 7b85031660 2023-03-18 10:42:04 +01:00 Compare
kjuulh force-pushed renovate/all from 7b85031660 to 082632c589 2023-03-22 16:47:27 +01:00 Compare
kjuulh force-pushed renovate/all from 082632c589 to df9d6ae499 2023-03-25 11:19:45 +01:00 Compare
kjuulh force-pushed renovate/all from df9d6ae499 to 6ec01fcddb 2023-03-28 00:10:18 +02:00 Compare
kjuulh force-pushed renovate/all from 6ec01fcddb to fd2fb8ded9 2023-04-09 16:01:39 +02:00 Compare
kjuulh force-pushed renovate/all from fd2fb8ded9 to 47e10709f0 2023-04-11 17:40:04 +02:00 Compare
kjuulh force-pushed renovate/all from 47e10709f0 to 92a722f373 2023-04-11 19:53:26 +02:00 Compare
kjuulh force-pushed renovate/all from 92a722f373 to 596e66c144 2023-04-12 17:16:19 +02:00 Compare
kjuulh force-pushed renovate/all from 596e66c144 to 5f7edc12ea 2023-04-18 21:09:09 +02:00 Compare
kjuulh force-pushed renovate/all from 5f7edc12ea to 2b18e72f26 2023-04-22 10:02:12 +02:00 Compare
kjuulh force-pushed renovate/all from 2b18e72f26 to d02fc058a7 2023-04-26 21:50:24 +02:00 Compare
kjuulh force-pushed renovate/all from d02fc058a7 to fee0aa7bb7 2023-04-29 12:13:02 +02:00 Compare
kjuulh force-pushed renovate/all from fee0aa7bb7 to 351ac9f76c 2023-04-29 21:41:46 +02:00 Compare
kjuulh force-pushed renovate/all from 351ac9f76c to 6cdefd94d4 2023-04-30 13:58:52 +02:00 Compare
kjuulh force-pushed renovate/all from 6cdefd94d4 to 324327a53c 2023-05-09 13:45:01 +02:00 Compare
kjuulh force-pushed renovate/all from 324327a53c to 7a81246e6b 2023-05-10 12:09:46 +02:00 Compare
kjuulh force-pushed renovate/all from 7a81246e6b to a65d37ef27 2023-05-15 11:47:08 +02:00 Compare
kjuulh force-pushed renovate/all from a65d37ef27 to 6ec027b721 2023-05-25 07:16:30 +02:00 Compare
kjuulh force-pushed renovate/all from 6ec027b721 to dadf7288d5 2023-05-27 23:31:54 +02:00 Compare
kjuulh force-pushed renovate/all from dadf7288d5 to cb89ec4e9d 2023-06-07 23:48:20 +02:00 Compare
kjuulh force-pushed renovate/all from cb89ec4e9d to 3435ae24fa 2023-06-13 07:53:46 +02:00 Compare
kjuulh force-pushed renovate/all from 3435ae24fa to 8160d136a8 2023-06-20 10:53:19 +02:00 Compare
kjuulh force-pushed renovate/all from 8160d136a8 to 019e172f2e 2023-06-27 23:52:53 +02:00 Compare
kjuulh force-pushed renovate/all from 019e172f2e to 5bfc58b7d9 2023-06-30 00:30:57 +02:00 Compare
kjuulh force-pushed renovate/all from 5bfc58b7d9 to d70827b685 2023-07-03 23:48:13 +02:00 Compare
kjuulh force-pushed renovate/all from d70827b685 to 6104971cdf 2023-07-23 12:34:56 +02:00 Compare
kjuulh force-pushed renovate/all from 6104971cdf to 5d1f9540c1 2023-07-29 10:22:30 +02:00 Compare
kjuulh force-pushed renovate/all from 5d1f9540c1 to 8e58d0110a 2023-08-02 08:54:00 +02:00 Compare
kjuulh force-pushed renovate/all from 8e58d0110a to c5075ae74d 2023-08-03 20:26:43 +02:00 Compare
kjuulh force-pushed renovate/all from c5075ae74d to 00229858ee 2023-08-09 17:58:44 +02:00 Compare
kjuulh force-pushed renovate/all from 00229858ee to 76b75df93e 2023-08-12 18:50:03 +02:00 Compare
kjuulh force-pushed renovate/all from 76b75df93e to 388c7ba9cc 2023-08-15 09:24:25 +02:00 Compare
kjuulh force-pushed renovate/all from 388c7ba9cc to bbb872b545 2023-08-15 16:04:59 +02:00 Compare
kjuulh force-pushed renovate/all from bbb872b545 to 0396e8210c 2023-08-15 18:07:20 +02:00 Compare
kjuulh force-pushed renovate/all from 0396e8210c to bb63bdfe47 2023-08-16 23:44:56 +02:00 Compare
kjuulh force-pushed renovate/all from bb63bdfe47 to a124d8f0a7 2023-08-17 03:39:56 +02:00 Compare
kjuulh force-pushed renovate/all from a124d8f0a7 to 2709420165 2023-08-20 06:34:10 +02:00 Compare
kjuulh force-pushed renovate/all from 2709420165 to 30d1b62d50 2023-09-01 17:34:05 +02:00 Compare
kjuulh force-pushed renovate/all from 30d1b62d50 to df6bba8e67 2023-09-01 18:38:56 +02:00 Compare
kjuulh force-pushed renovate/all from df6bba8e67 to 04029e2919 2023-09-07 03:30:16 +02:00 Compare
kjuulh force-pushed renovate/all from 04029e2919 to 9ec5e02e95 2023-09-23 05:01:07 +02:00 Compare
kjuulh force-pushed renovate/all from 9ec5e02e95 to 773fbc789c 2023-10-09 12:04:47 +02:00 Compare
kjuulh force-pushed renovate/all from 773fbc789c to 986e226d1e 2023-10-14 01:07:33 +02:00 Compare
kjuulh force-pushed renovate/all from 986e226d1e to e168db25dd 2023-10-18 15:56:17 +02:00 Compare
kjuulh force-pushed renovate/all from e168db25dd to f0ee52574e 2023-10-19 03:34:32 +02:00 Compare
kjuulh force-pushed renovate/all from f0ee52574e to 84b0df3faf 2023-10-21 07:31:50 +02:00 Compare
kjuulh force-pushed renovate/all from 84b0df3faf to 1ce9537c57 2023-11-04 08:19:40 +01:00 Compare
kjuulh force-pushed renovate/all from 1ce9537c57 to a22ff91e1d 2023-11-09 21:04:55 +01:00 Compare
kjuulh force-pushed renovate/all from a22ff91e1d to 930659cdbd 2023-11-13 18:34:34 +01:00 Compare
kjuulh force-pushed renovate/all from 930659cdbd to 140d823435 2023-11-19 08:25:21 +01:00 Compare
kjuulh force-pushed renovate/all from 140d823435 to 11f31de382 2023-11-20 01:57:42 +01:00 Compare
kjuulh force-pushed renovate/all from 11f31de382 to dd37a90341 2023-11-20 12:46:51 +01:00 Compare
kjuulh force-pushed renovate/all from dd37a90341 to 81e432ac6b 2023-11-21 16:02:30 +01:00 Compare
kjuulh force-pushed renovate/all from 81e432ac6b to 6b71add5a5 2023-11-27 09:57:12 +01:00 Compare
kjuulh force-pushed renovate/all from 6b71add5a5 to 39a1c9df3e 2023-11-27 10:22:16 +01:00 Compare
kjuulh force-pushed renovate/all from 39a1c9df3e to 3fe619717b 2023-12-04 09:45:03 +01:00 Compare
kjuulh force-pushed renovate/all from 3fe619717b to 8f80652696 2023-12-09 00:18:22 +01:00 Compare
kjuulh force-pushed renovate/all from 8f80652696 to 7219fe3580 2023-12-19 19:16:23 +01:00 Compare
kjuulh force-pushed renovate/all from 7219fe3580 to a2f1d29ace 2023-12-21 02:18:16 +01:00 Compare
kjuulh force-pushed renovate/all from a2f1d29ace to e2934aed79 2023-12-27 01:04:54 +01:00 Compare
kjuulh force-pushed renovate/all from e2934aed79 to 21cbee2820 2023-12-29 18:08:15 +01:00 Compare
kjuulh force-pushed renovate/all from 21cbee2820 to 77db616f8f 2023-12-31 00:12:13 +01:00 Compare
kjuulh force-pushed renovate/all from 77db616f8f to 6a3e10b685 2024-01-02 05:52:06 +01:00 Compare
kjuulh force-pushed renovate/all from 6a3e10b685 to 418ed31ddf 2024-01-06 03:45:57 +01:00 Compare
kjuulh force-pushed renovate/all from 418ed31ddf to 86b9bed24b 2024-01-13 15:07:02 +01:00 Compare
kjuulh force-pushed renovate/all from 86b9bed24b to 2bbcd777c4 2024-01-14 22:27:51 +01:00 Compare
kjuulh force-pushed renovate/all from 2bbcd777c4 to 812835ced2 2024-01-19 01:35:48 +01:00 Compare
kjuulh force-pushed renovate/all from 812835ced2 to 4c3af0267d 2024-01-21 03:47:13 +01:00 Compare
kjuulh force-pushed renovate/all from 4c3af0267d to 6773837055 2024-02-02 14:10:15 +01:00 Compare
kjuulh force-pushed renovate/all from 6773837055 to 726a2d8852 2024-02-18 09:47:27 +01:00 Compare
kjuulh force-pushed renovate/all from 726a2d8852 to 35eefbdeea 2024-02-19 05:59:57 +01:00 Compare
kjuulh force-pushed renovate/all from 35eefbdeea to 799bdb6baf 2024-02-23 09:41:28 +01:00 Compare
kjuulh force-pushed renovate/all from 799bdb6baf to fb7a4bf40f 2024-03-12 04:53:03 +01:00 Compare
kjuulh force-pushed renovate/all from fb7a4bf40f to 7b24e83860 2024-03-16 09:01:16 +01:00 Compare
kjuulh force-pushed renovate/all from 7b24e83860 to 57198f7be3 2024-03-19 01:52:39 +01:00 Compare
kjuulh force-pushed renovate/all from 57198f7be3 to d1a7b0a872 2024-03-24 21:05:41 +01:00 Compare
kjuulh force-pushed renovate/all from d1a7b0a872 to 51c850916e 2024-03-28 18:19:57 +01:00 Compare
kjuulh force-pushed renovate/all from 51c850916e to 94ae4d53d3 2024-04-05 21:07:45 +02:00 Compare
kjuulh added 1 commit 2024-04-05 21:10:27 +02:00
feat: fix tests
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
e8f23d2322
Signed-off-by: kjuulh <contact@kjuulh.io>
kjuulh merged commit d66f259469 into main 2024-04-05 21:11:37 +02:00
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/cibus-backend#10
No description provided.