Releases: ggml-org/whisper.cpp
Release list
v1.9.3
Note
Semantic versioning is still work in progress.
More info can be found in https://github.com/ggml-org/ggml/discussions/1579
Nightly build: b4938
Change log since v1.9.2
371b5a7 release : v1.9.3 (#4000)
81c1905 cmake : update semver and release process [no ci] (#3996)
4834a23 talk-llama : sync llama.cpp
6b014cf sync : ggml
8189458 ggml : bump version to 0.20.2 (ggml/1589)
51319a2 CUDA: MMVQ nwarps=8 for bs=1 for dense models on DGX Spark (llama/26843)
71759b7 cuda : skip UMA override for HIP builds (llama/27083)
964bb1b ggml : bump version to 0.20.1 (ggml/1587)
4257f47 sycl: fix thread/block count in quantized cpy kernel launches (llama/27160)
0f38613 support OP OPT_STEP_ADAMW, OPT_STEP_SGD (llama/25268)
9a0d190 vulkan: add SHMEM_STRIDE_PAD/APPLY_SLM_A_RESHAPE for coopmat1 on Intel Xe (llama/25380)
ab71410 fixed indent
9b98e57 Fixed gating logic for problematic Intel driver version
1fe009c talk-llama : fix build (#0)
733f281 sync : ggml
667da04 ggml : bump version to 0.20.0 (ggml/1584)
b7ea8b1 ggml : recurrent state rollback for ggml_ssm_scan (llama/26623)
2aef2a0 sycl: fuse mul_mat(gate) + mul_mat(up) + GLU for q4_K dense FFN (llama/26779)
5bc0c85 ggml: force single thread on wasi (llama/25686)
2d05b6e sycl: fuse the gated-delta-net state writeback cpy (llama/26643)
43cbe41 OpenVINO: Qwen3.5, memory optimization, and test-recurrent-state-rollback (llama/26952)
94d2d35 Support host pinned mem to improve SYCL Host-to-Device Memory Access (llama/26789)
34009e8 metal : add TQ2_0 support (llama/26980)
62031fe ggml-cpu/ops: vectorize flash-attention V-cache F16 to F32 conversion (llama/26947)
ac9a74f sycl: remove separate fp32 type promotion in gemm non-oneDNN path (llama/26372)
3425d13 sycl: fuse UNARY(silu|sigmoid|softplus) + MUL (llama/26411)
90d4ed1 sycl : Add DMMV ESIMD Q3_K kernel (llama/26251)
f701160 sycl : enhance concat to support Q4_0, Q4_1, Q5_0, Q5_1, Q8_0 (llama/26800)
c7be8b3 ggml-hip : remove -funsafe-math-optimizations (llama/26696)
406b116 ggml : fix arm builds, unused var (llama/26991)
b0e3297 gguf : harden loader against malformed tensor dims and metadata types (llama/25596)
92423af kleidiai: Add runtime feature detection mechanism for aarch64/kleidiai (llama/26076)
1b93067 opencl: default FA c8 cluster width to 16 on X1E (llama/26433)
6329040 vulkan: add TQ2_0 (ternary) support (llama/25850)
db3687b opencl: use flat mv q5_k when weight exceeds image1d_buffer_t limit (llama/26880)
cdbe455 CUDA: only disable CUDA graphs when mul_mat_id actually needs a stream sync (llama/26802)
030656f cuda : add warp-per-row wkv7 kernel for single-token decode (llama/26111)
d958968 llama: add default load-mode auto, which avoids mmap on iGPUs (llama/26081)
0f60f8e ggml-webgpu: fix CI errors from #25025 and #25262 (llama/26566)
a6e2630 opencl: transpose the K tile in local memory for FA prefill kernels (llama/26428)
830ec22 ggml-cpu : fix CPU affinity mask being ignored on Android (llama/26838)
b3bc904 ggml : require contiguous src for ROLL on CUDA and Metal (llama/25928)
f09a97c ggml-webgpu : refactor several wgsl files and simplify flash_attn wgsl. (llama/26134)
877761c ggml-cpu : fix missing Q5_0 dispatch in SpaceMiT backend (llama/26792)
10791af CUDA: fuse rms_norm + mul + rope (+ view + set_rows) (llama/26767)
068d3b0 CUDA: fix thread/block count in quantized cpy kernel launches (llama/26731)
eb3296f sycl: coalesce the ssm_conv window loads (llama/26612)
8a5ba01 metal : fix NORM/RMS_NORM for row lengths that leave a partial simdgroup (llama/26708)
06248ca cmake : add config version support (ggml/1582)
592feef talk-llama : sync llama.cpp
8770492 sync : ggml
84cdcad ggml : bump version to 0.19.0 (ggml/1581)
8587ad3 ggml : add aarch64 HWCAP fallbacks and fix fp16 variant detection (llama/25554)
56cb154 sycl: fix UE4M3 parsing (llama/25608)
077c5d4 sycl: *glu flat path (llama/26354)
9faa9ee sycl : Support DSv4 OPs: LIGHTNING_INDEXER,DSV4_HC_COMB,DSV4_HC_POST,DSV4_HC_PRE (llama/26568)
fb9e8ca sycl : fix error Error OP FLASH_ATTN_EXT on arc770 (llama/26441)
89d45af sycl : enhance OP set_rows to support all missed data types (llama/26515)
79ab70c cuda: fix warnings for unused variable/function (llama/26688)
5693378 metal : avoid threadgroup matrix array instantiation in kernel_lightning_indexer (llama/26646)
69bd0a9 ci : onboard AMD ROCm CI with gfx1151 fixes (llama/26544)
5a80d0a vulkan: fix submission batching size, add debug tools for diagnosing causes of DeviceLost drivers errors (llama/26371)
60894f1 mtmd/ggml: add ggml_build_forward_order (llama/26649)
8731021 vulkan backend ops: implemented GATED_LINEAR_ATTN (llama/25601)
8631825 whisper : heap out-of-bounds read in log_mel_spectrogram on very short audio (#3956)
df1547b whisper,parakeet : reject invalid n_dims in tensor header to prevent stack-buffer-overflow on malformed model files (#3957)
b4938
v1.9.2
What's Changed
- sync : ggml by @ggerganov in #3896
- include parakeet in build-xcframework.sh by @daaku in #3899
- Fix pkgconfig configuration (Nix build failure) by @nmouha in #3894
- examples : update model names in parakeet-cli README.md [no ci] by @danbev in #3906
- examples: Fix argument flag for min speech duration in VAD by @QuantiusBenignus in #3907
- sync : ggml by @ggerganov in #3912
- examples : Improved inference performance of Android example project by @yymin1022 in #3913
- ci : set GGML_NATIVE=OFF for sanitize builds by @danbev in #3920
- whisper : make voice_length() utf-8 aware for CJK by @buxuku in #3915
- whisper : map token timestamps to original time when VAD is enabled by @buxuku in #3910
- ci, examples : add package-lock.json to examples addon node by @danbev in #3919
- whisper : expose internal VAD speech segments by @buxuku in #3916
- sync : ggml by @ggerganov in #3940
- Fix #587: Remove leading space from txt output by @JingliangGao in #3921
- ruby : add VAD speech segments API by @KitaitiMakoto in #3931
- Adding ruby bindings change log by @taf2 in #3959
- verify hparams loaded from parakeet model bin file by @bhargav191098 in #3950
- sync : ggml by @ggerganov in #3962
- Fix VAD min silence argument parsing by @chupakobra6 in #3963
- ci : set GGML_NATIVE=OFF for build-vad workflow by @danbev in #3966
- sync : ggml by @ggerganov in #3969
- release : v1.9.2 by @danbev in #3970
New Contributors
- @daaku made their first contribution in #3899
- @nmouha made their first contribution in #3894
- @QuantiusBenignus made their first contribution in #3907
- @yymin1022 made their first contribution in #3913
- @JingliangGao made their first contribution in #3921
- @bhargav191098 made their first contribution in #3950
- @chupakobra6 made their first contribution in #3963
Full Changelog: v1.9.1...v1.9.2
v1.9.1
What's Changed
- ci : add GGML_NATIVE=OFF and GGML_BMI2=OFF to windows-blas by @danbev in #3891
- release : v1.9.1 by @danbev in #3892
Full Changelog: v1.9.0...v1.9.1
v1.9.0
What's Changed
- ci : only trigger release jobs for tags by @danbev in #3883
- parakeet : add support for NVIDIA Parakeet by @danbev in #3735
- ruby : add support for Parakeet by @KitaitiMakoto in #3885
- release : v1.9.0 by @danbev in #3886
Full Changelog: v1.8.7...v1.9.0
v1.8.7
What's Changed
- Do not assume /usr/lib library installation. by @waptaff in #3693
- server : merge split UTF-8 token text in verbose JSON by @lyonsno in #3850
- whisper : catch C++ exceptions in whisper_init_with_params_no_state by @danscMax in #3831
- ci : refactor + optimize by @ggerganov in #3847
- ci : only publish/push docker images daily by @danbev in #3854
- ci : use ccache instead of sccache for windows-cublas [no ci] by @danbev in #3855
- ci : pin github actions to commit SHAs by @danbev in #3856
- ci : use emscripten-core and pin version by @danbev in #3857
- ci: build-windows action slimming by @danbev in #3858
- Ci build quantize vad wasm ccache by @danbev in #3860
- ci : add HF_TOKEN to docker.yml workflow [no ci] by @danbev in #3861
- ci : add ccache to build-sycl [no ci] by @danbev in #3859
- sync : ggml by @ggerganov in #3867
- coreml : fix --quantize crash and --optimize-ane label for mlprogram format by @krystophny in #3868
- ci : pin github actions to commit sha's by @danbev in #3865
- sync : ggml by @ggerganov in #3880
- cli : add
--versionflag by @rumitvn in #3878 - release : v1.8.7 by @danbev in #3881
New Contributors
- @waptaff made their first contribution in #3693
- @lyonsno made their first contribution in #3850
- @danscMax made their first contribution in #3831
- @krystophny made their first contribution in #3868
- @rumitvn made their first contribution in #3878
Full Changelog: v1.8.6...v1.8.7
v1.8.6
What's Changed
- common : re-implement
ffmpeg-transcode.cpp+ clarify ffmpeg usage by @ggerganov in #3846 - ci : fix path to whisper.h in examples.yml [no ci] by @danbev in #3842
Full Changelog: v1.8.5...v1.8.6
v1.8.5
Overview
Maintenance release + performance improvements all around:
https://github.com/ggml-org/whisper.cpp/blob/master/scripts/bench-all-gg.txt
What's Changed
- ruby : fix dangling pointers, memory leak, and SEGV on parallel transcription by @KitaitiMakoto in #3715
- sync : ggml by @ggerganov in #3730
- vad : add streaming detect + explicit state reset by @danielbodart in #3677
- bench : sync submit-results URL to ggml-org by @jinweihan-ai in #3769
- sync : ggml by @ggerganov in #3786
- sync : ggml by @ggerganov in #3789
- ruby : transcribe without GVL, accept more MemoryViews, Windows support, fix memory size report, improve document by @KitaitiMakoto in #3775
- Incorrect timestamps by @bviksoe in #2279
- server: Add support for controlling token_timestamps directly by @alubbe in #3785
- Fix #984: About max_tokens skipping remaining audio issue by @annaeina in #3798
- server: Fix params leak between requests by @alubbe in #3784
- server: Fix no_speech_thold not being read by @alubbe in #3783
- sync : ggml by @ggerganov in #3803
- server: Add support for carry_initial_prompt by @alubbe in #3781
- server: Return speaker information in JSON by @alubbe in #3782
- examples : fix memory leak in read_audio_data by @petterreinholdtsen in #3810
- whisper : set bench data for each iteration by @danbev in #3812
- ci : use github ubuntu-22.04-arm runner instead of qemu by @danbev in #3815
- fix: server /inference fails to decode in-memory audio (regression) by @ServeurpersoCom in #3818
- fix: in bindings/ruby/test/jfk_reader/jfk_reader in jfk_reader.c by @orbisai0security in #3756
- cmake : add CMakePresets.json [no ci] by @danbev in #3808
- sync : ggml by @ggerganov in #3824
- [AMD] Add AMD ROCm/HIP GPU build instructions by @Kaihui-AMD in #3823
- cli : merge tokens split across UTF-8 boundaries in JSON output by @texasich in #3751
- docs : add AGENTS.md and CONTRIBUTING.md [no ci] by @danbev in #3826
- ci : only run docker jobs when pushed to master [no ci] by @danbev in #3828
- ci : set GGML_NATIVE=OFF for bindings-java by @danbev in #3830
- ci : renable arm64 docker builds by @danbev in #3832
- ci : add on push/pull_request paths ruby job by @danbev in #3833
- ci : fix include paths for bindings-go job [no ci] by @danbev in #3835
- ci : add ignore for bindings/{ruby, go} in build.yml [no ci] by @danbev in #3837
- sync : ggml by @ggerganov in #3840
New Contributors
- @danielbodart made their first contribution in #3677
- @jinweihan-ai made their first contribution in #3769
- @bviksoe made their first contribution in #2279
- @annaeina made their first contribution in #3798
- @ServeurpersoCom made their first contribution in #3818
- @orbisai0security made their first contribution in #3756
- @Kaihui-AMD made their first contribution in #3823
- @texasich made their first contribution in #3751
Full Changelog: v1.8.4...v1.8.5
v1.8.4
Overview
Maintenance release, latest ggml, some performance gains across the board.
What's Changed
- Fix: UTF-8 character cut off to two "�" in segment wrapping (max_len) by @lordofriver in #3592
- examples: add -g/--gpu-device option and GPU_DEVICE env support by @brauliobo in #3557
- sync : ggml by @ggerganov in #3636
- Fix macOS dSYM path case mismatch in XCFramework build by @friederbluemle in #3630
- ruby : add
VAD::Context#segments_from_samples, allow Pathname, etc. by @KitaitiMakoto in #3633 - ruby : add
Whisper::Context::Params, fix token memory management by @KitaitiMakoto in #3647 - sync : ggml by @ggerganov in #3652
- ci : try fix mirrors by @ggerganov in #3655
- server : fix hardcoded /inference path in default HTML page by @sidmohan0 in #3639
- cmake: Drop obsolete build-time configuration of backends by @ckastner in #3649
- chore: Update outdated GitHub Actions versions by @pgoslatara in #3646
- ci: add vulkan docker image by @rare-magma in #3644
- sync : ggml by @ggerganov in #3665
- readme : fix duplicate word typo in VAD section by @cluster2600 in #3670
- cli: update miniaudio library to 0.11.24 by @data-man in #3672
- sync : ggml by @ggerganov in #3684
- ruby : null-check by @KitaitiMakoto in #3689
- sync : ggml by @ggerganov in #3710
- server : return proper HTTP status codes for error responses by @dearlordylord in #3707
- server: allow max_len to be used for any output format by @gaelj in #3679
- fix: replace deprecated openvino-dev with openvino>=2023.3.0 for Python 3.12+ compat by @Aiudadadadf in #3678
- fix(go): handle EOF correctly in model download example of golang bidings by @Lumberj3ck in #3671
- fix: VAD time mapping timestamp drift caused by overlap samples by @lohopupa in #3711
- sync : ggml by @ggerganov in #3713
New Contributors
- @lordofriver made their first contribution in #3592
- @brauliobo made their first contribution in #3557
- @friederbluemle made their first contribution in #3630
- @sidmohan0 made their first contribution in #3639
- @ckastner made their first contribution in #3649
- @pgoslatara made their first contribution in #3646
- @rare-magma made their first contribution in #3644
- @cluster2600 made their first contribution in #3670
- @dearlordylord made their first contribution in #3707
- @gaelj made their first contribution in #3679
- @Aiudadadadf made their first contribution in #3678
- @Lumberj3ck made their first contribution in #3671
- @lohopupa made their first contribution in #3711
Full Changelog: v1.8.3...v1.8.4
v1.8.3
Overview
Maintenance release, latest ggml, minor improvements in the tools/server/bindings.
What's Changed
- server : set no_context == true by @ggerganov in #3482
- WASM example broken for Hebrew by @Orel-A in #3487
- ruby : tiny bug fix by @KitaitiMakoto in #3490
- 12x Performance Boost with Integrated Graphics by @OrelSokolov in #3492
- ruby : VAD separately from ASR by @KitaitiMakoto in #3518
- vad : Silero VAD v6.2.0 by @KitaitiMakoto in #3524
- need to #include to compile on macos 11 by @smilingpoplar in #3533
- Add verified device of Ascend NPU by @lrisguan in #3516
- examples : fix typo in vad-speech-segments command [no ci] by @danbev in #3535
- tests : update VAD tests to use Silero V6.2.0 by @danbev in #3534
- vad : fix buffer overflow in sample reduction loop by @josephsellers in #3558
- Allow NextSegment() to be called across multiple Process() calls in the Go binding by @joshmux in #3503
- Enable VAD for Go bindings by @joshmux in #3563
- server: allow custom temp directory for ffmpeg by @socram8888 in #3564
- Fix FreeBSD linker error: undefined reference to pthread_create by @rsmirnov90 in #3568
- ruby : add Whisper::Token, fix model URI by @KitaitiMakoto in #3575
- ruby : fix segmentation fault by @KitaitiMakoto in #3591
- cmake: fix executable example targets by @ink-splatters in #3600
New Contributors
- @Orel-A made their first contribution in #3487
- @OrelSokolov made their first contribution in #3492
- @smilingpoplar made their first contribution in #3533
- @lrisguan made their first contribution in #3516
- @josephsellers made their first contribution in #3558
- @joshmux made their first contribution in #3503
- @socram8888 made their first contribution in #3564
- @rsmirnov90 made their first contribution in #3568
- @ink-splatters made their first contribution in #3600
Full Changelog: v1.8.2...v1.8.3