What I want
A rule creating a new Sub-task when a Fix version is added to a Bug / Story (disregarding existing Fix versions in the Bug / Story), and the Sub-task should "inherit" the newly added Fix version.
If more than one Fix version is added a new Sub-task should be created for each one, and each one "inheriting" only one of the newly added Fix versions.
My rule
Main branch
Trigger: Value changes for the Fix version field.
If: JQL: issuetype in (bug, story)
Branch
For each Smart value: {{#changelog.fixversions}}{{toString}}{{/}} or {{#fieldChange.to}}{{fixVersions}}{{/}}, with Variable name: newFixVersions
Then: Create new Sub-task with Fix version: {{newFixVersions}} (and copying a bunch of other fields)

The problem
As noted I've tried using fieldchange as well as changelong but none of them work, at least not the way I want it to.
{{#changelog.fixversions}}{{toString}}{{/}}
This is what I tried first and it doesn't work at all: "The provided smart value couldn't be resolved to an object".
This surprised me a bit since I actually have another rule creating new Issues when Components are added to the Bugs / Stories (one Issue per Component added) which uses changelog exactly like this and it works like a charm. So I guess there's some under-the-hood difference between the Component and Fix version fields I'm not familiar with.

{{#fieldChange.to}}{{fixVersions}}{{/}}
Not quite right. It does read the changed Fix version field but goes on to create Sub-tasks for all Fix versions, i e already existing ones as well as the newly added ones.
Any idea on how to solve this?