What's Changed
- build(make): add optional overrides include to Makefile by @bartoszmajsak in #5164
- fix: skip _folder to package helm chart by @Jooho in #5186
- refactor(e2e/llmisvc): flexible endpoint testing by @bartoszmajsak in #5093
- refactor: change kserve chart name to kserve-resources by @Jooho in #5190
- feat(release): add draft release automation and improve release process by @Jooho in #5191
- feat: 5060 CSV and Parquet marshallers by @cjohannsen-cloudera in #5115
- feat(ci): conditionally trigger helm or kustomize e2e tests based on … by @Jooho in #5193
- fix(llmisvc): resolve LWS leader address for ZMQ and increase /dev/shm by @bartoszmajsak in #5155
- fix(utils): prevent overwriting existing SecurityContext when configu… by @fyuan1316 in #5167
- chore: add MAINTAINERS.md for LFX Insights by @terrytangyuan in #5195
- feat(logger): log occurrence and record time in CloudEvents by @samuelkim7 in #5139
- fix(llmisvc): handle missing LWS CRD gracefully by @bartoszmajsak in #5201
- feat: include GIE CRDs as part of Kserve bundle by @pierDipi in #5214
- fix: add helm chart version to kserve-runtime-configs by @Jooho in #5209
- modelcache: add Namespace Scoped ModelCache by @VedantMahabaleshwarkar in #4887
- release: prepare release v0.17.0-rc1 by @Jooho in #5222
- fix(llmisvc): add validations for unsupported scaling configurations by @vivekk16 in #5212
- fix(make): increase test timeout from 20m to 30m by @bartoszmajsak in #5165
- fix: improve cherry-pick workflow with validation and PR fetch by @Jooho in #5233
- chore: bump kustomize from v5.5.0 to v5.8.0 by @bartoszmajsak in #5218
- feat(llmisvc): add build hooks for distribution-specific logic by @bartoszmajsak in #5217
- test(llmisvc): unit tests for versioned config resolution by @bartoszmajsak in #5182
- fix: resolve
go test -coverfailure by @bartoszmajsak in #5178 - fix(build): fall back to existing version when URL verification fails by @bartoszmajsak in #5180
- feat: allow configuring GatewayClass for llmisvc e2e tests by @pierDipi in #5238
- feat: upgrade llm-d to 0.6 by @pierDipi in #5121
- fix(llmisvc): add default for MinReplicas & make MaxReplicas required int32 by @vivekk16 in #5237
- feat(llmisvc): add --disable-uvicorn-access-log to vllm configs by @pierDipi in #5154
- feat: merge target branch in each GH action job by @pierDipi in #5232
- feat(llmisvc): implement autoscaling for WVA and KEDA/HPA integration by @vivekk16 in #5194
- feat: add storage migration for LLMinferenceService APIs by @pierDipi in #5149
- fix(llmisvc): add missing os.Exit(1) after controller setup failure by @vivekk16 in #5242
- fix: change wrong crd kustomization update by @spolti in #5234
- fix: to install specific kserve version with kustomize script by @Jooho in #5247
- test(llmisvc): add envtest integration tests for scaling reconciliation by @vivekk16 in #5246
- release: prepare release v0.17.0 by @Jooho in #5248
- feat(llmisvc): evaluate both InferencePool readiness by @bartoszmajsak in #5202
- fix(ci): configure git identity for merge commits in CI workflows by @pierDipi in #5251
- feat(llmisvc): update LLMInferenceServiceConfig and add TLS flag by @pierDipi in #5249
- chore: migrate Python formatter from black to ruff format by @jlost in #5000
- fix(ci): add readiness to seaweedfs deployment by @pierDipi in #5267
- feat: replace vllm-cpu image with upstream built image by @pierDipi in #5264
- fix(e2e): retry predict on transient gateway errors by @pierDipi in #5266
- feat: enable scheduler TLS cert reload by @pierDipi in #5260
- feat: adding version overrides helm chart dependencies by @andresllh in #5268
- fix(ci): restrict workflow re-run to repo collaborators by @bartoszmajsak in #5280
- fix: prevent double-build when pushing llmisvc-controller image by @israel-hdez in #5207
- chore(ci): align action versions across workflows by @bartoszmajsak in #5277
- fix(ci): correct self-referencing path in llmisvc docker workflow by @bartoszmajsak in #5275
- fix(ci): add missing disk space cleanup to docker push jobs by @bartoszmajsak in #5278
- chore: support for merge queue by @israel-hdez in #5253
- ci: optimize Go Dockerfiles for faster CI builds by @bartoszmajsak in #5273
- modelcache: run namespace-scoped download jobs in jobNamespace by @VedantMahabaleshwarkar in #5262
- chore(ci): remove redundant Go dependency download step by @bartoszmajsak in #5279
- ci: improve GHA runner infra (disk cleanup, minikube addons) by @bartoszmajsak in #5281
- feat(llmisvc): add extra_headers to wait_for_model_response by @jlost in #5215
- feat(localmodel): add build hooks for distribution-specific logic by @VedantMahabaleshwarkar in #5263
- [WIP] feat: detect Gateway for auto-migration to v1 InferencePool by @pierDipi in #5041
- fix: include 0.17.0 installation scripts by @Jooho in #5256
- fix: replace MD5 with SHA-256 in e2e fixtures by @maskarb in #5271
- fix: "[WIP] feat: detect Gateway for auto-migration to v1 InferencePool" by @pierDipi in #5316
- fix(llmisvc): migrate tokenProcessorConfig and blockSize by @pierDipi in #5305
- ci: improvements for setup-uv and build-graph image by @bartoszmajsak in #5220
- build: optimize Python Dockerfile caching and build context by @bartoszmajsak in #5274
- chore: bump mlserver seldon image to latest 1.7.1 by @seBasKov in #4573
- fix(llmisvc): autoscaling config logging by @Gregory-Pereira in #5304
- fix(llmisvc): remove unreachable RefsInvalid early-return guards by @bartoszmajsak in #5288
- chore(hack): remove legacy quick install scripts by @Jooho in #5289
- refactor(test): migrate pod webhook suite to centralized envtest setup by @bartoszmajsak in #5179
- chore: fix CVE-2026-32597 PyJWT crit header validation by @spolti in #5283
- feat: update .gitattributes with all generated files by @pierDipi in #5258
- fix(deps): bump go.opentelemetry.io/otel/sdk to v1.40.0 by @SebastienSyd in #5199
- chore(config): clean up trailing whitespaces by @juhyeon-cha in #5300
- fix(llmisvc): remove cert-hash restart annotation from scheduler by @bartoszmajsak in #5308
- fix(llmisvc): defer storage migration until webhooks are serving by @bartoszmajsak in #5286
- fix(controllers): gracefully handle resource deletion by @bartoszmajsak in #5252
- fix(build): pin setup-envtest by @bartoszmajsak in #5323
- chore: pin standalone kustomize and decouple from kubectl by @jlost in #5322
- ci: reduce Go image build times by @bartoszmajsak in #5287
- refactor(llmisvc): simplify EPPServiceName guard logic by @bartoszmajsak in #5107
- feat(llmisvc): propagate imagePullSecrets from default SA by @pierDipi in #5324
- test: centralizes logger setup by @bartoszmajsak in #5042
- fix: merge automation by @pierDipi in #5328
- ci: add pinact to pin GitHub Actions to SHA by @pierDipi in #5320
- fix(test): ensures GinkgoRecover is used correctly by @bartoszmajsak in #5171
- fix(ci): pins github actions in license check by @bartoszmajsak in #5329
- fix(ci): 'commit not found' in go-security-scan upload-sarif by @Jooho in #5336
- feat(llmisvc): upgrade WVA dependency from v0.5.1 to v0.6.0-rc3 by @vivekk16 in #5333
- docs: add e2e guide for running GPT-OSS-20B with LLMInferenceService by @sbekkerm in #5150
- fix: 5337: upgrade vLLM to 0.17.1 by @cjohannsen-cloudera in #5338
- feat: add offset_mapping output for HuggingFace token classification by @Yuuuuuu0319 in #5244
- fix(llmisvc): always set status.URL with a discovered address by @pierDipi in #5339
- feat(ingress): add DisableHTTPRouteTimeout config flag for GKE Gateway by @sophieliu15 in #5313
- feat: add /v1/responses HTTPRoute for OpenAI Responses API support by @RishabhSaini in #5291
- chore(llmisvc): bump LLMISvc dependency versions by @vivekk16 in #5344
- feat: block PYTHONPATH env var in ISVC and ServingRuntime webhooks by @Jooho in #5340
- fix(llmisvc): upgrading to LLM-D v0.6.0 for llmisvc by @Gregory-Pereira in #5346
- feat(llmisvc): add platform hooks for networking and manager cfg by @bartoszmajsak in #5240
- feat(llmisvc): enable LWS as autoscaling target for multi-node workloads by @vivekk16 in #5356
- fix: hardcode Status.Address scheme to http in raw deployment by @jlost in #5363
- chore: remove coverage badge by @israel-hdez in #5298
- feat(multinode): add groundwork for multinode support without ray by @Jooho in #5366
- fix: upgrade vLLM to 0.19.0 by @cjohannsen-cloudera in #5367
- fix: enforce PSS restricted profile on LLMInferenceService default template by @alokdangre in #5302
- fix: recover multi download flag in default CSC by @israel-hdez in #5368
- fix(agent): mirror user-defined httpGet path onto agent readiness probe by @reyshazni in #5345
- fix(llmisvc): shorten webhook name to comply with 63-char label limit by @spolti in #5381
- fix: CVE-2026-33186 gRPC authorization bypass by @sivanantha321 in #5342
- docs: fix typo in OpenShift guide by @iranzo in #5197
- revert(llmisvc): restore original webhook names, reverts #5381 by @bartoszmajsak in #5398
- fix: intermittent 403 Forbidden errors during S3 model download by @agoston in #5393
- feat(llmisvc): add SectionName support to Gateway refs by @bartoszmajsak in #5410
- build: add GOTAGS build arg to manager and agent Dockerfiles by @bartoszmajsak in #5403
- refactor(test): migrate credentials suite to NewEnvTest by @bartoszmajsak in #5397
- fix: address CVE-2026-30922: pyasn1 Vulnerable to DoS by @spolti in #5404
- feat(release): add Copilot CLI release automation by @Jooho in #5419
- release: prepare release v0.18.0-rc0 by @Jooho in #5422
- release: prepare release v0.18.0-rc1 by @Jooho in #5435
New Contributors
- @fyuan1316 made their first contribution in #5167
- @maskarb made their first contribution in #5271
- @seBasKov made their first contribution in #4573
- @Gregory-Pereira made their first contribution in #5304
- @SebastienSyd made their first contribution in #5199
- @Yuuuuuu0319 made their first contribution in #5244
- @sophieliu15 made their first contribution in #5313
- @RishabhSaini made their first contribution in #5291
- @alokdangre made their first contribution in #5302
- @reyshazni made their first contribution in #5345
- @iranzo made their first contribution in #5197
Full Changelog: v0.17.0...v0.18.0-rc1