Selected changesmerged Oct 24, 2026
core: implement `char::is_xid_{start|continue}`Rust · 305 + / 1 −
Introduces 6 new declarations in library/core/src/unicode/unicode_data.rs.
Adds new language design rather than adjusting what was there. Tests changed with it, with code of their own.
library/core/src/unicode/unicode_data.rs ↗ · 7 files
@@ -943,6 +945,232 @@ pub mod white_space { } } +#[rustfmt::skip]+pub mod xid_continue {+ use super::ShortOffsetRunHeader;++ static SHORT_OFFSET_RUNS: [ShortOffsetRunHeader; 56] = [+ ShortOffsetRunHeader::new(0, 706), ShortOffsetRunHeader::new(14, 4681),+ ShortOffsetRunHeader::new(420, 5741), ShortOffsetRunHeader::new(462, 7958),+ ShortOffsetRunHeader::new(558, 11264), ShortOffsetRunHeader::new(639, 12293),+ ShortOffsetRunHeader::new(673, 13312), ShortOffsetRunHeader::new(697, 19904),+ ShortOffsetRunHeader::new(698, 42125), ShortOffsetRunHeader::new(700, 42509),+ ShortOffsetRunHeader::new(704, 55204), ShortOffsetRunHeader::new(786, 63744),+ ShortOffsetRunHeader::new(791, 64110), ShortOffsetRunHeader::new(792, 67383),+ ShortOffsetRunHeader::new(932, 74650), ShortOffsetRunHeader::new(1286, 75399),+ ShortOffsetRunHeader::new(1292, 77712), ShortOffsetRunHeader::new(1293, 78896),+ ShortOffsetRunHeader::new(1296, 82939), ShortOffsetRunHeader::new(1300, 83527),+ ShortOffsetRunHeader::new(1302, 90368), ShortOffsetRunHeader::new(1303, 92160),+ ShortOffsetRunHeader::new(1305, 92729), ShortOffsetRunHeader::new(1306, 93504),+ ShortOffsetRunHeader::new(1329, 101595), ShortOffsetRunHeader::new(1352, 102802),+ ShortOffsetRunHeader::new(1358, 110576), ShortOffsetRunHeader::new(1361, 110889),+ ShortOffsetRunHeader::new(1368, 111356), ShortOffsetRunHeader::new(1378, 113664),+ ShortOffsetRunHeader::new(1379, 118000), ShortOffsetRunHeader::new(1389, 118528),+ ShortOffsetRunHeader::new(1391, 119079), ShortOffsetRunHeader::new(1395, 119808),+ ShortOffsetRunHeader::new(1417, 120487), ShortOffsetRunHeader::new(1454, 121344),+ ShortOffsetRunHeader::new(1479, 122624), ShortOffsetRunHeader::new(1491, 123536),+ ShortOffsetRunHeader::new(1517, 124112), ShortOffsetRunHeader::new(1521, 126464),+ ShortOffsetRunHeader::new(1547, 130032), ShortOffsetRunHeader::new(1613, 131072),+ ShortOffsetRunHeader::new(1615, 173792), ShortOffsetRunHeader::new(1616, 178207),+ ShortOffsetRunHeader::new(1618, 183982), ShortOffsetRunHeader::new(1620, 191457),+ ShortOffsetRunHeader::new(1622, 192094), ShortOffsetRunHeader::new(1624, 194560),+ ShortOffsetRunHeader::new(1625, 195102), ShortOffsetRunHeader::new(1626, 196608),
BUG: ArrowExtensionArray silently truncated fractional values set from a list into an integer dtypePython · 60 + / 3 −
Introduces 2 new declarations in pandas/core/arrays/arrow/array.py.
Adds new language design rather than adjusting what was there. Tests changed with it, with code of their own.
pandas/core/arrays/arrow/array.py ↗ · 3 files
@@ -4844,6 +4846,61 @@ def _truncates_to_integer(value) -> bool: return False +def _may_truncate_to_integer(values) -> bool:+ """+ Whether ``values`` could hold anything an integer-typed pyarrow column would+ truncate. Cheaper than inspecting the entries. See GH#71076.+ """+ return lib.infer_dtype(values, skipna=True) not in (+ "integer",+ "boolean",+ "string",+ "empty",+ )+++def _first_truncated_to_integer(value):+ """+ The first entry of ``value`` an integer-typed pyarrow column would truncate,+ or None if there is none. See GH#71076.+ """+ if not is_list_like(value) or isinstance(value, (pa.Array, pa.ChunkedArray)):+ # a pyarrow container is cast, not converted, so pyarrow rejects a lossy+ # value itself; see test_setitem_lossy_float_pyarrow_container_raises+ return value if _truncates_to_integer(value) else None++ dtype = getattr(value, "dtype", None)+ if getattr(dtype, "kind", None) in ("i", "u", "b"):+ # skip materializing a container whose own dtype has nothing to drop+ return None+ if isinstance(value, (list, tuple)) and not _may_truncate_to_integer(value):+ # same, for a container that has no dtype to ask+ return None
Turbopack: consume graph-derived chunk groupsRust · 449 + / 150 −
Introduces 13 new declarations in crates/next-core/src/next_app/app_client_references_chunks.rs.
Adds new framework internals rather than adjusting what was there. Tests changed with it, with code of their own.
crates/next-core/src/next_app/app_client_references_chunks.rs ↗ · 11 files
@@ -1,31 +1,170 @@-use anyhow::Result;-use smallvec::smallvec;+use anyhow::{Result, bail};+use smallvec::SmallVec; use tracing::Instrument;-use turbo_rcstr::rcstr;+use turbo_rcstr::{RcStr, rcstr}; use turbo_tasks::{- FxIndexMap, FxIndexSet, ResolvedVc, TryFlatJoinIterExt, TryJoinIterExt, ValueToStringRef, Vc,+ FxIndexMap, FxIndexSet, ResolvedVc, TryFlatJoinIterExt, TryJoinIterExt, ValueToString,+ ValueToStringRef, Vc, }; use turbopack_core::{ chunk::{ChunkGroupResult, ChunkingContext, availability_info::AvailabilityInfo}, module::Module, module_graph::{ ModuleGraph,- chunk_group_info::{ChunkGroup, ChunkGroupKey},+ chunk_group_info::{ChunkGroup, ChunkGroupInfo}, }, output::{OutputAsset, OutputAssets, OutputAssetsWithReferenced}, }; use crate::{ next_client_reference::{- ClientReferenceType,- ecmascript_client_reference::ecmascript_client_reference_module::{- ecmascript_client_reference_merge_tag, ecmascript_client_reference_merge_tag_ssr,- },+ CLIENT_MERGE_TAG, ClientReference, ClientReferenceType, SSR_MERGE_TAG, visit_client_reference::ClientReferenceGraphResult, }, next_server_component::server_component_module::NextServerComponentModule,
lib: speed up AbortSignalJavaScript · 196 + / 145 −
Introduces 2 new declarations in lib/internal/abort_controller.js.
Adds new runtime rather than adjusting what was there. Tests changed with it, with code of their own.
lib/internal/abort_controller.js ↗ · 12 files
@@ -508,36 +562,43 @@ function abortSignal(signal, reason) { signal[kReason] = reason; // 3. Let dependentSignalsToAbort be a new list.- const dependentSignalsToAbort = ObjectSetPrototypeOf([], null);+ // The list is only allocated when there are dependent signals.+ let dependentSignalsToAbort; // 4. For each dependentSignal of signal's dependent signals:- signal[kDependantSignals]?.forEach((s) => {- const dependentSignal = s.deref();- // 1. If dependentSignal is not aborted, then:- if (dependentSignal && !dependentSignal[kAborted]) {- // 1. Set dependentSignal's abort reason to signal's abort reason.- dependentSignal[kReason] = reason;- dependentSignal[kAborted] = true;- // 2. Append dependentSignal to dependentSignalsToAbort.- ArrayPrototypePush(dependentSignalsToAbort, dependentSignal);- }- });+ const dependantSignals = signal[kDependantSignals];+ if (dependantSignals !== undefined && dependantSignals.size > 0) {+ dependentSignalsToAbort = ObjectSetPrototypeOf([], null);+ dependantSignals.forEach((s) => {+ const dependentSignal = s.deref();+ // 1. If dependentSignal is not aborted, then:+ if (dependentSignal && !dependentSignal[kAborted]) {+ // 1. Set dependentSignal's abort reason to signal's abort reason.+ dependentSignal[kReason] = reason;+ dependentSignal[kAborted] = true;+ // 2. Append dependentSignal to dependentSignalsToAbort.+ ArrayPrototypePush(dependentSignalsToAbort, dependentSignal);+ }+ });
server: refactor server entrypointC++ · 635 + / 511 −
Introduces 6 new declarations in tools/server/server.cpp.
Adds new runtime rather than adjusting what was there. Read the linked PR for the surrounding test context.
tools/server/server.cpp ↗ · 7 files
@@ -418,178 +312,457 @@ int llama_server(common_params & params, int argc, char ** argv, server_child & SRV_WRN("security: %s enabled - do not expose to untrusted environments\n", features.c_str()); } - //- // Handle downloading model- //+ return true;+}++static void server_install_signal_handlers() {+#if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__))+ struct sigaction sigint_action;+ sigint_action.sa_handler = signal_handler;+ sigemptyset (&sigint_action.sa_mask);+ sigint_action.sa_flags = 0;+ sigaction(SIGINT, &sigint_action, NULL);+ sigaction(SIGTERM, &sigint_action, NULL);+#elif defined (_WIN32)+ auto console_ctrl_handler = +[](DWORD ctrl_type) -> BOOL {+ return (ctrl_type == CTRL_C_EVENT) ? (signal_handler(SIGINT), true) : false;+ };+ SetConsoleCtrlHandler(reinterpret_cast<PHANDLER_ROUTINE>(console_ctrl_handler), true);+#endif+}++// once the HTTP server listens: log the addresses and spawn llama-connect if asked, so the port is+// bound and the child startup health check reaches us. the destructor of connect_proc stops it+static bool server_on_listening(server_http_context & ctx_http, const common_params & params, server_connect & connect_proc) {+ for (const auto & address : ctx_http.listening_addresses) {+ SRV_INF("listening on %s\n", address.c_str());+ }++ if (params.server_connect && !connect_proc.start(params, ctx_http.port)) {