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.md 1.3KB

1234567891011121314151617181920212223242526272829
  1. # AspectJ Java version compatibility
  2. For reasons described e.g. in [this comment](https://github.com/eclipse/org.aspectj/issues/139#issuecomment-1072946123),
  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 version | Java version | Comments
  7. ----------------|--------------|--------
  8. 1.9.9 - 1.9.9.1 | 18
  9. 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.
  10. 1.9.7 | 15, 16
  11. 1.9.6 | 14
  12. 1.9.5 | 13
  13. 1.9.3 - 1.9.4 | 12
  14. 1.9.2 | 11
  15. 1.9.1 | 10
  16. 1.9.0 | 9
  17. 1.8.0 - 1.8.14 | 8
  18. 1.7.0 - 1.7.4 | 7
  19. 1.6.0 - 1.6.12 | 6
  20. 1.5.0 - 1.5.4 | 5
  21. Older versions omitted.
  22. FYI, here is a brief overview of
  23. [Java language changes since Java 9](https://docs.oracle.com/en/java/javase/18/language/java-language-changes.html).
  24. They basically correspond to the new Java language features supported by AspectJ versions for the respective Java
  25. versions.