From 3fe42e106c8149356727b6dd65ef56663bdf868d Mon Sep 17 00:00:00 2001 From: Martin Krizek Date: Thu, 2 Dec 2021 21:00:27 +0100 Subject: [PATCH] Remove finalize from globals (#76439) --- changelogs/fragments/finalize-not-in-globals.yml | 2 ++ docs/docsite/rst/porting_guides/porting_guide_core_2.13.rst | 2 ++ lib/ansible/template/__init__.py | 1 - 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/finalize-not-in-globals.yml diff --git a/changelogs/fragments/finalize-not-in-globals.yml b/changelogs/fragments/finalize-not-in-globals.yml new file mode 100644 index 00000000000..f28c8ae1a71 --- /dev/null +++ b/changelogs/fragments/finalize-not-in-globals.yml @@ -0,0 +1,2 @@ +breaking_changes: + - "The ``finalize`` method is no longer exposed in the globals for use in templating." diff --git a/docs/docsite/rst/porting_guides/porting_guide_core_2.13.rst b/docs/docsite/rst/porting_guides/porting_guide_core_2.13.rst index b5adedb0f7a..91ccd01ef0f 100644 --- a/docs/docsite/rst/porting_guides/porting_guide_core_2.13.rst +++ b/docs/docsite/rst/porting_guides/porting_guide_core_2.13.rst @@ -33,6 +33,8 @@ Playbook * The return value of the ``__repr__`` method of an undefined variable represented by the ``AnsibleUndefined`` object changed. ``{{ '%r'|format(undefined_variable) }}`` returns ``AnsibleUndefined(hint=None, obj=missing, name='undefined_variable')`` in 2.13 as opposed to just ``AnsibleUndefined`` in versions 2.12 and prior. +* The ``finalize`` method is no longer exposed in the globals for use in templating. To convert ``None`` to an empty string the following expression can be used: ``{{ value if value is not none }}``. + Command Line ============ diff --git a/lib/ansible/template/__init__.py b/lib/ansible/template/__init__.py index e9283197c00..cd2bf942c75 100644 --- a/lib/ansible/template/__init__.py +++ b/lib/ansible/template/__init__.py @@ -650,7 +650,6 @@ class Templar: self.environment.globals['lookup'] = self._lookup self.environment.globals['query'] = self.environment.globals['q'] = self._query_lookup self.environment.globals['now'] = self._now_datetime - self.environment.globals['finalize'] = self._finalize self.environment.globals['undef'] = self._make_undefined # the current rendering context under which the templar class is working