diff --git a/.planning/research/STACK.md b/.planning/research/STACK.md index 651286a..b8c0ba6 100644 --- a/.planning/research/STACK.md +++ b/.planning/research/STACK.md @@ -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. ---