Releases: HubSpot/jinjava
Releases · HubSpot/jinjava
jinjava-2.7.3
2024-09-12 Version 2.7.3 (Maven Central)
- Add support for numeric keys in map literal
- Add feature to consider undefined variable a TemplateError
- Improve Optional value serialization
- Fix bug where extends roots were processed inside of the RenderFilter
- Don't allow illegal characters in XmlAttrFilter
- Limit string length in
+
and~
operators - Fix various RuntimeExceptions in filters and functions
- Updates dependency versions
jinjava-2.7.2
2024-02-12 Version 2.7.2 (Maven Central)
- Use interpreter's locale for strftime functions
- Prevent infinite hashCode recursion in PyList or PyMap
- Support aliasing macro function names in {% from %} tag
- Add whitespace trimming functionality for notes and expressions
- Add feature to prevent accidental expressions from being output
- Add length-limiting to |render filter and add |closehtml filter
- Add length-limiting to |tojson filter
- Make |pprint filter output in JSON format
- Allow for loop with
null
values - Add length-limiting when coercing strings
- Add
ECHO_UNDEFINED
feature - Various PRs for eager execution to support two-phase rendering.
jinjava-2.7.1
2023-08-11 Version 2.7.1 (Maven Central)
- Introduce
{% do %}
blocks - Add warnings for unclosed tokens
- Fix
|default(null)
behavior - Improve EscapeJinjavaFilter
- Improve BeanELResolver Extensibility
- Add snake_case serialization config option
- Add generic node pre/post processors
- Upgrade jackson to 2.14.0
- Upgrade jsoup to 1.15.3
- Upgrade guava to 31.1
- Add feature flags to JinjavaConfig
- Make restricted methods and properties configurable
- Gracefully handle invalid escaped quotes
- Warn when datetime filters use null arguments
- Fix interpreter scope inside striptags filter
- Fix various RuntimeExceptions in filters and functions
- Various PRs for eager execution to support two-phase rendering.
jinjava-2.7.0
2023-03-03 Version 2.7.0 (Maven Central)
- Use number operations for multiply and divide filters
- Add config to require whitespace in tokens
- Make reject filter the inverse of select filter
- Make ObjectMapper configurable via JinjavaConfig
- Limit rendering cycle detection to expression nodes
- Add URL decode filter
- Fix truthiness of numbers between 0 and 1
- Fix macro function scoping inside of another macro function
- Handle thread interrupts by throwing an InterpretException
- Fix right-side inline whitespace trimming
- Fix Jinjava functionality for duplicate macro functions and call tags
- Fix custom operator precedence
- Parse leading negatives in expression nodes
- add keys function to dictionary
- Update title filter to ignore special characters
- add unescape_html filter
- Move object unwrap behavior to config object
- Get best invoke method based on parameters
- Create format_number filter
- Get current date and time from a provider
- Create context method for checking if in for loop
- Filter duplicate template errors
- Fix various NullPointerExceptions in filters and functions
- Various changes to reduce non-deterministic behavior
- Various changes to improve datetime formatting and exception handling
- Various PRs for eager execution to support two-phase rendering.
jinjava-2.6.0
2021-10-29 Version 2.6.0 (Maven Central)
- Create interface for object truth values
- Catch concurrent modification in for loop
- Add Originating Exception Message For A TemplateSyntaxException
- Throw a template error when attempting to divide by zero
- Make unixtimestamp behave the same as System.currentTimeMillis()
- handle null argument in range function
- Track Current Processed Node In The Context
- Add Base 64 encode and decode filters
jinjava-2.5.10
2021-09-03 Version 2.5.10 (Maven Central)
- Make LazyExpression memoization disable-able
- Add new MapELResolver with type coercion to support accessing enum keys
- Add methods to remove error from interpreter,
get the last error,
and remove the last error - Pass value of throwInterpreterErrors to child contexts
- Support Assignment Blocks with Set tags
- Handle spaces better in for loop expressions
- Support "not in"
- Set propertyResolved after evaluating the AbstractCallableMethod
- Limit infinite evaluation from recursive extends tags
- Fix striptags to clean HTML instead of parsing
- Various PRs for eager execution to support two-phase rendering.
jinjava-2.5.8
2021-05-20 Version 2.5.8 (Maven Central)
- Various PRs for eager execution to support two-phase rendering.
- Add rangeLimit to JinjavaConfig
- Add namespace functionality
- Fix capitalize and title filters
jinjava-2.5.7
2021-04-09 Version 2.5.7 (Maven Central)
- Various PRs for support EagerTokens and two-phase rendering via ChunkResolver.
- Preserve Raw Tags Config
- Change config name to preserveForFinalPass
- Ensure that after pushing the interpreter, it gets popped
- Python Booleans and Filter base with parsing
- toyaml/fromyaml filters
- Add ChunkResolver to partially resolve expressions
- Simply JinjavaConfig construction
- Add size limited pymaps and pylists
- Remove overrides for append and insert
- Filter upgrades to support kw params
- Check if list index is numeric before parsing to int
- Rethrow CollectionTooBigExceptions in resolver
- Add error for collection too big
- Fix args for aliased functions
- Add filter to interpret a string early
- Variable function evaluator
- Check that disabled library map isn't null
- Pyish String representations of objects
- Intial support for vsCodeTagSnippets
- Fix documentation for truncate function
- Fix bug with whitespace controls not applying properly
- Allow replace filter on non-strings
- Add function and filter to convert string to date
- Expose jinjava snippets throught the jinjava object
- Output pyish versions of objects using legacy override flag
- Trim before checking if expression is quoted
- Fix tuple parsing bug
- Fix NPE around code snippets documentation
jinjava-2.5.6
Accept ip address without network prefix in ipaddr('address') filter
Expression test parity with jinja including isIterable
Support IN operator for dictionaries
Disallow adding a pyMap to itself
Disallow adding a map to itself