Advanced type theory dates back to the 90s too, and yet only now we see it being utilized in mainstream languages more and more
Curry-Howard: Curry (1934, 1958), Howard (1968)
MLTT: Martin-Lof (1972)
Polymorphic lambda-calculus: Girard (1972/3), Reynolds (1974)
Effect systems: Gifford/Lucassen (1986)
Calculus of constructions: Coquand/Huet (1988)
HKTs: Girard (1971)
Type classes: Kaes (1988)
Dates are imprecise and from memory.
Partial evaluation and meta-tracing, though, were more or less fully understood theoretically by ~2000. What was missing was the enormous amount of tooling and compiler design work needed to support them e.g. Graal, and that in turn preceded by enough work on Java / the JVM to make a project like Graal viable.