# Fallible 2025.12.5 released with Register Projections and new Action API previews

**URL:** <https://forum.ansible.com/t/fallible-2025-12-5-released-with-register-projections-and-new-action-api-previews/44965>\
**Category:** News & Announcements\
**Created:** [December 6, 2025, 8:59am UTC](https://forum.ansible.com/t/fallible-2025-12-5-released-with-register-projections-and-new-action-api-previews/44965 "2025-12-06T08:59:37Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [December 7, 2025, 6:14pm UTC](https://forum.ansible.com/t/fallible-2025-12-5-released-with-register-projections-and-new-action-api-previews/44965/9 "2025-12-07T18:14:27Z")

</div>

When I started answersing some of the questions I didn’t yet see @flowerysong’s answer which provides most of these answers already, so I’ve removed them from this post. I’ll just keep the extra things 🙂

Some background on why the action is called ansible.builtin.set\_fact and not ansible.builtin.set\_var etc. can be found here: [INJECT\_FACTS\_AS\_VARS is defaulting to False in 2.24 - #5 by bcoca](https://forum.ansible.com/t/inject-facts-as-vars-is-defaulting-to-false-in-2-24/44886/5)

> [@kks](#):
>
> This is not what I was exactly referring to in my initial comment, I was referring to extended `register` logic for tasks not new public API inside AnsibleBase to set variables. If I understand correctly you are referring to following

In my first post I was not replying to your post, but to this thread, which is about both new features.

> [@kks](#):
>
> As I understand this will allow module developers not only return module result (for it to be registered with old or new register functionality) and create another side effect for the controller - set variables.

Just to make this clear: modules **cannot** use this API. The only plugins which can use this API are action plugins (that always run on the controller). These can run modules and upgrade their return values to variables, if someone desires so and thinks it is a good idea - which usually it is not, for security reasons.

> [@flowerysong](#):
>
> As stated in the PR description, this ability to create variables relies on special handling by the engine that other action plugins do not receive.

If anyone is interested in how/where that happens: [ansible/lib/ansible/plugins/strategy/\_\_init\_\_.py at e25cc345feda25dc8a05e25b06c09c1c426d011b · ansible/ansible · GitHub](https://github.com/ansible/ansible/blob/e25cc345feda25dc8a05e25b06c09c1c426d011b/lib/ansible/plugins/strategy/ __init__.py#L692-L720)

---

_[View the full topic](https://forum.ansible.com/t/fallible-2025-12-5-released-with-register-projections-and-new-action-api-previews/44965)._
