Changelog?

3.0.0版?

未發布的

  • 放棄對Python2.7和3.5的支持。

  • 將MarkupSafe依賴項凹凸到>=1.1。

  • 將Babel可選依賴項提升到>=2.1。

  • 刪除標記為已棄用的代碼。

  • 使用 PEP 451 用于加載模板的API PackageLoader . #1168

  • 修復導致導入的宏無法訪問當前模板的全局參數的錯誤。 #688

  • 添加忽略功能 trim_blocks 使用 +%}} . #1036

  • 修復了一個錯誤,該錯誤導致自定義的僅異步過濾器在常量輸入時失敗。 #1279

  • 修復在未定義的變量上錯誤地引發未定義錯誤,而不是 Undefined 被退回的日期為 NativeEnvironment 在Python 3.10上。 #1335

  • 添加 required 屬性添加到必須在某個點重寫但不一定由直接子級重寫的塊 #1147

  • 不推薦使用 autoescapewith 擴展部分 #1203

版本2.11.2?

發布日期:2020-04-13

  • 修復導致可調用對象的錯誤 __getattr__ ,像 Mock 被視為 contextfunction() . #1145

  • 更新 wordcount 要觸發的篩選器 Undefined 方法將輸入包裝到 soft_str() . #1160

  • 修復在python32位上顯示回溯時的掛起。 #1162

  • 顯示引發的對象的未定義錯誤 AttributeError on access不會導致遞歸錯誤。 #1177

  • 將更改還原為 PackageLoader 從命名空間中刪除了對setup2.10的依賴性和對pkg.10包的依賴性。這些更改在使用Pytest時引發了問題。因為在支持python2和 PEP 451 同時,更改將恢復到3.0。 #1182

  • 修復刪除新行時錯誤消息中的行號。 #1178

  • 特殊 namespace() 模板中的賦值對象在異步環境中工作。 #1180

  • 在修復中間標記之前刪除空白行時 lstrip_blocks 啟用。 #1138

  • NativeEnvironment doesn't evaluate intermediate strings during rendering. This prevents early evaluation which could change the value of an expression. #1186

版本2.11.1?

發布日期:2020-01-30

  • 修復了一個阻止在屬性后查找鍵的錯誤 ({{{{ data.items[1:] }}}} )在異步模板中。 #1141

版本11?

