7-day edition

Sep 26, 2026 – Oct 2, 2026

The edition exactly as it was published. Nothing here is re-selected on a later reading.

Oct 3, 202612 reads · 883 merged PRs screened

framework internals

vercel/next.js · #99477

Files changed →View PR ↗

fix(next/image): Pin DNS resolution when fetching external images TypeScript · 362 + / 55 −

Introduces 13 new declarations in packages/next/src/server/image-optimizer.ts.

Adds new framework internals rather than adjusting what was there. Tests changed with it, with code of their own.

packages/next/src/server/image-optimizer.ts ↗ · 5 files

@@ -518,24 +537,286 @@ function isRedirect(statusCode: number) {   return [301, 302, 303, 307, 308].includes(statusCode) } +function upstreamTimedOut(href: string): ImageError {+  Log.error('upstream image response timed out for', href)+  return new ImageError(+    504,+    '"url" parameter is valid but upstream response timed out'+  )+}++const agentOptions = {+  keepAlive: true,+  timeout: 7_000,+}+type ImageRequestOptions = HttpRequestOptions & { imageLookupKey?: string }+type AgentGetName = (options?: HttpRequestOptions) => string++const getHttpAgentName = (+  HttpAgent.prototype as HttpAgent & { getName: AgentGetName }+).getName+const getHttpsAgentName = (+  HttpsAgent.prototype as HttpsAgent & { getName: AgentGetName }+).getName++class ImageHttpAgent extends HttpAgent {+  getName(options: ImageRequestOptions = {}): string {+    return `${getHttpAgentName.call(this, options)}:${options.imageLookupKey ?? ''}`+  }+}++class ImageHttpsAgent extends HttpsAgent {+  getName(options: ImageRequestOptions = {}): string {

systems design

kubernetes/kubernetes · #141644

Files changed →View PR ↗

DRA ResourceSlice + ResourceClaim[Template]: reject qualified names with more than one slashGo · 72 + / 83 −

Introduces 8 new declarations in pkg/apis/resource/validation/validation.go.

Adds new systems design rather than adjusting what was there. Tests changed with it, with code of their own.

pkg/apis/resource/validation/validation.go ↗ · 5 files

@@ -1074,31 +1069,33 @@ func validateDevice(device resource.Device, oldDevice *resource.Device, fldPath 	}  	allErrs = append(allErrs, validateMap(device.Attributes, -1, attributeAndCapacityMaxKeyLength, validateQualifiedName, validateDeviceAttribute, fldPath.Child("attributes"))...)-	// If the entire capacity is the same as before then validation can be skipped.-	// We could also do the DeepEqual on the entire spec, but here it is a bit cheaper.-	if oldDevice == nil || !apiequality.Semantic.DeepEqual(oldDevice.Capacity, device.Capacity) {-		if allowMultipleAllocations {-			allErrs = append(allErrs, validateMap(device.Capacity, -1, attributeAndCapacityMaxKeyLength, validateQualifiedName, validateMultiAllocatableDeviceCapacity, fldPath.Child("capacity"))...)-		} else {-			allErrs = append(allErrs, validateMap(device.Capacity, -1, attributeAndCapacityMaxKeyLength, validateQualifiedName, validateSingleAllocatableDeviceCapacity, fldPath.Child("capacity"))...)-		}-	}-	// If the entire set is the same as before then validation can be skipped.-	// We could also do the DeepEqual on the entire spec, but here it is a bit cheaper.-	if oldDevice == nil || !apiequality.Semantic.DeepEqual(oldDevice.Taints, device.Taints) {-		allErrs = append(allErrs, validateSlice(device.Taints, resource.DeviceTaintsMaxLength,-			func(taint resource.DeviceTaint, fldPath *field.Path) field.ErrorList {-				return validateDeviceTaint(taint, nil, fldPath)-			},-			fldPath.Child("taints"))...)+	if allowMultipleAllocations {+		allErrs = append(allErrs, validateMap(device.Capacity, -1, attributeAndCapacityMaxKeyLength, validateQualifiedName, validateMultiAllocatableDeviceCapacity, fldPath.Child("capacity"))...)+	} else {+		allErrs = append(allErrs, validateMap(device.Capacity, -1, attributeAndCapacityMaxKeyLength, validateQualifiedName, validateSingleAllocatableDeviceCapacity, fldPath.Child("capacity"))...) 	}+	allErrs = append(allErrs, validateSlice(device.Taints, resource.DeviceTaintsMaxLength,+		func(taint resource.DeviceTaint, fldPath *field.Path) field.ErrorList {+			return validateDeviceTaint(taint, nil, fldPath)+		},+		fldPath.Child("taints"))...)  	allErrs = append(allErrs, validateSet(device.ConsumesCounters, resource.ResourceSliceMaxDeviceCounterConsumptionsPerDevice, 		validateDeviceCounterConsumption,

framework internals

vercel/next.js · #99232

Files changed →View PR ↗

[ai-upgrade] Ask user whether to start upgrade in worktreeTypeScript · 47 + / 9 −

Introduces 3 new declarations in packages/next/src/lib/upgrade/harness.ts.

Adds new framework internals rather than adjusting what was there. Tests changed with it, with code of their own.

packages/next/src/lib/upgrade/harness.ts ↗ · 5 files

@@ -21,6 +21,27 @@ type UpgradeHarness = {   path: string } +type UpgradePrompt = string | ((useWorktree: boolean | null) => string)++function resolvePrompt(+  prompt: UpgradePrompt,+  useWorktree: boolean | null+): string {+  return typeof prompt === 'string' ? prompt : prompt(useWorktree)+}++async function chooseWorktree(): Promise<boolean> {+  Log.bootstrap('  Open the upgrade in a separate Git worktree?')+  const { id } = await cliSelect({+    values: { yes: 'Yes', no: 'No' },+    defaultValue: 0,+    selected: cyan('❯'),+    unselected: ' ',+    indentation: 2,+  })+  return id === 'yes'+}+ function getHarnessDisplayName(name: UpgradeHarness['name']): string {   return name === 'codex' ? 'Codex' : 'Claude Code' }

core implementation

holoviz/panel · #8775

Files changed →View PR ↗

fix: Stop shared ESM watchers when unusedPython · 165 + / 29 −

Introduces 11 new declarations in panel/io/watcher.py.

Adds new core implementation rather than adjusting what was there. Tests changed with it, with code of their own.

panel/io/watcher.py ↗ · 3 files

@@ -0,0 +1,157 @@+"""+Shared file watching for the autoreload development loop.++Components that render from the same file, e.g. every component compiled+into a shared ESM bundle, would otherwise each start their own watcher+task. This module hands out one watcher per path and notifies all its+subscribers when the file changes.+"""+from __future__ import annotations++import asyncio+import os+import pathlib+import typing as t+import weakref++from .state import state++_watchers: dict[pathlib.Path, PathWatcher] = {}+++class PathWatcher:+    """+    Watches a single path on behalf of any number of subscribers.++    Subscribers are held weakly, so subscribing does not keep a component+    alive; each is notified by calling the method it subscribed with.+    """++    def __init__(self, path: pathlib.Path):+        self.path = path+        self._subscribers: weakref.WeakKeyDictionary[t.Any, set[str]] = weakref.WeakKeyDictionary()+        self._stop_event: asyncio.Event | None = None

core implementation

pandas-dev/pandas · #69789

Files changed →View PR ↗

ENH: respect display.precision for complex and float Interval values (GH#25920)Python · 123 + / 28 −

Introduces 5 new declarations in pandas/io/formats/format.py.

Adds new core implementation rather than adjusting what was there. Tests changed with it, with code of their own.

pandas/io/formats/format.py ↗ · 7 files

@@ -1569,6 +1577,84 @@ def _format_strings(self) -> list[str]:         return fmt_values  +def _format_complex(value: complex, float_format: FloatFormatType | None) -> str:+    """+    Format a complex scalar from an object-dtype array.++    ``float_format`` is applied to each part separately so that formats+    written for floats also work here.+    """+    if float_format is None:+        return printing.format_with_precision(value)+    if isinstance(float_format, str):+        # "%"-style strings reach here unconverted+        fmt_str = float_format+        float_format = lambda part: fmt_str % part+    real = str(float_format(value.real)).strip()+    imag = str(float_format(value.imag)).strip()+    if not imag.startswith("-"):+        imag = f"+{imag}"+    return f"({real}{imag}j)"+++def _maybe_format_float_intervals(+    values: ArrayLike,+    formatter: Callable | None,+    float_format: FloatFormatType | None,+    decimal: str,+) -> ArrayLike:+    """+    Pre-format float-endpoint Interval column values (GH#25920).++    Only column values go through here; index labels and Categorical

framework internals

kubernetes/kubernetes · #142522

Files changed →View PR ↗

cacher: stream watch cache snapshots without an item sliceGo · 47 + / 43 −

Introduces 7 new declarations in staging/src/k8s.io/apiserver/pkg/storage/cacher/watch_cache_interval.go.

Adds new framework internals rather than adjusting what was there. Tests changed with it, with code of their own.

staging/src/k8s.io/apiserver/pkg/storage/cacher/watch_cache_interval.go ↗ · 4 files

@@ -250,55 +266,46 @@ type snapshotCacheIntervalSource struct { 	buffer *watchCacheIntervalBuffer } -func (s *snapshotCacheIntervalSource) Next() (*watchCacheEvent, error) {+func (s *snapshotCacheIntervalSource) next() (*watchCacheEvent, error) { 	event, exists := s.buffer.next() 	if !exists { 		return nil, nil 	} 	return event, nil } +func (s *snapshotCacheIntervalSource) All() iter.Seq2[*watchCacheEvent, error] {+	return eventsFromNext(s.next)+}+ // lazySnapshotCacheIntervalSource serves events from an immutable snapshot.-// The snapshot reference is captured under the watchCache lock, but the O(N)-// traversal that materializes the events is deferred until the first Next()-// call so that it runs off the watchCache lock.+// The snapshot reference is captured under the watchCache lock, while its+// contents are traversed one event at a time after releasing that lock. type lazySnapshotCacheIntervalSource struct { 	// snapshot is an immutable point-in-time copy of the store. 	snapshot store.Snapshot 	// resourceVersion is assigned to every watchCacheEvent produced by this source. 	resourceVersion uint64-	// loaded indicates whether items has been materialized from the snapshot.-	loaded bool-	// items holds the result of OrderedListPrefix, populated on the first Next() call-	items []interface{}-	// currentIndex tracks the current position within items.-	currentIndex int

systems design

kubernetes/kubernetes · #142494

Files changed →View PR ↗

Use snapshot generated for snapshotter to serve reads without lockGo · 25 + / 101 −

Introduces 3 new declarations in staging/src/k8s.io/apiserver/pkg/storage/cacher/store/watch_cache_storage.go.

Adds new systems design rather than adjusting what was there. Tests changed with it, with code of their own.

staging/src/k8s.io/apiserver/pkg/storage/cacher/store/watch_cache_storage.go ↗ · 7 files

@@ -99,70 +105,8 @@ func (w *WatchCacheStorage) MarkConsistent(consistent bool) { 	} } -func (w *WatchCacheStorage) LatestSnapshotLocked() (Snapshot, bool) {-	w.lock.RLock()-	defer w.lock.RUnlock()-	if w.snapshottingEnabled {-		return w.snapshots.Latest()-	}-	return nil, false-}--func (w *WatchCacheStorage) GetLatestSnapshotOrBuildLocked(key, continueKey string) (Snapshot, error) {-	if snap, ok := w.LatestSnapshotLocked(); ok {-		// Snapshots are added in order as we update store, so the-		// latest snapshot match latest store state and latest revision.-		return snap, nil-	}-	// TODO: Consider using Indexer Clone() after benchmarking.-	items, err := w.OrderedListPrefix(key, continueKey)-	if err != nil {-		return nil, err-	}-	return orderedListSnapshot{Items: items}, nil-}--type orderedListSnapshot struct {-	Items []interface{}-}--var _ Snapshot = (*orderedListSnapshot)(nil)--func (o orderedListSnapshot) GetByKey(key string) (interface{}, bool, error) {

language design

rust-lang/rust · #162832

Files changed →View PR ↗

add `Div` and `Mul` for `Complex<{float}>`Rust · 74 + / 1 −

Introduces 6 new declarations in library/core/src/num/complex.rs.

Adds new language design rather than adjusting what was there. Tests changed with it, with code of their own.

library/core/src/num/complex.rs ↗ · 4 files

@@ -91,3 +92,54 @@ impl<T: Sub<Output = T>> Sub<T> for Complex<T> {         Complex::new(self.re - rhs, self.im)     } }++macro_rules! impl_complex_mul_div {+    ($ty:ty, $mul:ident, $div:ident) => {+        #[unstable(feature = "complex_numbers", issue = "154023")]+        impl Mul for Complex<$ty> {+            type Output = Self;++            #[inline]+            fn mul(self, rhs: Self) -> Self::Output {+                let Complex { re: a, im: b } = self;+                let Complex { re: c, im: d } = rhs;++                let ac = a * c;+                let bd = b * d;+                let ad = a * d;+                let bc = b * c;++                let z = Complex::new(ac - bd, ad + bc);++                // Only call the libcall when both components are NaN.+                //+                // The naive algorithm would return NaN + NaNi for an input like+                // (1 + 0i) * (inf + infi). The libcall instead returns inf + infi.+                //+                // We duplicate the fast path here so that it can be inlined. We use a libcall+                // for the NaN correction to reduce the size of `core`.+                if z.re.is_nan() && z.im.is_nan() {+                    crate::hint::cold_path();+                    $mul(a, b, c, d)+                } else {

framework internals

vercel/next.js · #99222

Files changed →View PR ↗

Use focused npm advisories and nudge only for ready upgradesTypeScript · 106 + / 350 −

Introduces 4 new declarations in packages/next/src/lib/upgrade/prepare-upgrade.ts.

Adds new framework internals rather than adjusting what was there. Tests changed with it, with code of their own.

packages/next/src/lib/upgrade/prepare-upgrade.ts ↗ · 6 files

@@ -533,136 +426,55 @@ async function readNpmAdvisories(versions: string[]): Promise<Advisory[]> {     throw new Error('Could not check for security updates.')   } -  const advisories: Advisory[] = data.next.map((finding) => {-    if (!finding || typeof finding.vulnerable_versions !== 'string') {+  return data.next.map((finding) => {+    if (+      !finding ||+      typeof finding.vulnerable_versions !== 'string' ||+      !finding.vulnerable_versions.trim()+    ) {       throw new Error('Could not check for security updates.')     }--    return {-      // npm's active advisory feed does not expose withdrawal metadata.-      withdrawn_at: null,-      vulnerabilities: [-        {-          package: { ecosystem: 'npm', name: 'next' },-          vulnerable_version_range: finding.vulnerable_versions,-        },-      ],+    const range = finding.vulnerable_versions.replace(/,\s*/g, ' ')+    if (!semver.validRange(range)) {+      throw new Error('Could not check for security updates.')     }+    return range   })-  return advisories-}--function advisoryVersions(value: unknown, checkedVersion: string): string[] {

core implementation

holoviz/panel · #8777

Files changed →View PR ↗

Drop pyodide-http from converted appsPython · 24 + / 50 −

Introduces 3 new declarations in panel/io/pyodide.py.

Adds new core implementation rather than adjusting what was there. Tests changed with it, with code of their own.

panel/io/pyodide.py ↗ · 9 files

@@ -101,31 +96,28 @@ def _sampledata_dir(create=None):         return '/drive/assets/sampledata'     bokeh.util.sampledata.external_data_dir = _sampledata_dir -if pyodide_http is None:-    import pandas--    def _read_file(*args, **kwargs):-        if args and isurl(args[0]):-            args = (pyodide.http.open_url(args[0]),)+args[1:]-        elif isurl(kwargs.get('filepath_or_buffer')):-            kwargs['filepath_or_buffer'] = pyodide.http.open_url(kwargs['filepath_or_buffer'])-        return args, kwargs--    # Patch pandas.read_csv-    _read_csv_original = pandas.read_csv-    @functools.wraps(pandas.read_csv)-    def _read_csv(*args, **kwargs):-        args, kwargs = _read_file(*args, **kwargs)-        return _read_csv_original(*args, **kwargs)-    pandas.read_csv = _read_csv  # type: ignore--    # Patch pandas.read_json-    _read_json_original = pandas.read_json-    @functools.wraps(pandas.read_json)-    def _read_json(*args, **kwargs):-        args, kwargs = _read_file(*args, **kwargs)-        return _read_json_original(*args, **kwargs)-    pandas.read_json = _read_json  # type: ignore+def _read_file(*args, **kwargs):+    if args and isurl(args[0]):+        args = (pyodide.http.open_url(args[0]),)+args[1:]+    elif isurl(kwargs.get('filepath_or_buffer')):+        kwargs['filepath_or_buffer'] = pyodide.http.open_url(kwargs['filepath_or_buffer'])

core implementation

huggingface/transformers · #48416

Files changed →View PR ↗

model: Add GTE to TransformersPython · 1050 + / 0 −

Introduces 67 new declarations in src/transformers/models/gte/modeling_gte.py.

Adds new core implementation rather than adjusting what was there. Tests changed with it, with code of their own.

src/transformers/models/gte/modeling_gte.py ↗ · 13 files

@@ -0,0 +1,660 @@+#                🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨+#           This file was automatically generated from src/transformers/models/gte/modular_gte.py.+#               Do NOT edit this file manually as any edits will be overwritten by the generation of+#             the file from the modular. If any change should be done, please apply the change to the+#                          modular_gte.py file directly. One of our CI enforces this.+#                🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨+# Copyright 2026 the HuggingFace Team. All rights reserved.+#+# Licensed under the Apache License, Version 2.0 (the "License");+# you may not use this file except in compliance with the License.+# You may obtain a copy of the License at+#+#     http://www.apache.org/licenses/LICENSE-2.0+#+# Unless required by applicable law or agreed to in writing, software+# distributed under the License is distributed on an "AS IS" BASIS,+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+# See the License for the specific language governing permissions and+# limitations under the License.++from collections.abc import Callable++import torch+import torch.nn as nn+from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss++from ...activations import ACT2FN, gelu+from ...integrations import use_kernel_forward_from_hub, use_kernelized_func+from ...masking_utils import create_bidirectional_mask+from ...modeling_layers import GradientCheckpointingLayer+from ...modeling_outputs import (+    BaseModelOutputWithPooling,+    MaskedLMOutput,

core implementation

pandas-dev/pandas · #69457

Files changed →View PR ↗

ENH: infer read_excel engine from a workbook object (GH#46352)Python · 65 + / 49 −

Introduces 2 new declarations in pandas/io/excel/_base.py.

Adds new core implementation rather than adjusting what was there. Tests changed with it, with code of their own.

pandas/io/excel/_base.py ↗ · 3 files

@@ -1645,53 +1672,42 @@ def __init__(         self._io = stringify_path(path_or_buffer)          if engine is None:-            # Only determine ext if it is needed-            ext: str | None = None--            # GH#56692 - avoid importing xlrd; a Book only exists if the caller-            # already imported it. GH#68086 - must precede inspect_excel_format,-            # which seeks.-            xlrd = sys.modules.get("xlrd")-            if xlrd is not None and isinstance(path_or_buffer, xlrd.Book):-                ext = "xls"-                engine = "xlrd"+            # GH#68086 - must precede inspect_excel_format, which seeks.+            engine = _infer_engine_from_workbook(path_or_buffer) +        if engine is None:+            ext = inspect_excel_format(+                content_or_path=path_or_buffer, storage_options=storage_options+            )             if ext is None:-                ext = inspect_excel_format(-                    content_or_path=path_or_buffer, storage_options=storage_options+                raise ValueError(+                    "Excel file format cannot be determined, you must specify "+                    "an engine manually."                 )-                if ext is None:-                    raise ValueError(-                        "Excel file format cannot be determined, you must specify "-                        "an engine manually."-                    ) 

Read today’s edition →