Selected changesmerged Aug 24, 2026 – Aug 30, 2026
Unify code for PodGroups and CompositePodGroups in workloadForestGo · 383 + / 709 −
Introduces 32 new declarations in pkg/scheduler/framework/types.go.
Adds new systems design rather than adjusting what was there. Tests changed with it, with code of their own.
pkg/scheduler/framework/types.go ↗ · 24 files
@@ -1161,73 +1064,129 @@ func findNodeAndParent(curr, parent *PodGroupInfo, name string) (*PodGroupInfo, // It returns a flat slice of all QueuedPodInfo elements that were successfully removed. func (pgqi *QueuedPodGroupInfo) deleteSubtreePods(curr *PodGroupInfo) []*QueuedPodInfo { removedPods := make([]*QueuedPodInfo, 0)- if curr.GetPodGroup() != nil {- key := fwk.PodGroupKey(curr.Namespace, curr.Name)+ if curr.GetType() == fwk.PodGroupKeyType {+ key := fwk.PodGroupKey(curr.GetNamespace(), curr.GetName()) if pods, ok := pgqi.QueuedPodInfos[key]; ok { removedPods = append(removedPods, pods...) delete(pgqi.QueuedPodInfos, key) }+ return removedPods } for _, child := range curr.Children { removedPods = append(removedPods, pgqi.deleteSubtreePods(child)...) } return removedPods } -func newQueuedPodGroupInfo(pg *schedulingv1beta1.PodGroup) *QueuedPodGroupInfo {- return &QueuedPodGroupInfo{- PodGroupInfo: &PodGroupInfo{- Namespace: pg.Namespace,- Name: pg.Name,- Type: fwk.PodGroupKeyType,- PodGroup: pg,- Children: make([]*PodGroupInfo, 0),- },- QueuedPodInfos: make(map[fwk.EntityKey][]*QueuedPodInfo),- }-}--// PodGroupInfo is a wrapper around the PodGroup API object together with a list of pods that belong to the pod group.
Add an opt-in per-frame pixel cap (cap_pixels_per_frame) to the Qwen3-VL video processorPython · 381 + / 63 −
Introduces 8 new declarations in src/transformers/models/cohere_compass/video_processing_cohere_compass.py.
Adds new core implementation rather than adjusting what was there. Tests changed with it, with code of their own.
src/transformers/models/cohere_compass/video_processing_cohere_compass.py ↗ · 8 files
@@ -296,12 +331,55 @@ def _preprocess( processed_grids = reorder_videos(processed_grids, grouped_videos_index) pixel_values_videos = torch.cat(processed_videos, dim=0) video_grid_thw = torch.tensor(processed_grids)- data = {- "pixel_values_videos": pixel_values_videos,- "video_grid_thw": video_grid_thw,- } - return BatchFeature(data=data, tensor_type=return_tensors)+ return BatchFeature(+ data={"pixel_values_videos": pixel_values_videos, "video_grid_thw": video_grid_thw},+ tensor_type=return_tensors,+ )++ def get_num_of_video_patches(self, num_frames: int, height: int, width: int, videos_kwargs=None):+ """+ A utility that returns number of video patches a given video size.++ Args:+ num_frames (`int`):+ Number of frames in the input video.+ height (`int`):+ Height of the input video.+ width (`int`):+ Width of the input video.+ videos_kwargs (`dict`, *optional*)+ Any kwargs to override defaults of the video processor.+ Returns:+ `Tuple(int, int)`: Number of placeholder tokens required and number of patches per image.+ """+ videos_kwargs = videos_kwargs if videos_kwargs is not None else {}+ min_pixels = videos_kwargs.get("min_pixels", None) or self.size["shortest_edge"]+ max_pixels = videos_kwargs.get("max_pixels", None) or self.size["longest_edge"]
fix(cli): don't duplicate passthrough args for deno deploy/sandboxRust · 79 + / 5 −
Introduces 4 new declarations in libs/cli_parser/src/tests_full.rs.
Adds new language design rather than adjusting what was there. Read the linked PR for the surrounding test context.
libs/cli_parser/src/tests_full.rs ↗ · 2 files
@@ -9767,6 +9767,79 @@ fn use_env_proxy_flags() { assert!(r.is_err()); } +#[test]+fn deploy_subcommand() {+ let r = flags_from_vec(svec!["deno", "deploy"]);+ assert_eq!(+ r.unwrap(),+ Flags {+ subcommand: DenoSubcommand::Deploy(DeployFlags { sandbox: false }),+ ..Flags::default()+ }+ );++ // `deploy` is a passthrough subcommand: every arg after it is forwarded+ // verbatim, exactly once. Regression test for a duplication bug where the+ // args were written to `argv` both by `deploy_parse` and by the generic+ // trailing-arg handling, turning `--prod` into `--prod --prod`.+ let r = flags_from_vec(svec!["deno", "deploy", "--prod"]);+ assert_eq!(+ r.unwrap(),+ Flags {+ subcommand: DenoSubcommand::Deploy(DeployFlags { sandbox: false }),+ argv: svec!["--prod"],+ ..Flags::default()+ }+ );++ let r =+ flags_from_vec(svec!["deno", "deploy", "--project=myapp", "--prod", "-y"]);+ assert_eq!(+ r.unwrap(),+ Flags {
feat(desktop): clipboard apiRust · 332 + / 3 −
Introduces 12 new declarations in cli/rt/desktop.rs.
Adds new language design rather than adjusting what was there. Read the linked PR for the surrounding test context.
cli/rt/desktop.rs ↗ · 7 files
@@ -696,6 +698,75 @@ pub const DESKTOP_JS: &str = r#" console.error("[deno desktop] failed to install navigator.permissions:", e); } + // --- navigator.clipboard (text only) ---+ //+ // Spec surface: `navigator.clipboard` is a `Clipboard` (extends EventTarget)+ // exposing async `readText()` / `writeText()`. The ops behind them are+ // genuinely async: laufey's clipboard calls block their calling thread, and+ // on X11/Wayland a read is serviced by whichever app owns the selection, so+ // an unresponsive owner would otherwise freeze the whole runtime behind a+ // Promise that looks like it couldn't. They reject rather than resolve if+ // that owner never answers — `""` is indistinguishable from an empty+ // clipboard, and a resolved `writeText()` has to mean the write happened.+ //+ // The richer `read()` / `write()` (`ClipboardItem` / arbitrary MIME types)+ // aren't backed by laufey, so they're omitted rather than stubbed. Per spec+ // the read/write are gated on the `clipboard-read` / `clipboard-write`+ // permissions, but laufey has no clipboard permission model, so access+ // isn't gated here (mirroring how the desktop Notification surface+ // degrades).+ const webidl = internals.webidl;+ class Clipboard extends EventTarget {+ constructor() {+ super();+ webidl.illegalConstructor();+ }++ async readText() {+ webidl.assertBranded(this, ClipboardPrototype);+ return (await op_desktop_read_clipboard_text()) ?? "";+ }++ async writeText(data) {
coverage: Rename the three main coverage-info structsRust · 91 + / 92 −
Introduces 9 new declarations in compiler/rustc_codegen_llvm/src/coverageinfo/mapgen/covfun.rs.
Adds new language design rather than adjusting what was there. Read the linked PR for the surrounding test context.
compiler/rustc_codegen_llvm/src/coverageinfo/mapgen/covfun.rs ↗ · 15 files
@@ -52,22 +52,22 @@ pub(crate) fn prepare_covfun_record<'tcx>( instance: Instance<'tcx>, is_used: bool, ) -> Option<CovfunRecord<'tcx>> {- let fn_cov_info = tcx.instance_mir(instance.def).function_coverage_info.as_deref()?;- let ids_info = tcx.coverage_ids_info(instance.def)?;+ let mir_info = tcx.instance_mir(instance.def).coverage_mir_info.as_deref()?;+ let cg_info = tcx.coverage_codegen_info(instance.def)?; - let expressions = prepare_expressions(ids_info);+ let expressions = prepare_expressions(cg_info); let mut covfun = CovfunRecord { _instance: instance, mangled_function_name: tcx.symbol_name(instance).name,- source_hash: if is_used { fn_cov_info.function_source_hash } else { 0 },+ source_hash: if is_used { mir_info.function_source_hash } else { 0 }, is_used, virtual_file_mapping: VirtualFileMapping::default(), expressions, regions: llvm_cov::Regions::default(), }; - fill_region_tables(tcx, fn_cov_info, ids_info, &mut covfun);+ fill_region_tables(tcx, mir_info, cg_info, &mut covfun); if covfun.regions.has_no_regions() { debug!(?covfun, "function has no mappings to embed; skipping");
model: qwen4exp: reduce number of graph splitsC++ · 27 + / 10 −
Reworks 28 lines of existing logic in src/models/qwen4exp.cpp.
Changes how existing runtime behaves. Read the linked PR for the surrounding test context.
src/models/qwen4exp.cpp ↗ · 2 files
@@ -1111,7 +1114,18 @@ ggml_tensor * llama_model_qwen4exp::graph::build_ple( // gather then flatten the heads: get_rows lays the head dimension out slowest, as the reference does ggml_tensor * emb = ggml_get_rows(ctx0, model.per_layer_tok_embd, rows); emb = ggml_reshape_2d(ctx0, emb, hparams.ple_head_dim * n_heads, n_tokens);- cb(emb, "ple_embd", il);+ cb(emb, "ple_embd", -1);++ return emb;+}++ggml_tensor * llama_model_qwen4exp::graph::build_ple(+ llm_graph_input_rs * inp,+ ggml_tensor * emb,+ ggml_tensor * hidden,+ int il) {+ const int64_t hc = hparams.dsv4_hc_mult;+ const int64_t hc_dim = hc * n_embd; ggml_tensor * key = build_lora_mm(model.layers[il].ple_key, emb); ggml_tensor * value = build_lora_mm(model.layers[il].ple_value, emb);
sqlite: keep sessions alive across SQLite callbacksC++ · 26 + / 2 −
Reworks 10 lines of existing logic in src/node_sqlite.cc.
Changes how existing runtime behaves. Tests changed with it, with code of their own.
src/node_sqlite.cc ↗ · 3 files
@@ -1024,6 +1024,15 @@ void DatabaseSync::RemoveBackup(BackupJob* job) { backups_.erase(job); } +std::vector<BaseObjectPtr<Session>> DatabaseSync::PinSessions() const {+ std::vector<BaseObjectPtr<Session>> pinned;+ pinned.reserve(sessions_.size());+ for (Session* session : sessions_) {+ pinned.emplace_back(session);+ }+ return pinned;+}+ void DatabaseSync::DeleteSessions() { // all attached sessions need to be deleted before the database is closed // https://www.sqlite.org/session/sqlite3session_create.html
Revert "[rust-compiler] Bail out on nested TypeScript `this` parameters (#37232)"Rust · 4 + / 12 −
Reworks 16 lines of existing logic in compiler/crates/react_compiler_lowering/src/build_hir.rs.
Changes how existing language design behaves. Read the linked PR for the surrounding test context.
compiler/crates/react_compiler_lowering/src/build_hir.rs ↗ · 1 files
@@ -2589,25 +2589,17 @@ fn lower_block_statement( block: &react_compiler_ast::statements::BlockStatement, parent_scope: Option<react_compiler_ast::scope::ScopeId>, ) -> Result<(), CompilerError> {- Ok(lower_block_statement_inner(- builder,- block,- None,- parent_scope,- )?)+ let _ = lower_block_statement_inner(builder, block, None, parent_scope);+ Ok(()) } fn lower_block_statement_with_scope( builder: &mut HirBuilder, block: &react_compiler_ast::statements::BlockStatement, scope_override: react_compiler_ast::scope::ScopeId, ) -> Result<(), CompilerError> {- Ok(lower_block_statement_inner(- builder,- block,- Some(scope_override),- None,- )?)+ let _ = lower_block_statement_inner(builder, block, Some(scope_override), None);+ Ok(()) } fn lower_block_statement_inner(