Add typed PgConfig to config loader by @iyadi in https://github.com/llm4s/llm4s/pull/369
Add DeepWiki badge to README by @gruggiero in https://github.com/llm4s/llm4s/pull/379
Fix #318: Use max_completion_tokens for newer Azure OpenAI models by @krrish175-byte in https://github.com/llm4s/llm4s/pull/360
extend structured logging across all sample modules by @aaryan-iiitu in https://github.com/llm4s/llm4s/pull/388
Fix Scaladex indexing for llm4s by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/385
Enhance OpenAIClient with improved error handling and streaming capabilities. Added validation to prevent operations on a closed client, implemented separate methods for fake and native streaming, and introduced logging for error scenarios. Refactored streaming response processing for better clarity and maintainability. by @jayant1701 in https://github.com/llm4s/llm4s/pull/361
Add test to document precedence when multiple HTTP status codes are present in exception messages by @deepak2k03 in https://github.com/llm4s/llm4s/pull/384
Fix Ollama message content type mismatch(Closes #366) by @gudiwadasruthi in https://github.com/llm4s/llm4s/pull/372
Add contributor-focused TESTING_GUIDE.md (fixes #370) by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/374
v0.3.0 - development snapshot - llm4s Release Notes | AnnounceHQ
ci: enforce minimum test coverage in CI by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/376
Add an Ollama quickstart guide by @shubhdevv in https://github.com/llm4s/llm4s/pull/382
Add Z.ai provider with fixes by @rorygraves in https://github.com/llm4s/llm4s/pull/397
Added Google Gemini as a first-class LLM provider by @Vi-shub in https://github.com/llm4s/llm4s/pull/387
OpenAIClient tests deterministic (no network), Redact secrets from config toString by @vim89 in https://github.com/llm4s/llm4s/pull/405
docs: Add code review guidelines based on PR feedback by @rorygraves in https://github.com/llm4s/llm4s/pull/409
fix: prevent resource leak in OllamaClient streaming by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/418
fix(test): Increase timeout for flaky PoliciesSpec test by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/413
ci: make test report artifacts easier to identify on CI failures by @deepak2k03 in https://github.com/llm4s/llm4s/pull/416
Add Prometheus metrics for LLM operations (Phase 1) by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/407
Refactor: Eliminate mutable state in FileInfoTool.scala for idiomatic by @VishalPainjane in https://github.com/llm4s/llm4s/pull/433
feat: add Brave search tools with example by @im-vedant in https://github.com/llm4s/llm4s/pull/391
feat: Add Semantic LLM Response Caching by @krrish175-byte in https://github.com/llm4s/llm4s/pull/377
docs: Enhance getting-started guides with troubleshooting and testing by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/392
Add Creative Scala projects by @noelwelsh in https://github.com/llm4s/llm4s/pull/438
GSoC 2026 new ideas - #31–#48 by @vim89 in https://github.com/llm4s/llm4s/pull/442
refactor PostgresMemoryStore for FP safety and error handling by @aaryan-iiitu in https://github.com/llm4s/llm4s/pull/426
feat: Add OpenTelemetry tracing backend by @krrish175-byte in https://github.com/llm4s/llm4s/pull/395
Update CI to focus coverage tests on core by @abhi-battula in https://github.com/llm4s/llm4s/pull/420
chore: add Codecov configuration for patch coverage by @abhi-battula in https://github.com/llm4s/llm4s/pull/423
Add closed state tracking to all LLM providers by @rorygraves in https://github.com/llm4s/llm4s/pull/449
Refactor: Remove logback.xml from core to comply with library best practices by @im-vedant in https://github.com/llm4s/llm4s/pull/421
docs: align test coverage documentation with build config by @abhi-battula in https://github.com/llm4s/llm4s/pull/419
add PostgresMemoryStore reference documentation by @aaryan-iiitu in https://github.com/llm4s/llm4s/pull/470
Make sample maxTokens configurable via environment variable by @deepak2k03 in https://github.com/llm4s/llm4s/pull/447
Implement LLM-powered memory consolidation (Phase 1.4.3) by @shubhdevv in https://github.com/llm4s/llm4s/pull/435
Fix missing EnhancedTracingExample and BuiltinTools.development docs by @Piyush-t24 in https://github.com/llm4s/llm4s/pull/462
added multi-provider fallback example for basic usage by @iskushpatel in https://github.com/llm4s/llm4s/pull/439
fix(vision/security): truncate HTTP error bodies to prevent PII/secret leaks & log flooding by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/480
test: add unit tests for ConfigReader validation and parsing by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/417
feat: Add DeepSeek LLM Provider Support by @dhairya-pandya in https://github.com/llm4s/llm4s/pull/445
fix(security): truncate HTTP error bodies across all clients to prevent PII leaks by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/489
Add MetricsRecordingSpec with real behavior tests by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/490
feat(mcp): Implement MCPServer by @mandeepsingh2007 in https://github.com/llm4s/llm4s/pull/436
Add cross-version tests for OllamaConfig parsing by @Piyush-t24 in https://github.com/llm4s/llm4s/pull/485
docs: Mark memory consolidation feature as complete. by @shubhdevv in https://github.com/llm4s/llm4s/pull/486
Update GSoC 2026 stepwise instructions and add calendar links by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/487
Add optional retry helpers for raw LLMClient usage by @Piyush-t24 in https://github.com/llm4s/llm4s/pull/474
Add closed state tracking to DeepSeekClient by @rorygraves in https://github.com/llm4s/llm4s/pull/496
Add complete GSoC 2026 summary with all 63 projects by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/488
docs: Edited GSoC 2026 project list sequence by @Vi-shub in https://github.com/llm4s/llm4s/pull/507
docs: Add 10 Hardware Design project ideas to GSoC 2026 by @Vi-shub in https://github.com/llm4s/llm4s/pull/508
Fixing the summary workflow by @Vi-shub in https://github.com/llm4s/llm4s/pull/510
Fixing the workflow of gsoc_summary.yml by @Vi-shub in https://github.com/llm4s/llm4s/pull/517
Swapped named in 2026.md and testing gsoc_summary.yml by @Vi-shub in https://github.com/llm4s/llm4s/pull/518
Expand cross-version test coverage for providers, tools, and schemas by @Piyush-t24 in https://github.com/llm4s/llm4s/pull/509
Remove obsolete LLMWeatherExample sample by @rorygraves in https://github.com/llm4s/llm4s/pull/520
Create GSoC documentation for LLM4S Foundation by @AnshumanAI in https://github.com/llm4s/llm4s/pull/511
docs: Update GSoC 2026 Summary page with latest project lists by @Vi-shub in https://github.com/llm4s/llm4s/pull/521
Add latest Banner for GSoC 2026 by @AnshumanAI in https://github.com/llm4s/llm4s/pull/522
Add Opencollective link. by @AnshumanAI in https://github.com/llm4s/llm4s/pull/524
Add embedding-based search to InMemoryStore by @Indrapal-70 in https://github.com/llm4s/llm4s/pull/440
Add security hardening: SSRF protection, log redaction, and safe defaults by @AnshumanAI in https://github.com/llm4s/llm4s/pull/464
Consolidate redaction utilities, add safe redirect handling by @rorygraves in https://github.com/llm4s/llm4s/pull/529
docs: Add new mentors and GSoC aspirant sheets to 2026.md by @Vi-shub in https://github.com/llm4s/llm4s/pull/540
Fix Scala 3 compilation errors in GenerateGSoCSummary script by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/519
docs: Add 10 new mentors to GSoC 2026 Summary by @Vi-shub in https://github.com/llm4s/llm4s/pull/547
docs: add curated external LLM learning resources by @sanket-rajput in https://github.com/llm4s/llm4s/pull/541
docs: Add contributing guide and PR template by @rorygraves in https://github.com/llm4s/llm4s/pull/548
test: add unit tests for requiresMaxCompletionTokens by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/537
Add structured JSON tool-failure payloads in ToolMessage.content by @Indrapal-70 in https://github.com/llm4s/llm4s/pull/546
docs: Add new mentors to GSoC 2026 & ci: remove faulty summary workflow by @Vi-shub in https://github.com/llm4s/llm4s/pull/564
Quick Fix - image source URL in GSoC index by @AnshumanAI in https://github.com/llm4s/llm4s/pull/570
Add Copilot Lens GSoC 2026 project ideas (#76, #77) by @pavanvamsi3 in https://github.com/llm4s/llm4s/pull/584
test: cover provider-prefixed O-series model names by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/559
build: remove duplicate sbt-scalafmt plugin declaration by @deepak2k03 in https://github.com/llm4s/llm4s/pull/569
Fix: Close BufferedReaders in startContainer to prevent file descriptor leak by @nikunjkumar05 in https://github.com/llm4s/llm4s/pull/562
Add parentPath to InvalidNesting tool parameter error JSON and Update AgentToolFailureTest to verify parentPath" by @Shubha9807 in https://github.com/llm4s/llm4s/pull/567
Tech Debt: Remove reflection from ContextTestFixtures by @sanket-rajput in https://github.com/llm4s/llm4s/pull/544
docs: Fix bugs and update GSoC 2026 documentation by @Vi-shub in https://github.com/llm4s/llm4s/pull/589
feat: add compound filter support to PostgresMemoryStore by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/538
Fixed the repo links by @pavanvamsi3 in https://github.com/llm4s/llm4s/pull/594
perf: optimize SQLiteMemoryStore.deleteMatching with bulk SQL deletion by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/578
chore: Update Discord community link in GSoC 2026 documentation by @ayn-aval in https://github.com/llm4s/llm4s/pull/597
Refactor: Remove unsafe asInstanceOf cast in LLMCompressor by @sanket-rajput in https://github.com/llm4s/llm4s/pull/601
Fix file descriptor leaks in stopContainer by @nikunjkumar05 in https://github.com/llm4s/llm4s/pull/604
Docs: Fix Config Boundary Violation in Phase 1.3 Handoff Examples by @Ashish-Patnaik in https://github.com/llm4s/llm4s/pull/603
Wire Agent execution into Tracing API with optional, side‑effect‑only observability by @Piyush-t24 in https://github.com/llm4s/llm4s/pull/579
chore: Remove stale compile error log by @shubhdevv in https://github.com/llm4s/llm4s/pull/605
[FEATURE] Add GitHub issue templates and pull request template by @Nsanjayboruds in https://github.com/llm4s/llm4s/pull/454
Feat: Add Exa Search Tool with example by @im-vedant in https://github.com/llm4s/llm4s/pull/469
Add deterministic consolidation stability test by @nikunjkumar05 in https://github.com/llm4s/llm4s/pull/624
test: add unit tests for MemoryStats.empty default contract by @Atharv-navatre in https://github.com/llm4s/llm4s/pull/623
Refactor: Introduce AgentContext to bundle cross-cutting Agent parameters by @Piyush-t24 in https://github.com/llm4s/llm4s/pull/631
Code review guidelines for CLAUDE in CI assisted bot contract by @vim89 in https://github.com/llm4s/llm4s/pull/415
docs: clarify Java prerequisites and add Windows/macOS setup notes by @Atharv-navatre in https://github.com/llm4s/llm4s/pull/585
docs: Update roadmaps with completed and ongoing features by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/639
feat(core): Refactor ImageGeneration traits and introduce HttpClient by @mandeepsingh2007 in https://github.com/llm4s/llm4s/pull/549
docs: fix config boundary violation in first example guide- Refactor … by @Ashish-Patnaik in https://github.com/llm4s/llm4s/pull/626
Expose estimated LLM request cost (issue-512) by @Abhishekmishra2808 in https://github.com/llm4s/llm4s/pull/542
test(core): add unit test coverage for ModelRegistry.updateFromUrl network and concurrency behavior by @sanket-rajput in https://github.com/llm4s/llm4s/pull/636
Remove STTP dependency from core module by @rorygraves in https://github.com/llm4s/llm4s/pull/640
Add beginner friendly issues page aligned with production roadmap by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/443
fix Head-of-Line blocking in executeWithLimit using sliding window by @basant-gautam in https://github.com/llm4s/llm4s/pull/622
Add Knowledge Graph module for LLM-powered entity extraction and graph traversal by @dhairya-pandya in https://github.com/llm4s/llm4s/pull/566
Add Cohere LLM provider (non-streaming) + configuration + docs by @gudiwadasruthi in https://github.com/llm4s/llm4s/pull/495
docs:Added Workspace Agent Protocol of API reference in index.md. by @Shubha9807 in https://github.com/llm4s/llm4s/pull/476
fix: talk links and GSoC heading typos by @basant-gautam in https://github.com/llm4s/llm4s/pull/619
Implement fail-fast dimension validation in SQLiteVectorStore by @basant-gautam in https://github.com/llm4s/llm4s/pull/630
docs: Update GSoC 2026 spreadsheet link by @Vi-shub in https://github.com/llm4s/llm4s/pull/658
fix(provider): update CohereClient to new withMetrics signature and cost propagation (closes:#656) by @gudiwadasruthi in https://github.com/llm4s/llm4s/pull/657
Add reviewdoc support to Claude CI workflow by @vim89 in https://github.com/llm4s/llm4s/pull/635
BUG : Fix tool message serialization for OpenRouter and Z.ai clients by @nikunjkumar05 in https://github.com/llm4s/llm4s/pull/646
feat: Replace requests-scala with JDK HttpClient in search tools and Langfuse tracing by @im-vedant in https://github.com/llm4s/llm4s/pull/644
Workspace: Phase 1 — Explicit sandbox config, validation, and locked-down profile by @Piyush-t24 in https://github.com/llm4s/llm4s/pull/493
[BUG] : Fix swapped parameters in ToolMessage pattern match in TraceHelper.scala by @nikunjkumar05 in https://github.com/llm4s/llm4s/pull/669
Fixes [#598]: Use Console.err in StreamingOptions.console by @amiralam198 in https://github.com/llm4s/llm4s/pull/647
fix: resolve resource leaks in Gemini and OpenRouter providers (#427) by @himanshu2394i in https://github.com/llm4s/llm4s/pull/663
Docs: Add Suggested IDE Plugins (Closes #403) by @lovleen-suden in https://github.com/llm4s/llm4s/pull/472
Chore/claude pr review mode by @vim89 in https://github.com/llm4s/llm4s/pull/670
Allow Bash tools in Claude workflow by @vim89 in https://github.com/llm4s/llm4s/pull/671
P2a: Replace ujson.Null with ujson.Obj() at parsing boundaries by @shubhdevv in https://github.com/llm4s/llm4s/pull/634
fix(providers): extract StreamingToolArgumentParser and normalize ujson.Null boundaries (#504) by @VarshiniGunti in https://github.com/llm4s/llm4s/pull/536
Complete requests-scala migration: MCP Transport, Qdrant, Image Generation, Workspace by @im-vedant in https://github.com/llm4s/llm4s/pull/677
Fix broken documentation links by @doroteaMonaco in https://github.com/llm4s/llm4s/pull/703
test: Add comprehensive BM25 scoring tests for SQLiteKeywordIndex by @LuigiGonnella in https://github.com/llm4s/llm4s/pull/704
fix: sanitize tool schemas for Gemini and Anthropic in provider clients by @basant-gautam in https://github.com/llm4s/llm4s/pull/580
Centralize Provider Context-Window Resolution by @Piyush-t24 in https://github.com/llm4s/llm4s/pull/682
Refactor memory managers: extract shared ops into internal trait (#609) by @VarshiniGunti in https://github.com/llm4s/llm4s/pull/621
Add image editing and inpainting support by @VarshiniGunti in https://github.com/llm4s/llm4s/pull/608
test: add missing ContextWindowResolver and provider fallback coverage by @rorygraves in https://github.com/llm4s/llm4s/pull/707
Add test coverage for RAG evaluation metrics by @dorodb-web22 in https://github.com/llm4s/llm4s/pull/697
docs: Improve Scaladoc for public Memory API by @QuidUtsav in https://github.com/llm4s/llm4s/pull/659
chore: address PR 644 review nits by @shubhdevv in https://github.com/llm4s/llm4s/pull/676
Replace ToolBuilder.build() exceptions with Result type by @im-vedant in https://github.com/llm4s/llm4s/pull/543
docs: fix broken GEN AI London 2025 slide link in README by @Atharv-navatre in https://github.com/llm4s/llm4s/pull/642
docs: Update Google Gemini provider status to Complete by @LuigiGonnella in https://github.com/llm4s/llm4s/pull/692
docs: Add Java 16+ .jvmopts fix for sbt-dotenv InaccessibleObjectException by @LuigiGonnella in https://github.com/llm4s/llm4s/pull/708
docs: fix configuration boundary violations in examples by @Ashish-Patnaik in https://github.com/llm4s/llm4s/pull/684
Extending Support in KG Module for Schema Based Extraction & Multi-Document Graph Building by @dhairya-pandya in https://github.com/llm4s/llm4s/pull/699
chore: minor code quality improvements from #646 and #644 reviews by @gudiwadasruthi in https://github.com/llm4s/llm4s/pull/673
Image Generation: migrate OpenAI client to GPT Image models and align API options (#497) by @VarshiniGunti in https://github.com/llm4s/llm4s/pull/610
test: add unit tests for ModelCapabilities and ModelPricing JSON parsing by @LuigiGonnella in https://github.com/llm4s/llm4s/pull/722
fix: handle corrupt embeddings gracefully in PostgreSQL vector stores by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/422
fix(ollama): improve error handling and JSON parsing safety by @Ashish-Patnaik in https://github.com/llm4s/llm4s/pull/592
feat: Add Reliable Calling framework with retry, circuit breaker, and deadline enforcement(P0) by @Sukuna0007Abhi in https://github.com/llm4s/llm4s/pull/460
feat: LLMClient Middleware Pipeline by @krrish175-byte in https://github.com/llm4s/llm4s/pull/713
fix: pass optional user and password to pgvector config by @QuidUtsav in https://github.com/llm4s/llm4s/pull/727
feat(graphstore): Implement GraphStore trait and embedded storage backends. by @shubhdevv in https://github.com/llm4s/llm4s/pull/710
feat: implement Stability AI provider by @himanshu2394i in https://github.com/llm4s/llm4s/pull/691
docs:Added LLM4S + ollama/llama3.2 App,LLM4S + ollama/phi3 App and LLM4S + ollama/codellama App in Ollama -quickstart.md by @Shubha9807 in https://github.com/llm4s/llm4s/pull/705
feat: make LLMClient extend AutoCloseable for resource safety by @krrish175-byte in https://github.com/llm4s/llm4s/pull/686
Add monitoring guide for tracing and observability by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/466
Add agent-level usage and cost accumulation to AgentState by @gudiwadasruthi in https://github.com/llm4s/llm4s/pull/561
test: add unit tests for ChunkerFactory, DocumentChunk, and SimpleChu… by @doroteaMonaco in https://github.com/llm4s/llm4s/pull/724
Add missing core documentation pages by @doroteaMonaco in https://github.com/llm4s/llm4s/pull/706
feat: implement SecretLeakGuardrail and refactor secret patterns for reuse by @basant-gautam in https://github.com/llm4s/llm4s/pull/694
Fix workspace logging leak by @QuidUtsav in https://github.com/llm4s/llm4s/pull/732
fix: add safe embedding validation to embedBatch with provider context by @doroteaMonaco in https://github.com/llm4s/llm4s/pull/741
Docs: fix configuration boundary violations in ollama-quickstart guide by @Ashish-Patnaik in https://github.com/llm4s/llm4s/pull/726
refactor: remove deprecated throwing APIs and migrate callers to Safe variants by @rorygraves in https://github.com/llm4s/llm4s/pull/745
samples: remove sys.env and sys.exit from BasicLLMCallingExample (use config-safe patterns) by @VarshiniGunti in https://github.com/llm4s/llm4s/pull/531
feat: improve provider test coverage via Llm4sHttpClient injection by @rorygraves in https://github.com/llm4s/llm4s/pull/746
feat: add clock parameter to CircuitBreaker for improved testability by @LuigiGonnella in https://github.com/llm4s/llm4s/pull/748
docs: enhance documentation for toolapi package by @LuigiGonnella in https://github.com/llm4s/llm4s/pull/736
feat: implement thread-safe CircuitBreaker tests by @LuigiGonnella in https://github.com/llm4s/llm4s/pull/747
fix: correct WAV header bugs, fix resource leaks, and improve speech module quality by @rorygraves in https://github.com/llm4s/llm4s/pull/749
docs: add production deployment guide by @arnavsharma990 in https://github.com/llm4s/llm4s/pull/465
Improved tracing by @gruggiero in https://github.com/llm4s/llm4s/pull/737
docs: add usage examples and troubleshooting for PostgresMemoryStore by @VarshiniGunti in https://github.com/llm4s/llm4s/pull/530
New Contributors
@krrish175-byte made their first contribution in https://github.com/llm4s/llm4s/pull/360
@arnavsharma990 made their first contribution in https://github.com/llm4s/llm4s/pull/385
@jayant1701 made their first contribution in https://github.com/llm4s/llm4s/pull/361
@gudiwadasruthi made their first contribution in https://github.com/llm4s/llm4s/pull/372
@shubhdevv made their first contribution in https://github.com/llm4s/llm4s/pull/382
@Sukuna0007Abhi made their first contribution in https://github.com/llm4s/llm4s/pull/418
@VishalPainjane made their first contribution in https://github.com/llm4s/llm4s/pull/433
@noelwelsh made their first contribution in https://github.com/llm4s/llm4s/pull/438
@abhi-battula made their first contribution in https://github.com/llm4s/llm4s/pull/420
@Piyush-t24 made their first contribution in https://github.com/llm4s/llm4s/pull/462
@iskushpatel made their first contribution in https://github.com/llm4s/llm4s/pull/439
@dhairya-pandya made their first contribution in https://github.com/llm4s/llm4s/pull/445
@mandeepsingh2007 made their first contribution in https://github.com/llm4s/llm4s/pull/436
@Indrapal-70 made their first contribution in https://github.com/llm4s/llm4s/pull/440
@sanket-rajput made their first contribution in https://github.com/llm4s/llm4s/pull/541
@pavanvamsi3 made their first contribution in https://github.com/llm4s/llm4s/pull/584
@nikunjkumar05 made their first contribution in https://github.com/llm4s/llm4s/pull/562
@Shubha9807 made their first contribution in https://github.com/llm4s/llm4s/pull/567
@ayn-aval made their first contribution in https://github.com/llm4s/llm4s/pull/597
@Ashish-Patnaik made their first contribution in https://github.com/llm4s/llm4s/pull/603
@Nsanjayboruds made their first contribution in https://github.com/llm4s/llm4s/pull/454
@Atharv-navatre made their first contribution in https://github.com/llm4s/llm4s/pull/623
@Abhishekmishra2808 made their first contribution in https://github.com/llm4s/llm4s/pull/542
@basant-gautam made their first contribution in https://github.com/llm4s/llm4s/pull/622
@amiralam198 made their first contribution in https://github.com/llm4s/llm4s/pull/647
@himanshu2394i made their first contribution in https://github.com/llm4s/llm4s/pull/663
@lovleen-suden made their first contribution in https://github.com/llm4s/llm4s/pull/472
@VarshiniGunti made their first contribution in https://github.com/llm4s/llm4s/pull/536
@doroteaMonaco made their first contribution in https://github.com/llm4s/llm4s/pull/703
@LuigiGonnella made their first contribution in https://github.com/llm4s/llm4s/pull/704
@dorodb-web22 made their first contribution in https://github.com/llm4s/llm4s/pull/697
@QuidUtsav made their first contribution in https://github.com/llm4s/llm4s/pull/659
Full Changelog: https://github.com/llm4s/llm4s/compare/v0.2.9...v0.3.0