You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

JavaVersionCompatibility.adoc 1.7KB

123456789101112131415161718192021222324252627282930313233343536
  1. = AspectJ Java version compatibility
  2. For reasons described e.g. in https://github.com/eclipse-aspectj/aspectj/issues/139#issuecomment-1072946123[this comment],
  3. for AspectJ users it has become a little challenging to find out which minimum AspectJ version is required in order to
  4. process byte code or compile source code using features of a certain Java language version. Since Java 10, this cannot
  5. be easily concluded from the AspectJ version number anymore, and we are sorry for that. So here is a little overview:
  6. // AspectJ_JDK_Update: add new row to table
  7. [%autowidth, stripes=even, options="header"]
  8. |===
  9. |AspectJ version |Java version |Comments
  10. |1.9.22 |22 |
  11. |1.9.21 - 1.9.21.2 |21 |AspectJ compiler requires JDK 17+ during build time. During runtime, AspectJ still only requires Java 8+ for both compile-time and load-time weaving. Pure Java code can be compiled down to as old as 1.3 byte code level.
  12. |1.9.20 - 1.9.20.1 |20 |
  13. |1.9.19 |19 |
  14. |1.9.9 - 1.9.9.1 |18 |
  15. |1.9.8 |17 |AspectJ compiler requires JDK 11+ during build time. During runtime, AspectJ still only requires Java 8+ for both compile-time and load-time weaving. Pure Java code can be compiled down to as old as 1.3 byte code level.
  16. |1.9.7 |15, 16 |
  17. |1.9.6 |14 |
  18. |1.9.5 |13 |
  19. |1.9.3 - 1.9.4 |12 |
  20. |1.9.2 |11 |
  21. |1.9.1 |10 |
  22. |1.9.0 |9 |
  23. |1.8.0 - 1.8.14 |8 |
  24. |1.7.0 - 1.7.4 |7 |
  25. |1.6.0 - 1.6.12 |6 |
  26. |1.5.0 - 1.5.4 |5 |
  27. |===
  28. Older versions omitted.
  29. FYI, here is a brief overview of
  30. https://docs.oracle.com/en/java/javase/18/language/java-language-changes.html[Java language changes since Java 9].
  31. They basically correspond to the new Java language features supported by AspectJ versions for the respective Java
  32. versions.