發布日期:2020-01-27

  • 放棄對Python2.6、3.3和3.4的支持。這將是支持Python2.7和3.5的最新版本。

  • 增加了一個新的 ChainableUndefined 類來支持未定義對象上的getitem和getattr。 #977

  • 允許 {{%+ 語法(使用NOP行為)當 lstrip_blocks 已禁用。 #748

  • 增加了一個 default 的參數 map 過濾器。 #557

  • 從中排除環境全局參數 meta.find_undeclared_variables() . #931

  • 浮點數可以用科學的符號來寫,比如2.56e-3。 #912 , #922

  • Int和float字面值可以用''uu'分隔符來編寫,以確保易讀性,如12_345。 #923

  • 修復導致死鎖的錯誤 LRUCache.setdefault . #1000

  • 這個 trim filter接受一個可選的字符串來修剪。 #828

  • 一個新的 jinja2.ext.debug 擴展名添加 {{% debug %}} 標記以快速轉儲當前上下文和可用的篩選器和測試。 #174 , #798, #983

  • 使用大量空白對模板進行詞法分析要快得多。 #857 , #858

  • 比較的括號被保留,所以 {{{{ 2 * (3 < 5) }}}} 輸出“2”而不是“假”。 #755 , #938

  • 添加新 boolean , false , true , integerfloat 測驗。 #824

  • 環境就是環境 finalize 函數只應用于表達式的輸出(常量或非常量),而不是靜態模板數據。 #63

  • 當提供多個路徑到 FileSystemLoader ,模板可以與目錄同名。 #821

  • 總是返回 Undefined 當省略 else A中的子句 {{{{ 'foo' if bar }}}} 無論環境如何 undefined 班級。省略 else 子句是有效的快捷方式,使用時不應引發錯誤 StrictUndefined . #710 , #1079

  • 修復的行為 loop 控制變量,如 lengthrevindex0 在發電機上循環時。 #459, #751, #794 , #993

  • 在一個初始的異步環境中,它只支持一次緩慢的導入。 #765

  • 在異步環境中 |map 如果需要,過濾器將等待過濾器調用。 #913

  • 在for循環中訪問 loop 屬性時,迭代器不會在當前迭代之前提前,除非 length , revindex , nextitemlast 被訪問。這使得它不太可能破裂 groupby 結果。 #555 , #1101

  • 在異步環境中 loop 屬性 lengthrevindex 為異步迭代器工作。 #1101

  • 如果需要從屬性awaited/attribute屬性中訪問屬性,則將從異步環境中獲取。 #1101

  • PackageLoader doesn't depend on setuptools or pkg_resources. #970

  • PackageLoader has limited support for PEP 420 namespace packages. #1097

  • 支持 os.PathLike 中的對象 FileSystemLoaderModuleLoader . #870

  • NativeTemplate correctly handles quotes between expressions. "'{{ a }}', '{{ b }}'" renders as the tuple ('1', '2') rather than the string '1, 2'. #1020

  • 創建一個 NativeTemplate 直接創建 NativeEnvironment 而不是違約 Environment . #1091

  • 打電話后 LRUCache.copy() ,副本的隊列方法指向正確的隊列。 #843

  • 編譯模板時總是寫入UTF-8,而不是默認為系統編碼。 #889

  • |wordwrap filter treats existing newlines as separate paragraphs to be wrapped individually, rather than creating short intermediate lines. #175

  • 添加 break_on_hyphens 參數到 |wordwrap 過濾器。 #550

  • Cython編譯的修飾為上下文函數的函數將被傳遞給上下文。 #1108

  • 當在編譯時計算常量的鏈式比較時,結果遵循Python返回的行為 False 如果有任何比較返回 False 而不是最后一個。 #1102

  • 模板中異常的回溯顯示Python>=3.7的正確行號和源代碼。 #1104

  • python3中模板語法錯誤的回溯不再顯示內部編譯器框架。 #763

  • 添加 DerivedContextReference 節點,擴展可以使用它來獲取當前上下文和局部變量,例如 loop . #860

  • 編譯期間的常量折疊應用于以前忽略的某些節點類型。 #733

  • TemplateSyntaxError.source is not empty when raised from an included template. #457

  • 路過 Undefined 價值到 get_template (例如通過 extends , importinclude ),引發一個 UndefinedError 一貫地。 select_template 將在嘗試列表中顯示未定義的消息,而不是空字符串。 #1037

  • TemplateSyntaxError can be pickled. #1117

版本2.10.3?

發布日期:2019-10-04

  • 修復巴別塔入口點的錯誤 setup.py 這妨礙了安裝。

版本2.10.2?

發布日期:2019-10-04

  • 修復Python3.7棄用警告。

  • 使用 range 在沙盒環境中使用 xrange 以避免內存使用。 #933

  • 在使用python3.7的調試版本時,使用python3.7更好的回溯支持來避免核心轉儲。 #1050

版本2.10.1?

發布日期:2019-04-06

  • SandboxedEnvironment 安全把手 str.format_map 以防止代碼通過不受信任的格式字符串執行。沙箱已經處理好了 str.format .

版本2.10?

發布日期:2017-11-08

  • 添加了一個名為 OverlayScope 它可以用于創建一個未優化的范圍,該范圍將從派生上下文中查找所有變量。

  • 增加了一個 in 類似于in操作符的測試。這可以與 rejectselect .

  • 補充 previtemnextitem 循環上下文,提供對循環中上一個/下一個項的訪問。如果該項不存在,則該值未定義。

  • 補充 changed(*values) 循環上下文,提供一種簡單的方法來檢查自上次迭代(或者更確切地說,自上次方法調用以來)以來某個值是否發生了更改。

  • 增加了一個 namespace 創建特殊對象的函數,該對象允許使用 set 標簽。這可以用于跨作用域傳遞數據,例如從循環體到循環后的代碼。

  • 增加了一個 trimmed 修飾語 {{% trans %}} 去除換行符和周圍空白。還添加了一個新策略,以便為所有人啟用此策略 trans 阻礙。

  • 這個 random 過濾器不再是錯誤的常數折疊,每次呈現模板時都會生成一個新的隨機選擇。 #478

  • 增加了一個 unique 過濾器。 #469

  • 補充 minmax 過濾器。 #475

  • 為所有比較運算符添加了測試: eq , ne , lt , le , gt , ge . #665

  • import statement cannot end with a trailing comma. #617, #618

  • indent filter will not indent blank lines by default. #685

  • 添加 reverse 的參數 dictsort 過濾器。 #692

  • 添加 NativeEnvironment 它將模板呈現為本機python類型而不是字符串。 #708

  • 向塊添加了篩選器支持 set 標簽。 #489

  • tojson filter marks output as safe to match documented behavior. #718

  • 解決了一個錯誤,在該錯誤中,獲取用于跟蹤的調試局部變量可以修改模板上下文。

  • 修復了一個有很多 {{% elif ... %}} 塊導致“縮進級別太多”錯誤。這些塊現在編譯為本機 elif ..: 而不是 else: if ..: #759

2.2.6版?

發布日期:2017-04-03

  • 修復了快速解析模式下的自定義上下文行為 #675

2.5.5版?

發布日期:2017-01-28

  • 恢復了內部的原始報告 _GroupTuple 因為這導致了ansible的問題,這是一個意外的改變。 #654

  • 添加了對重寫舊上下文的自定義上下文的向后支持 resolve 方法:由于人們很難發現這可能導致回歸。

  • 為for循環的else塊正確使用緩沖區。這導致Python的語法完全錯誤 #669

  • 解決以下問題: {{% extends %}} 標記不能用于異步環境。 #668

  • 通過減少python3上用于標識符匹配的unicode數據庫轉儲,可以稍微減少內存占用 #666

  • 修正了自動轉義不適用于異步編譯模式下的宏。 #671

2.9.4版?

發布日期:2017-01-10

  • 解決了字符串文本的一些警告。 #646

  • 增加字節碼緩存版本,因為之前的疏忽而沒有完成。

  • 修正了過濾循環的錯誤代碼生成和作用域。 #649

  • 解決了這樣一個問題:當if語句中包含塊時,已知擴展塊之后的頂級輸出靜音可能會生成無效代碼。 #651

  • 制成 truncate.leeway 默認配置可提高與舊模板的兼容性。

2.2.3版?

發布日期:2017-01-08

  • 將宏中塊的使用恢復到以前可能的范圍。在python3上,它將呈現一個生成器repr,而不是塊內容。 #645

  • 設置在從外部范圍讀取變量時,在內部范圍內分配變量的一致行為?,F在,它將在所有情況下設置預期的行為,但是它不能恢復舊的行為,在那里可以對外部作用域進行有限的分配。有關更多信息和討論,請參見 #641

  • 解決了一個問題 block scoped 不會利用新的范圍界定規則。在一些更奇特的情況下,在局部范圍內重寫的變量不會使其成為塊。

  • 更改的代碼生成 with 聲明要符合新的范圍界定規則。這解決了邊緣情況中一些不太可能的錯誤。這也引入了一個新的內部 With 可由擴展使用的節點。

2.2.2版?

發布日期:2017-01-08

  • 修復了導致for循環不能對目標迭代器和源迭代器使用相同變量的回歸。 #640

  • 添加對以前未知的宏行為的支持。在某些情況下,顯式地為宏提供調用者參數是可能的。雖然嚴重的缺陷和意外,但事實證明,這是一個常見的案件,得到復制粘貼各地。為了不完全破壞與最常見情況的向后兼容性,現在可以為調用者提供顯式關鍵字參數(如果給定顯式默認值)。 #642

2.2.1版?

發布日期:2017-01-07

  • 解決了帶有宏調用塊作用域的回歸。與外部宏使用相同標識符的嵌套調用程序塊可能會錯誤地引用錯誤的變量。

版本2.9?

2017-01-07發布,代號衍生

  • 更改環境中的緩存鍵定義。這修復了2.8中引入的性能回歸。

  • 為添加了支持 generator_stop 在受支持的python版本(python 3.5及更高版本)上

  • 修正了一個長期存在的問題,即數學運算的運算符優先級與預期不符。

  • 通過新的異步模式增加了對python 3.6異步迭代器的支持。

  • 添加了過濾默認值和類似內容的策略。

  • Urlize現在默認設置“rel noopener”。

  • 支持2.x中舊樣式類的屬性回退。

  • 在擴展情況下支持頂級集合語句。

  • 已恢復python 3用戶的cycler行為。

  • 現在減法與其他未定義值的運算符的行為相同。

  • map 如果你忘記引用參數,朋友們會給出更好的錯誤信息。

  • 取決于MarkupSafe 0.23或更高。

  • 改進了 truncate 過濾以支持更好的截斷,以防字符串幾乎沒有被截斷。

  • 將宏自動轉義的邏輯更改為基于調用時的運行時自動轉義信息,而不是宏定義時間。

  • 移植了 tojson 從Flask到Jinja進行過濾,并將其與新的政策框架連接起來。

  • 塊集現在已標記 safe 默認情況下。

  • 在python 2上,現在可以使用 compiler.ascii_str 政策。

  • 測試現在不再接受任意表達式作為第一個參數,而是一個受限制的參數。這意味著您現在可以在一個表達式中正確使用多個測試,而不需要額外的括號。特別是你現在可以寫作了 foo is divisibleby 2 or foo is divisibleby 3 如你所料。

  • 極大地改變了范圍界定系統,使其更符合模板設計者和開發人員的期望?,F在不同的include和import構造之間不再有什么神奇的區別了。上下文現在總是以相同的方式傳播。唯一剩下的區別是 with contextwithout context .

  • 這個 withautoescape 標簽現在是內置的。

  • 添加新的 select_autoescape 功能,幫助配置更好的自動轉義更容易。

  • 修復了訪問異步生成器屬性時沙盒中的運行時錯誤。

2.2.1版?

發布日期:2016-12-29

  • 修正了 for_qsurlencode .

  • 應用時固定回歸 int 到非字符串值。

  • 安全性:如果使用沙盒模式,則格式表達式現在使用與Jinja中相同的規則進行沙盒處理。這解決了格式字符串可能出現的各種信息泄漏問題。

版本2.8?

發布日期:2015-07-26,代號替換

  • 補充 target 參數到URLIZE函數。

  • 為添加了支持 followsymlinks 到文件系統加載程序。

  • 截斷過濾器現在計算長度。

  • 添加了EqualTo過濾器,有助于選擇過濾器。

  • 更改了緩存鍵以使用絕對文件名(如果可用)而不是加載名。

  • 某些迭代器的固定循環長度計算。

  • 將Python字符串改為本地字符串時如何在Python中強制使用Jinja編碼。

  • 補充 make_logging_undefined 它返回一個未定義的對象,該對象將失敗記錄到記錄器中。

  • 如果緩存數據的解組失敗,模板將立即重新加載。

  • 實現了一個塊 set 標簽。

  • 默認緩存大小從低50增加到400。

  • 固定的 is number 測試以接受所有Python版本中的長整數。

  • 改變 is number 接受十進制數字。

  • 添加了對默認參數的檢查,后跟非默認參數。這一變化使 {{% macro m(x, y=1, z) %}} 語法錯誤。此代碼以前的行為無論如何都被破壞(導致將默認值應用于 y

  • 添加使用自定義子類的功能 jinja2.compiler.CodeGeneratorjinja2.runtime.Context 通過向環境中添加兩個新屬性 (code_generator_classcontext_class#404

  • 在環境的finalize回調中添加了對context/environment/evalctx decorator函數的支持。

  • 正確轉義urlencode的查詢字符串。以前在那個地方砍傷是沒有逃過的。

  • 將“base”參數添加到“int”篩選器。

2.7.3版?

發布日期:2014-06-06

  • 安全問題:已更正緩存文件夾的安全修復。此修復程序由RedHat提供。

2.7.2版?

發布日期:2014-01-10

  • 前綴加載器未將局部變量正確轉發給內部加載程序?,F在已經修復了。

  • 安全問題:將文件系統緩存的默認文件夾更改為特定于用戶的,并且在UNIX系統上具有讀寫保護??吹搅藛?Debian bug 734747 更多信息。

2.7.1版?

發布日期:2013-08-07

  • 修正了一個錯誤 call_filter 在環境和上下文篩選器上工作不正常。

  • 修復了對字節碼緩存缺少python 3支持的問題。

  • 恢復了對在包含的模板中定義塊的支持,因為這會破壞用戶的現有模板。

  • 修正了一些關于未定義和節點散列的警告,如果運行python時出現python 3的警告。

  • 添加了對未定義對象正確散列的支持。

  • 修正了標題過濾器不能處理已經大寫的字符串的錯誤。

版本2.7?

2013-05-20發布,代號翻譯

  • Choice和Prefix加載器現在分別調度源和模板查找,以便與模塊加載器結合使用,如廣告所示。

  • 固定的文件大小格式。

  • 為babel提取添加了一個非靜默選項。

  • 補充 urlencode 自動引用URL安全使用值的篩選器,utf-8作為唯一受支持的編碼。如果應用程序希望更改此編碼,則可以重寫篩選器。

  • 補充 keep-trailing-newline 環境和模板的配置,以選擇性地保留最后的尾隨換行符。

  • 訪問 last 在循環上下文中,不再將迭代器消耗到列表中。

  • python需求已更改:現在需要2.6、2.7或>=3.3,由相同的源代碼支持,使用“six”兼容性庫。

  • 允許 contextfunction 以及其他要應用于 __call__ .

  • 添加了對從換行改為 wordwrap 過濾器。

  • 添加了對自動忽略memcache錯誤的支持。

  • 添加了在模板中保留尾隨新行的支持。

  • 為在塊的左側剝離空白添加了更細粒度的支持。

  • 補充 map , select , reject , selectattrrejectattr 過濾器。

  • 為添加了支持 loop.depth 為了弄清楚代碼在遞歸循環中的深度。

  • 已禁用py py和python 3的py_編譯。

版本2.6?

發布日期:2011-07-24,代號:卷積

  • 內部屬性現在引發一個內部屬性錯誤,而不是返回一個未定義的。這修復了將未定義的對象傳遞給Python語義(需要api)時的問題。

  • 回溯支持現在可以對PyPy正常工作了。(用1.4測試)

  • 為沙盒環境實現了操作員攔截。這允許應用程序開發人員禁用內置運算符以獲得更好的安全性。(例如,將數學運算符限制為實際整數而不是long)

  • Groupby過濾器現在支持按屬性的屬性分組的點式表示法。

  • 作用域塊現在可以正確處理頂級賦值和導入。以前,導入突然“消失”在作用域塊中。

  • 在從字節碼緩存加載代碼之前自動檢測較新的Python解釋器版本,以防止無效操作碼上出現段錯誤。早期的Jinja版本中的segfault不是Jinja錯誤,而是底層Python解釋器中的一個限制。如果在升級Python解釋器之后注意到早期版本中的Jinja segfaulting,那么就足以刷新字節碼緩存了。這就不再有必要了,Jinja現在會自動檢測到這些情況。

  • sum過濾器現在可以按屬性匯總值。這是一個向后不兼容的變化。前面過濾器的參數是可選的起始索引,默認為零。這現在成為函數的第二個參數,因為它很少使用。

  • 與sum一樣,sort now還可以按屬性對項目排序。

  • 和sum和sort一樣,join now也可以將對象的屬性作為字符串連接起來。

  • 內部評估上下文現在有了對環境的引用。

  • 添加了一個映射測試,以查看對象是dict還是具有類似接口的對象。

2.5.5版?

發布日期:2010-10-18

  • 構建文檔不再是發布的一部分。

2.5.4版?

發布日期:2010-10-17

  • 固定擴展未正確加載覆蓋。

  • 在cpython中為調試器解決一個導致64位big-endian體系結構上出現SegFaults的錯誤。

2.5.3版?

發布日期:2010-10-17

  • 修正了2.5.2中引入的運算符優先級錯誤。類似“的陳述”-美食酒吧“在表達式的第一部分((-foo.bar”)周圍應用了隱式括號,而不是更正確的部分”-(美食酒吧)".

2.5.2版?

發布日期:2010-08-18

  • 改進設置.py編寫腳本以更好地處理人們可能仍然從中得到的假設 (--with-speedups

  • 修復了排除新調試支持的打包錯誤。

2.5.1版?

發布日期:2010-08-17

  • 從模板調用的函數引發的StopIteration異?,F在被截獲并轉換為未定義的。這解決了很多調試的麻煩。(StopIteration在內部用于中止模板執行)

  • 稍微提高了宏調用的性能。

  • Babel提取現在可以正確提取newstyle gettext調用。

  • 使用變量 num 在newStyle getText中,除了復數形式之外,計數將不再增加 KeyError .

  • 刪除了內置標記類并切換到markupsafe。為了向后兼容,純Python實現仍然存在,但是由Jinja開發人員從markupsafe中提取出來。調試支持包含在一個名為“debugsupport”的單獨特性中,并且在默認情況下被禁用,因為它只與python2.4相關

  • 修正了一元運算符優先級錯誤的問題。

版本2.5?

發布日期:2010-05-29,代號不一致

  • 通過添加對不區分大小寫的搜索的支持,改進了排序過濾器(長期以來應該是這樣工作的)。

  • 修正了getattribute常量折疊的錯誤。

  • 支持newstyle gettext翻譯,這會產生更好的模板內用戶界面和更一致的目錄。

  • 現在可以在創建環境后注冊擴展。

2.4.1版?

發布日期:2010-04-20

  • 修正了未定義的錯誤報告錯誤。

版本2.4?

2010年4月13日發布,代號相關性

  • 環境模板加載函數現在透明地通過模板對象傳遞給它。這使得可以從傳遞給模板的模板對象導入或擴展。

  • 增加了一個 ModuleLoader 它可以從預編譯源加載模板。該環境現在提供了一種方法,可以將配置好的加載程序中的模板編譯到zip文件或文件夾中。

  • u speedups C擴展現在支持python3。

  • 增加了對自動轉義切換部分的支持和對求值上下文的支持。

  • 擴展現在有了優先權。

2.3.1版?

發布日期:2010-02-19

  • 修正了所有python版本的錯誤報告錯誤

  • 修復了Python2.4上的錯誤報告錯誤

版本2.3?

2010年2月10日發布,代號3000條 Python

  • 修復了代碼生成器的問題,該問題導致在if塊中使用set時生成未綁定變量,以及其他小標識符問題。

  • Include標記現在可以在多個模板之間進行選擇,并在給定模板列表的情況下獲取第一個模板。

  • 修正了在外部作用域中調用塊的問題,該調用塊的參數也用作內部框架中的局部變量 #360 .

  • 大大改進了錯誤消息報告 #339

  • 隱式元組表達式不能再完全為空。這個變化使 {{% if %}} 語法錯誤。 #364

  • 增加了對翻譯評論的支持,如果通過巴別塔提取。

  • 添加了語句擴展名。

  • 實驗性的python3支持。

2.2.1版?

發布日期:2009-09-14

  • 修正了Jython上的Jinja的一些小問題。

版本2.2?

發布日期:2009-09-13,代號:Kong

  • include語句現在可以標記為 ignore missing 跳過不存在的模板。

  • 優先權 not 提高?,F在可以寫了 not foo in bar 作為別名 foo not in bar 就像在python中。以前語法需要括號 (not (foo in bar) )這很奇怪。

  • 修復了在定義宏或使用 {{% call %}} 在循環中標記。

  • 修復了解析器中導致 {{{{ foo[1, 2] }}}} 不可能的。

  • 使之能夠引用調用方框架中未使用的包含模板中的外部作用域中的名稱 #327

  • 修正了當名稱用作迭代變量和正則變量時導致內部錯誤的錯誤。 之后 如果該變量未使用,則返回循環 之前 循環。 #331

  • 增加了可選的支持 scoped 塊的修改器。

  • 增加了對行注釋的支持。

  • 增加了 meta 模塊。

  • 已在環境中將(未記錄)屬性“overlay”重命名為“overlayed”,因為它與同名方法沖突。

  • 現在默認禁用加速擴展。

2.1.1版本?

發布日期:2008-12-25

  • 修復了在空遞歸循環上循環導致的轉換錯誤。

版本2.1?

發布于2008年11月23日,代號Yasuzō

  • 并用一個特殊的循環嵌套了一個錯誤。在更改之前,一個內部循環在迭代后從外部循環重寫循環變量。

  • 修正了i18n擴展導致顯式復數塊查找錯誤變量的錯誤。

  • 修正了lexer的一個限制 {{{{ foo.0.0 }}}} 不可能的。

  • 使用常量值對變量進行基于索引的訂閱現在將返回未定義的對象,而不是引發索引錯誤。這是一個由急切的優化引起的錯誤。

  • i18n擴展查找 foo.ugettext 現在緊隨其后 foo.gettext 如果安裝了翻譯對象。這使得處理自定義翻譯類更容易。

  • 修正了有條件擴展的混亂行為。在某些情況下,循環被部分執行,即使它們不是可見區域的一部分。

  • 補充 sort 像這樣工作的過濾器 dictsort 但對于任意序列。

  • 修正了宏中空語句的錯誤。

  • 實現了字節碼緩存系統。

  • 模板上下文現在是可擴展的

  • inclusion和imports“with context”現在轉發所有變量,而不僅僅是初始上下文。

  • 添加了一個稱為 cycler .

  • 添加了一個名為 joiner .

  • 增加了一個 compile_expression 方法編譯為可調用的python對象。

  • 修正了urlize中的一個轉義錯誤

版本2?

發布于2008-07-17,代號Jinjavitus

  • 對象的訂閱(查找屬性和項)從稍有變化?,F在可以通過使用點符號查找或括號語法賦予屬性或項更高的優先級。這也稍微改變了AST。 Subscript 已經不見了,取而代之的是 GetitemGetattr .

  • 增加了對擴展的預處理和令牌流過濾的支持。這將允許擴展允許在模板數據和類似內容中簡化gettext調用。

  • 補充 TemplateStream.dump .

  • 添加了對隱式字符串文本連接缺少的支持。 {{{{ "foo" "bar" }}}} 等于 {{{{ "foobar" }}}}

  • else 對于條件表達式是可選的。如果未給出,則計算為 false .

  • 通過提供位置來改進未定義值的錯誤報告。

  • filesizeformat 過濾器現在默認使用十進制前綴,可以用第二個參數設置為二進制模式。

  • 修正了終結器中的錯誤

2.0RC1版本?

發布日期:2008-06-09

  • 第一次發布Jinja2。