| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-07-31 | [4.2.x] Fixed CVE-2024-41989 -- Prevented excessive memory consumption in ↵ | Sarah Boyce | |
| floatformat. Thanks Elias Myllymäki for the report. Co-authored-by: Shai Berger <shai@platonix.com> | |||
| 2023-04-12 | [4.2.x] Refs #34482 -- Reverted "Fixed #32969 -- Fixed pickling HttpResponse ↵ | Mariusz Felisiak | |
| and subclasses." This reverts commit d7f5bfd241666c0a76e90208da1e9ef81aec44db. Thanks Márton Salomváry for the report. Backport of 173034b00589c083793d495e8b07e35be2cb1cf0 from main | |||
| 2023-02-22 | [4.2.x] Fixed #34363 -- Fixed floatformat crash on zero with trailing zeros. | Panagiotis H.M. Issaris | |
| Regression in 08c5a787262c1ae57f6517d4574b54a5fcaad124. Follow up to 4b066bde692078b194709d517b27e55defae787c. Backport of dcd974698301a38081c141ccba6dcafa5ed2c80e from main | |||
| 2023-02-01 | [4.2.x] Refs #33476 -- Applied Black's 2023 stable style. | David Smith | |
| Black 23.1.0 is released which, as the first release of the year, introduces the 2023 stable style. This incorporates most of last year's preview style. https://github.com/psf/black/releases/tag/23.1.0 Backport of 097e3a70c1481ee7b042b2edd91b2be86fb7b5b6 from main | |||
| 2023-01-19 | [4.2.x] Fixed #34272 -- Fixed floatformat crash on zero with trailing zeros ↵ | David Wobrock | |
| to zero decimal places. Regression in 08c5a787262c1ae57f6517d4574b54a5fcaad124. Thanks Andrii Lahuta for the report. Backport of 4b066bde692078b194709d517b27e55defae787c from main | |||
| 2023-01-06 | Fixed #34220 -- Moved csrf_input_lazy, csrf_token_lazy imports to the toplevel. | rajdesai24 | |
| This prevents random errors with partially initialized modules. | |||
| 2022-10-24 | Fixed #34098 -- Fixed loss of precision for Decimal values in floatformat ↵ | Vlastimil Zíma | |
| filter. Regression in 12f7928f5a455e330c0a7f19bc86b37baca12811. | |||
| 2022-07-23 | Fixed #33864 -- Deprecated length_is template filter. | Nick Pope | |
| 2022-06-20 | Fixed #32969 -- Fixed pickling HttpResponse and subclasses. | Anv3sh | |
| 2022-05-25 | Normalized imports of functools.wraps. | Aymeric Augustin | |
| @wraps is 10 times more common than @functools.wraps. Standardize to the most common version. | |||
| 2022-05-20 | Fixed #33653 -- Fixed template crash when calling methods for built-in types ↵ | cheng | |
| without required arguments. Regression in 09341856ed9008875c1cc883dc0c287670131458. | |||
| 2022-04-19 | Fixed #33639 -- Enabled cached template loader in development. | Carlton Gibson | |
| 2022-04-11 | Fixed #33628 -- Ignored directories with empty names in autoreloader check ↵ | Manel Clos | |
| for template changes. Regression in 68357b2ca9e88c40fc00d848799813241be39129. | |||
| 2022-02-16 | Removed unused Node.__iter__(). | Keryn Knight | |
| 2022-02-07 | Refs #33476 -- Refactored code to strictly match 88 characters line length. | Mariusz Felisiak | |
| 2022-02-07 | Refs #33476 -- Reformatted code with Black. | django-bot | |
| 2022-02-03 | Fixed #33473 -- Fixed detecting changes by autoreloader in .py files inside ↵ | Hrushikesh Vaidya | |
| template directories. | |||
| 2022-02-03 | 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], ) | |||
| 2022-02-02 | Fixed #33474 -- Added __slots__ to Variable and FilterExpression. | Keryn Knight | |
| 2022-02-01 | Fixed CVE-2022-22818 -- Fixed possible XSS via {% debug %} template tag. | Markus Holtermann | |
| Thanks Keryn Knight for the report. Co-authored-by: Adam Johnson <me@adamj.eu> | |||
| 2022-01-10 | Simplified @stringfilter decorator and Library with unwrap(). | Baptiste Mispelon | |
| Nowadays we can use inspect.unwrap() to retrieve the innermost function object when needed, and most of the uses of _decorated_function were to access the original __name__ which is not needed because @functools.wraps sets that attribute correctly. | |||
| 2022-01-07 | Avoided isinstance(…, Variable) calls in FilterExpression.resolve(). | Keryn Knight | |
| By determining the variable type within __init__() instead of resolve() we can skip an isinstance() check at template runtime. Templates are executed in production more often than the parse trees themselves, assuming the cached Loader is used. | |||
| 2022-01-04 | Fixed CVE-2021-45116 -- Fixed potential information disclosure in dictsort ↵ | Florian Apolloner | |
| template filter. Thanks to Dennis Brinkrolf for the report. Co-authored-by: Adam Johnson <me@adamj.eu> | |||
| 2021-12-21 | Optimized django.template.autoreload.get_template_directories() a bit. | Adam Johnson | |
| 2021-12-08 | Refs #32290 -- Optimized construct_relative_path() by delay computing ↵ | Keryn Knight | |
| has_quotes. | |||
| 2021-11-22 | Fixed #33302 -- Made element_id optional argument for json_script template ↵ | Baptiste Mispelon | |
| filter. Added versionchanged note in documentation | |||
| 2021-10-20 | Refs #32987 -- Refactored out get_template_tag_modules(). | Daniel Fairhead | |
| 2021-09-27 | Used Path.read_text() in jinja2.get_exception_info(). | Mariusz Felisiak | |
| 2021-09-27 | Refs #32355 -- Used @functools.lru_cache as a straight decorator. | Mariusz Felisiak | |
| 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. | |||
