---
version: '3.0.0'
---

- Java 8
- Macros have access to all variables within the template and are no longer restricted to a "local scope"
- New signature for filters/functions/tests that accepts the PebbleTemplate, EvaluationContext, and line number
- Converted EvaluationContext to an interface with limited access to the underlying implementation
- A "null" used as a boolean expression now throws an error if strict variables is true, treated as "false" otherwise
- Improved error reporting
- Java8 Date API support on date filter
- Replace guava cache with caffeine
- Add String Interpolation (#235)
- Add the possibility to extend attribute access (#258)
- Remove DynamicAttributeProvider
- Render content on demand. Expose getLiteralTemplate(String templateName) (#295)
- Introduce SpecializedWriter, (#358)
- Many performance enhancements
- Method resolution with overloaded method signatures (#367)
- Use AbstractTemplateViewResolverProperties for spring-boot (#369)