Fork me on GitHub

Changelog

All Changes

3.1.0


Changes:

  • BREAKING CHANGES: Consider avoiding feature version in spring boot starter name (#459)
  • Upgrade spring boot integration to Spring Boot 2.1 (#460)
  • Allow override core operators (#455, #456)
  • Allows variables to be set in templates when provided context is an immutable map (#453)
  • Fixed a few typos in the docs (#452)
  • Remove unnecessary variable 'state' in LexerImpl by using Stack (#450)
  • Updates Orchid to 0.17.1 and fixes its breaking changes (#448)
  • Null value in a Map should not throw AttributeNotFoundException (#447, #446)

3.0.10


Changes:

  • Add support for JDK 9++ (#442, #443)
  • Add macro support for errors(BindingResult) in spring extension
  • Add spring-petclinic example

3.0.9


Changes:

  • Add embed tag (#319, #318, #224, #378, #434)
  • Offline documentation (#282, #432)
  • Make allowGetClass check case insensitive (#435, #436)

3.0.8


Changes:

  • Add split filter (#421)

3.0.7


Changes:

  • Add Automatic-Module-Name to support Java 9 modules (#416)

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)