fix(deps): update all dependencies #10
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/all"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.0.60->1.0.814.0.6->7.0.30.5.13->0.7.50.6->0.71.20.1->1.37.00.3.4->0.5.20.1.36->0.1.400.3.15->0.3.181.1.2->1.8.0Release Notes
dtolnay/anyhow
v1.0.81Compare Source
v1.0.80Compare Source
v1.0.79Compare Source
v1.0.78Compare Source
v1.0.77Compare Source
anyhow::Error::backtraceavailable on stable Rust compilers 1.65+ (#293, thanks @LukasKalbertodt)v1.0.76Compare Source
unsafe_op_in_unsafe_fnlint (#329)v1.0.75Compare Source
v1.0.74Compare Source
v1.0.73Compare Source
v1.0.72Compare Source
v1.0.71Compare Source
v1.0.70Compare Source
v1.0.69Compare Source
v1.0.68Compare Source
-Zrustdoc-scrape-exampleson docs.rs for nowv1.0.67Compare Source
context()is used on anOption(#280)v1.0.66Compare Source
contextcall (#279)v1.0.65Compare Source
impl Provider for anyhow::Errorv1.0.64Compare Source
#[source] anyhow::Errorwith thiserror crate (#231)v1.0.63Compare Source
v1.0.62Compare Source
cargoinvocations with IDE builds (#261)v1.0.61Compare Source
async-graphql/async-graphql
v7.0.3type_nameofEmptySubscriptionfix #1435 #1475Request::set_parsed_querymethod #1483NextExecute::run_with_datamethod to attach context data before executionv7.0.2#[derive(OneofObject)]rejecting enums where the type comes from a macro subsitution #1473impl Futureinstead ofasync-traitin most traits. #1468base64to0.21#1466v7.0.1ShareableAttribute To InputObjectField #1459v7.0.0http1v6.0.11v0.21.x#1422v6.0.100.20.0#14060.5.0-rc.2to0.5.0-rc.4v6.0.9@composeDirectivein Federation's_servicefield and document#[TypeDirective]#1400v6.0.7v6.0.6v6.0.5ValueAccessor::as_valueandListAccessor::as_values_slicemethods #13531.70.0v6.0.4multipart/mixedrequest. #1348GraphQLhandler.GraphQLservice.v6.0.3XXXAccessorreturn reference lifetimes that are smaller than expected.OutputTypeimplementation forstd::sync::Weak#1334v6.0.1v0.21.x#1422v6.0.0synfrom1.0to2.0darlingfrom0.14to0.20indexmapfrom1.6.2to2guard,process_with,complexitysupport expression or string as value #1295Dataloader::get_cached_valuesmethod to the dataloader cache so that callers can access the contents of the cache without knowing the keys. #1326Breaking Changes
Since
syn 2.0no longer supports keywords as meta path, rename the parameter used to specify interface field types fromtypetoty.https://github.com/dtolnay/syn/issues/1458
https://github.com/TedDriggs/darling/issues/238
locationof the macroDirectiveto PascalCasev5.0.10CursorScalartype and exposeEdge::cursormember #1302v5.0.9v5.0.81.65.0v5.0.7v5.0.61.64.0v5.0.5v5.0.4DynamicRequestExt::root_valueto specify the root value for the requestCustomValidator::checkreturns error type fromStringtoInputValueError<T>.v5.0.3v5.0.2v5.0.1CursorScalartype and exposeEdge::cursormember #1302v5.0.01.60.00.5.1to0.6.0#1106v4.0.16CustomValidator<T>forF: Fn(&T) -> Result<(), E: Into<String>>validatorattribute toInputObjectmacro #1072v4.0.15SchemaBuilder::disable_suggestionsmethod to disable field suggestions. #1101v4.0.14v4.0.13bson-uuidfeature #1032no_cacheforcache_controlattribute #1051SDLExportOptions::include_specified_bymethod to enablespecifiedBydirective #1065v4.0.121.59.0@specifiedBydirective in SDL export #1041v4.0.11overridedirective on fields #1029@tagsupport #1038v4.0.10request.data(X)being lost in the resolver #1018@shareabledirective support #1025@inaccessibledirective support #1026v4.0.9on_connection_inittakesFnOnceinstead ofFn#1022v4.0.8v4.0.764.tokio-rs/axum
v0.7.5: axum - v0.7.5Compare Source
axum::servedirectly witha
RouterorMethodRouter(#2586)h2is no longer pulled as a dependency unless thehttp2featureis enabled (#2605)
v0.7.4: axum - v0.7.4Compare Source
debug_handleron tuple response types (#2201)must_useattribute toServeandWithGracefulShutdown(#2484)axum_core::body::BodyDataStreamfrom axumv0.7.3: axum - v0.7.3Compare Source
BodyimplementsFrom<()>now (#2411)tracingfeature by default (#2460)serve(#2398)RouterIntoServiceimplementsClone(#2456)v0.7.2: axum - v0.7.2Compare Source
axum::body::to_bytes(#2373)serve(#2400)v0.7.1: axum - v0.7.1Compare Source
v0.7.0: axum - v0.7.0Compare Source
WebSocketUpgrade::max_send_queue(i.e. the
Btype param has been removed) (#1751 and #1789):FromRequestPartsFromRequestHandlerServiceHandlerWithoutStateExtHandlerLayeredFutureLayeredMethodRouterNextRequestExtRouteFutureRouteRouterhyper::Bodyas that type is removedin hyper 1.0. Instead axum has its own body type at
axum::body::Body(#1751)extract::BodyStreamhas been removed asbody::Bodyimplements
StreamandFromRequestdirectly (#1751)sse::Event::json_datato useaxum_core::Erroras its error type (#1762)DefaultOnFailedUpdgradetoDefaultOnFailedUpgrade(#1664)OnFailedUpdgradetoOnFailedUpgrade(#1664)TypedHeaderhas been move toaxum-extra(#1850)EmptyandFull. Useaxum::body::Body::emptyandaxum::body::Body::fromrespectively (#1789)IntoResponse::into_responsemust useaxum::body::Bodyas the body type.axum::response::Responsedoes this(#1789)
BoxBodytype alias and itsbox_bodyconstructor. Use
axum::body::Body::newinstead (#1789)RawBodyextractor.axum::body::BodyimplementsFromRequestdirectly (#1789)http-bodyno longer implementIntoResponse:Full, useBody::frominsteadEmpty, useBody::emptyinsteadBoxBody, useBody::newinsteadUnsyncBoxBody, useBody::newinsteadMapData, useBody::newinsteadMapErr, useBody::newinsteadaxum::extract::Requesttype alias where the body isaxum::body::Body(#1789)Router::as_serviceandRouter::into_serviceto workaroundtype inference issues when calling
ServiceExtmethods on aRouter(#1835)axum::Serveras it was removed in hyper 1.0. Insteaduse
axum::serve(listener, service)or hyper/hyper-util for more configuration options (#1868)Router::nest.Routers nested with
Router::nest_servicewill no longer inherit fallbacks (#1956)Sec-WebSocket-Keyheader inWebSocketUpgrade(#1972)axum::extract::Query::try_from_uri(#2058)IntoResponseforBox<str>andBox<[u8]>([#2035])MethodFilter. It no longer uses bitflags (#2073).source()of composite rejections (#2030)#[debug_handler](#2014)IntoResponsefor(R,) where R: IntoResponse(#2143)NestedPathextractor (#1924)handle_errorfunction to existingServiceExttrait (#2235)impl<T> IntoResponse(Parts) for Extension<T>now requiresT: Clone, as that is required by the http crate (#1882)axum::Json::from_bytes(#2244)FromRequestPartsforhttp::request::Parts(#2328)FromRequestPartsforhttp::Extensions(#2328)DefaultBodyLimitto individual routes (#2157)v0.6.20: axum - v0.6.20Compare Source
WebSocketUpgrade::write_buffer_sizeandWebSocketUpgrade::max_write_buffer_sizeWebSocketUpgrade::max_send_queueHandlerforT: IntoResponse(#2140)v0.6.19: axum - v0.6.19Compare Source
axum::extract::Query::try_from_uri(#2058)IntoResponseforBox<str>andBox<[u8]>(#2035).source()of composite rejections (#2030)#[debug_handler](#2014)v0.6.18: axum - v0.6.18Compare Source
Sec-WebSocket-Keyheader inWebSocketUpgrade(#1972)v0.6.17: axum - v0.6.17Compare Source
CONNECTrequests (#1958)v0.6.16: axum - v0.6.16Compare Source
MatchedPathin fallbacks (#1934)Routerwith something nested at/was used as a fallback (#1934)Router::new().fallback(...)isn't optimal (#1940)v0.6.15: axum - v0.6.15Compare Source
v0.6.14: axum - v0.6.14Compare Source
v0.6.13: axum - v0.6.13Compare Source
axum::rejection=tracetarget (#1890)Router::nestintroduced in0.6.0.
nestnow flattens the routes which performs better (#1711)MatchedPathin nested handlers now gives the fullmatched path, including the nested path (#1711)
DerefandDerefMutfor built-in extractors (#1922)v0.6.12: axum - v0.6.12Compare Source
IntoResponseforMultipartError(#1861)v0.6.11: axum - v0.6.11Compare Source
S: Debugforimpl Debug for Router<S>(#1836)v0.6.10: axum - v0.6.10Compare Source
#[must_use]attributes to types that do nothing unless used (#1809)TypedHeaderextractor (#1810)Routervia a dynamic library (#1806)v0.6.9: axum - v0.6.9Compare Source
v0.6.8: axum - v0.6.8Compare Source
Allowmissing from routers with middleware (#1773)KeepAlive::eventfor customizing the event sent for SSE keep alive (#1729)v0.6.7: axum - v0.6.7Compare Source
FormRejection::FailedToDeserializeFormBodywhich is returnedif the request body couldn't be deserialized into the target type, as opposed
to
FailedToDeserializeFormwhich is only for query parameters (#1683)MockConnectInfofor settingConnectInfoduring tests (#1767)v0.6.6: axum - v0.6.6Compare Source
MethodRoutertoRouter::fallback(#1730)v0.6.5: axum - v0.6.5Compare Source
#[debug_handler]sometimes giving wrong borrow related suggestions (#1710)impl IntoResponseas the return type from handler functions (#1736)v0.6.4: axum - v0.6.4Compare Source
v0.6.3: axum - v0.6.3Compare Source
IntoResponsefor&'static [u8; N]and[u8; N](#1690)Pathsupport types usingserde::Deserializer::deserialize_any(#1693)RawPathParams(#1713)CloneandServiceforaxum::middleware::Next(#1712)v0.6.2: axum - v0.6.2Compare Source
body_textandstatusmethods to built-in rejections (#1612)runtimefeature ofhyperwhen usingtokio(#1671)v0.6.1: axum - v0.6.1Compare Source
Router::with_state(#1580)v0.6.0: axum-extra - v0.6.0Compare Source
breaking: Change casing of
ProtoBuftoProtobuf(#1595)breaking:
SpaRouterhas been removed. UseServeDirandServeFilefrom
tower-httpinstead:See the static-file-server-example for more examples (#1784)
v0.5.17: axum - v0.5.17Compare Source
#[track_caller]so the errormessage points to where the user added the invalid router, rather than
somewhere internally in axum (#1248)
Multipartextractor work withRequestBodyLimitmiddleware (#1379)DefaultBodyLimit::maxfor changing the default body limit (#1397)v0.5.16: axum - v0.5.16Compare Source
Security
breaking: Added default limit to how much data
Bytes::from_requestwillconsume. 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 moredetails.
This also applies to these extractors which used
Bytes::from_requestinternally:
FormJsonStringThanks to Shachar Menashe for reporting this vulnerability.
(#1346)
v0.5.15: axum - v0.5.15Compare Source
Note: This is a re-release of 0.5.14 that fixes an accidental breaking change.
QueryRejectionresponse. (#1171)v0.5.14: axum - v0.5.14Compare Source
Yanked, as it contained an accidental breaking change.
launchbadge/sqlx
v0.7.4Compare 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
mainand only high-priority bugfixes may be backported.Added
to_url_lossyto connect options [[@lily-mosquitoes]]query!for cargo-free systems [[@kshramt]]raw_sqlAPI [[@abonander]]prepared statement interfaces
query*()andquery!().query*()functions.execute_many()andfetch_many()on interfaces that use prepared statements.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.
raw_sqlAPI 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.
Changed
create_newinstead ofatomic-file-write[[@mattfbacon]]PgConnectOptions[[@Fyko]]#[sqlx::test][[@ciffelia]]Fixed
sqlx::migrate::Migrator.migrate!().v0.7.338 pull requests were merged this release cycle.
Added
fixtures_pathin sqlx::test args [[@ripa1995]]fn PgConnectOptions::get_host(&self)[[@boris-lok]]FromRowfor the unit type [[@nanoqsh]]MySqlConnectOptions::get_database()[[@shiftrightonce]]Textadapter [[@abonander]]Changed
BOOLEANand the query macros [[@abonander]]NUMERICsupport [[@abonander]]libsqlite3-systo 0.27.0libsqlite3-sysis considered semver-exempt;see the release notes for 0.7.0 below for details.
Fixed
rust_decimal::Decimalfor high-precision values [[@abonander]]sqlx migrate addhelp text [[@cryeprecision]]try_stream!()[[@abonander]]cargo build[[@nyurik]]AtomicUsizefor thread IDs [[@abonander]]v0.7.223 pull requests were merged this release cycle.
Added
FromRowderive [[@95ulisse]]Type,Decode, andEncodeforBox<str>andBox<[u8]>[[@grant0417]]Changed
remove_dir_allcrate fromsqlx-cli, fixes RUSTSEC-2023-0018 [[@aldur]]Fixed
min_connections[[@hakoerber]]v0.7.1Compare Source
This release mainly addresses issues reported with the 0.7.0 release.
16 pull requests were merged this release cycle.
Added
PgHasArrayTypewith#[derive(sqlx::Type)][[@abonander]]#[derive(sqlx::Type)]with#[sqlx(transparent)]regarding
PgHasArrayTypenot being implemented, add#[sqlx(no_pg_array)]to fix.Changed
Fixed
CloneforPoolOptionsmanually (#2548) [[@alilleybrinker]]tls-native-tlsin the documentation. [[@denschub]]v0.7.0Compare 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 tothis 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
--mergedis no longer supported. See [#2363] for details and make sure that yoursqlx-cliversion is in sync with thesqlxversion 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.
mssqlfeature 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.runtime-actix-*features have been deleted. They were previously changed to be aliases of theirruntime-tokio-*counterparts for backwards compatibility reasons, but their continued existence is misleading as SQLx has no special knowledge of Actix anymore.runtime-actix-*feature with itsruntime-tokio-*equivalent.git2feature 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.Executorimpls forTransactionandPoolConnectionhave been deleted because they cannot exist in the new crate architecture without rewriting theExecutortrait entirely.impl Executoris expected, as they both dereference to the inner connection type which will still implement it:&mut transaction->&mut *transaction&mut connection->&mut *connectionthe driver crates cannot provide their own impls due to the orphan rule.
This will mean another major release of SQLx but ideally most API usage will not need to change significantly, if at all.
Migratorare now#[doc(hidden)]and semver-exempt; they weren't meant to be public.offlinefeature has been removed from thesqlxfacade 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.decimalfeature has been renamed torust_decimalto match the crate it actually provides integrations for.AnyDriverandAnyConnectionnow require eithersqlx::any::install_drivers()orsqlx::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 toAnywithout them being hardcoded.AnyEncodetrait has been removed.libsqlite3-systo be semver-exempt,and we reserve the right to upgrade it as necessary. If you are using
libsqlite3-sysdirectly or a crate thatlinks it such as
rusqlite, you should pin the versions of both crates to avoid breakages fromcargo update:time: Assume UTC when decoding a DATETIME column in sqlite [[@nstinus]]OffsetDateTimeto be the first type used when deserializing atimestamptype.Added
try_fromwhen derivingFromRow[[@95ulisse]]PRAGMA optimize;on close of a connection [[@miles170]]Connection::shrink_buffers,PoolConnection::close[[@abonander]]sqlx_macros_unstablein config.toml [[@df51d]]AsMutfor advisory lock types (#2520) [[@alilleybrinker]]Changed
tracing[[@CosmicHorrorDev]]let elsestatements in favor of macro [[@OverHash]]dirswithhome&etcetera[[@utkarshgupta137]]ConnectOptionstypes implFromStr[[@abonander]]Fixed
search_path[[@95ulisse]]sqlx::test[[@kenkoooo]]try_acquire[[@abonander]]tracked_path[[@df51d]]PrepareOkfails to decode [[@stepantubanov]]v0.6.3Compare Source
This is a hotfix to address the breakage caused by transitive dependencies upgrading to
syn = "2".We set
default-features = falsefor our dependency onsyn = "1"to be good crates.io citizens,but failed to enable the features we actually used, which went undetected because we transitively depended on
synwith 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.7release is in alpha and so development is no longer occurring against0.6.This fix will be forward-ported to
0.7.v0.6.2Compare Source
25 pull requests were merged this release cycle.
Added
try_fromattribute forFromRowderive [[@zzhengzhuo]]the second page. We'll be sure to clean out the backlog for 0.7.0.
IpAddrsupport in Postgres [[@rakshith-ravi]]Changed
prepare[[@cycraig]]Fixed
#[sqlx(flatten)]forFromRowderive [[@RustyYato]]#[test]from#[sqlx::test][[@alexander-jackson]]FromRowdocs [[@zlidner]]sqlite3_exec[[@madadam]]preparerace condition in workspaces [[@cycraig]]\target/thatcargo sqlx preparedepends on.If you use offline mode in your workflow, please rerun
cargo install sqlx-clito upgrade.v0.6.1Compare Source
33 pull requests were merged this release cycle.
Added
FromRowtrait [[@Erik1000]]std::net::IpAddr[[@meh]]INETvalue in Postgres is a prefix and not a full address(
/32for IPv4,/128for IPv6).timecrate [[@johnbcodes]]QueryBuilder::separated()[[@sbeckeriv]]sqlx::types::Json[[@jayy-lmao]]CloneforPoolOptions[[@Thomasdezeeuw]]push_tuplesforQueryBuilder[[@0xdeafbeef]]#[sqlx(flatten)]attribute inFromRow[[@TheoOiry]]query_builder::Separated::push_bind_unseparated()[[@0xdeafbeef]]#[sqlx::test]for general useQueryBuilderimprovements [[@abonander]]QueryAsinstead ofQuery.Changed
query_as!()andFromRow[[@abonander]]dotenvwithdotenvy[[@abonander]]Fixed
cargo sqlx prepare --merged[[@LovecraftianHorror]]Anydatabase driver [[@raviqqe]]CARGO_TARGET_DIRwhen compiling queries [[@sedrik]]BYTEAdecode [[@e00E]]SorVnotice fields are not UTF-8 [[@abonander]]rust-cacheaction for CI [[@abonander]]PgListener[[@crepererum]]mastertomainin docs [[@crepererum]]tokio-rs/tokio
v1.37.0: Tokio v1.37.0Compare Source
1.37.0 (March 28th, 2024)
Added
set_max_buf_sizetotokio::fs::File(#6411)try_newandtry_with_interesttoAsyncFd(#6345)forget_permitsmethod to semaphore (#6331)is_closed,is_empty, andlento mpsc receivers (#6348)rwlock()method to ownedRwLockguards (#6418)Cloneforwatch::Sender(#6388)TaskLocalFuture::take_value(#6340)FromIteratorforJoinSet(#6300)Changed
io::splituse a mutex instead of a spinlock (#6403)Fixed
Documented
AsyncBufReadExt::fill_buf(#6431)AsyncReadExt's primitive read functions (#6337)Runtimeto#[tokio::main](#6366)enterexample deterministic (#6351)mpsc::Sender::downgradewith#[must_use](#6326)const_newbeforenew_with(#6392)Changed (unstable)
Idin taskdumps (#6328)unhandled_panicis enabled when not supported (#6410)v1.36.0: Tokio v1.36.0Compare Source
1.36.0 (February 2nd, 2024)
Added
tokio::io::Join(#6220)AsyncWriteforEmpty(#6235)UnixSocket(#6290)TcpSocket(#6311){Receiver,UnboundedReceiver}::poll_recv_many(#6236)Sender::{try_,}reserve_many(#6205)watch::Receiver::mark_unchanged(#6252)JoinSet::try_join_next(#6280)Changed
copycooperative (#6265)repeatandsinkcooperative (#6254)Documented
clear_readydocs (#6304)*Fdtraits onTcpSocketare unix-only (#6294)tokio::sync::Mutex(#6279)v1.35.1: Tokio v1.35.1Compare Source
1.35.1 (December 19, 2023)
This is a forward part of a change that was backported to 1.25.3.
Fixed
tokio::runtime::io::registration::async_io(#6221)v1.35.0: Tokio v1.35.0Compare Source
1.35.0 (December 8th, 2023)
Added
Changed
Sizedrequirements fromAsyncReadExt.read_buf(#6169)Runtimeunwind safe (#6189)Fixed
--cfg docsrswork without net feature (#6166)unsync_loadon miri (#6179)Documented
AsyncWriteExtexamples (#6149)LocalSet::run_until(#6147)v1.34.0: Tokio v1.34.0Compare Source
Fixed
clear_readinessafter io driver shutdown (#6067)take(#6080)broadcast::channellink (#6100)Changed
::corequalified imports instead of::stdinsidetokio::testmacro (#5973)Added
fs::read_dirto includeaix(#6075)mpsc::Receiver::recv_many(#6010)v1.33.0: Tokio v1.33.0Compare Source
1.33.0 (October 9, 2023)
Fixed
Interest::addwith#[must_use](#6037)watch::Receiver::wait_for(#6021)spawn_localsource location (#5984)Changed
watch(#6018)Added
tokio::fs::File(#5958)Interest::removemethod (#5906)DuplexStream(#5985)?Sizedbound to{MutexGuard,OwnedMutexGuard}::map(#5997)watch::Receiver::mark_unseen(#5962, #6014, #6017)watch::Sender::new(#5998)OnceCell::from_value(#5903)Removed
statsfeature (#5952)Documented
Child::waitis cancel safe (#5977)Semaphore(#5939, #5956, #5978, #6031, #6032, #6050)broadcastcapacity is a lower bound (#6042)const_newis not instrumented (#6002)mpsc::Sender::send(#5947)watchchannel (#5954)Unstable
v1.32.1: Tokio v1.32.1Compare Source
1.32.1 (December 19, 2023)
This is a forward part of a change that was backported to 1.25.3.
Fixed
tokio::runtime::io::registration::async_io(#6221)v1.32.0: Tokio v1.32.0Compare Source
Fixed
broadcast::Receiver(#5925)Added
Command::raw_arg(#5930)Unstable
v1.31.0: Tokio v1.31.0Compare Source
Fixed
WriteHalf::poll_write_vectored(#5914)Unstable
v1.30.0: Tokio v1.30.0Compare Source
1.30.0 (August 9, 2023)
This release bumps the MSRV of Tokio to 1.63. (#5887)
Changed
--cfg mio_unsupported_force_poll_pollflag (#5881)const_newmethods always available (#5885)Added
broadcast::Sender::new(#5824)UCredfor espidf (#5868)File::options()(#5869)Interval(#5878){ChildStd*}::into_owned_{fd, handle}(#5899)Removed
tokio_*cfgs (#5890)Documented
broadcast::send(#5820)AsyncReadExt::read_exact(#5863)Sleepas!Unpinin docs (#5916)raw_argnot showing up in docs (#5865)Unstable
v1.29.1: Tokio v1.29.1Compare Source
Fixed
block_in_placewith ablock_onbetween (#5837)v1.29.0: Tokio v1.29.0Compare Source
Technically a breaking change, the
Sendimplementation is removed fromruntime::EnterGuard. This change fixes a bug and should not impact most users.Breaking
EnterGuardshould not beSend(#5766)Fixed
fs::read_dir(#5653)JoinSet(#5693)EnterGuarddropped incorrect order (#5772)File(#5803)Changed
Added
broadcast::Receiver::blocking_recv(#5690)raw_argmethod toCommand(#5704)JoinSet::poll_join_next(#5721)Unstable
v1.28.2: Tokio v1.28.2Compare Source
1.28.2 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
v1.28.1: Tokio v1.28.1Compare Source
1.28.1 (May 10th, 2023)
This release fixes a mistake in the build script that makes
AsFdimplementations unavailable on Rust 1.63. (#5677)v1.28.0: Tokio v1.28.0Compare Source
1.28.0 (April 25th, 2023)
Added
AsyncFd::async_io(#5542)recv_bufforUdpSocketandUnixDatagram(#5583)OwnedSemaphorePermit::semaphore(#5618)same_channelto broadcast channel (#5607)watch::Receiver::wait_for(#5611)JoinSet::spawn_blockingandJoinSet::spawn_blocking_on(#5612)Changed
read_to_endnot grow unnecessarily (#5610)RwLock(#5647)Notify(#5503)Fixed
get_peer_credon AIX (#5065)broadcastwith custom wakers (#5578)Documented
Semaphore::MAX_PERMITS(#5645)tokio::sync::watch::Senderdocs (#5587)v1.27.0: Tokio v1.27.0Compare Source
1.27.0 (March 27th, 2023)
This release bumps the MSRV of Tokio to 1.56. (#5559)
Added
async_iohelper method to sockets (#5512)AsFd/AsHandle/AsSocket(#5514, #5540)UdpSocket::peek_sender()(#5520)RwLockWriteGuard::{downgrade_map, try_downgrade_map}(#5527)JoinHandle::abort_handle(#5543)Changed
memchrfromlibc(#5558)#[tokio::main](#5557)IntervalreturnsReady(#5553)Fixed
ReadDir(#5555)spawn_blockinglocation fields (#5573)Wheel::poll()(#5574)Documented
tokio::io::copy[_buf](#5575)ReaderStreamandStreamReaderin module docs (#5576)v1.26.0: Tokio v1.26.0Compare Source
Fixed
join!andtry_join!(https://github.com/tokio-rs/tokio/pull/5504)Added
fs::try_exists(https://github.com/tokio-rs/tokio/pull/4299)MappedOwnedMutexGuard(https://github.com/tokio-rs/tokio/pull/5474)Changed
#[clippy::has_significant_drop](https://github.com/tokio-rs/tokio/pull/5422)Instant::now()perf with test-util (https://github.com/tokio-rs/tokio/pull/5513)Internal Changes
poll_fnincopy_bidirectional(https://github.com/tokio-rs/tokio/pull/5486)notify_waiterscalls atomic (https://github.com/tokio-rs/tokio/pull/5458)Unstable
Documented
blocking_*methods (https://github.com/tokio-rs/tokio/pull/5448)process::Commanddocs (https://github.com/tokio-rs/tokio/pull/5413)v1.25.3: Tokio v1.25.3Compare Source
1.25.3 (December 17th, 2023)
Fixed
tokio::runtime::io::registration::async_io(#6221)v1.25.2: Tokio v1.25.2Compare Source
1.25.2 (September 22, 2023)
Forward ports 1.20.6 changes.
Changed
memchrfromlibc(#5960)v1.25.1: Tokio v1.25.1Compare Source
1.25.1 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
v1.25.0: Tokio v1.25.01.25.0 (January 28, 2023)
Fixed
Added
broadcast::Sender::len(#5343)Changed
v1.24.1: Tokio v1.24.1Compare Source
This release fixes a compilation failure on targets without
AtomicU64when using rustc older than 1.63. (#5356)v1.24.0: Tokio v1.24.0Compare 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
AtomicU64support detection (#5284)Added
per tick (#5186)
threads per runtime instance (#4250)
Changed
read_dir()by chunking operations (#5309)ThreadIdimplementation (#5329)spawn_blockingtask is running (#5115)v1.23.1: Tokio v1.23.1Compare Source
This release forward ports changes from 1.18.4.
Fixed
pipe mode (#5336).
v1.23.0: Tokio v1.23.0Compare Source
Fixed
ChildStdin(#5216)async fn ready()false positive for OS-specific events (#5231)Changed
yield_nowdefers task until after driver poll (#5223)winapidependency withwindows-sys(#5204)v1.22.0: Tokio v1.22.0Compare Source
Added
Handle::runtime_flavor(#5138)Mutex::blocking_lock_owned(#5130)Semaphore::MAX_PERMITS(#5144)merge()to semaphore permits (#4948)mpsc::WeakUnboundedSender(#5189)Added (unstable)
Command::process_group(#5114)task::id()andtask::try_id()(#5171)Fixed
LocalOwnedTasks(#5099)mark_pendingcalled illegally (#5093)unsync_loadon atomic types (#5175)LocalSetdrop in thread local (#5179)CachePadded(#5106)Changed
tokio::io::copycontinue filling the buffer when writer stalls (#5066)coop::budgetfromLocalSet::run_until(#5155)Notifypanic safe (#5154)Documented
write_i8to use signed integers (#5040)set_tosmethods (#5073)UdpSocket::recvdocumentation (#5150)TryLockErrorforRwLock::try_write(#5160)timeout(#5118)timeoutchecks only before poll (#5126)oneshot::Receiverin docs (#5198)Internal changes
Mutex::newfor globals (#5061)Optionaroundmio::Eventsin io driver (#5078)io::handlerefs with scheduler:Handle (#5128)scheduler::Handle(#5135)runtime::contextmodule (#5140)driver.rs(#5141)runtime::contextto unify thread-locals (#5143)coopmod intoruntime(#5152)Runtimeinto its own file (#5159)Handle::enter(#5163)enterintocontext(#5167)CoreStagemethods toCore(#5182)v1.21.2: Tokio v1.21.2Compare Source
1.21.2 (September 27, 2022)
This release removes the dependency on the
once_cellcrate 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.1Compare Source
1.21.1 (September 13, 2022)
Fixed
LocalSetDrop (#4976)v1.21.0: Tokio v1.21.0Compare 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,timefeatures are stabilized on WASM. Additionally the wasm32-wasi target is given unstable support for thenetfeature.Added
deviceandbind_devicemethods to TCP/UDP sockets (#4882)tosandset_tosmethods to TCP and UDP sockets (#4877)ServerOptions(#4845)mpsc::Sender::max_capacitymethod (#4904)mpsc::Sender(#4595)LocalSet::enter(#4765)JoinSetandAbortHandle(#4920)track_callerto public APIs (#4805, #4848, #4852)wasm32-wasitarget (#4716)Fixed
linked_list::Linkimpls (#4841)#[must_use]to lock guards (#4886)recvon closed and reopened broadcast channel (#4867)Changed
File::start_seek(#4897)poll_read(#4840)SignalKindmethods const (#4956)Internal changes
basic_scheduler::Config(#4935)runtimemodule (#4942)Documented
AsyncSeekExt::rewinddocs (#4893)try_read()for zero-length buffers (#4937)Builder::worker_threads(#4849)watch::Sender::sendimproved (#4959)JoinHandle(#4901)spawn_blocking(#4811)Interval::tickhappens immediately (#4951)Unstable
Builder::spawn_on(#4953)task::Builder::spawn*methods fallible (#4823)v1.20.6: Tokio v1.20.6Compare Source
1.20.6 (September 22, 2023)
This is a backport of a change from 1.27.0.
Changed
memchrfromlibc(#5960)v1.20.5: Tokio v1.20.5Compare Source
1.20.5 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
v1.20.4Compare Source
v1.20.3Compare Source
v1.20.2: Tokio v1.20.2Compare Source
1.20.2 (September 27, 2022)
This release removes the dependency on the
once_cellcrate to restore the MSRV of the 1.20.x LTS release. (#5048)tower-rs/tower-http
v0.5.2: v0.5.2Compare Source
Added:
vary: accept-encodingheader on compressed responses (#399)x-gzipas equivalent togzipinaccept-encodingrequest header (#467)Fixed
v0.5.1: v0.5.1Compare Source
zstdinServeFileResponseBodyandResponseFuture(#455)HttpMakeClassifierandGrpcMakeClassifier(#455)Fixed
ServeDirnow no longer redirects from/directoryto/directory/if
append_index_html_on_directoriesis disabled (#421)v0.5.0: v0.5.0Compare Source
Changed
Fixed
http-range-header to
0.4v0.4.4: v0.4.4Compare Source
v0.4.3: v0.4.3Compare Source
Fixed
v0.4.2: v0.4.2Compare Source
Added
DefaultforDecompressionBody(#370)Changed
Fixed
v0.4.1: v0.4.1Compare Source
Added
DefaultforMakeRequestUuid(#335)DefaultforServeFileSystemResponseBody(#336)Fixed
Accept-Encodingrequest header (#220)multiple_membersforGzipDecoder(#354)v0.4.0: v0.4.0Compare Source
Added
RequestDecompressionmiddleware (#282)DefaultforCompressionBody(#323)Changed
ServeDirandServeFile's error types are nowInfallibleand any IO errorswill be converted into responses. Use
try_callto generate error responses manually (BREAKING) (#283)ServeDir::fallbackandServeDir::not_found_servicenow requiresthe fallback service to use
Infallibleas its error type (BREAKING) (#283)Removed
RequireAuthorizationin favor ofValidateRequest(BREAKING) (#290)Fixed
ServeDir, convertio::ErrorKind::NotADirectoryto404 Not Found(#331)v0.3.5: v0.3.5Compare Source
Added
NormalizePathmiddleware (#275)ValidateRequestmiddleware (#289)RequestBodyTimeoutmiddleware (#303)Changed
Fixed
on_responsecallback (#278)*) is passed toAllowOrigin::list. UseAllowOrigin::any()instead (#285)tokio-rs/tracing
v0.1.40: tracing 0.1.40Compare Source
This release fixes a potential stack use-after-free in the
Instrument::into_innermethod. Only uses of this method are affected by thisbug.
Fixed
mem::ManuallyDropinstead ofmem::forgetinInstrument::into_inner(#2765)
Thanks to @cramertj and @manishearth for finding and fixing this issue!
v0.1.39: tracing 0.1.39Compare Source
This release adds several additional features to the
tracingmacros. Inaddition, it updates the
tracing-coredependency to v0.1.32 andthe
tracing-attributesdependency to v0.1.27.Added
ValueSets of any length (#2508)Changed
tracing-attributes: updated to 0.1.27tracing-core: updated to 0.1.32Fixed
(#2621, #2757)
clippy::let_with_type_underscore] in macro-generatedcode ([#2609])
unknown_lintsin macro-generated code (#2626)#[instrument]when the"log"feature is enabled (#2599)
Documented
axum-insightsto relevant crates. (#2713)clippy-tracingto related crates (#2628)tracing-cloudwatchto related crates (#2667)tracing-etwrepo (#2602)v0.1.38: tracing 0.1.38Compare Source
This
tracingrelease changes theDropimplementation forInstrumentedFutures so that the attachedSpanis entered when dropping theFuture. Thismeans that events emitted by the
Future'sDropimplementation will now berecorded within its
Span. It also adds#[inline]hints to methods called inthe
event!macro's expansion, for an improvement in both binary size andperformance.
Additionally, this release updates the
tracing-attributesdependency tov0.1.24, which updates the [
syn][syn] dependency to v2.x.x.tracing-attributesv0.1.24 also includes improvements to the#[instrument]macro; see the
tracing-attributes0.1.24 release notes fordetails.
Added
Instrumentedfutures will now enter the attachedSpanin theirDropimplementation, allowing events emitted when dropping the future to occur
within the span (#2562)
#[inline]attributes for methods called by theevent!macros, makinggenerated code smaller (#2555)
levelargument to#[instrument(err)]and#[instrument(ret)]to override the level ofthe generated return value event (#2335)
#[instrument]is added to aconst fn(#2418)
Changed
tracing-attributes: updated to 0.1.24cfg-ifdependency (#2553)syn][syn] dependency to 2.0 (#2516)Fixed
clippy::unreachablewarnings in#[instrument]-generated code (#2356)syndependency (#2530)Documented
#[instrument(err)](#2433)#[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.37Compare Source
This release of
tracingincorporates changes fromtracing-corev0.1.30 and
tracing-attributesv0.1.23,including the new
Subscriber::on_register_dispatchmethod for performing lateinitialization after a
Subscriberis registered as aDispatch, and bugfixesfor the
#[instrument]attribute. Additionally, it fixes instances of thebare_trait_objectslint, which is now a warning ontracing's MSRV and willbecome an error in the next edition.
Fixed
#[instrument]edfunctions (#2307)
type errors in
#[instrument]edasync fns (#2270)syndependency to fix compilation with-Z minimal-versions(#2246)bare_trait_objectswarning invalueset!macro expansion (#2308)Added
Subscriber::on_register_dispatchmethod (#2269)WeakDispatchtype andDispatch::downgrade()function (#2293)Changed
tracing-core: updated to 0.1.30tracing-attributes: updated to 0.1.23Documented
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.0Compare Source
⚠️ Potential Breakage ⚠️
A new
impl AsRef<Uuid> for Uuidbound has been added, which can break inference on code like:You can fix these by explicitly typing the result of the conversion:
or by calling
as_bytesinstead:What's Changed
wasm-bindgenas a dependency onwasm32-unknown-unknownby @emilk in https://github.com/uuid-rs/uuid/pull/738New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.7.0...1.8.0
v1.7.0Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.6.1...1.7.0
v1.6.1Compare Source
What's Changed
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.6.0...1.6.1
v1.6.0Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.5.0...1.6.0
v1.5.0Compare Source
What's Changed
bytemucksupport by @John-Toohey in https://github.com/uuid-rs/uuid/pull/711New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.4.1...1.5.0
v1.4.1Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1
v1.4.0Compare Source
What's Changed
borshsupport by @grovesNL in https://github.com/uuid-rs/uuid/pull/686New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.4...1.4.0
v1.3.4Compare Source
What's Changed
wasm32-wasisupport with tests by @acfoltzer in https://github.com/uuid-rs/uuid/pull/677New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.3...1.3.4
v1.3.3Compare Source
What's Changed
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.2...1.3.3
v1.3.2Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.1...1.3.2
v1.3.1Compare Source
What's Changed
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1
v1.3.0Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.2.2...1.3.0
v1.2.2Compare Source
What's Changed
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2
v1.2.1Compare Source
What's Changed
Full Changelog: https://github.com/uuid-rs/uuid/compare/1.2.0...1.2.1
v1.2.0Compare 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.
This PR has been generated by Renovate Bot.
13ee3f7529to7613d0c3ba7613d0c3bato42e4b4f0f342e4b4f0f3tob9af9dc9a1b9af9dc9a1to9211832ae59211832ae5to9ba312da0a9ba312da0ato3ad85705aa3ad85705aato6d7b8df7826d7b8df782to5937884e6f5937884e6fto203d0834df203d0834dfto548462712a548462712ato9f81a1f17b9f81a1f17bto70d9c08f3870d9c08f38to680499c8a0680499c8a0to8a762facf18a762facf1to96700de17a96700de17ato18f70abeb918f70abeb9to8003cc301d8003cc301dto197ab4051b197ab4051bto3d76dc590b3d76dc590bto17abd7e98b17abd7e98btofe7512bd93fe7512bd93to07d3c2169207d3c21692to2ccefc5cfb2ccefc5cfbtofb07c31b26fb07c31b26toddce213fa5ddce213fa5tob43c487555b43c487555tob96bda3368b96bda3368to2ec49e888a2ec49e888ato685db66d10685db66d10to7b850316607b85031660to082632c589082632c589todf9d6ae499df9d6ae499to6ec01fcddb6ec01fcddbtofd2fb8ded9fd2fb8ded9to47e10709f047e10709f0to92a722f37392a722f373to596e66c144596e66c144to5f7edc12ea5f7edc12eato2b18e72f262b18e72f26tod02fc058a7d02fc058a7tofee0aa7bb7fee0aa7bb7to351ac9f76c351ac9f76cto6cdefd94d46cdefd94d4to324327a53c324327a53cto7a81246e6b7a81246e6btoa65d37ef27a65d37ef27to6ec027b7216ec027b721todadf7288d5dadf7288d5tocb89ec4e9dcb89ec4e9dto3435ae24fa3435ae24fato8160d136a88160d136a8to019e172f2e019e172f2eto5bfc58b7d95bfc58b7d9tod70827b685d70827b685to6104971cdf6104971cdfto5d1f9540c15d1f9540c1to8e58d0110a8e58d0110atoc5075ae74dc5075ae74dto00229858ee00229858eeto76b75df93e76b75df93eto388c7ba9cc388c7ba9cctobbb872b545bbb872b545to0396e8210c0396e8210ctobb63bdfe47bb63bdfe47toa124d8f0a7a124d8f0a7to27094201652709420165to30d1b62d5030d1b62d50todf6bba8e67df6bba8e67to04029e291904029e2919to9ec5e02e959ec5e02e95to773fbc789c773fbc789cto986e226d1e986e226d1etoe168db25dde168db25ddtof0ee52574ef0ee52574eto84b0df3faf84b0df3fafto1ce9537c571ce9537c57toa22ff91e1da22ff91e1dto930659cdbd930659cdbdto140d823435140d823435to11f31de38211f31de382todd37a90341dd37a90341to81e432ac6b81e432ac6bto6b71add5a56b71add5a5to39a1c9df3e39a1c9df3eto3fe619717b3fe619717bto8f806526968f80652696to7219fe35807219fe3580toa2f1d29acea2f1d29acetoe2934aed79e2934aed79to21cbee282021cbee2820to77db616f8f77db616f8fto6a3e10b6856a3e10b685to418ed31ddf418ed31ddfto86b9bed24b86b9bed24bto2bbcd777c42bbcd777c4to812835ced2812835ced2to4c3af0267d4c3af0267dto67738370556773837055to726a2d8852726a2d8852to35eefbdeea35eefbdeeato799bdb6baf799bdb6baftofb7a4bf40ffb7a4bf40fto7b24e838607b24e83860to57198f7be357198f7be3tod1a7b0a872d1a7b0a872to51c850916e51c850916eto94ae4d53d3