Fork me on GitHub

Changelog

All Changes

3.0.6


Changes:

  • Check that parseNewVariableName() parses a valid identifier (#409)
  • Set up Pebble documentation site using Orchid (#411)
  • Add twig compatibility matrix documentation (#247)

3.0.5


Changes:

  • Cannot access List methods (#402)
  • Implement to boolean smart-casting in OR and AND operators (#405)

3.0.4


Changes:

  • Make NOT operator more tolerant to argument type (#394)
  • Make ternary if operator more tolerant to argument type (#399)
  • Adjust AndExpression and OrExpression logic (#398)
  • Add JSON escaping as part of the default escaping strategies (#395)

3.0.3


Changes:

  • Support more expressions for if operator (#387)
  • Consider adding greedyMatchMethod to PebbleProperties (#388)
  • Use locale from context for lower/upper filter (#390)
  • Restore cache:invalidateAll method (#393)

3.0.2


Changes:

  • Add PebbleCache interface and use ConcurrentMap instead of Caffeine as default template/tag cache (#381)
  • Use unbescape instead of Coverity Escapers (#380)

3.0.1


Changes:

  • Macros are restricted to a local scope (#371)
  • Macros have access to global attributes via "_context" variable (#242)

3.0.0


Changes:

  • 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)