# Scala 3 (dotty) - [x] Use Scala 3.0.0 #1639 - [x] Add a basic configuration - [x] Extract AirSpec as an external project #1992 - [x] Test Scala version sandwitch https://github.com/sbt/sbt/pull/5767 - [x] airframe-log support #867 #1381 - [x] Surface support #1384 - [x] Surface.of[X] #1385 - [x] Surface.methodsOf[X] #1403 - [x] airframe-di support #1649 - [x] Split source folder for Scala 2 and 3 #1405 - [x] Support Scala3 macros #1407 - [x] deprecate in-trait bindings #1653 - ~[ ] new A with DISupport https://github.com/wvlet/airframe/issues/1410~ - ~[ ] Traverse Template node in Scala 3 for rewriting `new A with DISupport {}` code~ https://github.com/lampepfl/dotty/issues/10931 - [x] AirSpec #1659 - [x] Use TastyInspector - [x] Create ReflectSurface factory - [x] RuntimeSurface.of[X] - [x] Run all AirSpec tests - [x] parquet #2209 Need to resolve Surface of nested objects at runtime or pre-register Surfaces - [x] grpc (Need to register trait factories to start gRPC server. https://github.com/wvlet/airframe/issues/2194 - [x] Scala 3.1.3-RC2 or later will be required for generating new class from a trait type T https://github.com/lampepfl/dotty/issues/11685) - [x] airframe-log - [x] surface - [x] recursive surface (with type substitution) - [x] local surface inside object or class #1695 - [x] NamedParameterTest - [x] RecursiveHigherKindTypeTest #2052 - [x] di - [x] codec - [x] json - [x] msgpack - [x] canvas - [x] control - [x] ulid - [x] metrics - [x] rx - [x] okhttp (~Finagle server is used for testing~) #2440 #2865 - [x] http-recorder (Finagle server is used internally) #1146 - [x] airframe-config - [x] airframe-http - [x] airframe-http-router - [x] airframe-http-grpc (codec is required) - [x] airframe-http-router - [x] airframe-http-codegen (Need to read Surfaces of RPC/Endpoint interfaces from classpath) - [x] Fix (or remove the usage of) unstable Tasty-based surface #1698 See also #2006 for more context - ~[ ] airframe-http-finagle (Finagle must be migrated to Scala 3)~ Finagle will not migrate to Scala 3 soon - [x] canvas - [x] codec - [x] Split code for Scala 2 and 3 #1640 - [x] control - [x] jmx - [x] launcher - [x] metrics - [x] msgpack - [x] json - [x] rx - [x] rx-html - [x] rx-html-widget - [x] parquet - [x] ulid - [x] Cross build for Scala.js + Scala 3.0.0 - [x] Extract sbt-airframe as a separate project #1686 - [x] Surface (Use Scala 3 inline methods for JS src) #1676 - [x] AirSpec for Scala.js + Scala 3.0.0 #2202
Scala 3 (dotty)
[ ] new A with DISupport airframe-di: Support generating a new instance A with Scala 3 #1410[ ] Traverse Template node in Scala 3 for rewritingTreeMap doesn't traverse Template class scala/scala3#10931new A with DISupport {}codeFinagle server is used for testing) airframe-http: Deprecate the legacy HttpClient[F[_], Req, Resp] interface #2440 airframe-okhttp: Scala 3 support #2865[ ] airframe-http-finagle (Finagle must be migrated to Scala 3)Finagle will not migrate to Scala 3 soon