Open
Conversation
6ea2984 to
eab9861
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.0.100→1.0.1020.7→0.81.11.0→1.11.10.4.43→0.4.444.5.54→4.5.604.5.65→4.5.660.2.180→0.2.1833.1.3→3.1.40.9→0.100.33→0.383.24.0→3.26.01.49.0→1.50.00.21→0.280.5→0.60.24→0.281.19.0→1.22.0Release Notes
dtolnay/anyhow (anyhow)
v1.0.102Compare Source
v1.0.101Compare Source
tokio-rs/axum (axum)
v0.8.8: axum v0.8.8Compare Source
Router::route_layer(#3567)v0.8.7: axum v0.8.7Compare Source
Send/Syncbounds onRouterAsService,RouterIntoService(#3555)v0.8.6Compare Source
v0.8.5: axum v0.8.5Compare Source
OptionalFromRequestforMultipart(#3220)Location::{status_code, location}middleware::ResponseAxumBodyLayerfor mapping response body toaxum::body::Body(#3469)impl FusedStream for WebSocket(#3443)ssemodule andSsetype no longer depend on thetokiofeature (#3154)Redirects constructors is not a valid header value, instead of panicking on construction, theIntoResponseimpl now returns an HTTP 500, just likeJsondoes when serialization fails (#3377)v0.8.4: axum v0.8.4Compare Source
Router::reset_fallback(#3320)WebSocketUpgrade::selected_protocol(#3248)servewithout graceful shutdown (#3129)v0.8.3: axum v0.8.3Compare Source
From<Bytes>forMessage(#3273)OptionalFromRequestforJson(#3142)OptionalFromRequestforExtension(#3157)WebSocketUpgrade(#3178)v0.8.2: axum v0.8.2Yanked from crates.io due to unforeseen breaking change, see #3190 for details
OptionalFromRequestforJson(#3142)OptionalFromRequestforExtension(#3157)statusfunction of rejections aconstfunction, suchas
JsonRejection,QueryRejectionandPathRejection(#3168)v0.8.0: axum v0.8.0Compare Source
since rc.1
Details
axum::extract::ws::Messagenow usesBytesin place ofVec<u8>,and a new
Utf8Bytestype in place ofString, for its variants (#3078)OptionalFromRequestPartsimpl forQuery(#3088)tokio-tungsteniteto 0.26 (#3078)serde_path_to_errorto report fields that failed to parse (#3081)full changelog
You can also read the blog post on tokio
Note: there are further relevant changes in axum-core's changelog
/:singleand/*manyto/{single}and/{*many}; the old syntax produces a panic to avoid silent change in behavior (#2645)Syncfor all handlers and services added toRouterandMethodRouter(#2473)Pathextractor deserializers now check that the number of parameters matches the tuple length exactly (#2931)Hostextractor toaxum-extra(#2956)WebSocket::close. Users should explicitly send close messages themselves. (#2974)servegeneric over the listener and IO types (#2941)Serve::tcp_nodelayandWithGracefulShutdown::tcp_nodelay.See
serve::ListenerExtfor an API that let you set arbitrary TCP stream properties. (#2941)Option<Path<T>>no longer swallows all error conditions,instead rejecting the request in many cases; see its documentation for details (#2475)
axum::extract::ws::Messagenow usesBytesin place ofVec<u8>,and a new
Utf8Bytestype in place ofString, for its variants (#3078)serde_json::RawValueinEvent::json_data(#2992)content-lengthbefore middleware.This allows middleware to add bodies to requests without needing to manually set
content-length(#2897)tokio-tungsteniteto 0.26 (#3078)serde_path_to_errorto report fields that failed to parse (#3081)method_not_allowed_fallbackto set a fallback when a path matches but there is no handler for the given HTTP method (#2903)NoContentas a self-described shortcut forStatusCode::NO_CONTENT(#2978)get(ws_endpoint)handlers toany(ws_endpoint)(#2894)MethodFilter::CONNECT,routing::connect[_service]andMethodRouter::connect[_service](#2961)FailedToDeserializePathParams::kindenum with (ErrorKind::DeserializeError). This new variant captures bothkey,value, andmessagefrom named path parameters parse errors, instead of only deserialization error message inErrorKind::Message. (#2720)tokio-rs/bytes (bytes)
v1.11.1Compare Source
BytesMut::reservechronotope/chrono (chrono)
v0.4.44: 0.4.44Compare Source
What's Changed
Cargo.tomlcontents by @coryan in #1772clap-rs/clap (clap)
v4.5.60Compare Source
Fixes
v4.5.59Compare Source
Fixes
Command::ignore_errorsno longer masks help/version on subcommandsv4.5.58Compare Source
v4.5.57Compare Source
Fixes
.value_terminator("--")caused problems with an argument with.last(true)v4.5.56Compare Source
Fixes
v4.5.55Compare Source
Fixes
value_terminator("--")and escapes (--) where./foo -- barmeans the first arg is empty, rather than escaping future argsrust-lang/libc (libc)
v0.2.183Compare Source
Added
SOMAXCONN(#4993)name_to_handle_atandopen_by_handle_at(#4988)kinfo_file,kinfo_pcb, and related constants (#4985)kinfo_fileand related constants (#4991)Defaultfortimevalandtimespec(#4976)Fixed
time_tsupport andmusl_v1_2_3(#4992)Padding(#4997)sigaction.sa_flagstoc_int(#4986)blkcnt_ttype (#4994)v0.2.182Compare Source
Added
tgkill(#4970)RENAME_NOREPLACE(#4968)renameat2(#4968)v0.2.181Compare Source
Added
MADV_ZERO(#4924)makedev,major, andminor(#4928)PTRACE_SET_SYSCALL_INFO(#4933)max_align_t(#4927)_CS_PATH(#4956)ppoll(#4957)Fixed
dev_t(#4928)tc{g,s}etattr(#4938)cf{g,s}et{i,o}speedon mips{32,64}r6 (#4938)ptrace_thread_state(#4947)PTHREAD_MUTEX_{NORMAL, RECURSIVE}(#4943)Changed
SO_*constants (#4937)assert-rs/predicates-rs (predicates)
v3.1.4Compare Source
BoxPredicate::find_caseuse the innerfind_caseimplementationrust-random/rand (rand)
v0.10.0Compare Source
Changes
rand_chachahas been replaced with a dependency onchacha20. This changes the implementation behindStdRng, but the output remains the same. There may be some API breakage when using the ChaCha-types directly as these are now the ones inchacha20instead ofrand_chacha(#1642).IndexedRandom::choose_multiple->sample,choose_multiple_array->sample_array,choose_multiple_weighted->sample_weighted, structSliceChooseIter->IndexedSamplesand fnsIteratorRandom::choose_multiple->sample,choose_multiple_fill->sample_fill(#1632)Fillbe implemented for element types, not sliceable types (#1652)OsError::raw_os_erroron UEFI targets by returningOption<usize>(#1665)TryRngCore::read_adapter(..) -> RngReadAdapterwith simpler structRngReader(#1669)SeedableRng::from_os_rng,try_from_os_rng(#1674)Clonesupport forStdRng,ReseedingRng(#1677)postcardinstead ofbincodeto test the serde feature (#1693)IteratorRandom::samplewhenamountis much larger than iterator size (#1695)os_rng->sys_rng,OsRng->SysRng,OsError->SysError(#1697)Rng->RngExtas upstreamrand_corehas renamedRngCore->Rng(#1717)Additions
IndexedRandom::choose_iter,choose_weighted_iter(#1632)Xoshiro128PlusPlus,Xoshiro256PlusPlusprngs (#1649)ChaCha8Rng,ChaCha12Rng,ChaCha20Rngbehindchachafeature (#1659)rand::make_rng() -> R where R: SeedableRng(#1734)Removals
ReseedingRng(#1722)small_rng(#1732)GuillaumeGomez/sysinfo (sysinfo)
v0.38.3Compare Source
System::available_memoryandSystem::used_memory.CPU::frequencyreturned value.v0.38.2Compare Source
Errortrait forMacAddrFromStrError,IpNetworkFromStrErrorandKillErrortypes.v0.38.1Compare Source
v0.38.0Compare Source
MotherboardandProduct.serdeserialization ofMacAddrand ofDisk::file_system.v0.37.2Compare Source
System::refresh_cpu_alland ofSystem::refresh_cpu_specifics.System::uptime.Process::exepaths.v0.37.1Compare Source
serdeserialization onProcess::name.get_cpu_frequencyonloongarch64.Motherboard.v0.37.0Compare Source
1.88(for 2024 edition andif let chainfeature).Component::idAPI.v0.36.1Compare Source
v0.36.0Compare Source
Motherboardtype.Producttype.Component::labelgeneratedString.ComponentsimplementSendandSynctraits.v0.35.2Compare Source
Process::waitby checking if the process is still alive before waiting.Process::wait.v0.35.1Compare Source
windowscrate up to< 0.63.v0.35.0System::open_files_limit.Process::kill_and_waitandProcess::kill_with_and_waitmethods.Process::open_files*methods returnusize.set_open_files_limitargument type isusize.autofsdisks.Process::waitcode.Groups::refresh.v0.34.2v0.34.1v0.34.0multithreadfeature is disabled by default.Processmethods:accumulated_cpu_time,exists,open_filesandopen_files_limit.Process::waitmethod now returnsOption<ExitStatus>.Systemmethods:distribution_id_likeandkernel_long_version.System::physical_core_countmethod into an associated function.System::refresh_allandSystem::refresh_specificsmethods remove dead processes.ProcessRefreshKindrefresh:tasks.Groupdocs.Deserializetrait onDiskKind,MacAddr,IpNetwork,ProcessStatus,SignalandThreadKind.FromStrtrait onIpNetworkandMacAddr.Hashtrait onDiskKind,MacAddr,ProcessStatusandSignal.cfghandling which triggered compilation failures in some specific cases.sysinfoas viruses by replacing uses ofNtQueryInformationProcesswith other "mainstream" Windows API.process_procswhen there is only one process to refresh.Stebalien/tempfile (tempfile)
v3.26.0NamedTempFile::persiston RedoxOS (#393) (thanks to @Andy-Python-Programmer).v3.25.0getrandom0.4.x while retaining support forgetrandom0.3.x.tokio-rs/tokio (tokio)
v1.50.0: Tokio v1.50.0Compare Source
1.50.0 (Mar 3rd, 2026)
Added
TcpStream::set_zero_linger(#7837)is_rt_shutdown_err(#7771)Changed
memchrreturns in-bounds pointer (#7792)write_buf(#7871)event_intervalis set to 0 (#7838)SetConsoleCtrlHandler(#7833)Registry(#7885)Fixed
AsyncFdregistration list on deregister (#7773)usedeclarations intokio::select!(#7929)GET_BUF_SIZEconstant fortarget_os = "android"(#7889)current_threadifbefore_parkdefers waker (#7835)block_in_place(#7879)num_idle_threadson shutdown (#7910, #7918, #7922)Unstable
Documented
AsyncWriteExt::shutdown()(#7908)AsyncWritedocumentation (#7875)Runtime::spawn(#7803)event_intervaldoc (#7932)recvreturnsNoneonce closed and no more messages (#7920)spawn_blockingvs dedicated threads (#7923)JoinHandlecompletion (#7825)None(#7869)Builder::spawn_local(#7828)snapview/tokio-tungstenite (tokio-tungstenite)
v0.28.0Compare Source
tungsteniteto0.18.0. Seetungsteniterelease.v0.27.0Compare Source
tungstenite-rs.v0.26.2Compare Source
tungstenite, see changes here.v0.26.1Compare Source
tungsteniteto address an issue that might cause UB in certain cases.v0.26.0Compare Source
tungsteniteto0.26.0(breaking changes).v0.25.0Compare Source
tungsteniteto0.25.0(important updates!).v0.24.0v0.23.1urlfeature (proxies totungstenite/url).v0.23.0tungsteniteto0.23.0.v0.22.0Compare Source
Updatetungsteniteto match0.22.0.tower-rs/tower-http (tower-http)
v0.6.8Compare Source
Fixed
multiple_membersin Gzip decoder, since HTTP context only uses onemember. (#621)
What's Changed
multiple_membersoption for gzip decoder by @ducaale in #621New Contributors
Full Changelog: tower-rs/tower-http@tower-http-0.6.7...tower-http-0.6.8
v0.6.7Compare Source
Added
TimeoutLayer::with_status_code(status)to define the status code returnedwhen timeout is reached. (#599)
Deprecated
auth::require_authorizationis too basic for real-world. (#591)TimeoutLayer::new()should be replaced withTimeoutLayer::with_status_code(). (Previously wasStatusCode::REQUEST_TIMEOUT) (#599)Fixed
on_eosis now called even for successful responses. (#580)ServeDir: call fallback when filename is invalid (#586)decompressionwill not fail when body is empty (#618)New Contributors
Full Changelog: tower-rs/tower-http@tower-http-0.6.6...tower-http-0.6.7
v0.6.6Compare Source
Fixed
New Contributors
Full Changelog: tower-rs/tower-http@tower-http-0.6.5...tower-http-0.6.6
v0.6.5Compare Source
Added
append_trailing_slash()mode (#547)Fixed
vary: accept-encodingif already set (#572)New Contributors
Full Changelog: tower-rs/tower-http@tower-http-0.6.4...tower-http-0.6.5
v0.6.4: tower-http 0.6.4Compare Source
Added
ServiceExttrait for chaining layers onto an arbitrary http service justlike
ServiceBuilderExtallows forServiceBuilder(#563)Fixed
S::ErrorforServiceimpls ofRequestBodyTimeout<S>andResponseBodyTimeout<S>(#533)is_end_stream(#535)fs::ServeDir(#553)content-lenghtof 1 in response to range requests to emptyfiles (#556)
AsyncRequireAuthorization, use the original inner service after it isready, instead of using a clone (#561)
v0.6.3: tower-http 0.6.3Compare Source
This release was yanked because its definition of
ServiceExtwas quite unhelpful, in a way that's very unlikely that anybody would start depending on within the small timeframe before this was yanked, but that was technically breaking to change.v0.6.2Compare Source
Changed:
CompressionBody<B>now propagatesB's size hint in itshttp_body::Bodyimplementation, if compression is disabled (#531)
content-lengthto be included in an HTTP message with thisbody for those cases
New Contributors
Full Changelog: tower-rs/tower-http@tower-http-0.6.1...tower-http-0.6.2
v0.6.1: v0.6.1Compare Source
Fixed
New Contributors
v0.6.0: v0.6.0Compare Source
Changed:
bodymodule is disabled except forcatch-panic,decompression-*,fs, orlimitfeatures (BREAKING) (#477)tower0.5 (#503)Fixed
snapview/tungstenite-rs (tungstenite)
v0.28.0Compare Source
Errorsize 136 -> 32 by boxing internals ofError::Http,Error::WriteBufferFull,ProtocolError::InvalidHeader,TlsError::Native,TlsError::Rustls.socketto0.6.0).into_inner()to theWebSocket, so that the user can extract the underlying stream.tungsteniteis built with-Zfmt-debug=none.v0.27.0Compare Source
read_buffer_sizeread chunks.Hashimplementation consistent forUtf8Bytespayloads.v0.26.2Compare Source
WebSocketConfig::read_buffer_sizedocs explaining performance/memory tradeoff.v0.26.1Compare Source
Readstream implementations.v0.26.0Compare Source
Messageto useBytespayload directly with simplerUtf8Bytesfor text.CloseFrameto useUtf8Bytesforreason.Bytes.v0.25.0Compare Source
Payloadtype forMessagethat allows sending messages with a payload that can be cheaply cloned (Bytes).Long standing issue solved!
WebSocketConfig::read_buffer_sizedefault 128 KiB. This improves high load read performance.Note: This default increases memory usage compared to previous versions particularly for users expecting a high number of connections. Configure 4-8 KiB to get a similar memory usage to 0.24.
WebSocketConfignon-exhaustive & add builder style construction fns.WebSocketConfig::max_send_queue.Sec-WebSocket-Protocolheader.thiserrorto2.uuid-rs/uuid (uuid)
v1.22.0Compare Source
What's Changed
New Contributors
Full Changelog: uuid-rs/uuid@v1.21.0...v1.22.0
v1.21.0Compare Source
What's Changed
New Contributors
Full Changelog: uuid-rs/uuid@v1.20.0...v1.21.0
v1.20.0Compare Source
What's Changed
macro-diagnosticsby @KodrAus in #856New Contributors
Full Changelog: uuid-rs/uuid@v1.19.0...v1.20.0
Configuration
📅 Schedule: Branch creation - "before 9am on monday" in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.