|
9 | 9 |
|
10 | 10 | - **Auto-Escape Feature** (#111): Implemented automatic HTML escaping for template output with opt-in/opt-out support via the `safe` filter. Output is automatically escaped by default when auto-escape is enabled, and can be marked as safe using `{{ value | safe }}`. Thanks [@dop251](https://github.com/dop251) |
11 | 11 |
|
| 12 | +- **Template Loader** (#107): Implemented custom template loader interface for flexible template storage. Thanks [@chrisatbd](https://github.com/chrisatbd) |
| 13 | + |
| 14 | +- **BasicEngine** (#104): Added `NewBasicEngine()` function for simpler engine instantiation without standard tags/filters. Thanks [@jam3sn](https://github.com/jam3sn) |
| 15 | + |
| 16 | +- **JSON Filter** (#84): Added `json` filter for JSON encoding. Thanks [@prestonprice57](https://github.com/prestonprice57) |
| 17 | + |
| 18 | +- **Strict Variables Mode** (#74): Added support for strict variable checking to catch undefined variables. Thanks [@jamesog](https://github.com/jamesog) |
| 19 | + |
| 20 | +- **Custom Writer Support** (#86): Added `FRender` to allow rendering into a custom `io.Writer`. Thanks [@jamslinger](https://github.com/jamslinger) |
| 21 | + |
| 22 | +- **Template AST Access** (#59, #66): Exposed template AST and lexical environment for introspection. Thanks [@carolynvs](https://github.com/carolynvs), [@aisbergg](https://github.com/aisbergg) |
| 23 | + |
| 24 | +- **For-Else Support** (#93): Implemented `else` clauses in `for` loops. Thanks [@codykrieger](https://github.com/codykrieger) |
| 25 | + |
| 26 | +- **Unless-Else Support** (#68): Allow `unless` tags to have `else` clauses. Thanks [@aisbergg](https://github.com/aisbergg) |
| 27 | + |
| 28 | +- **General Range Expressions** (#65): Allow range expressions as general expressions, not only in loops. Thanks [@aisbergg](https://github.com/aisbergg) |
| 29 | + |
| 30 | +- **Loop Modifier Expressions** (#67): Allow loop modifiers to be general expressions, not just literals. Thanks [@aisbergg](https://github.com/aisbergg) |
| 31 | + |
12 | 32 | ### Changed |
13 | 33 |
|
14 | 34 | - **Modernized Build Tooling** (#115): Updated golangci-lint configuration to v2 format, reorganized Makefile with comprehensive targets, and added pre-commit hooks for automated code quality checks. All existing lint and format issues have been resolved. |
15 | 35 |
|
| 36 | +- **Modernization** (#95): Various modernization improvements. Thanks [@danog](https://github.com/danog) |
| 37 | + |
| 38 | +- **GitHub Actions** (#87): Bumped GitHub workflow actions to latest versions. Thanks [@deining](https://github.com/deining) |
| 39 | + |
16 | 40 | ### Fixed |
17 | 41 |
|
| 42 | +- **Size Filter** (#101): Count number of characters instead of bytes. Thanks [@jamslinger](https://github.com/jamslinger) |
| 43 | + |
| 44 | +- **Slice Bounds** (#99): Don't panic when slicing with index out of bound. Thanks [@jamslinger](https://github.com/jamslinger) |
| 45 | + |
| 46 | +- **Division by Zero** (#97): Don't panic in `divided_by` filter on division by zero. Thanks [@jamslinger](https://github.com/jamslinger) |
| 47 | + |
| 48 | +- **Nil Pointer** (#94): Fix panic in `ValueOf` with nil pointer. Thanks [@stephanejais](https://github.com/stephanejais) |
| 49 | + |
| 50 | +- **Nil Check** (#91): Add nil check for grammar field before `BlockSyntax` call. Thanks [@magiusdarrigo](https://github.com/magiusdarrigo) |
| 51 | + |
| 52 | +- **Whitespace Control** (#88, #78): Fix whitespace control and trimming. Thanks [@jamslinger](https://github.com/jamslinger), [@chrisghill](https://github.com/chrisghill), [@danog](https://github.com/danog) |
| 53 | + |
| 54 | +- **Multiline Slice** (#82): Fix slice on multiline strings. Thanks [@danog](https://github.com/danog) |
| 55 | + |
| 56 | +- **Block Errors** (#81): Bug fixes for `WrapError()`, `Errorf()` and `SourceFile()` in block context. Thanks [@wttw](https://github.com/wttw) |
| 57 | + |
| 58 | +- **Map Filter** (#71): Fix map filter with slice of structs. Thanks [@ofavre](https://github.com/ofavre) |
| 59 | + |
| 60 | +- **Documentation** (#69): Fix example filter URL in documentation. Thanks [@peteraba](https://github.com/peteraba) |
| 61 | + |
| 62 | +- **Windows Tests** (#61): Fixed include tag test cases on Windows |
| 63 | + |
18 | 64 | - Fixed trailing whitespace issues in test files |
19 | 65 | - Resolved all golangci-lint v2 compatibility issues |
20 | 66 |
|
|
0 commit comments