Data tagging is mostly revamp of the templating system.
For playbook authors the main features would be:
- Better error information, details should be much clearer and precise
- Stronger data types, templating now does a much better job preserving the data types, less numbers converted to strings.
- Conditionals are now more strictly evaluated, previouslly some things passed as true/false when they should have been templating errors.
- More secure templating, Ansible switched from ‘trusted by default’ to ‘untrusted by default’, this also allows us to remove a lot of processing/filtering/tagging we did to prevent vulnerabilities.
For developers, they get a lot of the above, but DT also signals the start of a new way of writing the internal APIs, clearly signaling what is internal (_internal
prefixed/subdir) and documenting and making explicit which APIs are available for which plugins.