chore(deps): Update FFmpeg + library dependencies - #31
Merged
Merged
Conversation
docs-matrix fails on any deps.json change Renovate makes, because Renovate edits the ledger but cannot run scripts/gen-matrix.sh. build-matrix needs docs-matrix (deliberately: a 1-minute staleness check gates an hours-long fan-out), so the whole build/test fan-out was skipped and this PR had validated nothing. Only the four bumped version strings change: libvmaf v3.2.0->v3.2.1, whisper.cpp v1.9.3->v1.9.4, shaderc v2026.3->v2026.4, libmp3lame 3.100->4.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ryan-morris
added a commit
that referenced
this pull request
Sep 17, 2026
…-up called it green
Renovate edits deps.json but cannot run scripts/gen-matrix.sh, so every ledger PR
it opens lands with a stale docs/matrix. That is not cosmetic: ci.yml has
build-matrix:
needs: [resolve, docs-matrix]
and GitHub SKIPS a job whose needed job failed, whatever its `if:` says. So a red
docs-matrix silently cancelled the entire build/test fan-out. PR #31 sat at 13
checks instead of 128 and had validated nothing about the four library bumps it
proposed -- the opposite of what renovate.yml's header promises ("CI (build +
docs-matrix) then validates that bump across every FFmpeg line before it can
merge"). resolve had done its job correctly: it selected ["9.0.1","8.1.2"].
Worse, the roll-up reported success over it. `build` only failed on a matrix
result of failure or cancelled, so a SKIPPED matrix printed
"build passed (matrix result: skipped)" with zero artifacts built.
Two fixes:
- renovate-matrix.yml (new): on a push to renovate/** that touches deps.json,
regenerate the matrices and push them back to the branch. The push uses
UPDATE_PR_TOKEN, not GITHUB_TOKEN, specifically so the PR's checks re-run --
a GITHUB_TOKEN push triggers no workflows and would leave the PR red forever.
Terminates because the second run finds no drift; an author guard bounds it at
one extra cycle even if gen-matrix.sh were ever non-deterministic.
- ci.yml: the build/test roll-ups now distinguish the two reasons a matrix is
skipped. any=false means nothing needed building and still passes; any=true
means an upstream job failed and nothing ran, which cannot. Verified across all
eight (result x any) combinations. This was safe before only because
docs-matrix is itself a required check -- now the roll-up is true on its own.
Verified by hand on PR #31: regenerating its matrices took it from 13 checks to
128, with the full fan-out running on both FFmpeg lines. This automates that.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The libmp3lame 3.100 -> 4.0 bump in this PR failed across every RID and all four
cells:
checking for libmpg123 >= 1.26.0... no
checking use of external mpg123 decoder... configure: error: no, libmpg123 not found
LAME 4.0 dropped the bundled mpglib in favour of an external libmpg123, and its
configure defaults the decoder ON. --disable-frontend does not cover it.
We only want the ENCODER. FFmpeg decodes MP3 with its own native decoder and
--enable-libmp3lame wires up the encoder alone, so LAME's decode path was always
dead weight here. configure raises that error only when the decoder was
explicitly requested; with --disable-decoder it proceeds and needs no libmpg123
at all -- which keeps a whole new dependency out of the ledger rather than adding
one to satisfy code we do not use.
Verified in a container against the real 4.0 tarball:
- without the flag: reproduces the CI failure exactly
- with it: configure succeeds, "use of external mpg123 decoder... no"
- libmp3lame.a builds; lame_init/lame_encode_buffer/lame_encode_flush/
lame_set_brate/lame_close all still exported
- 0 mpg123 symbols in the archive, defined or undefined, so nothing can leak
into our static link; lame.pc stays "-L${libdir} -lmp3lame"
- a program linked statically against it encodes real PCM: "encoded 417 bytes;
lame 4.0"
The option exists in 3.100 as well (checked that tarball's configure), so a line
that pins back via .overrides still builds.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ryan-morris
added a commit
that referenced
this pull request
Sep 17, 2026
* chore(deps): Update renovate/renovate Docker tag to v44.95.0
* fix(ci): Renovate bumps were skipping the build fan-out, and the roll-up called it green
Renovate edits deps.json but cannot run scripts/gen-matrix.sh, so every ledger PR
it opens lands with a stale docs/matrix. That is not cosmetic: ci.yml has
build-matrix:
needs: [resolve, docs-matrix]
and GitHub SKIPS a job whose needed job failed, whatever its `if:` says. So a red
docs-matrix silently cancelled the entire build/test fan-out. PR #31 sat at 13
checks instead of 128 and had validated nothing about the four library bumps it
proposed -- the opposite of what renovate.yml's header promises ("CI (build +
docs-matrix) then validates that bump across every FFmpeg line before it can
merge"). resolve had done its job correctly: it selected ["9.0.1","8.1.2"].
Worse, the roll-up reported success over it. `build` only failed on a matrix
result of failure or cancelled, so a SKIPPED matrix printed
"build passed (matrix result: skipped)" with zero artifacts built.
Two fixes:
- renovate-matrix.yml (new): on a push to renovate/** that touches deps.json,
regenerate the matrices and push them back to the branch. The push uses
UPDATE_PR_TOKEN, not GITHUB_TOKEN, specifically so the PR's checks re-run --
a GITHUB_TOKEN push triggers no workflows and would leave the PR red forever.
Terminates because the second run finds no drift; an author guard bounds it at
one extra cycle even if gen-matrix.sh were ever non-deterministic.
- ci.yml: the build/test roll-ups now distinguish the two reasons a matrix is
skipped. any=false means nothing needed building and still passes; any=true
means an upstream job failed and nothing ran, which cannot. Verified across all
eight (result x any) combinations. This was safe before only because
docs-matrix is itself a required check -- now the roll-up is true on its own.
Verified by hand on PR #31: regenerating its matrices took it from 13 checks to
128, with the full fan-out running on both FFmpeg lines. This automates that.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v3.2.0→v3.2.1v1.9.3→v1.9.4v2026.3→v2026.43.100→4.0Release Notes
Netflix/vmaf (https://github.com/Netflix/vmaf.git)
v3.2.1Compare Source
Small release with a fix for #1587.
What's Changed
New Contributors
Full Changelog: Netflix/vmaf@v3.2.0...v3.2.1
ggml-org/whisper.cpp (https://github.com/ggml-org/whisper.cpp.git)
v1.9.4Compare Source
Overview
New version has been released.
Nightly build: b5130
More info: dist : releases and versioning of ggml-org projects
Changelog since v1.9.3
927cfcemetal : remove leftover ggml-metal.metal kernels file (#4051)dd80eb2scripts : use sed instead of grep for version parsing [no ci] (#4052)1fa6dfaci : update WoA CUDA 13.4 to use 13.4.1 GA (#4053)a2b36ebwhisper : bump version to 1.9.4 (#4050)6fb4cd6ci : add Windows On ARM support to release job (#4048)c44b60bwhisper : call encoder_begin_callback before language auto-detect (#3936)6d0ed91whisper : re-seed decoder 0 between calls (#4025)cec4dbeci : update close-issue job to not close issues (#4045)79f2d92tests : load backends before init when built with GGML_BACKEND_DL (#4031)61e6ccaserver : return language in detect response (#4035)52a939async : ggmla937f4eggml : bump version to 0.23.0 (ggml/1618)11d4eecmetal : add remaining fa-vec tunings for M3 Max (llama/28373)140e57aggml : replace compile definitions with version.h.in (llama/28364)e2389ebggml : rename and make private ggml_op_alloc_size_may_expand() (ggml/0)1b37beaggml : don't crash when backend search path can't be read (llama/28271)f32e6faggml : remove GGML_CUDA_PEER_MAX_BATCH_SIZE (llama/28177)e1bbe40ggml-cpu(s390x) : fix q5_1 uninitialized v_acc (llama/28332)d1e0e64sycl: fuse rms_norm+mul+add and add+add residual chains (llama/27610)36f170eSYCL: Refactor GGML_SYCL_ENABLE_MKL_FA to global var (llama/26863)d784addopencl: quant lm_head / decode GEMV and medium-batch GEMM optimizations (speculative decoding/MTP) (llama/26477)0a4a95ctune MMVQ to MMQ crossover for SM87 (llama/28285)4dd48ddmetal : add sparse FA (llama/28098)d55d345metal : fix glu dispatch with ne00 = 1 (llama/28306)25350b5CUDA: Allow concurrent streams per split for multi-GPU (llama/28198)47d348avulkan: fix FA dequant path engagement (llama/28190)f24a386sycl : enhance the api to support peer-to-peer copy (llama/27550)a704770sycl: reduce redundant work in Q4_K multi-column MMVQ (llama/27062)e560569finetune: fix no KV cache (llama/27199)37f0f44ggml-hexagon: add F16 support for unary ops (llama/28228)1bdda1emetal : add fa-vec tunings for M3 (llama/28236)3a1c7d6metal : fix memory query under low-memory conditions (llama/27701)4d343d7ggml-cuda : remove unused vars (llama/28235)519df61CUDA + ggml: add sparse-fa for DSV4/GLM (llama/27970)c2b4007ggml: avoid KleidiAI buffer type init on dispatch (llama/27891)dc70853hexagon: MUL_MAT and MUL_MAT_ID fusion and fixes (llama/28202)1c7d35evulkan: handle larger batch sizes (>4) efficiently for IQ3_S mat-vec (llama/27449)a9e5861vulkan : only request VK_KHR_shader_bfloat16 extension if supported (llama/28155)d57ae98ggml-cpu : conditionally add SpacemiT IME kernel sources (llama/27961)35133c9opencl: fix out‐of‐bound reads in the Adreno image kernels (#27632)c94921fhexagon: add missing FARF logs for cpy/get_rows/set_rows/gdn ops (llama/28217)fcc2feemetal : add metallib build support for xcframework (llama/28163)2c48678cuda: fuse MoE weighted expert reduction (llama/25952)f162a19Revert "sycl : add Kronecker product FWHT support for sizes 384, 640, 768, 12…" (#28184)408faaasycl : add Kronecker product FWHT support for sizes 384, 640, 768, 1280 (llama/28016)5f07f85metal : add fa-vec tuning for M2 Pro (llama/28122)8cca1a3metal : add fa-vec tunings for A18 Pro (MacBook Neo) (llama/28152)a245a8fmetal : fix more leaks due to missing autoreleasepools (llama/27883)870db2ametal : add fa-vec tuning for M2 Max (llama/28015)4f3a2a4sycl : support limit max alloc memory within 2GB for host-pinned memory (llama/27559)5032008metal: enable Metal 4.0 tensor API on M5+/A19+ (llama/27461)8e54c65metal : add fa-vec tunings for M1 Ultra (llama/28088)f22bb2eCUDA: XOR swizzle flash attn K,V smem fp16 tiles (llama/25635)dbc40efmetal : add concat support for quantized types (llama/28116)2f608abAVX2: Speed up large batch size prompt processing of IQ models (llama/27402)c6934d0metal : add top-k radix implementation (llama/28073)088c603opencl: tune the quant paths for Intel Xe-LP GPUs to improve its TG and PP performance (llama/26438)c648b9awebgpu : avoid crash when offset is not multiple of 4 in WebGPU ggml_backend_tensor_get() implementation (llama/28045)c1be45bROCm: add radix TOP_K for long rows (llama/27466)7614a4cmetal : add fa-vec tunings for M1 (llama/28078)b0f4bc0CUDA: extend MOE fusion to specdec, earlier MOE glu fusion and topk-router fusion were restricted to 1 token (llama/27621)76a51e8sycl : Enhance to get the free memory of Intel GPU (llama/27968)6ce7b89vulkan: tune mat-vec rows for batched inference on Strix Halo (llama/27909)96dddd8ggml : add MUL_MAT to the list of ops that may need additional memory (for WebGPU) (llama/28071)db00b01vulkan: top_k radix select for k >= 1024 for Qwen 3.8 Flash Next (llama/28032)01ebd22hexagon: fix CPY fence bug (llama/28033)e5c96cametal : add remaining Q4_1/Q5_0/Q5_1 fa-vec tunings for M2 (llama/28017)4089fa6rpc: avoid serializing buffers from other servers (llama/26500)749683dggml : fix ggml_backend_buft_get_alloc_size() guard (llama/28038)e9583f0ggml: add SWIGLU_CLAMP (llama/27930)e900a73CUDA: use the fast mm_ids_helper path for any n_expert_used (llama/27978)35d9e22hip: tune rdna 3 mmq config (llama/26284)e5c9e3ehip : optimize Q2_0 dot-product path for gfx1201 (llama/26753)4b2243aggml : add ggml_backend_op_alloc_size_may_expand, use it in RPC (llama/27960)43acf3drpc: fix apple rdma error spew on teardown (llama/27908)1e0f382metal: add fa-vec tunings for M3 Ultra (llama/27999)b66593emetal : Add fa-vec tuning for M3 Pro (llama/27963)5e49459rpc : fix pre-rdma macOS versions (llama/27815)3ad8b9bhexagon: support for device discovery and create sessions on demand (llama/27785)3d4e0e9sycl: split long rows in TOP_K instead of one work-group per row (llama/27847)c68f205metal : fix null-pipeline crash for F16 src1 mul_mat/mul_mat_id (llama/25648)c969c68ggml: allow passing alloc dependencies in graph_optimize (llama/27301)b33bbc5metal : add fa-vec tunings for M2 (llama/27940)2a11026opencl: use a better matmul path on two Adreno GPU generations (llama/27640)285f1ffmetal : assert shared memory padding (llama/27951)308fa4fmetal : add remaining fa-vec tunings for M4 Pro (llama/27915)325c8d1sycl: make --fit respect --fit-target better (llama/27629)e644752vulkan: combine duplicated fastdiv functions, rename the one optimizing small divs (llama/27526)590fe18metal : add fa-vec tunings for M1 Max (llama/27932)d501a0avulkan: Change mul_mat_id to pad K rather than N (llama/27925)4c38040vulkan: fix missing view-alias dependencies in ggml_vk_graph_optimize (llama/27812)caea96fggml : fix conv_transpose_2d for multiple batches (llama/26132)ba99c09Vulkan: add hoisting support for row IDs and expert count in shaders (llama/26686)0a15087metal : add fa-vec tunings for M4 (llama/27875)7f78e1bOpenVINO: Update OV to 2026.3.1, whisper.cpp support, Qwen3.5 on NPU, and new ops (llama/27843)fa4d244sycl: use TILE for quantized KV decode on BMG (llama/26689)97d0da2sycl: bind the f16 KV cache in place for the oneDNN SDPA path (llama/27468)530e3f4metal : add fa-vec tunings for M3 Max, M5 and M5 Pro (llama/27863)ff38b98metal : add fa-vec tunings for M4 Pro (llama/27824)b6571e4ggml-hexagon: add HTP unary ops for ABS and LOG (llama/27786)a0614d9hex-unary: fix RMS_NORM_MUL weight-offset bugs for grouped/broadcast norms (llama/27798)8529971opencl: add bin kernelskernel_gemm_moe_q4_0_q8_1_dp4a_bin,kernel_gemm_moe_mxfp4_q8_1_dp4a_bin(llama/27768)55ab1e5Feature: Added LIGHTNING_INDEXER support for Deepseek V4 ops on Vulkan Backend (llama/27453)a5db1d6metal : fix memory leaks due to missing autoreleasepools (llama/27758)3fea10dhexagon: support for multi-NPU devices (IQ9, IQ10) and fully asynchronous backend (llama/26501)5271734vulkan: warptiles currently assume warp sizes <= 64, clamp to work around larger warps (llama/27726)0a02697Implemented vulkan cross_entropy_loss and cross_entropy_loss_back (llama/27216)82f5f85rpc : implement event and async backend APIs (llama/18626)9d8e6b9cuda: unblock mmq for MoE on sm_60 (llama/26264)8c0adb0ggml-metal: add chunked SSD MMA for Mamba-2 prefill optimization (llama/26647)8df657aggml-meta: propagate buffer usage and call init on the new tensors (llama/27586)482956ekleidiai: Rework KleidiAI Build System/Integration (llama/26077)e820c28rpc: support apple RDMA as an RPC transport (llama/26421)be12d39metal : null-check buffer alloc to fix OOM crash (llama/25371)642b5d3ruby : Add #free method, check MemoryView strictly (#4032)eacbd82whisper : default-initialize whisper_mel to avoid uninitialized read (#3981)c4ac001parakeet : fix TDT decode by outputting raw logits from the joint graph (#4017)9781133talk-llama : sync llama.cpp3680f66pi : init0414519sync : ggmld470c9dggml : bump version to 0.22.0 (ggml/1607)322a77csycl : mark tq2_0 as not supported (llama/27660)17a522awebgpu : fix handling of infinity values during ARGSORT and TOP_K (llama/27538)fa3b87cmetal : per-device tuned (Q, NE) for flash-attn vec (llama/26570)fe52277sync : ggmlb15d31dmetal: per-op source split + parallel compile (llama/26561)4257445scripts : update ggml-am1d8e052sync : ggmlaa25d33ggml : shorten virtual device naming in CUDA and Metal (llama/27608)103305ewebgpu : reorder includes since V that appears in common_decls.tmpl may be defined as K in flash_attn_decls.tmpl if KV_OVERLAP (llama/27545)32d0f49ggml : fix ggml_clamp (llama/27644)20209c2Deepseek 4:-sm tensor(llama/26490)3b89b37Fix meta tensor split state propagation (llama/27574)c8a4009cuda : add POOL_1D support (llama/27573)13a7856vulkan : added the PAD_REFLECT_1D operation (llama/26586)1efb31eggml: optimize concat op by replacing per-element memcpy with row-level memcpy (llama/24575)21a67ddsycl : add Q2_K reordered MMVQ and ESIMD kernels (again) (llama/27490)5f7bd9dopencl: fold the gpt-oss MoE per-expert bias adds into the epilogue (op/kernel fusion) (llama/26431)a722846whisper : guard null source in buffer loader read callback (#3982)c122757docs : center badges in README.md [no ci] (#4012)2569409devops : add main-rocm Dockerfile (#3975)52dec9dvitisai : add VitisAI Plugin for AMD Ryzen AI NPU encoder offload (#3608)233fe1fwhisper : bypass cross-attention scaling for OpenVINO backend (#3997)51de5e8openvino : update model conversion and README.md (#4003)3391d6bscripts : add release.sh script (#4010)a4610c7docs : add release badge and remove stable/roadmap [no ci] (#4009)ab57887make : add --parallel to cmake build command (#4007)45f1593sync : ggmlce77728Revert "sycl : add Q2_K reordered MMVQ and ESIMD kernels (llama/26336)" (llama/27486)0d9ba28ggml : bump version to 0.21.0 (ggml/1597)d6c416ekleidiai : add SME2 F32 GEMV kernel support (llama/26891)d60ef65sycl : add Q2_K reordered MMVQ and ESIMD kernels (llama/26336)b1cb805sycl : Add Q5_K ESIMD kernel (llama/26376)2cb52ddopencl: keep the vocab-scale K-quant lm_head on the CPU for Adreno A7X (compiler issue workaround) (llama/26440)af74f97sycl: Update gate logic for Alchemist GPUs regarding OneDNN features. (llama/26635)f19250esycl: fix multiple warnings in compiling sycl backend (llama/26713)12137c3sycl : fix load model with mlock issue (llama/27250)5656e44ggml: support ggml_rope_set_offset on opencl, sycl, wgpu, hexagon (llama/27345)d68216ametal : clamp K extent in tensor API mat-mat kernel for K not a multiple of 32 (llama/27450)c16cb42opencl: fix q6_K flat mul_mat for Adreno A6x/A7x GPUs with older E031 compilers (llama/26476)73c2b7eopencl: fix local size for norm (llama/27339)8539d72vulkan: FA MMQ should use fp32 for Q quantization calculations (llama/27413)60f14a5metal : dequant kv cache only for large batches (llama/27438)2922418CI: Use LLVM's OpenMP over MSVC_DEBUG_non_redist on Windows (llama/26678)c2dc946CUDA: adding switch points per HW and quant type to tune the mvq->MMQ decode crossover (llama/26079)283775emetal : dequantize quantized KV to F16 before flash attention (llama/27390)02be8f5Revert "tensor-split meta backend fixes (ggml/26502)" (llama/27433)13fa860ggml: fix backend split scheduler race condition (llama/26040)2648a70ggml-cuda: provide static workspace for cuBLAS handles (llama/26574)acfad32vulkan : add source groups for shaders (llama/26666)a3386d4opencl: make the MoE expert scatter deterministic (llama/26464)135f348tensor-split meta backend fixes (llama/26502)9f4b18ahexagon: fix FA HMX queue ordering and pack the rescale D matrices (llama/27042)cd340eaopencl: port fused ssm_scan kernel (Mamba-2, d_state in {128, 256}) to GPU (llama/26439)3d27742ggml-cpu: gate __fp16 on __ARM_FP16_FORMAT_IEEE (llama/26860)11e58f3vulkan : dequant q8_0 KV once in coopmat1 (llama/25494)4ef3e87vulkan: add null checks in ggml_vk_queue_command_pools_cleanup (llama/27353)689ad69sycl: report zero devices instead of aborting when the host has none (llama/27291)8442c74ggml: add ggml_rope_set_offset (+ metal support) (llama/27120)d830bd2metal : dequantize q8_0 using packed types (llama/27370)1c882a8vulkan: tiled transpose for 0<->2 permuted CONT (llama/26585)7df5fa8ggml-webgpu: add mulmat with overlapping src0/src1 (e.g., for minimax-01) (llama/27321)fa1e2bcopencl: fix WAR race in the generic FA tile kernels when the WG spans subgroups (llama/26434)4be3101RPC: populate use_count to enable fusion inside backends (llama/27142)dbab353sycl: honor GGML_HINT_SRC0_IS_HADAMARD (llama/27298)c6a2bd0devops : stop shadowing proper cuda libraries in runtime docker build (#3989)ec73735tests: add check for nullptr for wctx in test-vad-full (#3998)a4ad15fci : release clean-up (#4005)81a3fadserver : only enable token timestamps when the response needs them (#3990)d61695ddocs : fix typos in readme files (#4004)b78df3dci : move close-issue.yml to .github/workflows [no ci] (#4002)339f2b4bindings-javascript : remove package.json from git (#4001)google/shaderc (https://github.com/google/shaderc.git)
v2026.4Compare Source
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate CLI.