docs(quick-001): update JDK requirement from 17+ to 21+ for Loom virtual threads

- Update JDK version requirement in Language & Runtime table
- Add rationale explaining Loom virtual threads benefit for JDBC blocking ops
- Clarify ZIO fibers and JVM virtual threads are complementary
This commit is contained in:
Jakub Zych
2026-02-05 13:07:52 +01:00
parent 7a8cad2060
commit 64dcdedfa2

View File

@@ -19,7 +19,7 @@ The ZIO ecosystem in 2025/2026 is mature and production-ready. ZIO HTTP 3.x is s
| Technology | Version | Purpose | Rationale |
|------------|---------|---------|-----------|
| Scala | 3.3.7 LTS | Core language | LTS provides stability for a multi-year project; 3.8.x requires JDK 17+ which may limit deployment options |
| JDK | 17+ | Runtime | Required for Scala 3.3.x LTS, widely available, long-term support |
| JDK | 21+ | Runtime | LTS (Sept 2023), Loom virtual threads benefit JDBC blocking operations in Quill |
| ZIO | 2.1.24 | Effect system | Latest stable with stream performance improvements, binary compatibility guaranteed in 2.x line |
**Confidence:** HIGH - Verified via [Scala releases](https://www.scala-lang.org/download/all.html), [ZIO releases](https://github.com/zio/zio/releases)
@@ -27,6 +27,7 @@ The ZIO ecosystem in 2025/2026 is mature and production-ready. ZIO HTTP 3.x is s
**Notes:**
- Scala 3.3.7 LTS is recommended over 3.8.x bleeding edge - CMF needs stability over newest features
- ZIO 2.1.x line has explicit binary compatibility guarantees, critical for plugin ecosystem
- JDK 21+ for Loom virtual threads: While ZIO provides its own fiber system, Quill uses JDBC which does blocking I/O. Virtual threads make these blocking calls "virtually" non-blocking at the JVM level. ZIO can use virtual thread executors for blocking operations, complementing ZIO fibers rather than replacing them.
---