Changelog and upgrading¶
Unreleased¶
- Drupal 12 is supported.
core_version_requirementis^10.3 || ^11 || ^12.
2.1.0 (2026-10-09)¶
Upgrading from 2.0.0¶
No update hooks are needed, and stored values do not change. Rebuild caches after updating. Check these behavior changes:
- Drupal 8 and 9 support is dropped.
core_version_requirementis^10.3 || ^11. - Values are validated. Values that are not ISO 4217 alphabetic codes, such as
usdorZZZ, now fail entity validation. Existing invalid values are reported the next time the entity is validated, for example when it is edited. - The widget lists current currencies only, sorted by label, with an empty option. Withdrawn currencies stay selectable on items that already store them.
NumericCodeis always a string incurrency_field_currencies(). In 2.0.0 it was a string only when it had a leading zero.- Option labels prefer current names. For example
PENis "Sol", not "Nuevo Sol", andTRYis "Turkish Lira", not "New Turkish Lira".
Fixed¶
- Optional fields could not be left empty: the browser preselected Afghani.
- Field storage had no configuration schema, which failed config validation and strict schema checks in tests.
- Sample values were integer indexes instead of currency codes.
- Withdrawn entries overwrote the labels of current currencies.
- Country names with accented capitals were cased wrongly, for example "CÔte D'ivoire".
- The currency list was decoded from YAML on every call, about 58 ms each time.
Added¶
- Formatter setting Show: alphabetic code, currency name or country name.
- Validation against the bundled ISO 4217 codes.
$include_withdrawnargument forcurrency_field_currency_options().scripts/update-currencies.phpand current ISO 4217 data (List One of 2026-09-17).- Kernel tests,
composer.json,README.md, GitLab CI, and this documentation.
Changed¶
- Plugins use attributes and
hook_help()uses a hook class, ready for Drupal 12.
2.0.0¶
The first 2.0.x release. Drupal 8, 9, 10 and 11.