What's Changed
- fix(ci): add debug messages to print 403 issues by @spolti in https://github.com/kserve/kserve/pull/5580
- fix(ci): improve automerge error handling and bump github-script to v9 by @spolti in https://github.com/kserve/kserve/pull/5593
- docs(llmisvc): add godoc to all LLMInferenceService conditions by @bartoszmajsak in https://github.com/kserve/kserve/pull/5586
- feat(llmisvc): model-based routing gates and models in status by @pierDipi in https://github.com/kserve/kserve/pull/5579
- fix(llmisvc): remove duplicate yaml.Unmarshal in loadConfig test helper by @skbhudolia12 in https://github.com/kserve/kserve/pull/5548
- feat(llmisvc): cache inferenceservice-config and watch for changes by @KaveeshKhattar in https://github.com/kserve/kserve/pull/5573
- fix: prevent Value/ValueFrom conflict when merging ClusterStorageContainer by @richiefrost in https://github.com/kserve/kserve/pull/5541
- fix(ci): harden E2E test infrastructure to reduce flakiness by @vivekk16 in https://github.com/kserve/kserve/pull/5574
- refactor(llmisvc): no pagination in enqueue handlers by @bartoszmajsak in https://github.com/kserve/kserve/pull/5584
- fix(e2e): replace removed VLLM_USE_V1 with VLLM_ENABLE_V1_MULTIPROCESSING by @jlost in https://github.com/kserve/kserve/pull/5613
- refactor(llmisvc): pass reconciler to extendControllerSetup hook by @bartoszmajsak in https://github.com/kserve/kserve/pull/5610
- fix(hack): resolve ShellCheck findings in shell scripts by @bartoszmajsak in https://github.com/kserve/kserve/pull/5618
- feat(ci): cache opt-125m in SeaweedFS by @jlost in https://github.com/kserve/kserve/pull/5566
- build: narrow controller-gen RBAC path for v1beta1 by @bartoszmajsak in https://github.com/kserve/kserve/pull/5619
- feat(kserve): forward authorization header from transformer to predictor by @spolti in https://github.com/kserve/kserve/pull/5567
- feat: support multiple OCI sources in storageUris by @brucearctor in https://github.com/kserve/kserve/pull/5470
- fix(llmisvc):
config/llmisvcconfig/**to E2E test trigger paths by @pierDipi in https://github.com/kserve/kserve/pull/5622 - e2e: reduce verbose payload logging in e2e tests by @maskarb in https://github.com/kserve/kserve/pull/5486
- fix(ci): stabilize HuggingFace model downloads in e2e tests by @andresllh in https://github.com/kserve/kserve/pull/5510
- fix(llmisvc): wire enableLLMInferenceServiceTLS in reconcile pipeline by @madhugoutham in https://github.com/kserve/kserve/pull/5525
- ci: replace rerun-actions with gh-based targeted reruns by @bartoszmajsak in https://github.com/kserve/kserve/pull/5621
- fix(llmisvc): export all HCAs in NVSHMEM_HCA_LIST and UCX_NET_DEVICES by @dagrayvid in https://github.com/kserve/kserve/pull/5603
- fix(ci): retry corrupted docker image artifact downloads by @pierDipi in https://github.com/kserve/kserve/pull/5650
- fix: bump starlette to >=1.0.1 (CVE-2026-48710) and set Content-Type … by @spolti in https://github.com/kserve/kserve/pull/5632
- ci: add workflow to auto-assign reviewers on new PRs by @spolti in https://github.com/kserve/kserve/pull/5491
- test(llmisvc): add e2e tests for scheduler v0.6 → v0.7 migration by @vivekk16 in https://github.com/kserve/kserve/pull/5564
- fix: remove PR filter by @cjohannsen-cloudera in https://github.com/kserve/kserve/pull/5656
- feat(llmisvc): add PVC storage e2e tests for LLMInferenceService by @pierDipi in https://github.com/kserve/kserve/pull/5623
- fix: add storageContainerName field for explicit CSC selection by @RunlinXiao in https://github.com/kserve/kserve/pull/5314
- feat(isvc): add platform hooks for service customization by @bartoszmajsak in https://github.com/kserve/kserve/pull/5617
- chore(isvc): reconcile svc before deployment in raw reconciler by @bartoszmajsak in https://github.com/kserve/kserve/pull/5630
- docs: remove Envoy references from LLMISVC godocs by @danehans in https://github.com/kserve/kserve/pull/5475
- fix(ci): centralize hfserver XET/tokio env patch for helm and kustomize by @vivekk16 in https://github.com/kserve/kserve/pull/5657
- release: prepare release v0.19.0 by @Jooho with @Copilot in https://github.com/kserve/kserve/pull/5654
- feat: add vLLM as a supported runtime by @yashaswipiplani in https://github.com/kserve/kserve/pull/4769
- fix(llmisvc): fix probe thresholds, EPP grace period... by @andresllh in https://github.com/kserve/kserve/pull/5602
- feat(llmisvc): auto-enable lora-affinity-scorer for LoRA adapters by @andresllh in https://github.com/kserve/kserve/pull/5655
- docs: add Helm chart developer guide for manifest generation by @Jooho in https://github.com/kserve/kserve/pull/5660
- refactor(llmisvc): convert extendControllerSetup to receiver method by @bartoszmajsak in https://github.com/kserve/kserve/pull/5651
- fix(llmisvc): filter HTTPRoute parent status by gateway name by @KaveeshKhattar in https://github.com/kserve/kserve/pull/5583
- fix(llmisvc): allow scheduler creation when workloads are rolling by @vivekk16 in https://github.com/kserve/kserve/pull/5671
- feat(release): workspace isolation and progress tracker by @Jooho in https://github.com/kserve/kserve/pull/5674
- feat(llmisvc): add Managed DRA support for LLMInferenceService by @anshulmav in https://github.com/kserve/kserve/pull/5352
- feat(llmisvc): add v1/messages HTTPRoute to support Anthropic Messages API by @tessapham in https://github.com/kserve/kserve/pull/5648
- modelcache: add delete verb to localmodel PV/PVC RBAC by @mwaykole in https://github.com/kserve/kserve/pull/5659
- feat(llmisvc): distributed tracing API addition to LLMISVC by @Gregory-Pereira in https://github.com/kserve/kserve/pull/5481
- fix(llmisvc): only inject lora-affinity-scorer into default config by @andresllh in https://github.com/kserve/kserve/pull/5675
- fix(llmisvc): improve EPP graceful shutdown and readiness probe threshold by @andresllh in https://github.com/kserve/kserve/pull/5677
- feat(deps): upgrade GIE to v1.5.0 with local v1alpha2 InferencePool shim by @vivekk16 in https://github.com/kserve/kserve/pull/5571
- feat: add AutoGluon Server for KServe by @ZabinskiMichal in https://github.com/kserve/kserve/pull/5269
- feat: add support for confidential model serving by @font in https://github.com/kserve/kserve/pull/5382
- fix(qpext): lint qpext as part of precommit and go-lint make goals by @spolti in https://github.com/kserve/kserve/pull/5682
- build(test): configurable
make testby @bartoszmajsak in https://github.com/kserve/kserve/pull/5216 - chore: make license header year dynamic by @bartoszmajsak in https://github.com/kserve/kserve/pull/5663
- fix(ci): regenerate uv-lock with make uv-lock by @pierDipi in https://github.com/kserve/kserve/pull/5696
- deps(llmisvc): upgrade llm-d components to v0.8.0 release by @vivekk16 in https://github.com/kserve/kserve/pull/5596
- fix: fixed some found typos by @ZabinskiMichal in https://github.com/kserve/kserve/pull/5692
- fix(build): add GOTAGS support to remaining build tool chain by @bartoszmajsak in https://github.com/kserve/kserve/pull/5628
- feat(localmodel): align enhanceDownloadJob hook signature by @bartoszmajsak in https://github.com/kserve/kserve/pull/5616
- fix: multi-node InferenceService Ready condition stuck at Unknown by @mwaykole in https://github.com/kserve/kserve/pull/5703
- feat: add LLMInferenceServiceConfig finalizer to prevent deletion by @pierDipi in https://github.com/kserve/kserve/pull/5400
- fix(llmisvc): default EPP port to 9002 when endpointPickerRef omits port by @pierDipi in https://github.com/kserve/kserve/pull/5698
- fix(llmisvc): reduce K8s object noise in test assertion output by @pierDipi in https://github.com/kserve/kserve/pull/5695
- fix(llmisvc): disable readOnlyRootFilesystem for nvidia-cdi-hook by @pierDipi in https://github.com/kserve/kserve/pull/5711
- fix(llmisvc): scope InferencePool readiness to gw refs by @bartoszmajsak in https://github.com/kserve/kserve/pull/5691
- feat(llmisvc): add kvCacheOffloading spec for CPU KV cache tiering by @andresllh in https://github.com/kserve/kserve/pull/5599
- docs: add release policy and rename release process files by @Jooho in https://github.com/kserve/kserve/pull/5676
- deps: bump Gateway API to v1.5.1 by @danehans in https://github.com/kserve/kserve/pull/5478
- feat: add latency predictor sidecar injection via plugin detection by @RishabhSaini in https://github.com/kserve/kserve/pull/5678
- ci: run heavy LLM/vLLM e2e jobs on cncf-ubuntu-16-64-x86 runners by @cjohannsen-cloudera in https://github.com/kserve/kserve/pull/5724
- fix(ci): disable HF xet-bridge and raise timeout for vllm cpu tests by @lizzzcai in https://github.com/kserve/kserve/pull/5742
- docs: fix typo in performance testing guide by @ravindudanthanarayana in https://github.com/kserve/kserve/pull/5748
- feat(llmisvc): discover URLs for all matching listeners by @bartoszmajsak in https://github.com/kserve/kserve/pull/5664
- fix: set limits and increase requests in llmisvc by @rsevilla87 in https://github.com/kserve/kserve/pull/5637
- fix(test): centralize diagnostics & add to LoRA tests by @jlost in https://github.com/kserve/kserve/pull/5594
- feat(llmisvc): migrate to llm-d.ai CRDs for routing resources by @zdtsw in https://github.com/kserve/kserve/pull/5585
- feat(e2e): add autogluon pytest marker to all autogluon tests by @pierDipi in https://github.com/kserve/kserve/pull/5749
- fix: all typos in repo by @tessapham in https://github.com/kserve/kserve/pull/5757
- feat(llmisvc): add secondary filesystem tiers to KV cache offloading by @andresllh in https://github.com/kserve/kserve/pull/5740
- deps(llmisvc): bump llm-d images to the latest 0.8 release by @zdtsw in https://github.com/kserve/kserve/pull/5719
- docs(llmisvc): update sample for using explicit p/d roles for kv_role by @zdtsw in https://github.com/kserve/kserve/pull/5713
- feat(llmisvc): merge user storage-initializer customizations by @jlost in https://github.com/kserve/kserve/pull/5614
- feat(llmisvc): add traffic splitting API for controlled deployment by @bartoszmajsak in https://github.com/kserve/kserve/pull/5727
- fix(e2e): stabilize event storm prevention test baseline by @pierDipi in https://github.com/kserve/kserve/pull/5737
- ci: wait for llmisvc webhook Certificate before proceeding on Helm install by @kliukovkin in https://github.com/kserve/kserve/pull/5770
- feat(llmisvc): align default P/D config with llm-d optimized baseline by @KillianGolds in https://github.com/kserve/kserve/pull/5662
- feat(llmisvc): align standard default with llm-d optimized baseline by @KillianGolds in https://github.com/kserve/kserve/pull/5670
- deps: upgrade Envoy AI Gateway to v1.0.0 and Envoy Gateway to v1.8.1 by @cjohannsen-cloudera in https://github.com/kserve/kserve/pull/5723
- fix(localmodel): handle LocalModelNode race between reconcilers by @bartoszmajsak in https://github.com/kserve/kserve/pull/5777
- fix: stabilize modelcar shell quoting to avoid unnecessary pod restarts by @jlost in https://github.com/kserve/kserve/pull/5780
- feat(llmisvc): upgrade llm-d-sim image and set TLS if enabled by @pierDipi in https://github.com/kserve/kserve/pull/5783
- ci: wait for llmisvc controller rollout to fully complete before proceeding by @kliukovkin in https://github.com/kserve/kserve/pull/5784
- feat(storage): add oci+native:// ImageVolume mounting (Step 2 of [#4083]) by @kliukovkin in https://github.com/kserve/kserve/pull/5558
- fix(storage): honor CA bundle for https and hf downloads by @KillianGolds in https://github.com/kserve/kserve/pull/5755
- ci: replace enforce-all-checks with lewagon/wait-on-check-action by @maskarb in https://github.com/kserve/kserve/pull/5792
- fix(e2e): split TLS args in simulator fixtures by @jlost in https://github.com/kserve/kserve/pull/5795
- fix(e2e): thread network_layer through autogluon tests by @maskarb in https://github.com/kserve/kserve/pull/5788
- fix: cherry-pick validation outside a checked-out repository by @Jooho with @Copilot in https://github.com/kserve/kserve/pull/5810
- refactor(e2e): group LLMISVC tests with positive markers by @vivekk16 in https://github.com/kserve/kserve/pull/5771
- feat(llmisvc): add group routing machinery for traffic splitting by @bartoszmajsak in https://github.com/kserve/kserve/pull/5798
- fix(release): use explicit --base flag in bump-version agent PR creation by @Jooho in https://github.com/kserve/kserve/pull/5814
- fix(llmisvc): retry finalizer on transient peer route read errors by @bartoszmajsak in https://github.com/kserve/kserve/pull/5812
- feat(llmisvc): warn when model-routing names collide across LLMISVCs by @bartoszmajsak in https://github.com/kserve/kserve/pull/5800
- feat(llmisvc): gate group traffic splitting on member readiness by @bartoszmajsak in https://github.com/kserve/kserve/pull/5820
- test(e2e): add flow control e2e tests for LLMInferenceService by @RishabhSaini in https://github.com/kserve/kserve/pull/5694
- fix: huggingface runtime by @agoston in https://github.com/kserve/kserve/pull/5786
- feat(llmisvc): add stable and version-independent URLs by @bartoszmajsak in https://github.com/kserve/kserve/pull/5822
- fix(release): read kserve-deps.env from release branch for patch releases by @Jooho in https://github.com/kserve/kserve/pull/5829
- docs: add AGENTS.md with project conventions by @bartoszmajsak in https://github.com/kserve/kserve/pull/5557
- fix(e2e): update InferenceObjective API group after CRD migration by @vivekk16 in https://github.com/kserve/kserve/pull/5835
- docs(llmsivc): add sample for llmisvc to run latency-predictor by @zdtsw in https://github.com/kserve/kserve/pull/5745
- fix(llmisvc): render tensor parallelism flags for single-node by @bartoszmajsak in https://github.com/kserve/kserve/pull/5782
- refactor(llmisvc): consolidate model-routing rules by @bartoszmajsak in https://github.com/kserve/kserve/pull/5826
- fix(webhook): allow first-reconcile update when DeploymentMode is empty by @cjohannsen-cloudera in https://github.com/kserve/kserve/pull/5799
- release: prepare release v0.20.0-rc0 by @cjohannsen-cloudera in https://github.com/kserve/kserve/pull/5821
- feat: add canary rollout support for RawDeployment mode by @maskarb in https://github.com/kserve/kserve/pull/5672
- release: prepare release v0.20.0-rc1 by @cjohannsen-cloudera in https://github.com/kserve/kserve/pull/5894
- release: prepare release v0.20.0 (cherry-pick to release-0.20) by @cjohannsen-cloudera in https://github.com/kserve/kserve/pull/5962
New Contributors
- @skbhudolia12 made their first contribution in https://github.com/kserve/kserve/pull/5548
- @KaveeshKhattar made their first contribution in https://github.com/kserve/kserve/pull/5573
- @richiefrost made their first contribution in https://github.com/kserve/kserve/pull/5541
- @madhugoutham made their first contribution in https://github.com/kserve/kserve/pull/5525
- @RunlinXiao made their first contribution in https://github.com/kserve/kserve/pull/5314
- @danehans made their first contribution in https://github.com/kserve/kserve/pull/5475
- @yashaswipiplani made their first contribution in https://github.com/kserve/kserve/pull/4769
- @anshulmav made their first contribution in https://github.com/kserve/kserve/pull/5352
- @ZabinskiMichal made their first contribution in https://github.com/kserve/kserve/pull/5269
- @ravindudanthanarayana made their first contribution in https://github.com/kserve/kserve/pull/5748
- @rsevilla87 made their first contribution in https://github.com/kserve/kserve/pull/5637
Full Changelog: https://github.com/kserve/kserve/compare/v0.19.0...v0.20.0