Daily edition

Oct 15, 2026

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

Oct 16, 20265 reads · 127 merged PRs screened

framework internals

vercel/next.js · #100158

Files changed →View PR ↗

Fix extensionless Google font URLs in both bundlersRust · 145 + / 8 −

Introduces 3 new declarations in crates/next-core/src/next_font/google/mod.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_font/google/mod.rs ↗ · 9 files

@@ -794,3 +830,104 @@ async fn get_mock_stylesheet(         }     } }++#[cfg(test)]+mod tests {+    use super::{+        FontFile, NextFontGoogleFontFileOptions, find_font_files_in_css,+        font_file_options_from_query_map, font_file_options_to_query,+    };++    #[test]+    fn font_extensions() {+        for (url, format, ext) in [+            (+                "https://fonts.gstatic.com/l/font?kit=a=b&skey=c&v=v20",+                "format('woff2')",+                "woff2",+            ),+            (+                "https://fonts.gstatic.com/l/font?kit=a%2Bb&skey=c",+                "format(\"woff\")",+                "woff",+            ),+            (+                "https://fonts.gstatic.com/l/font",+                "format('truetype')",+                "ttf",+            ),+            (+                "https://fonts.gstatic.com/l/font",+                "format('opentype')",+                "otf",

runtime

ggml-org/llama.cpp · #29778

Files changed →View PR ↗

Add Support to maion-coder archC++ · 170 + / 2 −

Introduces 3 new declarations in src/models/maion-coder.cpp.

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

src/models/maion-coder.cpp ↗ · 9 files

@@ -0,0 +1,149 @@+#include "models.h"++void llama_model_maion_coder::load_arch_hparams(llama_model_loader & ml) {+    ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS,       hparams.f_norm_rms_eps);+    ml.get_key_or_arr(LLM_KV_EXPERT_FEED_FORWARD_LENGTH, hparams.n_ff_exp_arr, hparams.n_layer_all);+    ml.get_key(LLM_KV_INTERLEAVE_MOE_LAYER_STEP,         hparams.n_moe_layer_step);+    ml.get_key(LLM_KV_MOE_LATENT_SIZE,                   hparams.moe_latent_size);++    if (hparams.n_moe_layer_step == 0 || hparams.moe_latent_size == 0 || hparams.n_expert == 0) {+        throw std::runtime_error("maion-coder requires a positive MoE layer step, latent size and expert count");+    }++    ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa);+    uint32_t n_swa_layers = 0;+    ml.get_arr_n(LLM_KV_ATTENTION_SLIDING_WINDOW_PATTERN, n_swa_layers);+    if (hparams.n_swa == 0 || n_swa_layers != hparams.n_layer_all) {+        throw std::runtime_error("maion-coder requires a positive sliding window and a sliding window pattern for each layer");+    }+    ml.get_arr(LLM_KV_ATTENTION_SLIDING_WINDOW_PATTERN, hparams.is_swa_impl);+    hparams.rope_pattern = hparams.is_swa_impl;+    hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;+    hparams.rope_freq_base_train_swa  = hparams.rope_freq_base_train;+    hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train;++    type = LLM_TYPE_UNKNOWN;+}++void llama_model_maion_coder::load_arch_tensors(llama_model_loader &) {+    LLAMA_LOAD_LOCALS;++    const int64_t moe_n_embd = hparams.moe_latent_size;++    tok_embd    = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD,  "weight"), {n_embd, n_vocab}, 0);

core implementation

huggingface/transformers · #49596

Files changed →View PR ↗

Integrate the UltraBERT architecturePython · 1120 + / 0 −

Introduces 69 new declarations in src/transformers/models/ultrabert/modeling_ultrabert.py.

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

src/transformers/models/ultrabert/modeling_ultrabert.py ↗ · 12 files

@@ -0,0 +1,655 @@+#                🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨+#           This file was automatically generated from src/transformers/models/ultrabert/modular_ultrabert.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_ultrabert.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+from torch import nn+from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss++from ... import initialization as init+from ...activations import ACT2FN+from ...cache_utils import Cache+from ...integrations import use_kernel_forward_from_hub, use_kernelized_func+from ...masking_utils import create_bidirectional_mask, create_bidirectional_sliding_window_mask+from ...modeling_layers import GenericForQuestionAnswering, GradientCheckpointingLayer+from ...modeling_outputs import BaseModelOutput, MaskedLMOutput, SequenceClassifierOutput, TokenClassifierOutput

language design

rust-lang/rust · #164076

Files changed →View PR ↗

Fix ICE when move expressions reference out-of-scope local bindingsRust · 144 + / 18 −

Introduces 3 new declarations in compiler/rustc_resolve/src/late.rs.

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

compiler/rustc_resolve/src/late.rs ↗ · 12 files

@@ -5566,30 +5611,46 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {             ExprKind::Type(ref _type_expr, ref _ty) => {                 visit::walk_expr(self, expr);             }+            ExprKind::Move(..) => {+                self.with_move_expr_initializer(expr.span, |this| visit::walk_expr(this, expr));+            }             // For closures, RibKind::FnOrCoroutine is added in visit_fn             ExprKind::Closure(ast::Closure {                 binder: ClosureBinder::For { ref generic_params, span },+                fn_decl_span,                 ..             }) => {-                self.with_generic_param_rib(-                    generic_params,-                    RibKind::Normal,-                    expr.id,-                    LifetimeBinderKind::Closure,-                    span,-                    |this| visit::walk_expr(this, expr),-                );+                self.with_move_expr_scope(Some(fn_decl_span), |this| {+                    this.with_generic_param_rib(+                        generic_params,+                        RibKind::Normal,+                        expr.id,+                        LifetimeBinderKind::Closure,+                        span,+                        |this| visit::walk_expr(this, expr),+                    );+                });+            }+            ExprKind::Closure(ref closure) => {+                self.with_move_expr_scope(Some(closure.fn_decl_span), |this| {

core implementation

pandas-dev/pandas · #71179

Files changed →View PR ↗

BUG: handle Unicode thousands and decimal markers in read_csvPython · 22 + / 5 −

Reworks 21 lines of existing logic in pandas/io/parsers/readers.py.

Changes how existing core implementation behaves. Tests changed with it, with code of their own.

pandas/io/parsers/readers.py ↗ · 6 files

@@ -2961,6 +2962,22 @@ def _clean_options(                 )                 engine = "python" +        if engine == "c":+            for option in ("thousands", "decimal"):+                marker = options[option]+                if (+                    isinstance(marker, (str, bytes))+                    and len(marker) == 1+                    and ord(marker) > 127+                ):+                    # The C parser consumes UTF-8 bytes, so even a code point+                    # below 256 cannot be represented by its single char.+                    fallback_reason = (+                        f"the 'c' engine does not support non-ASCII {option} markers"+                    )+                    engine = "python"+                    break+         if fallback_reason and self._engine_specified:             raise ValueError(fallback_reason) 

Read today’s edition →