Daily edition

Nov 10, 2026

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

Nov 11, 20265 reads · 159 merged PRs screened

systems design

kubernetes/kubernetes · #143980

Files changed →View PR ↗

Extract indexedWatchers.allMatchingWatchers iteratorGo · 33 + / 15 −

Introduces 4 new declarations in staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.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/cacher.go ↗ · 2 files

@@ -1257,24 +1258,41 @@ func (c *Cacher) startDispatching(event *watchCacheEvent) {  	namespace := event.ObjFields["metadata.namespace"] 	name := event.ObjFields["metadata.name"]-	forEachSelectionKey(namespace, name, triggerValues, supported,-		func(scope namespacedName) {-			for _, watcher := range c.watchers.scopeWatchers[scope] {-				c.watchersBuffer = append(c.watchersBuffer, watcher)-			}-		},-		func(indexValue string) {-			for _, watcher := range c.watchers.indexWatchers[indexValue] {-				c.watchersBuffer = append(c.watchersBuffer, watcher)+	for watcher := range c.watchers.allMatchingWatchers(namespace, name, triggerValues, supported) {+		c.watchersBuffer = append(c.watchersBuffer, watcher)+	}+}++func (i *indexedWatchers) allMatchingWatchers(namespace, name string, triggerValues []string, triggerSupported bool) iter.Seq[*cacheWatcher] {+	return func(yield func(*cacheWatcher) bool) {+		stopped := false+		yieldWatchers := func(watchers watchersMap) {+			if stopped {+				return 			}-		},-		func() {-			for _, watchers := range c.watchers.indexWatchers {-				for _, watcher := range watchers {-					c.watchersBuffer = append(c.watchersBuffer, watcher)+			for _, watcher := range watchers {+				if !yield(watcher) {+					stopped = true+					return

language design

rust-lang/rust · #165047

Files changed →View PR ↗

Change the span building of paths from first-to-last to chainedRust · 43 + / 4 −

Introduces 3 new declarations in compiler/rustc_parse/src/parser/path.rs.

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

compiler/rustc_parse/src/parser/path.rs ↗ · 4 files

@@ -208,23 +208,35 @@ impl<'a> Parser<'a> {         }          let lo = self.token.span;+        let mut path_span = None;         let mut segments = ThinVec::new();         let mod_sep_ctxt = self.token.span.ctxt();         if self.eat_path_sep() {+            chain_span(&mut path_span, self.prev_token.span);             segments.push(PathSegment::path_root(lo.shrink_to_lo().with_ctxt(mod_sep_ctxt)));         }-        self.parse_path_segments(&mut segments, style, ty_generics)?;-        Ok(Path { segments, span: lo.to(self.prev_token.span) })+        self.parse_path_segments_with_path_span(&mut segments, style, ty_generics, &mut path_span)?;+        Ok(Path { segments, span: path_span.unwrap() })     }      pub(super) fn parse_path_segments(         &mut self,         segments: &mut ThinVec<PathSegment>,         style: PathStyle,         ty_generics: Option<&Generics>,+    ) -> PResult<'a, ()> {+        self.parse_path_segments_with_path_span(segments, style, ty_generics, &mut None)+    }++    fn parse_path_segments_with_path_span(+        &mut self,+        segments: &mut ThinVec<PathSegment>,+        style: PathStyle,+        ty_generics: Option<&Generics>,+        path_span: &mut Option<Span>,     ) -> PResult<'a, ()> {         loop {

runtime

nodejs/node · #65457

Files changed →View PR ↗

fs: resolve symlinks before parent componentsJavaScript · 67 + / 11 −

Introduces 3 new declarations in lib/fs.js.

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

lib/fs.js ↗ · 2 files

@@ -3602,10 +3645,23 @@ function realpath(p, options, callback) {       pos = result + 1;     } +    if (part === '' || part === '.') {+      current = previous;+      return process.nextTick(LOOP);+    }+    if (part === '..') {+      base = pathModule.dirname(previous);+      current = base;+      if (current[current.length - 1] !== CHAR_FORWARD_SLASH &&+          current[current.length - 1] !== CHAR_BACKWARD_SLASH) {+        current += pathModule.sep;+      }+      return process.nextTick(LOOP);+    }     // Continue if not a symlink, break if a pipe/socket     if (knownHard.has(base)) {       if (reachedPipeOrSocket) {-        return callback(null, encodeRealpathResult(p, options));+        return callback(null, encodeRealpathResult(pathModule.resolve(p), options));       }       return process.nextTick(LOOP);     }

framework internals

ggml-org/llama.cpp · #31837

Files changed →View PR ↗

ui: show audio in Discover for models whose mmproj has an audio encoderTypeScript · 288 + / 6 −

Introduces 5 new declarations in tools/ui/src/lib/utils/gguf-metadata.ts.

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

tools/ui/src/lib/utils/gguf-metadata.ts ↗ · 11 files

@@ -0,0 +1,153 @@+/**+ * Reads the metadata key/value pairs at the start of a GGUF file, from as many bytes of it as are given.+ * Format: https://github.com/ggml-org/ggml/blob/master/docs/gguf.md+ */++const GGUF_MAGIC = 0x46554747; // "GGUF", little-endian++enum GgufType {+	UINT8 = 0,+	INT8 = 1,+	UINT16 = 2,+	INT16 = 3,+	UINT32 = 4,+	INT32 = 5,+	FLOAT32 = 6,+	BOOL = 7,+	STRING = 8,+	ARRAY = 9,+	UINT64 = 10,+	INT64 = 11,+	FLOAT64 = 12+}++const SCALAR_SIZE: Partial<Record<GgufType, number>> = {+	[GgufType.BOOL]: 1,+	[GgufType.FLOAT32]: 4,+	[GgufType.FLOAT64]: 8,+	[GgufType.INT8]: 1,+	[GgufType.INT16]: 2,+	[GgufType.INT32]: 4,+	[GgufType.INT64]: 8,+	[GgufType.UINT8]: 1,+	[GgufType.UINT16]: 2,

core implementation

pandas-dev/pandas · #71235

Files changed →View PR ↗

BUG: loc setitem with a partial MultiIndex key sets NaN (GH#43719)Python · 81 + / 0 −

Introduces 2 new declarations in pandas/core/indexing.py.

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

pandas/core/indexing.py ↗ · 3 files

@@ -932,6 +932,71 @@ def _maybe_mask_setitem_value(self, indexer, value):          return indexer, value +    @final+    def _maybe_restore_dropped_levels(self, key, indexer, value):+        """+        Relabel a Series/DataFrame value whose axis lacks the MultiIndex levels+        matched by the leading scalars of that axis's key.++        ``obj.loc[partial_key]`` drops those levels, so without this+        ``obj.loc[partial_key] = obj.loc[partial_key] * 2`` aligns to all-NaN.+        """+        if not isinstance(value, (ABCSeries, ABCDataFrame)):+            return value++        if self.axis is not None:+            key = _tupleize_axis_indexer(self.ndim, self.axis, key)+        # mirror how _get_setitem_indexer split the key between the axes+        if isinstance(indexer, tuple):+            keys = key+        else:+            keys, indexer = (key,), (indexer,)++        if value.ndim == 2:+            axes = list(range(len(indexer)))+        elif self.ndim == 1 or not (+            # a dict is a missing scalar key, see convert_missing_indexer+            is_scalar(indexer[0]) or isinstance(indexer[0], dict)+        ):+            # a Series value aligns on the rows unless they are selected by a scalar+            axes = [0]+        elif len(indexer) > 1:+            axes = [1]

Read today’s edition →