7-day edition

Sep 28, 2026 – Oct 4, 2026

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

Oct 5, 202612 reads · 896 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 {

framework internals

holoviz/panel · #8796

Files changed →View PR ↗

fix: Improve Dial rendering and themingPython · 111 + / 20 −

Introduces 9 new declarations in panel/widgets/indicators.py.

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

panel/widgets/indicators.py ↗ · 3 files

@@ -705,17 +705,98 @@ def __init__(self, **params):     def _update_value_bounds(self):         self.param.value.bounds = self.bounds +    @property+    def _unfilled_color(self) -> str:+        # Without an outline, whitesmoke is indistinguishable from a white page.+        if self.unfilled_color:+            return self.unfilled_color+        return '#424242' if config.theme == 'dark' else '#e8e8e8'++    def _angles(self) -> tuple[float, float, float]:+        start = (np.radians(360-self.start_angle) - pi % (2*pi)) + pi+        end = (np.radians(360-self.end_angle) - pi % (2*pi)) + pi+        distance = (abs(end-start) % (pi*2))+        if end>start:+            distance = (pi*2)-distance+        return start, end, distance++    def _size(self) -> tuple[int, int]:+        height = self.height or self.width or 250+        return self.width or height, height++    def _font_sizes(self) -> tuple[str, str, str]:+        scale = (self._size()[1]/400)+        title_size = self.title_size if self.title_size else '%spt' % (scale*32)+        value_size = self.value_size if self.value_size else '%spt' % (scale*48)+        tick_size = self.tick_size if self.tick_size else '%spt' % (scale*18)+        return title_size, value_size, tick_size++    @staticmethod+    def _font_px(size: str) -> float:+        # Only reserves layout space, so a rough guess for unknown units is fine.+        try:

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

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 {

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

holoviz/panel · #8800

Files changed →View PR ↗

perf: Speed up streaming into HTML and Markdown panesTypeScript · 583 + / 49 −

Introduces 23 new declarations in panel/models/html.ts.

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

panel/models/html.ts ↗ · 7 files

@@ -28,25 +28,175 @@ function searchAllDOMs(node: Element | ShadowRoot, selector: string): (Element |   return found } +/**+ * Replaces the characters between `start` and `end` of the unescaped+ * text with the escaped `patch`, producing `version` of the text.+ */ @server_event("html_stream") export class HTMLStreamEvent extends ModelEvent {-  constructor(readonly model: HTML, readonly patch: string, readonly start: number) {+  constructor(readonly model: HTML, readonly patch: string, readonly start: number,+              readonly end: number | null = null, readonly version: number | null = null) {     super()     this.patch = patch     this.start = start+    this.end = end+    this.version = version     this.origin = model   }    protected override get event_values(): Attrs {-    return {model: this.origin, patch: this.patch, start: this.start}+    return {model: this.origin, patch: this.patch, start: this.start, end: this.end, version: this.version}   }    static override from_values(values: object) {-    const {model, patch, start} = values as {model: HTML, patch: string, start: number}-    return new HTMLStreamEvent(model, patch, start)+    type Values = {model: HTML, patch: string, start: number, end: number | null, version: number | null}+    const {model, patch, start, end, version} = values as Values+    return new HTMLStreamEvent(model, patch, start, end, version)   } }

core implementation

pandas-dev/pandas · #69647

Files changed →View PR ↗

BUG: fix repr of longdouble values outside float64 range (GH#17809)Python · 38 + / 10 −

Introduces 2 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 ↗ · 3 files

@@ -1373,6 +1374,26 @@ def formatter(value):          return formatter +    def _fixed_width_format(self, kind: Literal["f", "e"]) -> Callable:+        # np.longdouble.__format__ casts to float64, which turns values outside+        # its range into 0 or inf, so format those with numpy (GH#17809)+        if (+            self.values.dtype == np.longdouble+            and np.finfo(np.longdouble).precision > np.finfo(np.float64).precision+        ):+            return partial(+                _format_longdouble,+                kind=kind,+                digits=self.digits,+                leading_space=self.leading_space,+            )++        if self.leading_space is True:+            fmt_str = "{value: .{digits:d}{kind}}"+        else:+            fmt_str = "{value:.{digits:d}{kind}}"+        return partial(fmt_str.format, digits=self.digits, kind=kind)+     def get_result_as_array(self) -> np.ndarray:         """         Returns the float values converted into strings using

language design

rust-lang/rust · #162683

Files changed →View PR ↗

Use attribute parser for `#[inline()]` attribute checkRust · 262 + / 58 −

Introduces 16 new declarations in compiler/rustc_attr_ir/src/encode_cross_crate.rs.

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

compiler/rustc_attr_ir/src/encode_cross_crate.rs ↗ · 17 files

@@ -212,4 +212,219 @@ impl AttributeKind {             // tidy-alphabetical-end         }     }++    /// Whether this attribute is an extern indicator.+    ///+    /// Must stay in sync with [`CodegenFnAttrs::contains_extern_indicator`].+    ///+    /// [`CodegenFnAttrs::contains_extern_indicator`]: ../rustc_middle/middle/codegen_fn_attrs/struct.CodegenFnAttrs.html#method.contains_extern_indicator+    pub fn is_extern_indicator(&self) -> bool {+        use AttributeKind::*;++        match self {+            // tidy-alphabetical-start+            AllowInternalUnsafe(..) => false,+            AllowInternalUnstable(..) => false,+            AlwaysGca => false,+            AutomaticallyDerived => false,+            CfgAttrTrace(..) => false,+            CfgTrace(..) => false,+            CfiEncoding { .. } => false,+            Cold => false,+            CollapseDebugInfo(..) => false,+            CompilerBuiltins => false,+            ConstContinue(..) => false,+            Coroutine => false,+            Coverage(..) => false,+            CrateName { .. } => false,+            CrateType(_) => false,+            CustomMir(_, _) => false,+            DebuggerVisualizer(..) => false,+            DefaultLibAllocator => false,+            Deprecated { .. } => false,

Read today’s edition →