# Boilerplate for Ansible release announcements
This example of a [recent Ansible release announcement](https://groups.google.com/g/ansible-devel/c/GFgeFOxKgaA) is the basis for this boilerplate.
**NOTE**: Annoucements go to the devel mailing list only for alphas and betas.
Most of this is boilerplate, but the What's New section at the top includes:
* a list of what is added in the matching core release - We can gather this from the porting guide entries for core.
* links to the relevent changelogs.
## Crafting What's New
Using [Ansible 7](https://github.com/ansible/ansible/blob/devel/docs/docsite/rst/porting_guides/porting_guide_7.rst) as an example:
1. Find the porting guide, and copy the top section, and trim down to a set of bullet points that are most important. We don't have to repeat everything but focus on what seems like a Big Deal (tm). The following is the result of this that should be in the release announcement:
* Variables are now evaluated lazily; only when they are actually used. For example, in ansible-core 2.14 an expression ``{{ defined_variable or undefined_variable }}`` does not fail on ``undefined_variable`` if the first part of ``or`` is evaluated to ``True`` as it is not needed to evaluate the second part.
* Python 3.9 on the controller node is a hard requirement for this release.
2. Find the list of added or removed collections from the porting guide.
- ibm.spectrum_virtualize (version 1.9.0)
- inspur.ispim (version 1.0.1)
- purestorage.fusion (version 1.1.1)
- vultr.cloud (version 1.1.0)
3. Scan the porting guide for any other noteworthy items. Focus on Breaking Changes. Ansible 7 so far has none listed.
4. Find links to the updated changelogs for the core and Ansible release (2.14 and 7 in this example).
## Ansible 7 What's New Draft
What's New in `ansible-core` 2.14:
* Variables are now evaluated lazily; only when they are actually used. For example, in ansible-core 2.14 an expression ``{{ defined_variable or undefined_variable }}`` does not fail on ``undefined_variable`` if the first part of ``or`` is evaluated to ``True`` as it is not needed to evaluate the second part.
* Python 3.9 on the controller node is a hard requirement for this release.
* At startup the filesystem encoding and locale are checked to verify they are UTF-8. If not, the process exits with an error reporting the errant encoding. If you were previously using the ``C`` or ``POSIX`` locale, you may be able to use ``C.UTF-8``. If you were previously using a locale such as ``en_US.ISO-8859-1``, you may be able to use ``en_US.UTF-8``.
Collections added to Ansible 7:
- ibm.spectrum_virtualize (version 1.9.0)
- inspur.ispim (version 1.0.1)
- purestorage.fusion (version 1.1.1)
- vultr.cloud (version 1.1.0)
Other new or notworthy changes:
(this section is blank so far so can be ignored.)