| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-04-11 | [4.0.x] Fixed #33628 -- Ignored directories with empty names in autoreloader ↵ | Manel Clos | |
| check for template changes. Regression in 68357b2ca9e88c40fc00d848799813241be39129. Backport of 62739b6e2630e37faa68a86a59fad135cc788cd7 from main. | |||
| 2022-02-08 | [4.0.x] Refs #33476 -- Refactored code to strictly match 88 characters line ↵ | Mariusz Felisiak | |
| length. Backport of 7119f40c9881666b6f9b5cf7df09ee1d21cc8344 from main. | |||
| 2022-02-08 | [4.0.x] Refs #33476 -- Reformatted code with Black. | django-bot | |
| Backport of 9c19aff7c7561e3a82978a272ecdaad40dda5c00 from main. | |||
| 2022-02-03 | [4.0.x] Refs #33476 -- Refactored problematic code before reformatting by Black. | Mariusz Felisiak | |
| In these cases Black produces unexpected results, e.g. def make_random_password( self, length=10, allowed_chars='abcdefghjkmnpqrstuvwxyz' 'ABCDEFGHJKLMNPQRSTUVWXYZ' '23456789', ): or cursor.execute(""" SELECT ... """, [table name], ) Backport of c5cd8783825b5f6384417dac5f3889b4210b7d08 from main. | |||
| 2022-02-01 | [4.0.x] Fixed CVE-2022-22818 -- Fixed possible XSS via {% debug %} template tag. | Markus Holtermann | |
| Thanks Keryn Knight for the report. Backport of 394517f07886495efcf79f95c7ee402a9437bd68 from main. Co-authored-by: Adam Johnson <me@adamj.eu> | |||
| 2022-01-04 | [4.0.x] Fixed CVE-2021-45116 -- Fixed potential information disclosure in ↵ | Florian Apolloner | |
| dictsort template filter. Thanks to Dennis Brinkrolf for the report. Co-authored-by: Adam Johnson <me@adamj.eu> | |||
| 2021-09-08 | Fixed #30086, Refs #32873 -- Made floatformat template filter independent of ↵ | Mariusz Felisiak | |
| USE_L10N. | |||
| 2021-08-25 | Refs #32919 -- Simplified Lexer.create_token() by reorganizing blocks. | Chris Jerdonek | |
| 2021-08-25 | Refs #32919 -- Added assertion for token start in Lexer.create_token(). | Chris Jerdonek | |
| This adds an assertion in the code path where the method would otherwise return None, which isn't allowed. | |||
| 2021-08-19 | Fixed #33036 -- Made simple_tag()/inclusion_tag() with takes_context raise ↵ | Matt Westcott | |
| TemplateSyntaxError when function has no parameters. | |||
| 2021-08-09 | Fixed #33002 -- Made DebugLexer.tokenize() more closely parallel ↵ | Chris Jerdonek | |
| Lexer.tokenize(). | |||
| 2021-08-09 | Refs #33002 -- Renamed variable from bit to token_string in Lexer.tokenize(). | Chris Jerdonek | |
| 2021-08-09 | Refs #33002 -- Optimized Lexer.tokenize() by skipping computing lineno when ↵ | Chris Jerdonek | |
| not needed. | |||
| 2021-08-09 | Fixed #32990 -- Simplified and optimized tag regex. | Greg Twohig | |
| Thanks Chris Jerdonek for the review. | |||
| 2021-08-05 | Refs #32986 -- Moved TRANSLATOR_COMMENT_MARK to ↵ | Chris Jerdonek | |
| django.utils.translation.template. | |||
| 2021-08-05 | Fixed #32986 -- Removed unneeded str.find() call in Lexer.create_token(). | Chris Jerdonek | |
| Unnecessary since 47ddd6a4082d55d8856b7e6beac553485dd627f7. | |||
| 2021-08-02 | Fixed #32919 -- Optimized lexing & parsing of templates. | Keryn Knight | |
| This optimizes: - Lexer.create_token() by avoiding startswith() calls, - Parser.parse() by re-using the token type enum's value, - Parser.extend_nodelist() by removing unnecessary isinstance() check, - some Node subclasses by removing the implicit "nodelist" from "child_nodelists", - Variable.__init__() by avoiding startswith() calls. | |||
| 2021-07-02 | Fixed #28935 -- Fixed display of errors in extended blocks. | cammil | |
| Get the template that caused the exception and get the exception info from that template, using the node that caused the exception. | |||
| 2021-06-11 | Fixed #32824 -- Improved performance of NodeList.render(). | Keryn Knight | |
| This avoids the following: - checking that each item in the nodelist is a subclass of Node, - calling str() on the render_annotated() output, because it's documented that Node.render() must return a string, - calling mark_safe() on the output, when the value to be wrapped is definitively known to be a string because the result of ''.join() is always of that type, - using an intermediate list to store each individual string. | |||
| 2021-06-10 | Refs #24121 -- Added __repr__() to AdminForm, BlockContext, ↵ | saeedblanchette | |
| BlockTranslateNode, and IncludeNode. | |||
| 2021-06-07 | Fixed #32814 -- Improved performance of TextNode. | Keryn Knight | |
| This avoids calling render() and handling exceptions, which is not necessary for text nodes. | |||
| 2021-06-01 | Refs #24121 -- Added __repr__() to Engine | abhiabhi94 | |
| 2021-05-26 | Fixed #32744 -- Normalized to pathlib.Path in autoreloader check for ↵ | Hasan Ramezani | |
| template changes. | |||
| 2021-03-17 | Refs #24121 -- Added __repr__() to Origin and Template. | Tiago Honorato | |
| 2021-03-02 | Refs #24121 -- Added __repr__() to URLNode. | Rohith PR | |
| 2021-02-26 | Refs #24121 -- Added __repr__() to FilterExpression, Lexer, Parser, and Token. | David Smith | |
| 2021-01-27 | Fixed #32290 -- Fixed TemplateNotFound in {% include %} tag for relative ↵ | Hasan Ramezani | |
| path in variable. | |||
| 2021-01-14 | Refs #25236 -- Removed {% ifequal %} and {% ifnotequal %} template tags per ↵ | Mariusz Felisiak | |
| deprecation timeline. | |||
| 2020-12-28 | Fixed #27827 -- Used "raise from" when raising InvalidTemplateLibrary ↵ | Jacob Walls | |
| exceptions in get_package_libraries(). This change sets the __cause__ attribute to raised exceptions and makes small cleanups in error messages. | |||
| 2020-11-21 | Refs #15053 -- Clarified debug message when skipping templates to avoid ↵ | Daniel Hahler | |
| recursion. | |||
| 2020-11-05 | Fixed #25791 -- Implement autoreload behaviour for cached template loader. | Tom Forbes | |
| 2020-11-05 | Refs #25791 -- Added get_dirs() method to cached template loader. | Tom Forbes | |
| 2020-10-13 | Fixed #20601 -- Allowed forcing format with thousand separators in ↵ | Jacob Walls | |
| floatformat filter. Thanks Claude Paroz and Nick Pope for reviews. | |||
| 2020-10-07 | Fixed #32002 -- Added headers parameter to HttpResponse and subclasses. | Tom Carrick | |
| 2020-07-30 | Bumped minimum isort version to 5.1.0. | David Smith | |
| Fixed inner imports per isort 5. isort 5.0.0 to 5.1.0 was unstable. | |||
| 2020-05-11 | Refs #30116 -- Simplified regex match group access with Match.__getitem__(). | Jon Dufresne | |
| The method has been available since Python 3.6. The shorter syntax is also marginally faster. | |||
| 2020-05-11 | Fixed #25236 -- Deprecated {% ifequal %} and {% ifnotequal %} template tags. | Jon Dufresne | |
| The {% if %} tag provides all features of these tags. Since Django 1.2 (May 17, 2010), the docs have hinted that {% ifequal %} and {% ifnotequal %} will be deprecated in a future Django version. Time to make it official. | |||
| 2020-05-04 | Refs #30573 -- Rephrased "Of Course" and "Obvious(ly)" in documentation and ↵ | Adam Johnson | |
| comments. | |||
| 2020-03-17 | Fixed #31172 -- Added note to translators for yesno filter. | Hasan Ramezani | |
| 2020-02-18 | Fixed #20995 -- Added support for iterables of template names to {% include ↵ | Keshav Kumar | |
| %} template tag. Thanks Adam Johnson for the review. | |||
| 2020-01-02 | Fixed #31128 -- Fixed TemplateSyntaxError in simple_tag() and ↵ | Patrick Seebauer | |
| inclusion_tag() for kwargs. | |||
| 2019-12-18 | Refs #30585 -- Updated project templates and tests to use (block)translate tags. | Mike Hansen | |
| 2019-12-10 | Used Signature API instead of deprecated inspect.getcallargs(). | Baptiste Mispelon | |
| inspect.getcallargs() was deprecated in Python 3.5 and the Signature API (PEP 362) has better support for decorated functions (by default, it follows the __wrapped__ attribute set by functools.wraps for example). | |||
| 2019-12-10 | Used full module import for inspect in template/base.py. | Baptiste Mispelon | |
| 2019-11-27 | Fixed #30425 -- Handled jinja2.TemplateSyntaxError when rendering a template. | Hasan Ramezani | |
| Jinja raises jinja2.TemplateSyntaxError in render() not in get_template() when it's in an included template. | |||
| 2019-11-19 | Removed unnecessary numeric indexes in format strings. | Jon Dufresne | |
| 2019-11-07 | Refs #29983 -- Added support for using pathlib.Path in all settings. | Jon Dufresne | |
| 2019-10-31 | Fixed #30761 -- Prevented floatformat filter from returning a negative zero. | Sky | |
| 2019-10-29 | Fixed #30899 -- Lazily compiled import time regular expressions. | Hasan Ramezani | |
| 2019-10-09 | Improved performance of django.template.base.Parser. | Alex Gaynor | |
| pop(0), which is used to fetch each token, is O(n) in the length of the list. By reversing the list and operating off the end, we can perform next_token(), prepend_token(), and delete_first_token() in constant time. | |||
